Hi, I just started to get into touch with the IrDA stuff with the background to get it work on my Dell Latitude C600 with Nokia 8210 and Kodak DC290 ... So I've almost no clue on the IrDA stuff and you should be prepared for some newbie questions and Ihope you do not consider this as spam ;-) FYI: 1) 2.4.7 std kernel with SMC stuff enabled as well as all the options stuff FIR on the C600 enabled , Com4 This seems to be working, when aliasing ird0 to irport and irattach /dev/ttyS3. At least syslog says, when sending an entry from the 8210 to the C600: Sep 12 07:12:52 kermit kernel: IrDA: Registered device irda1 Sep 12 07:12:53 kermit kernel: irlmp_register_client_R17f18bfb() Sep 12 07:12:53 kermit kernel: irtty_net_open() Sep 12 07:12:53 kermit kernel: irlap_change_speed(), setting speed to 9600 Sep 12 07:14:11 kermit kernel: irlap_change_speed(), setting speed to 115200 Sep 12 07:14:12 kermit kernel: irlmp_state_active(), Unknown event LM_LAP_DISCOVERY_CONFIRM Sep 12 07:14:12 kermit kernel: iriap_connect_indication() Sep 12 07:14:12 kermit kernel: irlap_recv_disc_frame() Sep 12 07:14:12 kermit kernel: irlap_change_speed(), setting speed to 9600 Sep 12 07:14:14 kermit kernel: irlmp_link_unitdata_indication(), found no matching LSAP! and cat /proc/net/irda/discovery nickname: Nokia 8210, hint: 0xb125, saddr: 0xfb289703, daddr: 0xbe0e0000 But I'm wondering about the "irlmp_state_active(), Unknown event LM_LAP_DISCOVERY_CONFIRM". Is this ok and is it worth to go further trying out some stuff or does this need to be fixed first? 2) I tried to get the SMC driver working, since this seems to be the only way to get FIR. So I aliases irda0 to smc-ircc. Unfortunately this didn't work with the default 2.4.7 kernel. So I patched smc-ir.[ch] as described in the README on http://www.linofee.org/~elkner/irda/patches/ Loading the modul works - at least when I try it the second time. I.e. after a reboot, doing modprobe smc-ircc I get: /lib/modules/2.4.7-xfs/kernel/drivers/net/irda/smc-ircc.o: init_module: No such device /lib/modules/2.4.7-xfs/kernel/drivers/net/irda/smc-ircc.o: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters /lib/modules/2.4.7-xfs/kernel/drivers/net/irda/smc-ircc.o: insmod /lib/modules/2.4.7-xfs/kernel/drivers/net/irda/smc-ircc.o failed /lib/modules/2.4.7-xfs/kernel/drivers/net/irda/smc-ircc.o: insmod smc-ircc failed and the syslog says: Sep 12 07:38:57 kermit kernel: irda_init() Sep 12 07:38:57 kermit kernel: irlmp_init() Sep 12 07:38:57 kermit kernel: ircc_init Sep 12 07:38:57 kermit kernel: ircc_init Try to open all known SMC chipsets Sep 12 07:38:57 kermit kernel: smc_superio_flat() Sep 12 07:38:57 kermit kernel: smc_probe() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit kernel: smc_superio_paged() Sep 12 07:38:57 kermit kernel: smc_probe() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit last message repeated 2 times Sep 12 07:38:57 kermit kernel: found SMC SuperIO Chip (devid=0x0b rev=00 base=0x03f0): FDC37N972 Sep 12 07:38:57 kermit kernel: ircc_open Sep 12 07:38:57 kermit kernel: SMC IrDA Controller found Sep 12 07:38:57 kermit kernel: IrCC version 2.0, firport 0x300, sirport 0x2e8 dma=3, irq=3 Sep 12 07:38:57 kermit kernel: irport_open_Rbfa366e7() Sep 12 07:38:57 kermit kernel: irport_open_Rbfa366e7(), can't get iobase of 0x2e8 Sep 12 07:38:57 kermit kernel: smc_superio_flat() Sep 12 07:38:57 kermit kernel: smc_probe() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit kernel: smc_superio_paged() Sep 12 07:38:57 kermit kernel: smc_probe() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit kernel: smc_superio_flat() Sep 12 07:38:57 kermit kernel: smc_probe() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit kernel: smc_superio_paged() Sep 12 07:38:57 kermit kernel: smc_probe() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit kernel: smc_superio_flat() Sep 12 07:38:57 kermit kernel: smc_probe() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit kernel: smc_superio_paged() Sep 12 07:38:57 kermit kernel: smc_probe() Sep 12 07:38:57 kermit kernel: smc_access() Sep 12 07:38:57 kermit kernel: irport_close_R75304489(), Releasing Region 2e8 When I try it a second time, there is no error and syslog says: Sep 12 07:39:56 kermit kernel: irda_init() Sep 12 07:39:56 kermit kernel: irlmp_init() Sep 12 07:39:56 kermit kernel: ircc_init Sep 12 07:39:56 kermit kernel: ircc_init Try to open all known SMC chipsets Sep 12 07:39:56 kermit kernel: smc_superio_flat() Sep 12 07:39:56 kermit kernel: smc_probe() Sep 12 07:39:56 kermit kernel: smc_access() Sep 12 07:39:56 kermit kernel: smc_access() Sep 12 07:39:56 kermit kernel: smc_superio_paged() Sep 12 07:39:56 kermit kernel: smc_probe() Sep 12 07:39:56 kermit kernel: smc_access() Sep 12 07:39:56 kermit last message repeated 2 times Sep 12 07:39:56 kermit kernel: found SMC SuperIO Chip (devid=0x0b rev=00 base=0x03f0): FDC37N972 Sep 12 07:39:56 kermit kernel: ircc_open Sep 12 07:39:56 kermit kernel: SMC IrDA Controller found Sep 12 07:39:56 kermit kernel: IrCC version 2.0, firport 0x300, sirport 0x2e8 dma=3, irq=3 Sep 12 07:39:56 kermit kernel: irport_open_Rbfa366e7() Sep 12 07:39:56 kermit kernel: IrDA: Registered device irda0 Sep 12 07:39:56 kermit kernel: smc_superio_flat() Sep 12 07:39:56 kermit kernel: smc_probe() Sep 12 07:39:56 kermit kernel: smc_access() Sep 12 07:39:56 kermit kernel: smc_superio_paged() Sep 12 07:39:56 kermit kernel: smc_probe() Sep 12 07:39:56 kermit kernel: smc_access() Sep 12 07:39:56 kermit kernel: smc_superio_flat() Sep 12 07:39:56 kermit kernel: smc_probe() Sep 12 07:39:56 kermit kernel: smc_access() Sep 12 07:39:56 kermit kernel: smc_superio_paged() Sep 12 07:39:56 kermit kernel: smc_probe() Sep 12 07:39:56 kermit kernel: smc_access() Sep 12 07:39:56 kermit kernel: smc_superio_flat() Sep 12 07:39:56 kermit kernel: smc_probe() Sep 12 07:39:56 kermit kernel: smc_access() Sep 12 07:39:56 kermit kernel: smc_superio_paged() Sep 12 07:39:56 kermit kernel: smc_probe() Sep 12 07:39:56 kermit kernel: smc_access() So I guess something still needs to be fixed? 3) Now I try irattach irda0 -s 1 of course without preprobing smc-ircc 1st time it does not work, second time I get a kernel panic (BTW: I really like xfs - saves a lot of time and headaches ;-)): Sep 12 07:47:32 kermit kernel: irda_init() Sep 12 07:47:32 kermit kernel: irlmp_init() Sep 12 07:47:32 kermit kernel: ircc_init Sep 12 07:47:32 kermit kernel: ircc_init Try to open all known SMC chipsets Sep 12 07:47:32 kermit kernel: smc_superio_flat() Sep 12 07:47:32 kermit kernel: smc_probe() Sep 12 07:47:32 kermit kernel: smc_access() Sep 12 07:47:32 kermit kernel: smc_access() Sep 12 07:47:32 kermit kernel: smc_superio_paged() Sep 12 07:47:32 kermit kernel: smc_probe() Sep 12 07:47:32 kermit kernel: smc_access() Sep 12 07:47:32 kermit last message repeated 2 times Sep 12 07:47:32 kermit kernel: found SMC SuperIO Chip (devid=0x0b rev=00 base=0x03f0): FDC37N972 Sep 12 07:47:32 kermit kernel: ircc_open Sep 12 07:47:32 kermit kernel: SMC IrDA Controller found Sep 12 07:47:32 kermit kernel: IrCC version 2.0, firport 0x300, sirport 0x2e8 dma=3, irq=3 Sep 12 07:47:32 kermit kernel: irport_open_Rbfa366e7() Sep 12 07:47:33 kermit kernel: IrDA: Registered device irda0 Sep 12 07:47:33 kermit kernel: smc_superio_flat() Sep 12 07:47:33 kermit kernel: smc_probe() Sep 12 07:47:33 kermit kernel: smc_access() Sep 12 07:47:33 kermit kernel: smc_superio_paged() Sep 12 07:47:33 kermit kernel: smc_probe() Sep 12 07:47:33 kermit kernel: smc_access() Sep 12 07:47:33 kermit kernel: smc_superio_flat() Sep 12 07:47:33 kermit kernel: smc_probe() Sep 12 07:47:33 kermit kernel: smc_access() Sep 12 07:47:33 kermit kernel: smc_superio_paged() Sep 12 07:47:33 kermit kernel: smc_probe() Sep 12 07:47:33 kermit kernel: smc_access() Sep 12 07:47:33 kermit kernel: smc_superio_flat() Sep 12 07:47:33 kermit kernel: smc_probe() Sep 12 07:47:33 kermit kernel: smc_access() Sep 12 07:47:33 kermit kernel: smc_superio_paged() Sep 12 07:47:33 kermit kernel: smc_probe() Sep 12 07:47:33 kermit kernel: smc_access() Sep 12 07:47:33 kermit kernel: irlmp_register_client_R17f18bfb() Sep 12 07:47:33 kermit kernel: ircc_net_open Sep 12 07:47:33 kermit kernel: spurious 8259A interrupt: IRQ7. Sep 12 07:47:33 kermit kernel: irlap_change_speed(), setting speed to 9600 lsmod: smc-ircc 10187 1 irport 9592 1 [smc-ircc] irda 175146 1 [smc-ircc irport] 4) When I preload smc-ircc and after this I do a irattach irda0 -s 1 syslog says: Sep 12 07:55:38 kermit kernel: irlmp_register_client_R17f18bfb() Sep 12 07:55:38 kermit kernel: ircc_net_open Sep 12 07:55:38 kermit kernel: spurious 8259A interrupt: IRQ7. Sep 12 07:55:38 kermit kernel: irlap_change_speed(), setting speed to 9600 Sep 12 07:55:39 kermit kernel: ircc_change_speed Sep 12 07:55:39 kermit kernel: ircc_change_speed(), using irport to change speed to 9600 Sep 12 07:55:39 kermit kernel: irport_change_speed_complete() Now I send an entry from the 8210 to the C600: Sep 12 07:57:20 kermit kernel: NETDEV WATCHDOG: irda0: transmit timed out Sep 12 07:57:20 kermit kernel: irda0: transmit timed out Sep 12 07:57:20 kermit kernel: ircc_change_speed Sep 12 07:57:20 kermit kernel: ircc_change_speed(), using irport to change speed to 9600 Sep 12 07:57:21 kermit kernel: irlap_change_speed(), setting speed to 115200 Sep 12 07:57:21 kermit kernel: ircc_change_speed Sep 12 07:57:21 kermit kernel: ircc_change_speed(), using irport to change speed to 115200 Sep 12 07:57:21 kermit kernel: irport_change_speed_complete() Sep 12 07:57:21 kermit kernel: irlmp_state_active(), Unknown event LM_LAP_DISCOVERY_CONFIRM Sep 12 07:57:25 kermit kernel: IrLAP, no activity on link! Sep 12 07:57:34 kermit kernel: irlap_change_speed(), setting speed to 9600 Sep 12 07:57:34 kermit kernel: ircc_change_speed Sep 12 07:57:34 kermit kernel: ircc_change_speed(), using irport to change speed to 9600 Sep 12 07:57:34 kermit kernel: irport_change_speed_complete() Now the 8210 shows "Sending business card" almost forever, i.e. until it gets probably a kind of timeout after about 1 minute or so. Does this mean, IrDA is actually working but there is no application which responds to the send message? 4) When I try now irattach /dev/ttyS3 I always get Sep 12 08:07:01 kermit irattach: tcsetattr: Input/output error no matter, whether irattach irda0 is still running or not. I even can't remove the irda, irport, smc-ircc modules, since the kernel reports, that they are still used ... hmmm, by whom? 5) When I try the old fashion way (at least I guess it is), I get after a reboot with irattach /dev/ttyS3: Sep 12 08:17:16 kermit kernel: irda_init() Sep 12 08:17:16 kermit kernel: irlmp_init() Sep 12 08:17:16 kermit kernel: IrDA: Registered device irda0 Sep 12 08:17:17 kermit kernel: irlmp_register_client_R17f18bfb() Sep 12 08:17:17 kermit kernel: irtty_net_open() Sep 12 08:17:17 kermit kernel: irlap_change_speed(), setting speed to 9600 lsmod: irtty 8910 2 (autoclean) irda 175146 1 (autoclean) [irtty] and when sending an entry from the 8210 to the C600: Sep 12 08:19:53 kermit kernel: irlap_change_speed(), setting speed to 115200 Sep 12 08:19:53 kermit kernel: irlmp_state_active(), Unknown event LM_LAP_DISCOVERY_CONFIRM Sep 12 08:19:54 kermit kernel: iriap_connect_indication() Sep 12 08:19:54 kermit kernel: irlap_recv_disc_frame() Sep 12 08:19:54 kermit kernel: irlap_change_speed(), setting speed to 9600 Sep 12 08:19:55 kermit kernel: irlmp_link_unitdata_indication(), found no matching LSAP! Sep 12 08:19:56 kermit kernel: irlmp_link_unitdata_indication(), found no matching LSAP! and the 8210 shows with 2 seconds "Business card send complete" or something like that. So what does this actually mean? smc-ircc via irport is not working and irtty does or vice versa or both [not] ? Finally last question: Assuming I get the IrDA stuff working, I didnt found any Linux application, which are designed for the 8210 or DC290. So I probably need to prog them myself :(. Are there any documentation and APIs I can use for this (plain C or Java are preferred)? If so, where should I start? Because of the little time I have, I do not really want to revers engineer the windows crap ... I hope, somebody can answer my questions to make me and probably other Dell Laptop users happy ;-) Regards, jens. -- +---[ Jens Elkner ]--------------------------------------------------------+ | Walther-Rathenau-Str. 58 [EMAIL PROTECTED] | | 39104 Magdeburg GERMANY http://www.linofee.org/ | +--------------------------------------------------------------------------+ _______________________________________________ Linux-IrDA mailing list - [EMAIL PROTECTED] http://www.pasta.cs.UiT.No/mailman/listinfo/linux-irda
