Chvilkové "odpojení" SPI flash na základní desce

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
kybrex
Příspěvky: 333
Registrován: 26 črc 2007, 00:00
Kontaktovat uživatele:

Chvilkové "odpojení" SPI flash na základní desce

#1 Příspěvek od kybrex »

Zdravím,

mám tu jeden stařičký notebook s Atomem (Leninovo S10-3s). Říkal jsem si, že by z něj byl dobrý diagnostický přístroj pro VCDS a software pro logování dat z multimetru nebo hračkových OSC při pracích v garáži či sbírání dat za jízdy, protože to žere "nic" a dá se to dlouho živit na baterii nebo měničem z autozásuvky narozdíl od velkých notebooků, které se blbě vozí a autozásuvku bych na tom utavil.

Jenže mě štve, že někdo před lety nastavit SVP (supervisor password) a nejde se dostat do biosu. Na jednom starém vyřazeném Dellu jsem tenkrát před lety experimentoval (a uspěl jsem) s obejitím hesla chvilkovým vyřazením EEPROM na desce zkratováním SDA a SCL (I2C). Tenhle mrňousek má ale na desce jedinou podezřelou paměť typu SPI Flash od výrobce Winbond 25Q80BVSIG 1022, která funguje jinak (SPI), ale rád bych zkusil stejný postup a potřeboval bych poradit, jak bezpečně tu paměť na chvíli vyřadit podobným způsobem. (Ostatní 8 pinové součástky jsou tranzistory, diody a tak - paměť je jen tohle). Zkratování DO na CLK zkoušet nechci, protože bych to nejspíš zničil. Ale napadlo mě, že by se možná dalo využít pin /CS (Chip Select) a přivézt na něj HIGH, čímž bych ho "vypnul". HIGH bych vzal z VCC pinu, ale potřeboval bych vědět, jestli nezničím něco na desce, co ten /CS signál ovládá a bude tam mít zrovna LOW? Máte nějaký lepší způsob? (Mě už pak jen napadá paměť ven, koupit si čtečku nebo jí ubastlit z arduina podle datasheetu/najít hotový zdroják na netu a přečíst, prohledat, najít heslo a napájet to zpět, ale než se do toho pustím, rád bych zkusil tenhle trik. :) :idea: Oficiální servisní manuál, který ještě pro starší modely uváděl řešení pro zapomenuté heslo odpojení CR2032, případně zkratování jumperu na desce určeného k resetu, říká, že tento model nelze bez hesla resetovat a jediné řešení je výměna základní desky :P A to je blbost asi jako koupit si nové auto, protože jsem si zabouchnul klíče v kufru.

K.
Uživatelský avatar
Michal22
Příspěvky: 8229
Registrován: 28 bře 2012, 00:00
Bydliště: Brno

#2 Příspěvek od Michal22 »

Řídící piny nebývají vždy pověšeny na Vcc/GND přímo, Chip Select uz z principu ne. Ale zase může tvrdé provedení log. 1. na CS způsobit nefunkční jiného obvodu, který je na sběrnici pověšený. Rozumné řešení by bylo uškrábnout cestu (pokud je to možné), a nechat CS paměti přes Pull Down 10k do GND, pak chvilkově přivést Vcc přes 1k Pull Up.
Ale jestli to pomůže, o tom trochu pochybuju, CS slouží k volání toho určitého IC ke komunikaci, nic víc.
Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Uživatelský avatar
kybrex
Příspěvky: 333
Registrován: 26 črc 2007, 00:00
Kontaktovat uživatele:

#3 Příspěvek od kybrex »

Jasný, já bych nečekal ani u té I2C EEPROM, že pomůže při ověřování hesla do BIOSU zkrat mezi SDA a SCL a fungovalo to. :) Tak když přes /CS vypnu tu paměť (přepne se do úspornýho režimu a nic nedělá), tak by to třeba mohlo projít stejně. Zkusím a uvidím.

Nevíte náhodou o nějaké dobré čtečce na SPI Flash paměti, co byste doporučili? Nebo o projektu, jak jí narychlo ubastlit s arduinem? :idea:
Uživatelský avatar
mluno
Příspěvky: 266
Registrován: 18 dub 2011, 00:00
Bydliště: Benešov (u Prahy)

#4 Příspěvek od mluno »

