11.4 RC1 - Anyone gotten the Broadcom brcm driver working?

Has anyone succeeded in getting a Broadcom 4313 (or other) wireless adapter to work with the brcm driver in RC1 (or any Milestone, for that matter)?

I have a Lenovo S10-3s, which has a Broadcom 4313 adapter. It works with the brcm driver in Linux Mint Debian 201012, and now also in the latest SimplyMEPIS 11 Beta 2. I have not been able to get it to work with any 11.4 pre-release, up to and including RC1. Initially, obviously, the firmware files are named incorrectly. But after renaming or linking the correct names to them, although it then loads the firmware (as shown by lspci -v), it still doesn’t work. Further investigation shows that the “Enable Wireless” box in the network manager is not checked, and it is not possible to activate it.

Has anyone had more luck than I?

Thanks,

jw

I have no broadcom wireless device.
But most probably to help you even someone with more experice than me will need the device ID of your wireless (pci-express?) device.
So please post the result of


/sbin/lspci -nnk

While real help is most probably on its way you may take a look at:
My wireless doesn’t work - a primer on what I should do next

Have a lot of fun
Martin
(pistazienfresser)

Thanks for the advice. I should have thought of including the lspci output, but I assumed that because of the current “special status” of the recently released Broadcom driver, that identifying the adapter as a 4313 would be sufficient. In any case, here is the output:

07:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)
Subsystem: Broadcom Corporation Device [14e4:0510]
Kernel driver in use: brcm80211

As can be seen from the above, the kernel is actually loading the correct driver for this device. This only happens after I rename or link the firmware files in /lib/firmware/brcm. By the way, I have used cmp to ascertain that the firmware files are identical to those distributed with the two other Linux systems mentioned above on which this adapter works. I am reasonably sure that the problem is related to the fact that it is not possible to check “Enable Wireless”, as I mentioned in the original post.

As for the helpful checklist, thanks for the pointer to that as well. Here are the applicable answers:

  1. I have been using the Unix command line since 1982, and Linux command line since 1994. I’m pretty comfortable with it, thanks.

  2. It is a PCI device, as evidenced by the mention in the original post of using lspci to determine that the firmware has been loaded.

  3. I said in the original post that the kernel was recognizing the device, and loading the firmware. I could have expanded on that by saying that when I first boot, lspci reports the device but says that there is no driver loaded for it. After I rename or link the firmware files and reboot, lspci says that the brcm80211 driver is in use.

  4. iwconfig finds the device as wlan0, and reports that it is Not-Associated, as expected, since it is not enabled.

  5. iwlist reports that wlan0 “Network is down”, which agrees perfectly with the fact that I can’t get the “Enable Network” to activate, as I said in the original post.

As I said, this group of Broadcom adapters is getting more attention than usual right now because Broadcom recently released the driver source code, and it is in the process of being integrated in the kernel. What I was hoping for with the original post, and still am hoping for, is that either someone who has had more success than I will reply and point me to whatever the problem is with “Enable Wireless”, or someone from the development group will reply and say “we know that it isn’t working yet, but we are still on it”.

Thanks for the reply.

jw

Hello jw,

probably you are more used to work with linux or Unix based systems than me.

I would guess that for a device with the ID 14e4:4727 ether the wl-driver (e.g. from Packman) or the one in the kernel (the one you are trying to use now) might be the right driver:
b43 - Linux Wireless #Known PCI devices
brcm80211 - Linux Wireless #Supported Chips
and that you might (still) need the right firmware
Broadcom Drivers and Firmware, 11.4 M5
BCM43224, BCM43225 and BCM4313 installation guide
software.opensuse.org: Search Results : brcm80211-firmware for factory
(and if you want to try the wl-driver maybe blacklist the other driver).

Maybe you could make a first try with a live system (live CD, live USB) before risking to mess up your system because of my amateurish guessing around (and maybe to exclude your lately changes as well)?

Have a lot of luck
Martin
(pistazienfresser)

