Dag Brattli <[EMAIL PROTECTED]> writes:

> It also contains a further developed SMC driver, which still needs some
> work. I'm going to wrap it with CONFIG_EXPERIMENTAL and maybe even pull it
> if we cannot make it work at all for FIR in a week or so.
> 
> The Airport dongle driver got pulled since it hasn't been fixed for the
> latest code (still in 2.3.x).
> 
> So please try it out, and tell me if it's working or not. We will have to
> remove all the stuff that we cannot fix immediately!! Send me your
> complaints now!! Once 2.2.15 is out it's too late!!

Small patch for the SMC driver:

--- linux-blabla/drivers/net/irda/smc-ircc.c    Tue Jan 18 20:52:48 2000
+++ linux/drivers/net/irda/smc-ircc.c   Tue Jan 18 21:59:54 2000
@@ -964,7 +964,7 @@
                if (!down) {                    
                        for (i=0; i<4; i++) {
                                if (dev_self[i])
-                                       nsc_ircc_suspend(dev_self[i]);
+                                       ircc_suspend(dev_self[i]);
                        }
                }
                down = 1;
@@ -974,7 +974,7 @@
                if (down) {
                        for (i=0; i<4; i++) {
                                if (dev_self[i])
-                                       nsc_ircc_wakeup(dev_self[i]);
+                                       ircc_wakeup(dev_self[i]);
                        }
                }
                down = 0;


The SMC driver works better than anytime before. It now discovers the
chip in my laptop without any magic insertion of port addresses in the
source. And most important: I have now played with it for more than an 
hour without doing a forced reboot. Which means that it's at least 50 
times more stable than any version I've tried before...

Suspend/resume works, and I actually managed to keep an IrCOMM session up
during a suspend/resume cycle.

But I cannot get the driver to work in FIR mode, although it claims to 
change to FIR speeds.

My config:
linux-2.2.15pre3
irda-utils-0.9.7
Tekram IR-610 LAN Adapter

This is what I have tried:
modprobe smc-ircc
modprobe irlan
echo "1" >/proc/sys/net/irda/discovery
ifconfig irda0 up
ifconfig irlan0 192.168.3.13

The result is:
Jan 18 22:29:47 duckman kernel: IrDA (tm) Protocols for Linux-2.2 (Dag Brattli) 
Jan 18 22:29:47 duckman kernel: ircc_init 
Jan 18 22:29:47 duckman kernel: ircc_probe_smc() 
Jan 18 22:29:47 duckman kernel: ircc_probe_smc(), devid=0x04 
Jan 18 22:29:47 duckman kernel: ircc_open 
Jan 18 22:29:47 duckman kernel: ircc_probe 
Jan 18 22:29:47 duckman kernel: SMC IrDA Controller found; IrCC version 1.2, port 
0x158, dma=3, irq=3 
Jan 18 22:29:47 duckman kernel: irport_open() 
Jan 18 22:29:47 duckman kernel: IrDA: Registered device irda0 
Jan 18 22:29:47 duckman kernel: ircc_probe_smc() 
Jan 18 22:29:47 duckman kernel: ircc_probe_smc(), devid=0xff 
Jan 18 22:30:40 duckman kernel: ircc_net_open 
Jan 18 22:30:40 duckman kernel: irlap_change_speed(), setting speed to 9600 
Jan 18 22:30:40 duckman kernel: ircc_change_speed 
Jan 18 22:30:40 duckman kernel: ircc_change_speed(), using irport to change speed to 
9600 
Jan 18 22:30:42 duckman kernel: irlan_register_netdev() 
Jan 18 22:32:24 duckman kernel: irlap_change_speed(), setting speed to 4000000 
Jan 18 22:32:24 duckman kernel: ircc_change_speed 
Jan 18 22:32:24 duckman kernel: ircc_change_speed(), handling baud of 4000000 
Jan 18 22:32:24 duckman kernel: irport_change_speed_complete() 
Jan 18 22:32:24 duckman kernel: ircc_interrupt(), iir = 0x00 
Jan 18 22:32:27 duckman kernel: IrLAP, no activity on link! 
Jan 18 22:32:29 duckman kernel: irlmp_state_setup() WATCHDOG_TIMEOUT! 
Jan 18 22:32:34 duckman kernel: irlan_watchdog_timer_expired() 
Jan 18 22:32:34 duckman kernel: irlan_watchdog_timer_expired(), notifying irmanager to 
stop irlan! 
Jan 18 22:32:36 duckman kernel: irlap_change_speed(), setting speed to 9600 
Jan 18 22:32:36 duckman kernel: ircc_change_speed 
Jan 18 22:32:36 duckman kernel: ircc_change_speed(), using irport to change speed to 
9600 
Jan 18 22:32:36 duckman kernel: ircc_change_speed 
Jan 18 22:32:36 duckman kernel: ircc_change_speed(), handling baud of 4000000 
Jan 18 22:32:36 duckman kernel: irport_change_speed_complete() 
Jan 18 22:32:36 duckman kernel: ircc_interrupt(), iir = 0x00 

The same sequence of commands with smc-ircc replaced by irport works fine:

Jan 18 22:47:48 duckman kernel: IrDA (tm) Protocols for Linux-2.2 (Dag Brattli) 
Jan 18 22:47:48 duckman kernel: irport_open() 
Jan 18 22:47:48 duckman kernel: IrDA: Registered device irda0 
Jan 18 22:47:59 duckman kernel: irlap_change_speed(), setting speed to 9600 
Jan 18 22:48:09 duckman kernel: irlan_register_netdev() 
Jan 18 22:48:19 duckman kernel: irlan_watchdog_timer_expired() 
Jan 18 22:48:19 duckman kernel: irlan_watchdog_timer_expired(), closing instance! 
Jan 18 22:48:59 duckman kernel: irlap_change_speed(), setting speed to 115200 
Jan 18 22:48:59 duckman kernel: irport_change_speed_complete() 
Jan 18 22:48:59 duckman kernel: irlmp_state_dtr(), Unknown event 
LM_LAP_CONNECT_CONFIRM 
Jan 18 22:48:59 duckman kernel: irttp_param_max_sdu_size(), MaxSduSize=1518 


Bj�rn


_______________________________________________
Linux-IrDA mailing list  -  [EMAIL PROTECTED]
http://www4.pasta.cs.UiT.No/mailman/listinfo/linux-irda

Reply via email to