A blogban leírtak a szerzők saját véleménye, és nem a munkáltatójuké.

AMT frissítés ASUS alaplapokon

Úgy néz ki, hogy ősszel megint lesz AMT-s mérés a laborban, úgyhogy nekiálltam összeszedni a doksikat, hogy mi is kell hozzá. Ekkor került elő a leírásaim közül egy tavaly őszi kis vicces történet logja. Figyelem, a korábbiakkal ellentétben ennek a vége fele kicsit “fikázós” hangvétele lesz. 🙂

Háttértörténet: BIOS frissítés PXE boottal

Szóba került, hogy frissíteni kéne a 224-es labor gépein a BIOS-t, valamint az AMT firmware-jét. Az AMT az Intelnek egy desktop gépek számára kifejlesztett távoli menedzsment megoldása, kb. olyan, mint az IPMI, csak teljesen más az interfésze. A lényeg, hogy van az alaplapon egy kis beágyazott processzor, ami standby módban is működik és a hálózatról megszólítható, mindenféle funky dolgokat lehet vele távolról csinálni függetlenül attól, hogy mi fut/nem fut a gépen. Ez a beágyazott CPU egy saját kis firmware-t futtat, ezt is időnként nem árt frissíteni.

A laborban elég vegyes a gép felhozatal, több generáció is képviselteti magát. Vannak Intel alaplapos Pentium4-esek, Lenovo gyártmányú Core2Duo processzoros gépek (ezek tudnak AMT 2.0-t), és van két ASUS alaplapos Core2Duo-s gép is, ezek a változatosság kedvéért AMT 3.0-t támogatnak.

BIOS frissítés 28 gépen nem vicces, ha kézzel kell csinálni.  Hogyan lehet “enterprise” módon sok gépet frissíteni? Hát nem floppy-val vagy pendrive-val körbemászkálva, hanem a kor követelményeinek megfelelően hálózatról bootolva.

A labor szerverén – a Shelobon – már amúgy is van PXE boot környezet. (Ha egyszer nagyon ráérek – ezek híres szavak 🙂 -, majd ebből is írok postot, hogy mi mindenre jó ez és hogyan kell csinálni.) Gondoltam megpróbálom ezzel a frissítést. Nem kell hozzá egyéb, mint leszedni a frissítő floppy image-ét, majd berakni a PXE boot szerveren a tftpboot könyvtárba. Ahhoz, hogy egy (egyébként bootolható) floppy image betöltődjön hálózatról, szükség van egy betöltést segítő modulra: ezt úgy hívják, hogy memdisk. A memdisk modult a syslinuxcsomagból lehet megszerezni. Valójában betölti a memóriába a teljes floppy image-et és emulál olyan BIOS hívásokat, amik normális esetben a floppy elérését lehetővé tennék. Egyébként ezzel a technikával nemcsak floppy, hanem nagyobb, merevlemez image-ek is indíthatók, pl Ghostot is indítottuk hasonló techinkával. A pxeboot.cfg fájlba a következő bejegyzést kell felvenni:

LABEL AMT-Updater
        kernel modules/memdisk
        append initrd=images/amt-updater/amtupdate-2.1.1032.image

A dörzsöltebb rendszeradminok előregondolkodnak (mint ahogy én most nem 🙂 ) és rögtön a defaultra rakják ezt a bejegyzést, így hálózati bootolásnál a boot menüben automatikusan ez indul. F12-vel be kell hálózatról bootoltatni a gépeket (ennyi a manuális rész) és a boot menüből automatikusan indul az image. Az AMT updater értelmesen van megcsinálva, ha a firmware verzióval kompatibilis fajta hardvert talál, akkor magától elindul a frissítés.

Ez szépen műkdött is a Lenovo gépekre, kevesebb, mint egy óra alatt megvolt minden, beleértve a memdisk modul kikeresését és a boot konfiguráció beállítását is. Idáig “Great Success”.

Viszont az ASUS-okkal meg voltam lőve…

Először is az ASUS oldalán nyoma sincs az alaplapjukhoz (P5E-VM DO) tartozó AMT firmware update-nek. Úgy láttam, hogy a Lenovo egy az egyben az Inteltől átvett firmware-t csomagolta be (nem meglepő, lévén hogy az Intel nem enged harmadik fél által gyártott firmware-t, csak a saját hivatalos cuccuk megy fel a gépekre). Egyetlen esélyként megpróbáltam a Lenovo oldaláról vadászni AMT3.0-s gépekhez firmware-t és azt rátolni az ASUS-okra.

