Red Hat Bugzilla – Bug 242338
bcm43xx: can't associate
Last modified: 2008-04-22 15:14:27 EDT
Description of problem:
On my Apple Ibook G4 with the BCM4318 wireless controller, I can't connect to my
wlan, neither via wpa_supplicant nor NetworkManager (see attached log). Even if
I open the wireless network, I can't get any connection. This applies to the F7
kernel as well as to davej's latest one.
The wireless card is not recognized by system-config-network, neither under
'Hardware' nor under 'Devices'.
On FC6, I could connect to the WPA protected network using wpa_supplicant.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. boot or type modprobe bcm43xx_mac80211
wlan0: link is not ready
Created attachment 156022 [details]
/var/log/messages after modprobe bcm43xx_mac80211
Sounds at least somewhat similar to bug 236294. Also double-check that it isn't
Were you previously using the bcm43xx driver successfully? If so, you may
want to try the 'bcm43xx-old-config' script attached to this email:
Does that help?
Created attachment 156249 [details]
output of dmesg after boot
(In reply to comment #3)
Yes, the bcm43xx driver worked in FC6 with the firmware cut out of the Apple
Airport driver. It would connect to my wpa protected access point using
wpa_supplicant, I never had any success with NetworkManager.
As to the script, it worked partly - the download part didn't, so I got that
very driver from the Linksys page manually and deleted the first two lines from
Immediatly after boot, the controller won't connect with the old driver (see my
dmesg output). I have to start wpa_supplicant manually, although it should have
started at boot time: from the boot message I see that device eth1 is not
registered yet at the supplicant's first attempt. After giving 'dhclient' I can
go to the Internet.
FWIW, NetworkManager uses wpa_supplicant for it's wireless connections. So,
you could use it instead of having to start wpa_supplicant manually.
Another option would be to take the lines added to rc.local by the
bcm43xx-old-config script and move them elsewhere, like maybe rc.sysinit?
That might get things started early enough to be helpful to you.
Do either of those work for you?
Thank you, I'll comment on your two proposals in reverse order.
These are the steps that, after lots of fiddling (and reboots) led me to a
working configuration to connect to my wpa protected wireless network:
0. For a start, I had run he bcm43xx-old-config script.
1. I put these two lines into /etc/rc.d/rc.sysinit:
echo "14e4 4318" > /sys/bus/pci/drivers/bcm43xx/new_id
(after line 301, before the 'Initialize hardware' block).
2. Deleted the above mentioned lines from rc.local, where they had been written
by the bcm43xx-old-config script.
3. Create two files ifcfg-eth0 and ifcfg-eth1 in
/etc/sysconfig/networking/devices (which otherwise looked empty on my system). I
found out that these network devices should not be activated at boot time
(ONBOOT=no in the respective icfg-files), otherwise there would be error boot
messages (... no link present).
4. Configure wpa_supplicant to start at boot time:
chkconfig wpa_supplicant on
5. Have a file etc/wpa_supplicant/wpa_supplicant.conf similar to:
6. Have a file /etc/sysconfig/wpa_supplicant:
7. After wpa_supplicant is running, I still have to start dhclient (as root). I
found no other way to obtain an ip address from my router (that step is not
neccessary when I connect through the Ethernet device eth0 via a cable).
As to NetworkManager: I always thought that NM and wpa_supplicant were mutually
exclusive in running my wireless, and this conviction goes on:
With wpa_supplicant running at boot time, the wireless device is already
associated when NM tries to connect
With wpa_supplicant not running, I never get NM to connect. It recognizes my
network and asks for my wpa passphrase, wpa_supplicant is invoked, but after
some time NM gives up ... It seems to badly interfere with my network setup,
because after several connection trials I even can't bring up eth1 again.
After some success with the old driver, I wanted to give the new one another try
(and I feel that I am quite near). I took bcm43xx_mac80211 from the blacklist
and made it load early in rc.sysinit with the v4 firmware. wlan0 seems to get
associated (see dmesg output), but wpa_supplicant starts with this error message:
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 ]
I can't get an ip number with dhclient wlan0.
Created attachment 157481 [details]
dmesg with new driver
This bug is a duplicate of bugs 242585, 243097, 243487, 243585, 244529, and
245084. It' obviously a problem for many users.
The fix posted on fedora-list by John W. Linville here:
doesn't work (at least for me, and, I suspect, for many others).
Please pay attention to this bug. I think it's a NetworkManager problem.
Success at last!
With the new kernel 126.96.36.199-27.fc7, I get connected to my WPA protected ap
using the new driver bcm43xx_mac80211. I have wpa_supplicant enabled at startup,
didn't try NetworkManager yet
1. The connection is stable (I am writing this being associated), but, at the
beginning, the connection speed oscillates between 1 and 5.5 MBits/s. Now, after
10 minutes or so, it is at 11 MBits/s constantly.
2. Both drivers (the old and the new one) get loaded by the kernel, so I put
bcm43xx into /etc/modprobe.d/blacklist to prevent it from being modprobed.