Hi,
I have a problem with USB WLAN (Belkn F5D7050 802.11g) and ndiswrapper: boot and hotplug does not work. Hotpug works partially - once.
At boot system when loopback device is started and wlan0 modprobed the system freezes. Unplugging WLAN stick boot continues. If I plug it in immediately again wlan0 is configured properly and network works fine. I can unplug and plug in the stick once after boot but next time causes ndiswrapper not to load anymore.
/sys/bus/usb/xx/yy shows correct driver after boot and one hotplug but after that the driver is missing.
/lib/modules/2.6.10y/modules.usbmap does not contain information about the USB stick and depmod -a does not create it.
Kernel is patched with 16k patch to avoid problems with windows driver. Kernel is 2.6.10. FC2 has been updated via up2date to the latest available packages and scripts.
One annoying thing was that I managed to get hotplug working by copying ndiswrapper from /lib/modules/<kernel>/misc to /lib/modules/<kernel>/extra but after updating it works only once.
What I haven't figured out yet is how usb.agent (hotplug) knows what driver needs to be loaded when WLAN stick is plugged in. Where exactly this information is stored?
I tried manually adding WLAN stick to modules.usbmap but that caused FATAL error at boot (no filesystem was mounted at that time). Same info has been tested in /etc/hotplug/usb.handmap and usb.usermap without any noticeable effect.
Hope someone can help me out here because I'm out of ideas (after several days of searching).
TIA
Snip of the log (dmesg) at boot if it provides any help (boot where usb stick is plugged, freeze, unplug, continues, stick plugged in again):
...
divert: allocating divert_blk for eth0
eth0: Broadcom 4400 10/100BaseT Ethernet xx:xx:xx:xx:xx:xx
divert: freeing divert_blk for eth0
ip_tables: (C) 2000-2002 Netfilter core team
ndiswrapper version 1.0 loaded (preempt=no,smp=no)
ndiswrapper: driver rt2500usb (BELKIN,07/15/2004, 1.02.00.0000) added
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
usb 1-2: reset high speed USB device using ehci_hcd and address 2
ndiswrapper (usb_reset_port:635): usb_reset_device() = -19
ndiswrapper (NdisFreeSpinLock:904): buggy Windows driver freeing unallocated kspin_lock c9c97b00
ndiswrapper (NdisFreeSpinLock:904): buggy Windows driver freeing unallocated kspin_lock c9c97af8
ndiswrapper (ndiswrapper_add_one_usb_dev:306): Windows driver couldn't initialize the device (C0000001)
ndiswrapper: probe of 1-2:1.0 failed with error -22
usbcore: registered new driver ndiswrapper
usb 1-2: USB disconnect, address 2
usb 1-2: new high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
Installing knfsd (copyright (C) 1996
okir@monad.swb.de).
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
usb 1-2: reset high speed USB device using ehci_hcd and address 3
ACPI: PCI interrupt 0000:00:02.7[C] -> GSI 15 (level, low) -> IRQ 15
usb 1-2: reset high speed USB device using ehci_hcd and address 3
intel8x0_measure_ac97_clock: measured 49657 usecs
intel8x0: clocking to 48000
lirc_dev: IR Remote Control driver registered, at major 61
divert: allocating divert_blk for wlan0
wlan0: ndiswrapper ethernet device xx:xx:xx:xx:xx:xx using driver rt2500usb
wlan0: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP
ip_tables: (C) 2000-2002 Netfilter core team
lirc_serial: auto-detected active low receiver
lirc_dev: lirc_register_plugin:sample_rate: 0
...
And same from /var/log/messages:
Jan 30 14:31:59 localhost kernel: eth0: Broadcom 4400 10/100BaseT Ethernet xx:xx:xx:xx:xx:xx
Jan 30 14:31:59 localhost kernel: ip_tables: (C) 2000-2002 Netfilter core team
Jan 30 14:31:59 localhost kernel: ndiswrapper version 1.0 loaded (preempt=no,smp=no)
Jan 30 14:31:59 localhost kernel: ndiswrapper: driver rt2500usb (BELKIN,07/15/2004, 1.02.00.0000) added
Jan 30 14:31:59 localhost lirc: lircd startup succeeded
Jan 30 14:31:59 localhost kernel: usb 1-2: reset high speed USB device using ehci_hcd and address 2
Jan 30 14:31:59 localhost lirc: lircmd startup succeeded
Jan 30 14:31:59 localhost kernel: usb 1-2: reset high speed USB device using ehci_hcd and address 2
Jan 30 14:32:00 localhost last message repeated 18 times
Jan 30 14:32:00 localhost kernel: ndiswrapper (usb_reset_port:635): usb_reset_device() = -19
Jan 30 14:32:00 localhost kernel: ndiswrapper (NdisFreeSpinLock:904): buggy Windows driver freeing unallocated kspin_lock c9c97b00
Jan 30 14:32:00 localhost kernel: ndiswrapper (NdisFreeSpinLock:904): buggy Windows driver freeing unallocated kspin_lock c9c97af8
Jan 30 14:32:00 localhost kernel: ndiswrapper (ndiswrapper_add_one_usb_dev:306): Windows driver couldn't initialize the device (C0000001)
Jan 30 14:32:00 localhost kernel: ndiswrapper: probe of 1-2:1.0 failed with error -22
Jan 30 14:32:00 localhost kernel: usbcore: registered new driver ndiswrapper
Jan 30 14:32:00 localhost kernel: usb 1-2: USB disconnect, address 2
Jan 30 14:32:00 localhost kernel: usb 1-2: new high speed USB device using ehci_hcd and address 3
Jan 30 14:32:00 localhost kernel: usb 1-2: reset high speed USB device using ehci_hcd and address 3
Jan 30 14:32:00 localhost last message repeated 5 times
Jan 30 14:32:00 localhost kernel: Installing knfsd (copyright (C) 1996
okir@monad.swb.de).
Jan 30 14:32:01 localhost kernel: usb 1-2: reset high speed USB device using ehci_hcd and address 3
Jan 30 14:32:01 localhost last message repeated 13 times
Jan 30 14:32:01 localhost kernel: ACPI: PCI interrupt 0000:00:02.7[C] -> GSI 15 (level, low) -> IRQ 15
Jan 30 14:32:01 localhost kernel: usb 1-2: reset high speed USB device using ehci_hcd and address 3
Jan 30 14:32:01 localhost kernel: intel8x0_measure_ac97_clock: measured 49657 usecs
Jan 30 14:32:01 localhost kernel: intel8x0: clocking to 48000
Jan 30 14:32:01 localhost kernel: lirc_dev: IR Remote Control driver registered, at major 61
Jan 30 14:32:01 localhost kernel: wlan0: ndiswrapper ethernet device xx:xx:xx:xx:xx:xx using driver rt2500usb
Jan 30 14:32:01 localhost kernel: wlan0: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP
Jan 30 14:32:01 localhost kernel: ip_tables: (C) 2000-2002 Netfilter core team
Jan 30 14:32:01 localhost kernel: lirc_serial: auto-detected active low receiver
Following snip from /var/log/messages when stick is unplugged:
kernel: ndiswrapper (usb_reset_port:635): usb_reset_device() = -19
kernel: ndiswrapper (NdisFreeSpinLock:904): buggy Windows driver freeing unallocated kspin_lock c9c97b00
kernel: ndiswrapper (NdisFreeSpinLock:904): buggy Windows driver freeing unallocated kspin_lock c9c97af8
kernel: ndiswrapper (ndiswrapper_add_one_usb_dev:306): Windows driver couldn't initialize the device (C0000001)
kernel: ndiswrapper: probe of 1-2:1.0 failed with error -22
kernel: usb 1-2: USB disconnect, address 13