Itt már kezdődtek a nehézségek…

Találtam AMT3-as firmware-eket: http://download.lenovo.com/pccbbs/thinkcentre_drivers/fw3.2.3.1037.txt és az fw3.2.3.1037.exe is él ugyanitt. Sőt találtam olyat is, hogy fw3.2.10.1041.exe. Ezek mind Windows alól indítható változatok, de nincs floppy image-ről frissítős megoldás, így a PXE boot most nem fog segíteni.

A fenti exe a következőt csinálja: Win alatt indítva a c:\Drivers\fw3.2.10.1041 könyvtárba kitömöríti magát. Ebből az érdekes komponens az FW1041.BIN, ebben van az image, amit fel kell tölteni a gépekre. Ezt jobban megvizslatva látható, hogy miért nincs floppyra másolós megoldás: 1,6MB-os az AMT3-as firmware fájl, ellenben az AMT2-es ~600kB-os méretével. 2.88-as floppy image ettől még lehetne persze… A gépeken nincs natív Windows, de most az update kedvéért kaptak egyet (ez önmagában nem egy kétperces meló, még ha kész image-ből húzom is rá a gépre). Végül a frissítés gond nélkül lefutott.

Most következett a BIOS…

A BIOS-ból 702-es (a weblap szerint Beta) BIOS van a gépeken, helyette lehetne akár 902-es is. A frissítés persze nem öncélú, igazából titkon abban reménykedtem (még ha semmi changelog nem is erősít meg ebben), hogy lesz egy olyan BIOS kiadás, amiben a Wake On LAN rendesen működik. Az Intel és a Lenovo meg tudta csinálni, hogy áram alá helyezés után az alaplapi hálózati kártya feléledjen és érzékeny legyen wake on lan csomagra. Az ASUS esetén ez csak nem akart összejönni pedig már minden kapcsolódó BIOS opciót végignéztem. Ezeket a gépeket ezért mindig kézzel kell bekapcsolni, a többi meg indul automatikusan.

Az ASUS a BIOS-hoz természetesen Windows-os update utility-t ad, ha már fenn van az AMT miatt úgyis egy natív Windows, akkor azzal kap egy kísérletet.

