Bug 289351 - kernel.x86_64 2.6.22.5-76.fc7 breaks ndiswrapper (and b43 not loading)
Summary: kernel.x86_64 2.6.22.5-76.fc7 breaks ndiswrapper (and b43 not loading)
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 7
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: ---
Assignee: John W. Linville
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-09-13 14:47 UTC by John McHarry
Modified: 2007-11-30 22:12 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-10-08 18:48:44 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
bcm43xx-override (1.28 KB, text/plain)
2007-10-02 12:49 UTC, John W. Linville
no flags Details
bcm43xx-override (1.27 KB, text/plain)
2007-10-02 14:56 UTC, John W. Linville
no flags Details
OUtput of dmesg (21.26 KB, text/plain)
2007-10-02 20:40 UTC, John McHarry
no flags Details
Output of lspci -n (1.96 KB, application/octet-stream)
2007-10-02 20:41 UTC, John McHarry
no flags Details
diagnostic information (23.77 KB, text/plain)
2007-10-06 15:45 UTC, John McHarry
no flags Details

Description John McHarry 2007-09-13 14:47:51 UTC
Description of problem:


Version-Release number of selected component (if applicable):
kernel.x86_64 2.6.22.5-76.fc7

How reproducible:
Not intermittent; a solid  fault.

Steps to Reproduce:
1.Do a yum upgrade and reboot.
2.
3.
  
Actual results:
ndiswrapper fails to find wlan0.

Expected results:
ndiswrapper should bring up wlan0

Additional info:
There was a similar bug in the last kernel update due to changing the name of
the bcm43xx module to b43. Blacklisting b43 worked around it.

Comment 1 steve boley 2007-10-02 05:46:14 UTC
This issue is related around my bcm4309 rev02 card in my D600 laptop. It has now
manifested in all kernels after 76 and is failing to load the card detection
properly. I'd guess it has something to do with pci registers being incorrect
somewhere as lspci sees the card but it doesn't see it correctly to load the
module after ssb loads. I am experiencing the issue whether I try and use the
b43 or ndiswrapper either one as neither are able to find the hardware.

Comment 2 steve boley 2007-10-02 05:48:20 UTC
Sorry I forgot to list I'm running on i686 kernel architecture and not x86_64 so
it's not isolated to architecture at all.

Comment 3 John W. Linville 2007-10-02 12:48:15 UTC
The ssb module is claiming the PCI IDs for the bcm43xx hardware.  I can't 
support you using ndiswrapper, but if you choose to do so you will need to 
avoid loading ssb.

Normally ssb would load b43 for you.  If it doesn't then you probably need to 
use the older bcm43xx driver instead.  (On F8 ssb would load b43legacy in this 
case, but that is disabled in F7).  If you'd like to try that, follow the 
steps below.

Download this file:

   http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o

Execute this command:

   bcm43xx-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o

Save the file attached in the next command 
as "/lib/modprobe.d/bcm43xx-override".  Also, remove any alias lines 
in /etc/modprobe.conf that refer to your wireless hardware.

Reboot.  Does this make your wireless card work?

Comment 4 John W. Linville 2007-10-02 12:49:47 UTC
Created attachment 213351 [details]
bcm43xx-override

Comment 5 John McHarry 2007-10-02 14:47:30 UTC
That didn't work. It loaded ssb, but failed to start the interface. ndiswrapper
says ssb has the hardware. 

Comment 6 John W. Linville 2007-10-02 14:56:40 UTC
Created attachment 213531 [details]
bcm43xx-override

Ooops, try this one instead.

Comment 7 John McHarry 2007-10-02 15:48:33 UTC
Success! That file needs to go in /etc/modprobe.d rather than /lib/modprobe.d,
but selinux prevents it from being executed. Simply adding blacklist ssb to
/etc/modprobe.d/blacklist does the trick. Thanks.

Comment 8 John W. Linville 2007-10-02 17:20:59 UTC
Ah, sorry about the typo.  Of course, by "working" you are implying that you 
are using ndiswrapper -- that sucks.

I _think_ this command will repair the labeling in /etc/modprobe.d in order to 
satisfy selinux:

   fixfiles restore /etc/modprobe.d

Would you mind trying that, then rebooting w/o ndiswrapper to see if bcm43xx 
is working for you?  Please make sure that you have extracted the firmware as 
described in comment 3 before doing so.

Comment 9 John McHarry 2007-10-02 18:53:02 UTC
That made selinux happy, but didn't manage to bring up the wifi card. I tried
several variations with and without that other file you posted and with and
without entries in blacklist. It did create an ifcfg-eth1 labeling it as for the
card, but failed to bring it up. The card, by the way, is a Broadcom Dell 1390
rev 02. At least that is what lspci calls it. So, I'm back to using ndiswrapper,
which I can live with.

I'm willing to keep banging away at this if you have developed an interest, but
maybe it would be better to drop down to direct email to keep from cluttering
bugzilla.

Comment 10 John W. Linville 2007-10-02 19:08:26 UTC
FWIW, all this 'clutter' is what bugzilla is for -- if you end-up in my 
mailbox, this will never get any attention. :-)

One easy option would be to remove all the blacklist stuff, including the 
bcm43xx-override file.  Also disable/remove ndiswrapper.  Then you could 
install a recent rawhide kernel:

    http://koji.fedoraproject.org/koji/buildinfo?buildID=19785

You will also need the new (and renamed) b43-fwcutter utility:

    yum install b43-fwcutter

