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