Bug 2550

Summary: Review request: wl-bcm43142-kmod - X86_64 Kernel module for Broadcom wireless devices BCM43142
Product: Package Reviews Reporter: NVieville <nicolas.vieville>
Component: Review RequestAssignee: RPM Fusion Package Review <rpmfusion-package-review>
Status: RESOLVED MOVED    
Severity: normal CC: d.lesca, huizehendrik, rpmfusion-package-review, tmarikle
Priority: P5    
Version: Current   
Hardware: x86_64   
OS: GNU/Linux   
namespace:

Description NVieville 2012-10-30 19:36:46 CET
SPEC file:
http://dl.dropbox.com/u/25699833/rpmfusion/F-18/wl-bcm43142-kmod/wl-bcm43142-kmod.spec

SRPMS file:
http://dl.dropbox.com/u/25699833/rpmfusion/F-18/wl-bcm43142-kmod/wl-bcm43142-kmod-6.20.55.19-1.fc18.src.rpm

Sources URL:
http://jas.gemnetworks.com/wireless-bcm43142/

Description:
These packages contain x86_64 Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM43142-based hardware also known as Broadcom bcm4365 or Dell 1704 wireless device.

rpmlint wl-bcm43142-kmod.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

rpmlint wl-bcm43142-kmod-6.20.55.19-1.fc18.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Package not eligible to be included in Fedora as it contains some non-modifiable binary.

As the maintainer of the actual wl-kmod package for rpmfusion, a user asked me if I could provide the last broadcom wireless drivers for BCM43142-based hardware, because this chipset is not driven by the actual package. He pointed me to the actual maintainer site of this package for Debian, and these packages (broadcom-wl-bcm43142 review request will follow) are largely inspired from this site (http://jas.gemnetworks.com/wireless-bcm43142/).

The original package was shipped with Ubuntu's Dell laptop, but as far as I know (digging the Web for 2 days) neither Broadcom or Dell provided on their websites any sources for this driver. The only source cited by the Debian packager is actually this site:

http://wielki.tk/vostro/

According to message #60 in this thread http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688823#60, Broadcom will not update the official Broadcom STA driver (aka 5.100.82.112) as the new one was a Dell/Ubuntu specific only.

While preparing these packages, I had to make some choices and I wonder if someone could review and comment them if needed:

1.
These new package are x86_64 architecture only. Broadcom/Dell didn't provided any binary library for i386 (32 bits) platform. I had to make these packages x86_64 platform only by adding a "ExclusiveArch: x86_64" directive in the SPEC file, and adding checking in the %prep section of this file too. Is this correct?

2.
As this new driver doesn't work with some older Broadcom chipset (mine is bcm4313 and doesn't work with it for example) that still work correctly with 5.100.82.112 driver, I didn't choice to use conflict directive in the SPEC file. If one has a new chipset in his laptop and plug-in an old one via USB port the problem will be unsolvable. I preferred to rename the new build module with a different name to let users deal with there configuration more smoothly (I hope that modifying some udev rules might be necessary to get them working).
So the new build module was rename from wl.ko to wl_bcm43142.ko at build time. Is this correct, or am I wrong?