And you will need to re-extract the firmware, because the new driver uses a 
different firmware storage formate:

    b43-fwcutter -w /lib/firmware wl_apsta-3.130.20.0.o

Then boot w/ the new kernel and make sure b43legacy gets loaded.  There should 
be a new "wlan0" device.  Please include the output of 'lspci -n' and 'dmesg'.  
Also "cat /sys/bus/ssb/devices/ssb0\:0/uevent".

Thanks!

Comment 11 John McHarry 2007-10-02 20:40:34 UTC
Created attachment 213941 [details]
OUtput of dmesg

Comment 12 John McHarry 2007-10-02 20:41:20 UTC
Created attachment 213951 [details]
Output of lspci -n

These are from the current kernel.

Comment 13 John McHarry 2007-10-02 20:44:41 UTC
Didn't save my text before attaching the data. I couldn't get the new kernel up
due to:
 request_module: runaway loop modprobe binfmt-464c
and:
 khelper used greatest stack depth: 2752 bytes left

Comment 14 John McHarry 2007-10-03 19:21:55 UTC
The kernel built yesterday, 10/2, didn't have the runaway loop problem, but
didn't quite come all the way up. It did get far enough to attempt to bring up
the wireless card, but failed to do so. I'll try again with the next build. 

Comment 15 John McHarry 2007-10-06 15:43:59 UTC
Kernel build 2.6.23-0.220.rc9.git2.fc8.x86_64 was stable enough for me to login.
The wireless card still wasn't working. Next comment is a concatenation of
lspci-n, dmesg, and /sys/bus/ssb/devices/ssb0\:0/uevent.

Comment 16 John McHarry 2007-10-06 15:45:35 UTC
Created attachment 218481 [details]
diagnostic information

Comment 17 Ryan Daly 2007-10-07 02:07:59 UTC
I'm also seeing issues w/ my wireless card not functioning properly.

I'm using the following card:
02:03.0 Network controller: Broadcom Corporation BCM4309 802.11a/b/g (rev 03)

I had been using ndiswrapper, but the last kernel to function properly w/ that
was kernel-2.6.22.1-41.fc7.  In subsequent kernels, the interface would load,
the link became ready, but no traffic would flow.

Since ndiswrapper is giving me issues, I decided to give b43 a try.  With
kernel-2.6.22.9-91.fc7.i686, I get the following error:
Oct  5 00:17:34 riddler kernel: b43-phy2: Broadcom 4306 WLAN found
Oct  5 00:17:44 riddler firmware_helper[6982]: Loading of
/lib/firmware/bcm43xx_microcode5.fw for b43 driver failed: No such file or directory
Oct  5 00:17:44 riddler kernel: b43-phy2 ERROR: Microcode
"bcm43xx_microcode5.fw" not available or load failed.
Oct  5 00:17:44 riddler kernel: b43-phy2 ERROR: You must go to
http://linuxwireless.org/en/users/Drivers/b43#devicefirmware and download the co
rrect firmware (version 4)

Apparently something is out of sync...  So, after reading this bug report, I
tried kernel-2.6.23-0.222.rc9.git4.fc8.i686 (latest build from 10/06/07).  With
this kernel, I get the following:

/var/log/messages:
Oct  6 21:39:58 riddler kernel: ACPI: PCI Interrupt 0000:02:03.0[A] -> Link
[LNKB] -> GSI 5 (level, low) -> IRQ 5
Oct  6 21:39:58 riddler kernel: ssb: Sonics Silicon Backplane found on PCI
device 0000:02:03.0
Oct  6 21:39:58 riddler kernel: b43-phy3: Broadcom 4306 WLAN found

lsmod output:
b43                   130977  0 
ssb                    31061  1 b43
mac80211              133129  2 b43,rc80211_simple

lspci output:
02:03.0 Network controller: Broadcom Corporation BCM4309 802.11a/b/g (rev 03)
02:03.0 0280: 14e4:4324 (rev 03)

I get the following when attempting to start wpasupplicant:
: riddler 1# /etc/init.d/wpa_supplicant start
Starting wpa_supplicant: ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 4 value 0x0 - ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 5 value 0x1 - [ OK ]

The link for wlan0 never becomes ready.  Please advise.  Thanks.

Comment 18 Ryan Daly 2007-10-07 02:09:19 UTC
My apologies.  I neglected to mention that I'm not on x64, either.

: riddler 11#; uname -a
Linux riddler.ctc.com 2.6.22.9-91.fc7 #1 SMP Thu Sep 27 23:10:59 EDT 2007 i686
i686 i386 GNU/Linux

Thanks.

Comment 19 John W. Linville 2007-10-08 18:48:44 UTC
Ryan Daly, I think you have a different issue.  Please open a new bug entry 
for the problem you are experiencing.  If you wish to just continue using 
ndiswrapper (which I can't support), you might just look at the first 
paragraph in comment 3.

John McHardy, the core revision of your wireless hardware is too new to be 
supported by the b43 (or b43legacy) drivers.  At present ndiswrapper probably 
is your only option.

Since I have no option for supporting your hardware at this time, I'm closing 
this bug as CANTFIX.  I'm sorry.  But, I do appreciate your cooperation in 
determining the crux of the problem!



Comment 20 John W. Linville 2007-10-08 18:49:26 UTC
Ooops!  That is John McHarry of course!


Note You need to log in before you can comment on or make changes to this bug.