[Ndiswrapper-general] Regressions with FC3 and BCM4306
Status: Beta
Brought to you by:
pgiri
From: Christopher B. <be...@al...> - 2005-02-07 07:30:37
|
I use "make rpm" in the tarball's root directory to make ndiswrapper RPMs, and I use Fedora Core 3's stock kernels. I initially installed ndiswrapper-0.12 with kernel-2.6.9-1.681_FC3, and it worked very well. When kernel-2.6.9-1.724_FC3 came out, though, ndiswrapper-0.12 no longer functioned properly. Since then there have been several kernel and ndiswrapper updates. Some combinations work fine together, others don't. (apologies for any wrapping problems; SMTP problems, having to use a stupid web form) --- Hardware info: Toshiba M35X-S106 laptop Wireless is a Belkin 54g Cardbus which reports the following: lspci: 03:00.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03) lspci -n: 03:00.0 Class 0280: 14e4:4320 (rev 03) --- ndiswrapper-1.0rc4-1 is the last version with which I can get working wireless, and it has to be with no later than kernel-2.6.9-1.681_FC3. The following output was obtained with: kernel-2.6.9-1.681_FC3 ndiswrapper-1.0rc4-1 kernel-module-ndiswrapper-2.6.9-1.681_FC3-1.0rc4-1 ndiswrapper-debuginfo-1.0rc4-1 During boot: Feb 6 21:19:38 diet-anarchy kernel: ndiswrapper: Unknown parameter `' Feb 6 21:19:38 diet-anarchy kernel: ndiswrapper version 1.0rc4 loaded (preempt=no,smp=no) When card is inserted: Feb 6 21:20:13 diet-anarchy kernel: ndiswrapper: driver bcmwl5a (Belkin,03/22/2004, 3.60.7.0) added Feb 6 21:20:13 diet-anarchy kernel: PCI: Enabling device 0000:03:00.0 (0000 -> 0002) Feb 6 21:20:13 diet-anarchy kernel: ACPI: PCI interrupt 0000:03:00.0[A] -> GSI 10 (level, low) -> IRQ 10 Feb 6 21:20:13 diet-anarchy kernel: ndiswrapper: using irq 10 Feb 6 21:20:13 diet-anarchy kernel: /usr/src/redhat/BUILD/ndiswrapper-1.0rc4/driver/ndis.c:902: spin_lock(/usr/src/redhat/BUILD/ndiswrapper-1.0rc4/driver/ntoskernel.h:092f2f20) already locked by /usr/src/redhat/BUILD/ndiswrapper-1.0rc4/driver/ndis.c/902 Feb 6 21:20:13 diet-anarchy kernel: /usr/src/redhat/BUILD/ndiswrapper-1.0rc4/driver/ndis.c:910: spin_unlock(/usr/src/redhat/BUILD/ndiswrapper-1.0rc4/driver/ntoskernel.h:092f2f20) not locked Feb 6 21:20:14 diet-anarchy kernel: eth1: ndiswrapper ethernet device 00:11:50:10:81:7a using driver bcmwl5a Feb 6 21:20:14 diet-anarchy kernel: eth1: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP Feb 6 21:20:15 diet-anarchy kernel: ip_tables: (C) 2000-2002 Netfilter core team Feb 6 21:20:19 diet-anarchy dhclient: DHCPREQUEST on eth1 to 255.255.255.255 port 67 Feb 6 21:20:19 diet-anarchy dhclient: DHCPACK from 192.168.2.1 Feb 6 21:20:19 diet-anarchy NET: /sbin/dhclient-script : updated /etc/resolv.conf Feb 6 21:20:19 diet-anarchy dhclient: bound to 192.168.2.109 -- renewal in 283338 seconds. --- Starting with ndiswrapper-1.0, I have the following symptoms. These results were obtained with: kernel-2.6.9-1.681_FC3 ndiswrapper-1.1rc1-1 kernel-module-ndiswrapper-2.6.9-1.681_FC3-1.1rc1-1 ndiswrapper-debuginfo-1.1rc1-1 During boot: Feb 6 20:44:19 diet-anarchy kernel: ndiswrapper: Unknown parameter `' Feb 6 20:44:19 diet-anarchy kernel: ndiswrapper version 1.1rc1 loaded (preempt=no,smp=no) When card is inserted: Feb 6 20:46:38 diet-anarchy loadndisdriver: loadndisdriver: load_driver(298): file 14E4:4320.5.conf is ignored Feb 6 20:46:39 diet-anarchy kernel: ndiswrapper: driver bcmwl5a (Belkin,03/22/2004, 3.60.7.0) loaded Feb 6 20:46:39 diet-anarchy kernel: PCI: Enabling device 0000:03:00.0 (0000 -> 0002) Feb 6 20:46:39 diet-anarchy kernel: ACPI: PCI interrupt 0000:03:00.0[A] -> GSI 10 (level, low) -> IRQ 10 Feb 6 20:46:39 diet-anarchy kernel: ndiswrapper: using irq 10 Feb 6 20:46:39 diet-anarchy kernel: /usr/src/redhat/BUILD/ndiswrapper-1.1rc1/driver/ndis.c:916: spin_lock(/usr/src/redhat/BUILD/ndiswrapper-1.1rc1/driver/misc_funcs.c:0eb9474c) already locked by /usr/src/redhat/BUILD/ndiswrapper-1.1rc1/driver/ndis.c/916 Feb 6 20:46:39 diet-anarchy kernel: /usr/src/redhat/BUILD/ndiswrapper-1.1rc1/driver/ndis.c:924: spin_unlock(/usr/src/redhat/BUILD/ndiswrapper-1.1rc1/driver/misc_funcs.c:0eb9474c) not locked Feb 6 20:46:40 diet-anarchy kernel: eth1: ndiswrapper ethernet device 00:11:50:10:81:7a using driver bcmwl5a, configuration file 14E4:4320:1799:7010.5.conf Feb 6 20:46:40 diet-anarchy kernel: eth1: encryption modes supported: WEP, WPA with TKIP, WPA with AES/CCMP Feb 6 20:46:41 diet-anarchy kernel: Unable to handle kernel paging request at virtual address fef02e10 Feb 6 20:46:41 diet-anarchy kernel: printing eip: Feb 6 20:46:41 diet-anarchy kernel: 1092025e Feb 6 20:46:41 diet-anarchy kernel: *pde = 00000000 Feb 6 20:46:41 diet-anarchy kernel: Oops: 0000 [#1] Feb 6 20:46:41 diet-anarchy kernel: Modules linked in: i915 md5 ipv6 parport_pc lp parport ds dm_mod button battery ac joydev ohci1394 ieee1394 yenta_socket pcmcia_core uhci_hcd ehci_hcd snd_intel8x0m snd_intel8x0 snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc gameport snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore ndiswrapper(U) 8139too mii ext3 jbd Feb 6 20:46:41 diet-anarchy kernel: CPU: 0 Feb 6 20:46:41 diet-anarchy kernel: EIP: 0060:[<1092025e>] Not tainted VLI Feb 6 20:46:41 diet-anarchy kernel: EFLAGS: 00010216 (2.6.9-1.681_FC3) Feb 6 20:46:41 diet-anarchy kernel: EIP is at add_wep_key+0x70/0x155 [ndiswrapper] Feb 6 20:46:41 diet-anarchy kernel: eax: 0000000c ebx: 0000000d ecx: 00000003 edx: fef02e10 Feb 6 20:46:41 diet-anarchy kernel: esi: fef02e10 edi: 0c793eac ebp: 00000003 esp: 0c793e98 Feb 6 20:46:41 diet-anarchy kernel: ds: 007b es: 007b ss: 0068 Feb 6 20:46:42 diet-anarchy kernel: Process iwconfig (pid: 3457, threadinfo=0c793000 task=0a9fc6b0) Feb 6 20:46:42 diet-anarchy kernel: Stack: fef02e10 090ba280 0000002c 0314f080 0000000d 0c793ee0 0000000d 0000000d Feb 6 20:46:42 diet-anarchy kernel: 00000e10 00000001 090ba280 090ba828 090ba280 1092d7ea 00000000 fef02e10 Feb 6 20:46:42 diet-anarchy kernel: 090ba828 090ba280 109204af 00000000 fef02e10 0000000d 00008b2a 0230ff58 Feb 6 20:46:42 diet-anarchy kernel: Call Trace: Feb 6 20:46:42 diet-anarchy kernel: [<1092d7ea>] miniport_set_int+0x11/0x14 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<109204af>] iw_set_encr+0x16c/0x1f8 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<022b761f>] wireless_process_ioctl+0x2c9/0x5b5 Feb 6 20:46:42 diet-anarchy kernel: [<10920343>] iw_set_encr+0x0/0x1f8 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<022ae69c>] dev_ioctl+0x369/0x39e Feb 6 20:46:42 diet-anarchy kernel: [<022a4678>] sock_ioctl+0xc1/0x3a3 Feb 6 20:46:42 diet-anarchy kernel: [<0217a79f>] sys_ioctl+0x296/0x337 Feb 6 20:46:42 diet-anarchy kernel: Code: <3>Debug: sleeping function called from invalid context at include/linux/rwsem.h:43 Feb 6 20:46:42 diet-anarchy kernel: in_atomic():0[expected: 0], irqs_disabled():1 Feb 6 20:46:42 diet-anarchy kernel: [<0211cbcb>] __might_sleep+0x7d/0x8a Feb 6 20:46:42 diet-anarchy kernel: [<0215e726>] rw_vm+0x20e/0x47a Feb 6 20:46:42 diet-anarchy kernel: [<10920233>] add_wep_key+0x45/0x155 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<10920233>] add_wep_key+0x45/0x155 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<0215ee70>] get_user_size+0x30/0x57 Feb 6 20:46:42 diet-anarchy kernel: [<10920233>] add_wep_key+0x45/0x155 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<0210682b>] show_registers+0x109/0x15e Feb 6 20:46:42 diet-anarchy kernel: [<02106a2f>] die+0x14a/0x241 Feb 6 20:46:42 diet-anarchy kernel: [<0211937e>] do_page_fault+0x0/0x511 Feb 6 20:46:42 diet-anarchy kernel: [<0211937e>] do_page_fault+0x0/0x511 Feb 6 20:46:42 diet-anarchy kernel: [<02119733>] do_page_fault+0x3b5/0x511 Feb 6 20:46:42 diet-anarchy kernel: [<1092025e>] add_wep_key+0x70/0x155 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<021c3fc2>] avc_has_perm+0x3b/0x45 Feb 6 20:46:42 diet-anarchy kernel: [<021c55d0>] inode_has_perm+0x4c/0x54 Feb 6 20:46:42 diet-anarchy kernel: [<10926b03>] NdisReleaseSpinLock+0x137/0x142 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<0211937e>] do_page_fault+0x0/0x511 Feb 6 20:46:42 diet-anarchy kernel: [<1092025e>] add_wep_key+0x70/0x155 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<1092d7ea>] miniport_set_int+0x11/0x14 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<109204af>] iw_set_encr+0x16c/0x1f8 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<022b761f>] wireless_process_ioctl+0x2c9/0x5b5 Feb 6 20:46:42 diet-anarchy kernel: [<10920343>] iw_set_encr+0x0/0x1f8 [ndiswrapper] Feb 6 20:46:42 diet-anarchy kernel: [<022ae69c>] dev_ioctl+0x369/0x39e Feb 6 20:46:42 diet-anarchy kernel: [<022a4678>] sock_ioctl+0xc1/0x3a3 Feb 6 20:46:42 diet-anarchy kernel: [<0217a79f>] sys_ioctl+0x296/0x337 Feb 6 20:46:42 diet-anarchy kernel: Bad EIP value. (Wireless networking does not function.) --- COMPILATION WARNINGS Using "make rpm", I get some possibly-related warnings during compilation. The precise version of the kernel does not seem to matter; I tried both kernel-2.6.9-1.681_FC3 and kernel-2.6.10-1.760_FC3. I get the following warning at compile time with ndiswrapper-1.0 or ndiswrapper-1.1-rc1: *** WARNING: Kernel seems to have 4K size stack option (CONFIG_4KSTACKS) removed; many Windows drivers will need at least 8K size stacks. You should read wiki about 4K size stack issue. Don't complain about crashes until you resolve this. With 1.0-rc4 (which actually works) I get the above as well as: Makefile:54: CONFIG_DEBUG_SPINLOCK conflicts with spinlocks used by Windows driver. There is a workaround for it in ndiswrapper, but it may not work correctly. Don't complain about kernel crashes until CONFIG_DEBUG_SPINLOCK is disabled. As it happens, I do remember seeing some spinlock-related changes in the Fedora changelogs in the upgrade after the 681 kernel; don't know if they are related. --- With kernel-2.6.10-1.760_FC3 and ndiswrapper-1.0rc4, I get the same messages during the boot process, but I get a kernel panic when I insert the card. Nothing appears in the system logs, but on the screen, I get the following (which I had to copy by hand off the screen, of course): PCI: Enabling device 0000:03:00.0 (0000 -> 0002) Kernel panic - not syncing: /usr/src/redhat/BUILD/ndiswrapper-1.0rc4/driver/ndis.c:902: spin_lock(/usr/src/redhat/BUILD/ndiswrapper-1.0rc4/driver/ntoskernel.h:cb484a00) already locked by /usr/src/redhat/BUILD/ndiswrapper-1.0rc4/driver/ndis.c/902 With kernel-2.6.10-1.760_FC3 and ndiswrapper-1.1rc1, I get a similar message: Kernel panic - not syncing: /usr/src/redhat/BUILD/ndiswrapper-1.1rc1/driver/ndis.c:916: spin_lock(/usr/src/redhat/BUILD/ndiswrapper-1.1rc1/driver/misc_funcs.c:c44870cc) already locked by /usr/src/redhat/BUILD/ndiswrapper-1.1rc1/driver/ndis.c/916 --- Since my card was working before with FC3, despite the 4K stack issue, I'm hoping ndiswrapper can be fixed to work with current Fedora kernels. Please let me know if I should file a bug with Red Hat instead (though I wonder whether they'll bother trying to support ndiswrapper even that much) or elsewhere, or try something else and report back. Thanks, Beland |