On 02/11/2011 09:06 AM, j a watson wrote:
>
> Thanks for the advice. I should have thought of including the lspci
> output, but I assumed that because of the current “special status” of
> the recently released Broadcom driver, that identifying the adapter as a
> 4313 would be sufficient. In any case, here is the output:
>
> 07:00.0 Network controller [0280]: Broadcom Corporation BCM4313
> 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)
> Subsystem: Broadcom Corporation Device [14e4:0510]
> Kernel driver in use: brcm80211
>
> As can be seen from the above, the kernel is actually loading the
> correct driver for this device. This only happens after I rename or
> link the firmware files in /lib/firmware/brcm. By the way, I have used
> cmp to ascertain that the firmware files are identical to those
> distributed with the two other Linux systems mentioned above on which
> this adapter works. I am reasonably sure that the problem is related to
> the fact that it is not possible to check “Enable Wireless”, as I
> mentioned in the original post.
>
> As for the helpful checklist, thanks for the pointer to that as well.
> Here are the applicable answers:
>
> 1. I have been using the Unix command line since 1982, and Linux
> command line since 1994. I’m pretty comfortable with it, thanks.
>
> 2. It is a PCI device, as evidenced by the mention in the original post
> of using lspci to determine that the firmware has been loaded.
>
> 3. I said in the original post that the kernel was recognizing the
> device, and loading the firmware. I could have expanded on that by
> saying that when I first boot, lspci reports the device but says that
> there is no driver loaded for it. After I rename or link the firmware
> files and reboot, lspci says that the brcm80211 driver is in use.
>
> 4. iwconfig finds the device as wlan0, and reports that it is
> Not-Associated, as expected, since it is not enabled.
>
> 5. iwlist reports that wlan0 “Network is down”, which agrees perfectly
> with the fact that I can’t get the “Enable Network” to activate, as I
> said in the original post.
>
> As I said, this group of Broadcom adapters is getting more attention
> than usual right now because Broadcom recently released the driver
> source code, and it is in the process of being integrated in the kernel.
> What I was hoping for with the original post, and still am hoping for,
> is that either someone who has had more success than I will reply and
> point me to whatever the problem is with “Enable Wireless”, or someone
> from the development group will reply and say “we know that it isn’t
> working yet, but we are still on it”.

The usual cause for “wireless not enabled” is the rfkill switch. Install the
rfkill package and examine the output of “/usr/sbin/rfkill list”. If either hard
or soft is blocked, that is the answer. I doubt that Broadcom does a good job of
handling the switch (based on past experience), your switch position may be
irrelevant.

@pistazienfresser: Thanks for the additional information. As I understand things, your basic assumption about drivers is correct, although:

b43: does not work with the Broadcom 4313 adapter. I use it with a broadcom 4312 in another system, though.

wl: works with the 4313 adapter, but it is not the “preferred” driver, or at least it will not be in the near future. Besides, the whole point of my exercise is to get the new driver from Broadcom working.

brcm80211: This is the driver which was recently released by Broadcom, and is expected to be the “preferred” driver for this adapter in the future. By the way, as I said above, I have this driver working under Linux Mint Debian and SimplyMEPIS 11.

firmware: Yes, I know that I need the correct firmware files, and I believe they are present in the RC1 distribution, simply not with the correct names. Those are the ones I have mentioned renaming or linking to the correct names, and I have cmp’d them with the correct files in Mint and MEPIS, and they are the same.

Thanks especially for the link to the driver installation guide. I have looked at it pretty carefully, and I have to admit that I am a bit confused by it. But as best as I can make out, it is primarly aimed at getting the brcm80211 driver installed in older (pre-11.4) versions of openSuSE, as it describes compiling and installing kernel modules which are already present in RC1 (and have been since at least M5).

@lwfinger: This sounds promising, I will look into it. Thanks.

jw

Hello jw,

please to forgive me for posting that not very precise link.
I should have written that I had in mind only BCM43224, BCM43225 and BCM4313 installation guide #post2285818 (= post 28 of that thread) and following and that I meant mostly to point you at lwfinger’s comment on the firmware for 11.4 as a possible alternative to your way.
I had been wondering if your renaming the firmware might be a possible cause of malfunction. But as lwfinger’s have written nothing against your way in this thread the renaming was probably all right. Sorry for causing you been gotten a bit confused.
I thought the sentence

(formatting not original)
would be clear enough but nether I am a native speaker nor a person with very much knowledge of the wireless device drivers (I am a lawyer…). Just do what lwfinger is suggesting (and as long he has still a bit spare time ignore me a bit/completely) - as I know he is the hero whom is (in addition to the people from Broadcom) to thank for bringing that driver into the Linux kernel…

Regards
Martin
(pistazienfresser)

On 02/13/2011 02:06 PM, pistazienfresser wrote:

> I had been wondering if your renaming the firmware might be a possible
> cause of malfunction. But as lwfinger’s have written nothing against
> your way in this thread the renaming was probably all right. Sorry for
> causing you been gotten a bit confused.

Broadcom renamed the firmware files recently. As I don’t have any hardware that
can use brcm80211, I am not current with the situation - I just remember seeing
the Email trail. Why they could not have thought ahead and named it right in the
first place is not understood.

Just a thought:

I think receiving and delivering hardware to people like you
(if there would be any :wink: )
should be a one of the to be discussed[1] goals of the foundation.

[1] http://en.opensuse.org/Portal:Foundation > http://en.opensuse.org/Portal:Foundation/Topics

Objective of the Foundation
Moderator: henne
Status : Topic is now open for mailing list discussions
Results :

Regards
Martin
(pistazienfresser)

On 02/13/2011 05:06 PM, pistazienfresser wrote:
>
> Just a thought:
> lwfinger;2289690 Wrote:
>> …] As I don’t have any hardware that
>> can use brcm80211, I am not current with the situation …]
> I think receiving and delivering hardware to people like you
> (if there would be any :wink: )
> should be a one of the -to be discussed-[1] goals of the foundation.

I actually have plenty of hardware including 3 APs, 6 USB adapters, 13 PCI/PCIe
adapters, and 2 Cardbus units. Those keep me busy testing without needing to
have any more.

How to install Broadcom driver in 11.4 and 11.3:

  1. download hybrid driver from broadcom site
  2. unpack and compile (make) - keep it safe on some backup partition for further OS reinstalls - trust me on this :slight_smile:
  3. cp wl.ko /lib/modules/uname -r/kernel/net/wireless
  4. insmod wl.ko
  5. depmod -a
  6. modprobe wl

5.5 (if 6 fails: modprobe lib80211, and repeat 6)

hope this helps

all I did was run /usr/sbin/install_bcm43*
as root after connecting with a network cable
worked a treat after that

M

Does this require the kernel source to be installed?

I keep getting a “make error 2” on 11.4 factory. All dev, and kernel dev/sym packages are installed. Not sure what is causing it.

On 02/24/2011 05:36 PM, 67GTA wrote:
>
> I keep getting a “make error 2” on 11.4 factory. All dev, and kernel
> dev/sym packages are installed. Not sure what is causing it.

“make error 2” is a secondary error. You need to look at the one actually spit
out by gcc.

I missed the #1 error the first time. I passed the debug option to make, and found the problem. It was referring to init_MUTEX, which led me to this: Patching 802.11 Linux STA driver for Kernel 2.6.37 - LinuxQuestions.org

I patched the wl_linux.c file and it compiled fine. I am typing this from RC1 with the BCM43224 card. On a side note, the brcm80211 driver works for this card also, but is still not ready. I get consistent kernel freezes. I’m guessing it will drive most cards that use wl when it’s ready???

Sorry to have been so long in responding to this thread, as I am the originator… I would like to clarify a few things.

  • The b43 driver, which is installed via /usr/sbin/install_bcm43*, is of no use in this case, it does not work with the 4313 adapter. Thanks anyway.

  • The wl driver will work with the 4313 adapter, if you can coax it into installing. That is pretty routine with 11.3, but still a bit of an adventure with 11.4. In any case, my objective here is to get the brcm80211 driver working, as it seems that this “should be” the choice of the future.

  • Renaming or symlinking the firmware files does get the correct driver to load, as evidenced by “lspci -v”, but it is still impossible to “Enable Wireless” in the Network Manager.

  • As suggested by lwfinger above (thanks very much), I installed the rfkill package. I learned some things, but not enough to get it working yet.

rfkill list

0: ideapad_wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
1: ideapad_bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
2: ideapad_killsw: Wireless LAN
Soft blocked: no
Hard blocked: no
4: acer-wireless: Wireless LAN
Soft blocked: yes
Hard blocked: no
8: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
9: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

Aha. So, what is “acer-wireless”, why is it “Soft blocked”, and is that what is keeping the wireless from working? I have tried “rfkill unblock” with no success.

If I turn off the hardware wifi switch, the rfkill command reports “Hard blocked” for ideapad_wlan, ideapad_bluetooth and ideapad_killsw, but not for acer-wireless, and the Bluetooth physical device hci0 disappears from the rfkill output. Flip the switch back on and everything returns to the way it was. I have not been able to find any combination of hardware switch, rfkill, handstands and back flips which allow me to enable Wireless in the Network Manager.

