Zanimljiv problem s BIOS-om (rijesen)

Vidim da su na grupi zadnje vrijeme dosta popularne zagonetke pa evo jos jedne s tim da se za tocan odgovor ovaj put ne dobije nista :-))

Opisati cu simptome poprilicno neobicnog slucaja pa cu za 2-3 dana napisati i koji je bio uzrok a u medjuvremenu me zanima da li ce itko bar priblizno pogoditi u cemu je bio problem - vjerujem da se je jako malo ljudi srelo s necim slicnim (mozda se varam? - to cemo vidjeti) i bas me zanima kako bi se takva situacija rjesavala u pojedinim servisima.

Evo log-a:

Danas sam slucajno htio pogledati nesta u BIOS-u ali je kompjuter nakon DEL na ulazu u BIOS zablokirao - umjesto BIOS-a se je pojavio crni ekran a u gornjem lijevom uglu je zmigao DOS cursor. Ctrl-Alt-Del nije radio, jedina mogucnost je bila hard reset.

Osim tog nije bilo nikakvih drugih problema, ESC za biranje boot device-a, POST, OS, ..., sve je radilo bez ikakvih gresaka ali nije se moglo otvoriti BIOS bez da se kompjuter zamrzne.

BIOS (Phoenix - Award) je iz 2006. i do ove situacije ga nisam nikad ni pomisljao flash-ati (iako postoji i noviji), PC je upaljen non-stop a u BIOS sam ulazio na desetke puta i nikad ranije nije bilo problema.

Maticna je

formatting link

i na njoj Athlon 64 X2 4200+

Otprilike bi ovakav post stavio ovdje na grupu da problem nisam uspio rijesiti a sad kad sam ga rijesio me bas zanima koje bi dobio odgovore i da li bi se itko barem donekle priblizio pravom rjesenju :-)

--
Chupo
Reply to
Chupo
Loading thread data ...

BIOS lock....samo "serviser" oliti poznavaoc key-kombinacije mo¾e uæi nesmetano u BIOS?!

Reply to
Gagi-9a

Ne.

Sad sam se tek sjetio - da svaki drugi post ne bi bio moj, ako nista ne odgovorim znaci da odgovor nije tocan...

--
Chupo
Reply to
Chupo

hmmm...ram memorija neku konfliktnu adresu ima?!? ili BIOS "refresh NVRAM" ?! glava me boli..idem spavati :))))

Reply to
Gagi-9a

Prvo bih puknuo Reset CMOS i pitao tko je!...lol Imao si u¹tekanu neku USB ili drugu periferiju?

Reply to
vaso

  1. Nesto u vezi sa PS/2 portovima. Npr: neispravni tipkovnica ili mis ili ubodeni u krivi PS/2 port.
  2. Neki problem oko baterije (CR2032) za CMOS setup.
--
lp
Electron
Reply to
Electron

kratak spoj na CMOSu?

Reply to
Tihomir K.

Problem je bio jer je jedan od ventilatora koji su spojeni na maticnu na maximalnom broju okretaja uzrokovao krivo ocitanje broja okretaja.

Nakon par sati pretrazivanja foruma je sve sta sam naso prakticki jedno te isto - flash/reset BIOS-a. Resetirati ili flash-ati BIOS a da riskiram da kasnije necu moci podesiti parametre mi bas nije bilo previse privlacno pa sam nakon odstekavanja svih USB-ova (osim tastature) vec skoro sve skupa ostavio za kasnije kad bi probao staviti i PS/2 tastaturu, drugu graficku i slicno.

Medjutim, nakon desetaka uzastopnih resetiranja mi je bilo tesko a ne opet poceti primjecivati da se za vrijeme dok jos nisu ucitani Windowsi svi ventilatori vrte namaximalnom broju okretaja. Zbog toga sam (krivo) pomislio da je uzrok elektricke prirode i da se zbog necega manifestira kad svi ventilatori koje kontrolira maticna (processor, chipset i system) dobivaju punih 12 V.

