Bug 5009 - Incorrect driver selection for Broadcom BCM43225 wireless card
Summary: Incorrect driver selection for Broadcom BCM43225 wireless card
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Olivier Blin
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 5015
  Show dependency treegraph
 
Reported: 2012-03-18 17:32 CET by Martin Whitaker
Modified: 2012-03-21 10:07 CET (History)
2 users (show)

See Also:
Source RPM: drakx-net-1.4-1.mga2.src.rpm
CVE:
Status comment:


Attachments

Description Martin Whitaker 2012-03-18 17:32:45 CET
The wireless card in my Samsung laptop is identified as a Broadcom BCM43225 802.11b/g/n:

Vendor ID: â0x14e4
Device ID: â0x4357
Sub vendor ID: â0x185f
Sub device ID: â0x04db

Mageia 1 automatically choose the brcm80211 driver for this card. This worked without any problems.

Mageia 2 wants to use the Broadcom wl driver, and falls back to the b43 driver when the wl driver is not available.

The b43 driver has never worked with my card in any of the alpha or beta releases. On installation it fills up /var/log/messages with continual messages that the necessary firmware files can't be found:

kernel: b43-phy0 ERROR: Firmware file "b43/ucode16_mimo.fw" not found
kernel: b43-phy0 ERROR: Firmware file "b43-open/ucode16_mimo.fw" not found

Using b43-fwcutter to generate these files quietens it down, but it still won't associate with my AP (I did once get a connection, but could never repeat it).

The wl driver worked in alpha 2, except that it wouldn't associate with a hidden SSID (which is a feature I need). In alpha 3 it would continually disconnect/reconnect (bug 4206). In beta 2 it won't associate with my access point at all.

By blacklisting both the wl and the b43 drivers, and installing the kernel-nonfree-firmware package, I have got the system to use the brcmsmac driver. This works perfectly, provided I disable NetworkManager.

The continuing irritant is that when I run any of the drakx-net tools, they try to install the wl driver and break my setup. drakroam doesn't even ask before doing this.
Manuel Hiebel 2012-03-18 17:46:12 CET

CC: (none) => lists.jjorge
Assignee: bugsquad => mageia

Comment 1 José Jorge 2012-03-19 09:45:13 CET
Thank you for the report. Can you please provide more details about the wireless card so we can add it in our pci.ids file?

I have a very similar hardware, that works nicely with b43 driver now, while it did not with MAgeia 1, so it is not simple to associate a driver with Broadcom hardware.

(vendor:14e4 device:4353 subv:103c subd:1510) (rev: 01)
Comment 2 Martin Whitaker 2012-03-19 09:59:32 CET
Thank you José. Here is the relevant output from 'lspci -nnv'.

02:00.0 Network controller [0280]: Broadcom Corporation BCM43225 802.11b/g/n [14e4:4357] (rev 01)
	Subsystem: Wistron NeWeb Corp. Device [185f:04db]
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at c0600000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [58] Vendor Specific Information: Len=78 <?>
	Capabilities: [48] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [d0] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [13c] Virtual Channel
	Capabilities: [160] Device Serial Number 00-00-b1-ff-ff-28-00-1b
	Capabilities: [16c] Power Budgeting <?>
	Kernel driver in use: bcma-pci-bridge
	Kernel modules: bcma

Let me know if there is any more information you need.
Marja Van Waes 2012-03-19 10:09:24 CET

CC: (none) => marja11
Blocks: (none) => 5015

Comment 3 José Jorge 2012-03-20 23:14:55 CET
I'm not sure we should change the default driver : wl works on my system, and bug 3398 shows that brcmsmac is still a buggy driver on some configurations. As example, on my BCM43224 the LED is always off, while it behaves normally with b43 and wl drivers...
Comment 4 José Jorge 2012-03-20 23:17:09 CET
You can workaround drakxtools selection editing this file :
/usr/share/ldetect-lst/pcitable.d/90default.lst.gz
Comment 5 Martin Whitaker 2012-03-21 00:17:00 CET
brcmsmac was disabled by default in the 3.2 kernel (due to conflicts with other drivers), but has been brought back in the 3.3 kernel, so old bugs may no longer be present. But you are probably right not to change the default until there is more evidence that the brcmsmac driver has become stable.

Thanks for the tip about working round the drakxtools selection.
Comment 6 José Jorge 2012-03-21 09:13:12 CET
There is for now a mess in Broadcom WiFi
* b43 driver is the first which was written, needs unredistributable firmware files
* wl is proprietary, and supports only recent hardware
* brcmsmac and brcmfmac was written by Broadcom employees in open-source, and supports only recent hardware

So for now, let's keep the wl defaulted.

Status: NEW => RESOLVED
Resolution: (none) => FIXED

Comment 7 Martin Whitaker 2012-03-21 09:46:43 CET
It is for sure a mess!

One thing that concerns me is that we get lots of message in the forum from users who can't get their WiFi to work. Teaching inexperienced/non-technical users how to change the default driver takes time (and sometimes they just give up and go looking for another distribution). I was wondering if there was a way to add this ability to MCC. Maybe in harddrake, as well as having a button to run the config tool for a device, have another button that allows the user to select a different driver module. Does this sound like a good idea? I would be willing to have a go at coding it, if there is an agreement that it would be useful.
Comment 8 José Jorge 2012-03-21 10:07:40 CET
Of course such a work is welcome. I feel the best is to do like for Graphical drivers :

- a proprietary version exists, do you want to use it?

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