Adva van egy Asus X51R laptop amibe szeretnék egy Intel ABG wifikártyát beleszegelni a jelenlegi Atherosos helyére.
A gépen AMI BIOS 8-as verzió van.
A BIOS flashet foglalatba raktam, willem meg asztali PC van kéznél szóval nem kamikazejáték.
Röviden eddig a következőkre jutottam:
Van egy MMTool nevű csoda amivel lehet az AMI Biosokat buherálni. Szét lehet csapni modulokra, kiszedni képet zenét, stb, majd összecsomagolni vele. Wine alatt fut.
Van egy parancssoros Linuxos megfelelője:
http://cgit.freedesktop.org/~libv/bios_extract
Fórumokat bóklászva az jött le, hogy van a BIOSnak egy SLAB nevű része (Single Link Architecture BIOS), amiben benne szokott lenni a PCI PID little endianban. Végigküldtem az összes lehetséges KOMBINÁCIÓT a PID/VID/Subsystem id-kre illetve azok feleire de nem hozott eredményt. Most arra gondoltam, hogy disassemblálni kellene, és végigbóklászni a feltételes jumpokat. Próbálkoztam a flat assemblerrel, de az a biosból kirántott SLAB részt nem szerette.
A bios_extract programcsomagban van egy ami_slab program a mi a SLAB fájlt további cafatokra szedi szét:
ACPITBL_SEG.bin DIM_DSEG.bin I13P_CSEG.bin INT10_CSEG.bin POST_CSEG.bin SETSVR_CSEG.bin SMI_AP1ENTRYSEG.bin SMI_BSPENTRYSEG.bin
ADSM_CSEG.bin EXTF32_CSEG.bin I13R_CSEG.bin PMM_CSEG.bin POST_DSEG.bin slabextract.txt SMI_BSPCSEG.bin SMI_EXTFDSEG.bin
DIM_CSEG.bin FDR_CSEG.bin I19R_CSEG.bin PMM_DSEG.bin RUN_CSEG.bin SMBIOS_CSEG.bin SMI_BSPDSEG.bin SMI_STRUCSEG.bin
Mint látható külön szedi a CSEG és a DSEG részeket. Ha ezekből a cseg részekre eresztem a fasm-et akkor sem akarja az igazat.
Bármi ötlet, disassembler tipp jól jönne.
- 8006 megtekintés
Hozzászólások
nem értem a problémádat. nem minipci-os a slot, amiben a wifi kártya van?
kicseréled, bootolsz egy linuxot, és ott fog figyelni a pci device-ok között a kártya, a driver betöltődik, és sunshine meg happiness. mi köze van mindehhez a biosnak?
ja, és a lényeg: mi az, amiben az intel kártya jobb, mint egy atheros?
- A hozzászóláshoz be kell jelentkezni
Több gyártó van, akik nem engedi az "ész nélküli" variálását a notiknak, merthogy X és Y konfigokat szénné teszteltek, azzal jó és pont, azok mennek benne (PCI ID és tsai alapján). Elsőre én mondjuk az általad írt egyszerű cserét nézném meg, mielőtt poháralátétté konvertálok egy notit.
Az intel vs. atheros kérdés engem is érdekel. :)
- A hozzászóláshoz be kell jelentkezni
A cserét természetesen kipróbáltam, nem lát sem az lspci sem a windows semmit.
POSTnál nem mond semmit, a kártyról hogy nem táogatott lenne, igaz az atherosost sem jelzi.
vl: Nem sima minicpis hanem minipci expresses, vagy hogy nevezik.
Azért intel mert ebből van egy pár itthon ami tud 802.11a-t, amire szükségem lenne.
Írtam vala, hogy poháralátét nem lesz belőle, mert van BIOS íróm.
- A hozzászóláshoz be kell jelentkezni
Valószínűleg nem a bios a gond.
Van rajta egy hardware kapcsoló.
Ez engedi vagy tiltja a kártyát, na ez a kapcsoló máshogy van megvalósítva a két kártyán.
Én egy Compal laptopban Intel 54g-st cseréltem egy atheros 300g-sre az nem ment az Intel 300g-se az működik.
- A hozzászóláshoz be kell jelentkezni
A PCI-express szabvány ad lehetőséget a hw-s kapcsolóra, de az csak a rádiót kapcsolja le, nem az egész kártyát.
- A hozzászóláshoz be kell jelentkezni
A cserét természetesen kipróbáltam, nem lát sem az lspci sem a windows semmit.
POSTnál nem mond semmit, a kártyról hogy nem táogatott lenne, igaz az atherosost sem jelzi.
Nem kéne mondania semmit, szimplán mennie kéne.
És a támogatott kártya hogyan látszik lspci-ból?
vl: Nem sima minicpis hanem minipci expresses, vagy hogy nevezik.
Ez kb. mindegy. Az a lényeg, hogy szabványos a csatlakozó, és a gép buszrendszerére csatlakozik.
Lehet, hogy a pci-pci bridge konfigurálásának kéne utána nézni (meg a linux mit művel vele). A jó kártyával kéne látszani az lspci-ban annak is, hogy hogy hívják a bridge chipeket.
Azért intel mert ebből van egy pár itthon ami tud 802.11a-t, amire szükségem lenne.
Abban mi a jó, ha nem az USA-ban vagy? Emlékeim szerint baromira nem szabványos frekit használ Európában...
- A hozzászóláshoz be kell jelentkezni
lspciből nem látszik abszolút semmi.
A 802.11a Európában ISM sávban megy, itthon is használják elég sokan.
- A hozzászóláshoz be kell jelentkezni
Igen, közben utánaolvastam, tényleg lehet itt is használni.
Az, hogy az lspci-ból nem látszik semmi a jó kártyánal se, felveti a kérdést, hogy akkor hogyan működik az linux alatt...
- A hozzászóláshoz be kell jelentkezni
Bocs benéztem. a jó kártya természetesen látszik:
lspci -n -v
...
02:00.0 0200: 168c:001c (rev 01)
Subsystem: 168c:3065
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f89f0000 (64-bit, non-prefetchable) [=64K]
Capabilities: <access denied>
Kernel driver in use: ath5k
Kernel modules: ath5k
- A hozzászóláshoz be kell jelentkezni
lspci -vv:
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2
Bus: primary=00, secondary=03, subordinate=04, sec-latency=0
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3
Bus: primary=00, secondary=05, subordinate=06, sec-latency=0
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge
Bus: primary=00, secondary=07, subordinate=0b, sec-latency=56
07:06.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
Bus: primary=07, secondary=08, subordinate=0b, sec-latency=176
08:00.0 Network controller: Broadcom Corporation BCM4306 802.11b/g
Ebből kiderül, hogy melyik pci busz-nak melyik pci bridge chip biztosítja az elérhetőségét.
Így kinyomozható, hogy melyik bridge-en kéne engedélyezni azt a slotot.
- A hozzászóláshoz be kell jelentkezni
Biztos, hogy -vv?
Nálam erre így néz ki:
lspci -vv
02:00.0 Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)
Subsystem: Atheros Communications Inc. Device 3065
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at f89f0000 (64-bit, non-prefetchable) [=64K]
Capabilities: <access denied>
Kernel driver in use: ath5k
Kernel modules: ath5k
...
Ma belepróbáltam egy Broadcom bg kártyát, illetve egy Qualcomm 3G modemet. A wifi kártyát látta, a modemet nem.
- A hozzászóláshoz be kell jelentkezni
A -vv mindent device-t kiír, csak kiba részletesen.
Én csak a bridge device-okat, és nekik is csak a bus mezőjüket írtam be (meg az egyik cardbus slotba rakott kártyát), ehhez képest jóval több sor van.
Bus mezőt csak a bridge funkciót ellátó eszközöknél fogsz látni.
- A hozzászóláshoz be kell jelentkezni
Konkrétan milyen adat is kell nekem innen?
- A hozzászóláshoz be kell jelentkezni
Hogy a kívánt slothoz (amiben most ott találtad az lspci szerint a jól működő kártyát) tartozó PCI busz melyik PCI-PCI bridge chipen keresztül érhető el a CPU-tól. Azaz melyik chipet kéne máshogy programozni, hogy elérd a nem látszó kártyádat.
Azt a chipet keresed, ahol az lspci -vv szerint a Bus: sorban a secondary=02 érték van.
- A hozzászóláshoz be kell jelentkezni
Megtaláltam:
00:04.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
Memory behind bridge: f8900000-f89fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity+ SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: <access denied>
Kernel driver in use: pcieport
Kernel modules: shpchp
Van valami kész program erre a célra?
Vagy kernelt kell hegesztenem?
- A hozzászóláshoz be kell jelentkezni
Hát, gyanítom, hogy ez utóbbi.
- A hozzászóláshoz be kell jelentkezni
Én egyszer azért akartam kicserélni a Broadcom kártyámat Intelesre, mert utóbbi sokkal jobb volt Linux alatt (előbbi pedig éppen broken adott disztrib alatt).
A gép egy HP által gyártott noti, aminek BIOS-a kijelentette, hogy vegyem azonnal ki a kártyát, ő ugyan nem indul...
Nem akartam a BIOS tartalmával matatni, mert inkább használtam tovább a gépet ahelyett, hogy esetleg kiforrasztom azt egy hiba után, de *kívánt szövegrész beillesztendő* módon egy (vagy kettő?) /már nem emlékszem/ wifi kártyát támogat, az Intelest pedig nem.
Persze a BIOS-t átverve látta rendesen a rendszerem, működött is gond nélkül a kártya.
Frissítettem egy keveset olyan állapotra, ahol már helyrehozták a hibát és a Broadcom is használható állapotba került, így hagytam az egészet hardware ügyileg.
A HP-nél viszont csuklottak, nem szeretem az ilyen dolgokat.
- A hozzászóláshoz be kell jelentkezni
lehet rosszul tudom, de szerintem azert nem talaltad a PCI PID-et, mert manapsag a bios nagyresze tomoritve van, bekapcsolaskor csomagolja ki magat.
- A hozzászóláshoz be kell jelentkezni
Ez a disassembler tool, amit emlegetett jó eséllyel már megcsinálta a kitömörítést. Nagyon régen és is játszottam ilyennel, de mondjuk én csak a bootolás közben a sarokban megjelenő kis képet cseréltem ki.
Az viszont igaz, hogy a BIOS képes úgy letiltani PCI eszközöket, hogy az lspci nem fogja látni utána.
---
Internet Memetikai Tanszék
- A hozzászóláshoz be kell jelentkezni
Na szóval ez úgy van, hogy az MMTool tud olyat hogy extract uncompresssed. A bios_extract linuxos okosság ugyanilyen formátumban csomagol ki (nincs diff az így keletkezett fájlok közt).
- A hozzászóláshoz be kell jelentkezni
bár nem valószínű:
mmtool emlékeim szerint kiírja, hogy melyik ven:dev id-hez melyik rész tartozik a rom-ban. Érdemes lehet megnézni, hogy van e a wifi kártyának is rom-ja a bios-hoz linkelve. Régebben sikeresen cseréltem integrált vga és lan (boot-rom) rész bios-okban. Wifi esetén nem hiszem, hogy lenne külön firmware (a bios-ban), mert elvileg ezek csereszabatosak kellenének, hogy legyenek. De attól érdemes ellenőrizni.
- A hozzászóláshoz be kell jelentkezni
Néztem, negatív. Ati Xpress200 és LAN chipnek van boot romja benne.
- A hozzászóláshoz be kell jelentkezni
Az a mini pcie port biztos teljes mini pcie és nem csak egy usb-t támogató buta verzió? (én notimban pl. a kettőből egy csak usb-t tud)
- A hozzászóláshoz be kell jelentkezni
Ebben egy minipci van. Az USB lábak kint vannak rajta vannak ahogy kell, de a kártya nem USB-s.
- A hozzászóláshoz be kell jelentkezni
"A PCI-express szabvány ad lehetőséget a hw-s kapcsolóra, de az csak a rádiót kapcsolja le, nem az egész kártyát."
Ez így nem teljesen igaz.
A PCI és PCI származékok mind lekapcsolhatók.
A bedugott PCI express video lekapcsolhatja a szintén PCI express integrált chipet.
Nem látja sem a lspci sem a vindows.
Korábban sok alaplapnak volt olyan hibája ,hogy a bios-ban letiltott pci alaaplapi hangot a linux simán látta és kezelte.
Én a helyedben beletennék egy egy mini PCI express tunerkártyát vagy más nem wifi eszközt ,hogy működik -e ?
Mert ha nem akkor még a hardware-rel is meg kell vivnod.
- A hozzászóláshoz be kell jelentkezni
3G modemet tudok kérni kölcsönbe majd belepattintom, és meglátjuk.
A kapcsolót innen néztem:
http://leotardi.no-ip.com/html/eeepc/download/pciexpress_mini_cem_10.pdf
- A hozzászóláshoz be kell jelentkezni
Ha reveng, akkor IDA.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Ezer köszönet, hasznos a program.
- A hozzászóláshoz be kell jelentkezni
Na sikerült valamire jutnod vagy inkább mire sikerült jutnod? :)
- A hozzászóláshoz be kell jelentkezni