GNOME Bugzilla – Bug 420216
WPA doesn't work bcm43xx driver
Last modified: 2007-10-17 21:59:44 UTC
Please describe the problem: I have an iBook G4 with a Broadcom chipset, and I'm using the bcm43xx driver. NetworkManager is unable to connect to any network with WPA encryption. It works fine with unencrypted networks and wireless networks (I haven't actually tested WEP networks, I don't have access to any, but from what I've read online it seems to work fine with WEP networks). The bcm43xx driver can connect to WPA networks using wpa_supplicant. Steps to reproduce: 1. Using the bcm43xx driver, try to connect to a WPA network. 2. A dialogue will pop up asking you for the password: enter it. 3. NetworkManager will try to connect to the WPA network, but it'll never succeed. Actual results: It'll just keep trying to connect but it never will. Expected results: I'd expect it to connect on the basis that WPA networks work with wpa_supplicant. Does this happen every time? Yes. Other information: Here's a report for the same bug on Red Hat's bugzilla: http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=213088
I have the same problem, also on an ibook g4, but additionally my keyboard stops responding and nm-applet tray icon gets frozen. Mouse still works, but I cannot even close the session, change user, reboot... Had to do a hard poweroff. I'm using debian 4.0, network-manager 0.6.4-7, network-manager-gnome 0.6.4-7 and kernel 2.6.18.
Similar problem here, also on an ibook g4 with the bcm43xx driver (debian sid). - using wpa_supplicant : it works fine. - NetworkManager + entering the "ascii plaintext" password in the dialogue box : doesn't works. - NetworkManager + entering the "hexadecimal string" (generated using the same password and wpa_passphrase) : it works. It seems to be a endianess problem, because it works fine with the same settings (same WPA network+password, debian sid) on a x86 laptop
I think Sebastien is definitely onto something here - I'm unable to test if entering the hexadecimal string instead works, but everything seems to point to an endianness problem of some sort - and it would explain why this seems to affect only the bcm43xx driver, when in reality it only affects PowerPC because the only PowerPC machines that have wireless cards (or at least the vast, vast majority) are Apple machines with Airport Extreme (ie, Broadcom) cards.
(In reply to comment #3) > I think Sebastien is definitely onto something here - I'm unable to test if > entering the hexadecimal string instead works, but everything seems to point to > an endianness problem of some sort - and it would explain why this seems to > affect only the bcm43xx driver, when in reality it only affects PowerPC because > the only PowerPC machines that have wireless cards (or at least the vast, vast > majority) are Apple machines with Airport Extreme (ie, Broadcom) cards. > I have just installed fedora 7 on a Powerbook G4 and Networkmanager fails to connect with the bcm driver as well as with a USB 3Com wireless device which is well supported under linux. The device and networks appear--I just can't connect to any of them.
This would seem to support the theory that this bug is PowerPC-specifc, and most likely caused by some sort of endiannes issue, wouldn't it?
(In reply to comment #5) > This would seem to support the theory that this bug is PowerPC-specifc, and > most likely caused by some sort of endiannes issue, wouldn't it? I have not tried it on unencrypted networks. Does anyone know if NetworkManager on PPC works on unencrypted networks?
I have an iBook G4 with bcm43xx-based Airport Extreme. It runs Ubuntu 7.04 with Network Manager 0.6.4. What works: 1. Unencrypted network. 2. WEP. 3. WPA Personal with hex passphrase generated by wpa_passphrase. What doesn't work: 1. WPA Personal with ASCII passphrase. I haven't tested WPA Enterprise because of lack of infrastructure and WPA2 because my AP doesn't support it.
Actually I've gotten this working now - well Wojtek Kaniewski said was working. But this only works on one of my routers - on my Linksys WRT54G, nothing works. I can't even connect to open networks, from a metre or two away from it. I always thought this was an issue with the bcm43xx drivers, but apparently it's specific to my router. I know this is unrelated to the original bug report, but has anyone else experienced this?
I couldn't connect to an unencrypted network right after disabling encryption on my AP. Seems that security settings are cached on the client side, because after reboot it worked fine. Have you tried to connect manually, without Network Manager, just ifconfig/iwconfig? Anyway, I found that it in fact is an endianness issue -- Network Manager 0.6.4 didn't support big-endian systems, so Ubuntu guys patched it. Their patch was missing one define in config.h.in, so despite the fact that configure script detected that it's running on big-endian system, it didn't pass this information futher. As far as I can see from the code, Network Manager 0.6.5 should work properly with big-endian systems out of the box. So IMO, this bug can be closed, because it has been fixed before reporting (-;
No, I'm pretty sure this bug still exists - I'm on an iBook G4 that's running Gutsy (which has NetworkManager 0.6.5) and I can still only connect to WPA networks if I give it the code generated by wpa_passphrase. shane@xub:~$ nm-applet --version GNOME nm-applet 0.6.5
Okay, I'll upgrade my system and check it with 0.6.5.
By the way, disregard the comment I made about the card not working with a Linksys router - it's apparently fixed now I reloaded the firmware on the router.
Shane, you were right. I've rebuild 0.6.5 from Gutsy on my laptop and it still fails to connect with ASCII passphrase. Fortunately after some research I found that sha1.c is missing "config.h" include. After adding it and rebuilding, it started working. At least sometimes, because apparently my system got messed up (details in Ubuntu bug 101857). I'm attaching the patch below. Anyone affected by this bug is kindly asked to test if it helps.
Created attachment 94296 [details] [review] Add missing #include <config.h> to fix endianness issues
(In reply to comment #13) > Shane, you were right. I've rebuild 0.6.5 from Gutsy on my laptop and it still > fails to connect with ASCII passphrase. Fortunately after some research I found > that sha1.c is missing "config.h" include. After adding it and rebuilding, it > started working. At least sometimes, because apparently my system got messed up > (details in Ubuntu bug 101857). > > I'm attaching the patch below. Anyone affected by this bug is kindly asked to > test if it helps. > But this isn't just an Ubuntu problem. It also fails in Fedora 7 which has the most recent NetworkManager. This is very frustrating. If I knew what I was looking at in the code, I would try to fix it myself. Do you think any of the developers or PPC packagers would take money to fix this? How about a gift of an old titanium G4 powerbook--now about 6 years old but still running great? I can't believe the four or five of us reporting on this forum are the only ones having this problem. Is no one else running Linux on mac laptops? Greg
I've mentioned Ubuntu only because I've got it installed on my laptop. The patch is here, so everyone is welcome to test/merge/use it, even the Fedora guys. It's pretty non-intrusive, so it should have no impact on little-endian users.
Fixed in trunk and stable, thanks!
Any news on this with Fedora Core 7? You mentioned that it was fixed in trunk and stable... what distro?
ubuntu has this patch in gutsy.