Kdysi jsem něco s SPI flash dělal, dostal jsem tehdy stoh datasheetů (on totiž nikdo nevěděl, jaká z pamětí bude nakonec použitá a jestli bude jen jeden typ) a program se měl podle načtené identifikace přizpůsobit a paměť naprogramovat. Co si pamatuju, tak čtení bylo u všech SPI flash stejné (stejně jako čtení chip id). Lišil se zápis tím jak velké stránky se zapisujou, jak se maže (některé paměti měly mazání interní, jiné se musely předem mazat) a podobně. To byly ještě doby před arduinem. Je to jedna z věcí, které jsem tehdy dělal s omapem (OMAP117 bylo tuším označení) protože nikoho jiného na to nenašli a jiný kolega na tom pohořel. Zase na to, že jsem to dělal z nouze tohle byl jeden úspěch. Druhý byl kolem probouzení ARM jádra. Jinak jsem v tom tehdy dost plaval (a podpora od TI taky za moc nestála). Pak jsem byl převelený na jiný projekt, protože člověk, který tyhle věci normálně dělá se tím už mohl zabývat.
Proto myslím, že pokud jde o čtení, neměl by být problém tohle s arduinem zbastlit, jiště na to bude celá spousta projektů. Pokud jde o zápis, tam bych viděl viděl větší problém. Respektive se skoro jistě nenajde projekt šitý na konkrétní paměť, a bude se muset podle datasheetu upravovat. Ale už jsem se tím od té doby (může to být tak 10 let) nikdy nezabýval. Co jsem zaregistroval, tak Rayer má na svých stránkách dlouhá léta projekt SPI PGM http://rayer.g6.cz/elektro/spipgm.htm , vím, že jsem si kdysi říkal, že dělá něco podobného, jen na jiné platformě a pro jiný účel, ale nikdy jsem to nezkoušel.
Uživatelský avatar
ondraN
Příspěvky: 944
Registrován: 16 srp 2022, 00:00
Bydliště: Roztoky

#5 Příspěvek od ondraN »

Jestli chceš, tak ti ji můžu přečíst (zapsat) na Elnec programátoru (Praha).
Uživatelský avatar
PotPalo
Příspěvky: 6018
Registrován: 13 kvě 2009, 00:00
Bydliště: BA

#6 Příspěvek od PotPalo »

Neviem ako tu, ale na starých notebookoch ThinkPad bola pre heslo pamäť 2408. Na niektorých modeloch bola integrovaná v čipsete. Riešilo sa to napichnutím SDA a SCL, a počas zapnutého notebooku sa prečítal jej obsah.

Pokiaľ to má UEFI, tak v jednej SPI Flash je aj BIOS, aj dáta s heslom. Tam sa experimentovať nedá, lebo odpojením to nenačíta ani BIOS. Skúsil by som prečítať jej obsah v programátore a pohľadať sekciu s textom LENV. Tú dekódovať...

S programovaním nieje problém, všetko to vie nejaký štandard. Napríklad programátor CH341. Detekuje čip ako neznámy, ale keď sa ručne nastaví COMMON a príslušná veľkosť, tak to číta aj zapisuje. Pozor na 1,8V čipy, CH341 vie iba 3V. Aj keď už som omylom skúšal aj 1,8V čip, a napriek tomu že to dávalo chyby po jeho zmazaní, tak čip prežil. Pri 1,8V treba redukciu.
Je na čase vymeniť primátora Bratislavy, a celú tú neschopnú pakáž okolo.
Uživatelský avatar
RayeR
Příspěvky: 1850
Registrován: 02 srp 2009, 00:00
Bydliště: Praha
Kontaktovat uživatele:

#7 Příspěvek od RayeR »

Jj, nake docasne "zkratovani" SPI mpameti je nesmysl. Je to v ni nejpsis nekde ulozene. ZKusil bych pohledat na netu, ke starsim NTB byly ruzne info na ktere adrese je ulozene PWD a to smazat. Ale pokud je adresa neznama a neni moznost treba na jinem NTB stejneho typu poridit nekolik dumpu s ruzne nastavenym heslem a porovnat je, tak pak je to tezky...
Uživatelský avatar
pocitujlasku
Příspěvky: 2764
Registrován: 12 pro 2005, 00:00
Bydliště: SR, Poprad

#8 Příspěvek od pocitujlasku »

skus heslo 12345 -na lenovo notebookoch sa to niekedy davno nejakou aktualizaciou samo nastavilo. ja som na to prisiel tak, ze pomocou nejakeho navodu som z dosky prepojil cez seriovy port na druhy pocitac a nejakym programom vycital obsah pri starte.
a az nasledne som sa docital, ze to bol nejaky vseobecny problem
No vidis, a tak si sa bal
Uživatelský avatar
RX-20
Doporučuje se dohled moderátorů
Příspěvky: 270
Registrován: 30 čer 2024, 00:00
Bydliště: střední Čechy u Koněpruských jeskyní

#9 Příspěvek od RX-20 »

šlusování spojů není dobrý nápad.
Jaký pouzdro má ta paměť? Je v SMD SOIC8 nebo DIP nebo v těch pitomých mikropouzdrech? Jestli je v SOIC8 nebo PDIP, stálo by za pokus ji opatrně vypájet. Když je v SOIC8, půjde odpájení snáz.Pak si ji přiděláš na destičku nebo jestli máš adaptér pro SOIC8 a můžeš paměť přečíst. Podle manuálu existuje povel 44H pro vymazání security registru a 48H pro čtení security registru.
Jestli je ta paměť v mikropouzdru a vypájet ji nelze, anebo se ti nechce vypájet ani SOIC8, pak je další možnost, zkusit se připojit na SPI bus pomocí mikropočítače. Samozřejmě při vypnutým počítači. Z MCU si tam nahneš pouze napájení, /CS, Data a hodiny a z mikropočítače můžeš s pamětí manipulovat. Chce to nějaký 3,3V MCU.
S časem se vše zhoršuje (zákon prof. Parkinsona).
Diskuze s hlupákem je ztráta času, protože hlupák vás stahne na jeho úroveň a umlátí vás jeho hloupými argumenty.
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“