HP tc4400 IrDA port

Fórumok

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

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