One more very interesting note. I have installed 11.4 RC2 on a Samsung N150 Plus, which also has a Broadcom 4313 adapter, and it works just fine! So whatever is going on here looks like it is probably unique to the Lenovo s10-3s. Baffling.

jw

On 03/04/2011 02:06 AM, j a watson wrote:
>
> Sorry to have been so long in responding to this thread, as I am the
> originator… I would like to clarify a few things.
>
> - The b43 driver, which is installed via /usr/sbin/install_bcm43*, is
> of no use in this case, it does not work with the 4313 adapter. Thanks
> anyway.
>
> - The wl driver will work with the 4313 adapter, if you can coax it
> into installing. That is pretty routine with 11.3, but still a bit of
> an adventure with 11.4. In any case, my objective here is to get the
> brcm80211 driver working, as it seems that this “should be” the choice
> of the future.
>
> - Renaming or symlinking the firmware files does get the correct driver
> to load, as evidenced by “lspci -v”, but it is still impossible to
> “Enable Wireless” in the Network Manager.
>
> - As suggested by lwfinger above (thanks very much), I installed the
> rfkill package. I learned some things, but not enough to get it working
> yet.
>
> # rfkill list
> 0: ideapad_wlan: Wireless LAN
> Soft blocked: no
> Hard blocked: no
> 1: ideapad_bluetooth: Bluetooth
> Soft blocked: no
> Hard blocked: no
> 2: ideapad_killsw: Wireless LAN
> Soft blocked: no
> Hard blocked: no
> 4: acer-wireless: Wireless LAN
> Soft blocked: yes
> Hard blocked: no
> 8: phy0: Wireless LAN
> Soft blocked: no
> Hard blocked: no
> 9: hci0: Bluetooth
> Soft blocked: no
> Hard blocked: no
>
> Aha. So, what is “acer-wireless”, why is it “Soft blocked”, and is
> that what is keeping the wireless from working? I have tried “rfkill
> unblock” with no success.
>
> If I turn off the hardware wifi switch, the rfkill command reports
> “Hard blocked” for ideapad_wlan, ideapad_bluetooth and ideapad_killsw,
> but not for acer-wireless, and the Bluetooth physical device hci0
> disappears from the rfkill output. Flip the switch back on and
> everything returns to the way it was. I have not been able to find any
> combination of hardware switch, rfkill, handstands and back flips which
> allow me to enable Wireless in the Network Manager.
>
> One more very interesting note. I have installed 11.4 RC2 on a Samsung
> N150 Plus, which also has a Broadcom 4313 adapter, and it works just
> fine! So whatever is going on here looks like it is probably unique to
> the Lenovo s10-3s. Baffling.

I suggest more work on your backflips. :slight_smile:

You can correlate your various wireless devices with the rfkill list with the
output of /usr/sbin/iwconfig and dmesg. The entry with “phy0” is surely the
BCM4313. Usually a softblocked rfkill status can be cleared with an unblock done
as root.

The output of “sudo cat /var/log/NetworkManager | grep rfkill” will report which
driver is registering the rfkill entries. Post only those for your latest session.

Hooray! Many thanks to @lwfinger, my backflips are looking much better now - as is the WiFi adapter on my Lenovo S10-3s.

The problem was with the acer-wireless killswitch soft-block. The info above led me to correlating the correct log files, which led me to the fact that the acer_wmi kernel module was getting loaded and that related to this problem somehow. So, first step was “modprobe -r acer_wmi”, and then check Network Manager… Hey, I can “Enable Wireless” now! Good stuff. Second step, search the web for info on the acer_wmi module… hmm, it seems to have quite a bad reputation, and has been disabled in a variety of situations. Third step, add “blacklist acer_wmi” to the end of /etc/modprobe.d/50-blacklist.conf, and reboot. The Broadcom 4313 now comes up Enabled, and I can connect to a wireless network. Good stuff!

There are certainly some issues behind this which need to be looked at, but I am not qualified to poke around there. So, is this worth filing a bug report on, or is it some “known/expected behavior”?

Thanks to all who have helped me with this, especially @lwfinger.

jw

I have mine working now.
I found that I can Not have it be a system attach (activate prior to a user login), but indeed needs to be local or activated After a user (even if it’s the default (only) user on auto-login)…

That was it for me.
where I found that out: Chapter 35. Using NetworkManager

Landis.