Kedves fórumozók!
Nemrég vettem egy régi HP tc4400-as TabletPC-t, amolyan játszós gépnek.
Szeretném, ha minden alkatrésze rendesen működne Slackware Linux 14.0 alatt.
Az egyik amit működésre szeretnék bírni, a gép IrDA portja.
Az alábbiakban listába szedve próbálom könnyebben áttekinthetővé tenni a tudnivalókat:
- Sikerült kikísértletezni, hogy a /dev/ttyS2 eszköz felel meg a IrDA portnak
- Azt is sikerült megállapítani, hogy a gépben SMSC típusú IrDA illesztő van, így az smsc-ircc2.ko kernelmodulra van szükség
- Mivel a BIOS-ok általában nem inicializálják megfelelően ezt a típusú illesztőt, ezért az irda-utils-ba került egy segédprogram, ami ezt megoldja
- Ez a segédprogram az smcinit, amit kicsit abajgatni, kell, hogy leforduljon mai rendszereken (illetve a default beállításokat is érdemes átírni)
- Az IrDA port információi a következők: (sir) io port: 0x3e8, (fir) io port: 0x100(?), irq 7, dma 3
- Sajnos az smcinit nem egy mai darab, ezért láthatólag nem tetszik neki gépem (mobil) io hub-ja:
root@testing:/usr/src/irda-utils-0.9.18/smcinit# ./smcinit -v smcinit 0.5cvs SIR ioport: 0x3e8 FIR ioport: 0x100 FIR interupt: 7 FIR DMA: 3 Detected IO hub vendor id: 0x8086 smcinit IO hub device 27b9 not 82801CAM (0x248c or 0x24cc)
- Ahogy látom annyi az egész, hogy csak a régebbi io hub-ok azonosítói vannak benne a kis fejében. Talán, ha felveszem a laptopom megfelelő alkatrészének id-ját, akkor talán (ha a chip visszafelé kompatibilis) fel fogja tudni éleszteni az IrDA vezérléséért felelős chipet.
- Valószínűleg a későbbiekben érdemes lesz a ttyS2 esetében az UART típusát none-ra állítani.
Várom az ötleteket, és esetleges korábbi tapasztalatokat a témában.
Hasznos linkek, amiket találtam:
SMCinit
- 1467 megtekintés
Hozzászólások
No, volt még egy kis időm molyolni ezen:
- Az ttyS2-on az uart-ot none-ra állítottam
- Betöltöttem az smsc-ircc2 kernelmodult:
found SMC SuperIO Chip (devid=0x7a rev=03 base=0x004e): LPC47N227 smsc_superio_flat(): fir: 0x100, sir: 0x3e8, dma: 03, irq: 7, mode: 0x8e SMsC IrDA Controller found IrCC version 2.0, firport 0x100, sirport 0x3e8 dma=3, irq=7 No transceiver found. Defaulting to Fast pin select IrDA: Registered device irda0
- Belekontárkodtam az
smcinit
forrásába, hogy az ICH7-M megfelelő eszközére is továbbmenjen, és most jónak tűnik:
root@testing:/usr/src/irda-utils-0.9.18/smcinit# ./smcinit -v smcinit 0.5cvs SIR ioport: 0x3e8 FIR ioport: 0x100 FIR interupt: 7 FIR DMA: 3 Detected IO hub vendor id: 0x8086 Detected IO hub device id: 0x27b9 Detected smc_base: 0x4e Detected Chip id: 0x7a SIR ioport register write: 0xfa read: 0xfa FIR interrupt register write: 0x7 read: 0x7 FIR ioport register write: 0x20 read: 0x20 FIR dma register write: 0x3 read: 0x3 Initialization of the SMC 47Nxxx succeeded root@testing:/usr/src/irda-utils-0.9.18/smcinit#
- Ha
irdadump
-ot futtatok az irda0 interfészen, és egy másik terminálban
ipdaping
-et, akkor panaszkodik, hogy
IrDA ping (0x00000000): 32 bytes recvfrom: Network is down
- Ha megpróbálom kézzel up-ba tenni az interfészt, akkor meg ezt kapom:
root@testing:/usr/src/irda-utils-0.9.18# ifconfig irda0 up SIOCSIFFLAGS: Resource temporarily unavailable root@testing:/usr/src/irda-utils-0.9.18# ifconfig irda0 irda0: flags=128<NOARP> mtu 2048 irda 00:00:00:00 txqueuelen 8 (IrLAP) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 7 base 0x100 root@testing:/usr/src/irda-utils-0.9.18#
- Most egyelőre nem tudom, hogyan haladjak tovább... Talán majd este megnézem, hogy mit csinál
smcinit
nélkül az
irdaping
és az
irdadump
.
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
Slackware Linux 13.37 | 2.6.39.3-janos
- A hozzászóláshoz be kell jelentkezni