Od System venta mi je na plocu spojen samo SENSE a napon se uzima direkton s napajanja a ventilatori od processora i od chipseta su sa sva 3 pina (+12 V, GND, SENSE) spojeni na maticnu. Palo mi je na pamet iz Windowsa uzrokovati da se ventilatori od procesora i od chipseta vrte na maximalnom broju okretaja pa vidjeti da li ce se kompjuter smrznuti. Okretaje ventilatora mi je nejjednostavnije bilo povecati tako da sam spustio klizac za temperaturu na kojoj se ventilatori vrte s max brojem okretaja:

formatting link

Podesio sam parametre tako da su se ventilatori vrtjeli ko nakon restarta ali se nije desavalo nista. Tu sam se malo igrao s brojem okretaja, probao sam za vrijeme dok se ventilatori vrte pokretati programe i najednom sam primijetio da se ocitanje broja okretaja za chipset fan iz nekog razloga svaki cas penje na 75000:

formatting link

Experimentiranje je pokazalo da se kriva ocitanja desavaju samo kad je broj okretaja blizu maximalnog a nikad kad se ventilator vrti nekom nizom brzinom.

Tu sam sad pomislio da bi to mogo biti uzrok, nikad nisam disassemblirao nijedan BIOS ali nije nemoguce da bi broj okretaja koji je veci od 65535 (16 bitova) uzrokovati blokiranje BIOS-ovog koda. Drugi razlog (koji mi se cini vjerojatnijim) bi mogo biti da rutina u BIOS-u negdje u RAM-u priprema cifre za ispis broja okretaja (kad se otvori PC Health Status ekran se broj okretaja vidii u BIOS-u), mozda se cifra po cifru za ispis odvaja pomocu gledanja ostatka kod dijeljenja s 10 a ako su za broj okretaja predvidjene najvise 4 znamenke (0000 - 9999), onda je moguce da peta znamenka prebrise neku memorijsku lokaciju zbog koje se promijeni tijek programa. Ili se nikako ne smije desiti 5 prolaza kroz petlju ili...

Uglavnom, ako bi uz odstekavanje ventilatora BIOS proradio, onda bi to trebalo biti to. Odstekao sam chipset vent (ploca bez problema moze raditi i bez njega jer sam nedavno stavio heatsink) i nakon toga je stvarno sve opet bilo OK.

Naknadno sam u BIOS-u spustio napon ventilatora za chipset vent na 60% od maximalne nakon cega i uz ponovo ustekani ventilator ne dolazi do blokiranja BIOS-a (jer se na 60% od max okretaja ne desavaju kriva ocitanja).

Evo sad prostora za nekog tko ce detaljno objasniti sve aspekte ovog problema. Bilo bi lijepo kad bi neko napravio oscilogram signala na SENSE pin-u nekog ventilatora. Ovdje se moze vidjeti kakve su otprilike izvedbe s elektrickog gledista:

formatting link

Ocito postoje 3 izvedbe SENSE signala - puni napon, preko zenner-ice (TTL) i open collector. Da li do krivog ocitanja dolazi zbog iskrenja (previse impulsa) ili zbog nekompatibilnosti napona (ploca ocekuje TTL level a dolazi 12 V signal zaoscilira)?

Ako je vec doslo do krivog broja impulsa sta se tocno desava u BIOS-u pa da preveliki broj impulsa uzrokuje smrzavanje? Da li negdje postoji source ili disassemblirani kod bilo kojeg BIOS-a pa da se izolira rutina za ispis brojeva? Na cemu se uopce izvrsava kod upisan u BIOS, na nekom embedded mikrokontroleru ili je to x86 instrukcijski set koji se izvrsava na glavnom processoru?

Naso sam knjigu koja ce mozda dati neke odgovore:

formatting link

a naletio i na neke podatke tipa da 1234h na adresi 0000:0472 odredjuje da li je u pitanju cold boot:

formatting link