3.
As stated by all the users owning such laptop and wanting to upgrade their original Ubuntu 11.10 to the last 12.04 or 12.10, this chipset is hybrid but actually no bluetooth is working. Some efforts are made by Ubuntu developers to get it working, but for the moment this part of the chipset is not supported (see https://bugs.launchpad.net/ubuntu/+source/linux/+bug/863051/+index?comments=all). 
What is the best thing to do to inform users of such a limitation in this package?

4.
After all, is it worth packaging this driver?

I can provide rawhide SPEC and SRPMS files if needed.

I plan to make it available since F-17 if accepted.

Same request made for the broadcom-wl-bcm43142 package.

As I do not own myself such a device, I would not be able to test new packages as they would be build. Are there any volunteers to achieve this task?

Last question: as I'm already a rpmfusion packager, but not so experienced, do I need a sponsor?

Thanks in advance for your comments.

Cordially,


-- 
NVieville
Comment 1 Nicolas Chauvet 2012-10-30 20:08:27 CET
I don't think this driver is better than b43/b44 with a fresh cut of the broadcom firmware. Does it ?
Comment 2 NVieville 2012-10-30 20:41:03 CET
Hello Nicolas,

As I said it in my first message, I don't own myself such a device, so I can't certify that it doesn't.

But according to these thread:

http://marc.info/?l=linux-wireless&m=134909288803047&w=2

http://askubuntu.com/questions/175104/how-do-i-install-bcm43142-wireless-drivers-for-dell-vostro-3460-3560

http://marc.info/?l=linux-wireless&m=134909288803047&w=2

and finally this:

http://www.wikidevi.com/wiki/Dell_Wireless_1704_802.11n_%2B_BT_4.0

there seems that a little problem occurs with this chipset, even with lasts kernels. 

Maybe it would be worth waiting for a confirmation of a rpmfusion user/packager of this fact, before going on further?

Thanks for the question.

Cordially,


-- 
NVieville
Comment 3 NVieville 2013-01-03 18:52:29 CET
Hello Community,

Happy New Year!

This package have been updated to include the official mechanisms of wl-kmod and broadcom-wl RPMFusion packages allowing to choose either the "WEXT API" or the "CFG80211 API" at build time (exclusively for the akmod-wl package), and a configuration file for dracut to include correct modules in kernel initramfs in case of problem.
Other files have been cleaned-up too.

This package build fine for F-17, F-18 and Rawhide in mock. The only modification in the spec file needed for F-17 and F-18 is to replace:

%define buildforkernels akmod

line by:

%define buildforkernels current

in order to obtain correct kmod packages for current kernel.

This package depends on broadcom-wl-bcm43142 package (https://bugzilla.rpmfusion.org/show_bug.cgi?id=2549).

New SPEC and SRPMS files and rpmlint outputs are provided.

SPEC file:
http://dl.dropbox.com/u/25699833/rpmfusion/Rawhide/wl-bcm43142-kmod/wl-bcm43142-kmod.spec

SRPMS file:
http://dl.dropbox.com/u/25699833/rpmfusion/Rawhide/wl-bcm43142-kmod/wl-bcm43142-kmod-6.20.55.19-1.fc19.src.rpm

rpmlint wl-bcm43142-kmod.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

rpmlint wl-bcm43142-kmod-6.20.55.19-1.fc19.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Any comments are welcome.

Cordially,


-- 
NVieville
Comment 4 Mark Holster 2013-01-21 21:01:12 CET
Hi,

With the help of Nicolas i've managed to get the driver working on F18 on my Dell Inspiron 5720. Before these rpm's were published, the only way I got the card working was by following the solution provided at http://forums.fedoraforum.org/archive/index.php/t-283824.html

I must say, as a user without much linux knowledge, I find it way more convenient to install the driver by rpm as by manual installation.

I ran into 1 problem: After installing the driver the wireless couldn't connect to my network and /var/log/messages was full with "ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)" errors.

Nicolas sent me in the right direction for a solution by pointing me to this url: https://bbs.archlinux.org/viewtopic.php?pid=1216302#p1216302
The steps I follow to get things working are:
1. hit fn+f2 
2. Notice the bluetooth icon pops up in the system tray.
3. 'rfkill list' showed me the wireless was soft-blocked, but the bluetooth wasn't. Unblock the wireless by 'rfkill unblock <devid>'

The wireless is working again!

Kind regards,
Mark Holster
Comment 5 mdaa83 2013-02-06 21:06:41 CET
(In reply to comment #4)
 
> With the help of Nicolas i've managed to get the driver working on F18 on my
> Dell Inspiron 5720. Before these rpm's were published, the only way I got the
> card working was by following the solution provided at
> http://forums.fedoraforum.org/archive/index.php/t-283824.html

I have the same laptop and was following the same instructions.  I found this bug and compiled the source RPMs mentioned.  I deleted the manually built wl.ko module and replaced it with the binary RPMs I built and the wireless card came right up on boot.

> I must say, as a user without much linux knowledge, I find it way more
> convenient to install the driver by rpm as by manual installation.

Thanks to Nicolas and Mark
Comment 6 Nicolas Chauvet 2013-02-06 22:39:54 CET
Does anyones tried with extracting the b43 firmware from the windows driver using b43-fwcutter ? This will requires to have the wk-kmod uninstalled.
Comment 7 Mark Holster 2013-02-07 14:28:54 CET
Nicolas,

No I haven't tried that out. Unfortunately I can't try it out anymore, because I've overwritten my Windows 8 partition with Fedora. Also, I didn't order any rescue DVD as I was not planning to use Windows at all.

If someone could provide me the driver I'll give it a try.

Regards,
Mark
Comment 8 NVieville 2013-03-06 11:27:10 CET
Hello Community,

This package have been updated to include the last patches needed for last kernels (eg. 3.8 and 3.9 series).

This package build fine for F-17, F-18 and Rawhide in mock. The only
modification in the spec file needed for F-17 and F-18 in order to obtain correct kmod packages for current kernel, is to replace:

%define buildforkernels akmod

line by:

%define buildforkernels current

Previous link for F-18 (comment #1) are still available and updated (only for kernel 3.8) in order to help users to test this package. There are also F-17 spec and srpms files available. Just replace F-18 with F-17 in the previous URLs. These files have already been modified in the buildforkernels directive to "current".

This package depends on broadcom-wl-bcm43142 package
(https://bugzilla.rpmfusion.org/show_bug.cgi?id=2549).

New SPEC and SRPMS files and rpmlint outputs are provided.

SPEC file:
http://dl.dropbox.com/u/25699833/rpmfusion/Rawhide/wl-bcm43142-kmod/wl-bcm43142-kmod.spec

SRPMS file:
http://dl.dropbox.com/u/25699833/rpmfusion/Rawhide/wl-bcm43142-kmod/wl-bcm43142-kmod-6.20.55.19-1.fc19.src.rpm

rpmlint wl-bcm43142-kmod.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

rpmlint wl-bcm43142-kmod-6.20.55.19-1.fc19.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Happy testing! Any comments are welcome.

Cordially,


-- 
NVieville
Comment 9 Mark Holster 2013-03-07 20:18:41 CET
Hi Nicolas,

Thanks, it work's like a charm.

Regards,
Mark
Comment 10 NVieville 2013-03-08 21:37:28 CET
Hello Community,

This package have been updated to include the last modified patches needed for last kernels (eg. 3.8 and 3.9 series), especially for kernel 3.8 that should panic while using iwconfig tool (see https://bugzilla.rpmfusion.org/show_bug.cgi?id=2715 for wl-kmod package).

My previous comments about the availability of F-18 and F-17 packages are still available and these ones have been updated according to the devel one.

New SPEC and SRPMS files and rpmlint outputs are provided.

SPEC file:
http://dl.dropbox.com/u/25699833/rpmfusion/Rawhide/wl-bcm43142-kmod/wl-bcm43142-kmod.spec

SRPMS file:
http://dl.dropbox.com/u/25699833/rpmfusion/Rawhide/wl-bcm43142-kmod/wl-bcm43142-kmod-6.20.55.19-1.fc19.src.rpm

rpmlint wl-bcm43142-kmod.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

rpmlint wl-bcm43142-kmod-6.20.55.19-1.fc19.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Happy testing! Any comments are welcome.

Cordially,


-- 
NVieville
Comment 11 Nicolas Chauvet 2013-03-10 12:42:15 CET
I still don't understand how this device works compared with using the firmware extracted from the windows binaries (I'm not speaking of the firmware provided by fedora).
http://linuxwireless.org/en/users/Drivers/b43
Comment 12 NVieville 2013-03-10 19:20:41 CET
Hi Nicolas,

As I already said it (initial message and comment #2), sorry for that, I don't own myself such a device, so I'm unable to provide you any results of your asked test with Windows driver.

But according to the chart in http://linuxwireless.org/en/users/Drivers/b43#Supported_devices the 14e4:4365 device (aka bcm43142, aka Dell 1704, aka bcm4365) is not supported by the b43 or b43legacy drivers.

In addition, after a few hours surfing and "googling" about Linux and bcm43142 wireless device led me to the tip that suggest installing/extracting the corresponding Ubuntu package, see for example:

http://forums.fedoraforum.org/showthread.php?t=282334
http://forums.fedoraforum.org/showthread.php?t=282334

That's why I thought it was worth proposing a package of this driver "made for Fedora".

Maybe I was wrong when I thought this package should be needed by Fedora users, but for the moment, I didn't found any "howto" or "tutorial" showing how to proceed successfully with b43-fwcutter and this bcm43142. 

It would be very useful if one of the readers of this thread, owning this device, should confirm your suggestion about the b43-fwcutter. 
To try to help in this way, I found 2 links where one can download the drivers for this device and for Windows (for Lenovo and Dell laptop):

http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/h0wg01ww.exe
http://downloads.dell.com/FOLDER01132685M/1/Network_Driver_154HC_WN_WLAN_6.30.59.7_A02.EXE

Be careful, the second one is more than 400 MiB. I can't give any tip on how to use them (probably extracting them is needed but file-roller doesn't show anything useful).

In order to get more users reading this thread having the opportunity to test the different suggestions, maybe should I post on the forums sited above the address of this one, to draw their attention to this discussion?

I hope we find a solution that will give users the best and smoother Fedora experience.

Comments, suggestions or feedback would be greatly appreciated.

Cordially,


-- 
NVieville
Comment 13 Dario L. 2013-04-10 15:49:52 CEST
@NVieville
> Happy testing! Any comments are welcome.

I have download these src.rpm
> $ wget \ 
> http://dl.dropbox.com/u/25699833/rpmfusion/Rawhide/wl-bcm43142-kmod/wl-bcm43142-kmod-6.20.55.19-1.fc19.src.rpm \
> http://dl.dropbox.com/u/25699833/rpmfusion/Rawhide/broadcom-wl-bcm43142/broadcom-wl-bcm43142-6.20.55.19-1.fc19.src.rpm

then I have rebuild them with:
> $ rpmbuild --rebuild \
> broadcom-wl-bcm43142-6.20.55.19-1.fc19.src.rpm \
> wl-bcm43142-kmod-6.20.55.19-1.fc19.src.rpm

then I have install it with:
> sudo yum install \
> rpmbuild/RPMS/noarch/broadcom-wl-bcm43142-6.20.55.19-1.fc18.noarch.rpm \
> rpmbuild/RPMS/x86_64/kmod-wl-bcm43142-6.20.55.19-1.fc18.x86_64.rpm \
> rpmbuild/RPMS/x86_64/akmod-wl-bcm43142-6.20.55.19-1.fc18.x86_64.rpm

and test it.

Work.

But only if I connect to my and other router wifi with mode
"infrastructure". If I connect to my server firewall, witch share our
wireless network card in to mode "ad-hoc" do not work.

On another Notebook with BCM 4313 (not supported from b43 http://linuxwireless.org/en/users/Drivers/b43#Supported_devices ) card, I have use wl driver and I had rebuild the src.rpm and modify the make command with "make API=WEXT", in this mode the driver can connect into both mode.

With wl-bcm43142 I could not try this trick , but I think that would work.
If you're interested, I can try in a few days.

Do you have some suggest for me?
Comment 14 NVieville 2013-04-10 17:04:08 CEST
Hello,

Thanks for your feedback against this wireless driver packages.

> But only if I connect to my and other router wifi with mode
> "infrastructure". If I connect to my server firewall, witch share our
> wireless network card in to mode "ad-hoc" do not work.
> 
> On another Notebook with BCM 4313 (not supported from b43
> http://linuxwireless.org/en/users/Drivers/b43#Supported_devices ) card, I have
> use wl driver and I had rebuild the src.rpm and modify the make command with
> "make API=WEXT", in this mode the driver can connect into both mode.
> 
> With wl-bcm43142 I could not try this trick , but I think that would work.
> If you're interested, I can try in a few days.
> 
> Do you have some suggest for me?

As the bcm43142 packages already contain the WEXT-API configuration elements, like the official akmod-wl and broadcom-wl packages, I think you should get this working. Simply follow the steps provided in the /usr/share/doc/broadcom-wl-bcm43142-6.20.55.19/fedora.readme file from the broadcom-wl-bcm43142 package. One thing to do is to uninstall the kmod-wl-bcm43142 package, and use only the akmod-wl-bcm43142 one. 

Hope this will be useful, as I don't own myself such a device.

Feel free to provide any feedback you thing necessary.

Cordially,


-- 
NVieville
Comment 15 Dario L. 2013-04-10 18:04:39 CEST
Ok, then:

# echo API=WEXT > /etc/akmods/akmod-wl-bcm43142/api
# akmods --force --kernel `uname -r` --akmod wl-bcm43142

is what I'm looking for, and I did not know.

Thank.

But I have read also this:

Caution :
---------

WEXT API will be dropped from future kernels according to
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=10bab00afed042c1a38ed5ffb135e2aea5ce1277

This workaround should only used on compatibles kernels with the
WEXT API.
One should considere to switch to higher wireless compatible Fedora
Release in order to get the most recent CFG80211 API with most recent
kernel.

This workaround will be dropped from the future broadcom-wl-bcm43142,
kmod-wl-bcm43142 and akmod-wl-bcm43142 packages when the WEXT API will
be dropped too.
---------------

Then, in the future, when the WEXT API will dropped, there is no way to use wireless in "ad-hoc" mode with BCM driver ?
Comment 16 NVieville 2013-07-21 19:36:37 CEST
Hello,

This review request was replaced by the new one for 6.30 series of this driver (rfbz#2890).

Please follow this new one for further news.
I'll close this one unless someone claims it is still useful.

Cordially,


-- 
NVieville
Comment 17 NVieville 2013-08-29 18:34:10 CEST
Hello,

As explained in my previous post, this review request is replaced by :

https://bugzilla.rpmfusion.org/show_bug.cgi?id=2890

Cordially,


-- 
NVieville