Annak ellenére, hogy így mindent a “gyárilag elképzelt” módon csináltam, korántsem volt egyszerű a művelet. Lássuk tehát a lépéssort:

  • Ha van az embernek kéznél pendrive-ja, arra rá lehet másolni a Windows-os setup utilityből kivadászott .BIN-t, majd az ASUS(TM) EZ FLASH2(R)-rel megcsinálni a BIOS-ból indítható frissítést. Most éppen nem volt kéznél pendrive, bár – mint az kikövetkeztethető – sokat nem nyertem volna vele.
  • Windows alá fel kell rakni a komplett ASUS updater utility-t. Ehhez ezt először le kell tölteni.
  • Élvezetes, amikor 10kB/s-el töltődik egy 8MB-os fájl és ez 54%-nál elakad.
  • Van persze egy “download manageres” opció, ehhez viszont külön telepíteni kell az AKAMAI spyware download manager alkalmazást, és persze a böngészőben ActiveX-et, ilyen-olyan plugineket, meg minden egyéb biztonsági antipatternt engedélyezni. Az gépre rakott WinXP “eldobós” jellegére való tekintettel ezt most bevállaltam, de egy komolyabb helyen a rendszeradmin kb. itt mondaná azt, hogy NEM!
  • Az ASUS Updater telepítése utáni indítás során kb. 1 percig nem csinál semmit a gép, majd ezután jelenik meg az ablak. Semmi visszajelzés nincs, látszik, hogy a gépben és a szoftver helyességében vakon bízó türelmes embereknek készült.
  • Jelentem az ASUS Updater ocsmányul néz ki, erre sajnos nincs szebb kifejezés. Hogy lehetett ilyen kevés funkcióhoz egy ilyen komplikált ronda GUI-t csinálni?asus updater utility
  • Válasszuk a BIOS letöltését!
  • A mirror választásnál ügyeljünk rá, hogy ne az Auto Select gombot nyomjuk meg, hanem kézzel az asus.com.tw-t válasszuk az (egyébként 3 elemű) mirror listából! Ez azért fontos, mert a másik két mirroron csak 2007 előtti, tehát a 0702-esnél régebbi BIOS verziók vannak. 🙂 Figyelni kell arra is, hogy ez ftp-n megy, még szerencse, hogy a 224-es labor hálózatából a tűzfalon az ftp ki van engedve.
  • Ez idáig még csak letöltötte a kiválasztott könyvtárba a fájlt, kézzel ki kell választani, hogy most update BIOS from file következik.
  • Megint jön egy hosszadalmasabb várakozás, eközben szokás szerint semmi ablak nincs a képernyőn. Egy processzor magot 100%-ra terhel a Winflash.exe. Innen látjuk, hogy most már egy másik alkalmazás fut, bár sikerült ezt is tökéletesen álcázni az ocsmány átlátszó, lyukas stílusú ablakdekorációval.
  • Szépen mutatja, hogy mi van a BIOS-ban, mi van az Image-ben, minden OK, mehet a Flash gomb.
  • Újabb várás 100%-ra pörgetett procival, nagy sokára megjelenik a 0% az Erasing Flash bitkolbász. Majd egyszercsak BANG! Error, could not erase flash. Hát ez nem hangzik jól, de nagyon nem!
  • Kis utánanyomozás… kiderül, hogy:
  1. A SERVICE_MODE jumpert át kell tenni 1-2-ről 2-3-as pozícióba. Igen, jól értettük, tehát ki kell nyitni gépet, enélkül nem megy! Még szerencse, hogy nincs a gépház garanciálisan plombálva.
  2. A memóriamodult az 1A foglalatból ki kell venni. o_O Hogy mivan?! Mondjuk sejtem, hogy mi lehet mögötte, az 1A memória-foglaltban az SPD EEPROM-ot sikerült az I2C buszon ugyanarra a címre rakni, amit a BIOS Flash eepromja is használ. Ez azért megintcsak erősen antipattern hardvertervezésre utal.
  • Indítás, erre mi fogad: CPU FAN FAIL
  • CPU ventilátort gyorsan ellenőrzöm, a gépbe piszkálás során került-e valami az útjába… nem, a ventilátor tökéletesen működik.
  • BIOS update procedúra ismétlés következik, ezúttal már sikerül
  • Persze a CMOS Setup beállításokat törölte. Bár ez elvileg egy checkbox-szal kikapcsolható lett volna, de kikapcsolásnál nagyon jajjogott, hogy ez mennyire nem javasolt.
  • Végül reboot, BIOS-t újra beállítom. A Hardware Monitor szekcióba belépni veszélyes, kb 1 percig nem lesz reszponzív a gép (a hülye animált csík – minek ilyen a BIOS-ba – persze mozog közben a képernyő tetején), ekkor látható, hogy sem a CPU hőmérőt sem CPU ventilátort nem tudja leolvasni.
  • Persze nem kellett volna megijedni, utána vissza kell rakni a jumpert a helyére és megint működni fognak a hardver szenzorok.
  • Gépet visszadobozolom.
  • Kipróbálom és szomorúan konstatálom, hogy a hideg indítás után nem működő a wake on lan problémáját továbbra sem oldották meg. De nem baj vigasztaljon minket, hogy az új BIOS sokkal kompatibilisebb az Overclockers’ DDR2-1200-as Super Low Latency Platinum Edition memóriával, valamint az Ai Overclocking feature is számos új funkcióval gazdagodott. 🙂

Amint láthattuk ez egy szuper enterprise megoldás. Két gép esetén bőven több munka volt vele, mint a Lenovo frissítőjével végigcsinálva az egész laborban. Mi lenne, ha az egész labor ilyen gépekből állna? Leplombált gyári gépházzal? Ebbe jobb nem belegondolni… A tanulság mindenesetre az, hogy az otthoni használatra szánt desktop alaplapok nem feltétlenül olyan szempontok figyelembevételével készülnek, ami akár egy 30 darabos géppark értelmes karbantartására alkalmassá tenné őket.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>