Do sad nisam proucavao kako BIOS funkcionira na nivou assemblera ali me je sad zainteresiralo pa ako neko zna nesta o tome neka napise 2-3 recenice ili nek stavi koji link. Takodjer ako neko ima ventilator koji mu tu i tamo uzrokuje preveliko ocitanje, volio bih vidjeti oscilogram SENSE pin-a tog ventilatora.

To bi bio taj slucaj, jedna malo manje uobicajena stvar za provjeravanje prilikom problema s BIOS-om. Oni koji su rekli da treba istekati *SVE* uredjaje pa na taj nacin otkriti koji uzrokuje problem su bili u pravu ako su pod 'sve uredjaje' racunali i ventilatore :-))

--
Chupo
Reply to
Chupo

S tim si izgleda zbunio BIOS: Naime, pri buðenju, ploèa upravlja naponima ventilatora i kontrolira/mjeri okretaje. U ovom sluèaju nije bilo oèekivane reakcije na promjenu napona

To je opse¾an posao....lol

Probaj i s nekim drugim ventilatorom, mo¾da je ovaj OK.....

Te¹ko, to bi bila KNJI®URINA od par desetaka tisuæa stranica....

Izvr¹ava se na glavnom procu, obièno tako da se prekopira iz sporog eeproma u brzi RAM....

Na¾alost, nismo se sjetili pitati jel' bilo nekih nadogradnji/modifikacija...LOL

Reply to
vaso

Istina, bas na Wikipedii citam da BIOS-i imaju i do 16 MB i da su neki ustvari distribucije Linuxa, nisam to znao. To onda znaci i da su pisani u nekom visem programskom jeziku. Pa ipak, moglo bi se izdvojiti rutinu za ispis znaka, analizirati kako kako se dohvaca trenutni broj okretaja, sta se s tim podatnom radi i slicno.

Uz koristenje emulatora s integriranim kvalitetnim debugger alatima to cak niti ne bi trebalo biti previse komplicirano.

Inace nisam mislio da bi source bio odstampan u knjizi :-)) Mislio sam na file(ove).

brzi RAM....

Ima gdje kakve kvalitetne literature o tome sta se tocno nakon boot-a desava na nivou hardware-a - kako se uopce hvata pritisak na tipku za ulaz u BIOS, kako se kod izvrsava i slicno?

nadogradnji/modifikacija...LOL

Jos uvijek nije iskljuceno da se i kod originalnog ventilatora ne bi s vremenom mogo pojaviti isti kvar - ako ovaj kojem je max. broj okretaja oko 1700 vec kod 1400 povremeno uzrokuje abnormalno preveliko ocitanje, onda se vjerojatno nesta slicno moze desiti i s originalnim kojemu je maximum bio preko 6000 rpm. Treba vidjeti i kakav je tocno sklop koji sample-ira SENSE i kako se taj signal obradjuje...

Inace je vec samo s heatsinkom (bez ventilatora) umjesto originalnog hladnjaka u kombinaciji s ventilatorom na 5-6000 rpm temperatura chipseta s 61 stupnja (*) pala na 44 tako da bez problema taj ventilator mogu i skinuti. Ali s obzirom da je vent 8 cm (originalni je bio 4 cm) i vrti se na samo oko 800 rpm (tako sam ga namjestio i tako da je potpuno necujan - po tvornickim postavkama se nije ni palio :-) ) a temperaturu spusta za jos 10 stupnjeva, nek se vrti.

BTW, platio sam ga 13 kn :-)))))))))))))))))))))))))

(*)

61 stupanj je normalna temperatura chipseta za ovu plocu, to se izmedju ostalog vidi i po tome da je originalni ventilator bio isprogramiran da se s max. brojem okretaja vrti tek na 67 stupnjeva (shutdown na 90 stupnjeva) a ni pod najvecim opterecenjem se temperatura chipseta nije mijenjala za vise od 2 stupnja.
--
Chupo
Reply to
Chupo

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.