Search Linux Wireless

Re: broadcom-sta-dkms: to version >= 6.20.55.19 (r300276)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Update on 3.6-rc7 problems with wpasupplicant-1.0-2 and broadcom-sta
6.20.55.19 (r300276)
1. Fails to associate to AP (WPA encryption used) when wl.ko built with wext
2. Kernel bug when wl.ko built with nl/cfg80211

Apparently the wireless-bcm43142-dkms/Makefile was tripping due to
missing $(SUBLEVEL) in
/lib/modules/3.6-rc7.towo.1-siduction-amd64/build/Makefile

---
# make KERNELRELEASE=3.6-rc7.towo.1-siduction-amd64 -C
/lib/modules/3.6-rc7.towo.1-siduction-amd64/build M=`pwd`
make: Entering directory `/usr/src/linux-headers-3.6-rc7.towo.1-siduction-amd64'
/bin/sh: 1: [: Illegal number:
/bin/sh: 1: [: Illegal number:
Wireless Extension is the only possible API for this kernel version
Using Wireless Extension API
...
---

So it was building the "wl" module with WEXT rather than nl/CFG80211,
which is undesirable of course for such a recent (and 3.x) kernel. It
is actually now deprecated. See:
http://git.kernel.org/linus/10bab00afed042c1a38ed5ffb135e2aea5ce1277

And as the Makefile checks for API variable, this could be mitigated
by adding API=CFG80211 to the make command, and though the Makefile
still tries to check for SUBLEVEL and trips, it still builds with
CFG80211, as desired:

---
# make API=CFG80211 KERNELRELEASE=3.6-rc7.towo.1-siduction-amd64 -C
/lib/modules/3.6-rc7.towo.1-siduction-amd64/build M=`pwd`
make: Entering directory `/usr/src/linux-headers-3.6-rc7.towo.1-siduction-amd64'
/bin/sh: 1: [: Illegal number:
/bin/sh: 1: [: Illegal number:
CFG80211 API specified in command line
Using CFG80211 API
...
---

But this defeats the whole point of using a DKMS package in the first
place, and Dell/Broadcom hasn't provided a source-only package for
this version. The submitted dkms package is obviously missing readme
and license files, at least.

So I was able to get around this mess by creating a secondary patch
for the Makefile (there's a preexisting 0001-Makefile.patch) and
placing it in:
/usr/src/wireless-bcm43142-dkms-6.20.55.19~bdcom0602.0400.1000.0400/patches/0002-Makefile.patch
Patch Attached.

Edit the dkms.conf file, and add my new patch under the PATCH[0] line:
PATCH[1]="0002-Makefile.patch"

Then "dkms remove" and "dkms install" the module for the 3.6-rc7
kernel. Now wl.ko is built with nl/cfg80211

However, now I hit a kernel BUG at include/net/cfg80211.h:2473 caused
by wpa_supplicant

# apt policy wpasupplicant
wpasupplicant:
  Installed: 1.0-2
  Candidate: 1.0-2
  Version table:
 *** 1.0-2 0
        500 http://mirror.rts-informatique.fr/linuxmint/debian/incoming/
testing/main amd64 Packages
        100 /var/lib/dpkg/status

Details of running wpa_supplicant (1.0-2) in debugging mode when wl.ko
was built with WEXT, and the kernel BUG details re wpa_supplicant.

As this is a dev kernel release, adding linux-wireless to the loop.
And apologies if I shouldn't because this is regarding a proprietary,
unpublished broadcom driver.

Please let me know if you need any further information.

Best,
Jasmine


On Wed, Sep 26, 2012 at 12:42 AM, Jasmine Hassan <jasmine.aura@xxxxxxxxx> wrote:
> Package: broadcom-sta-dkms
> Version: 6.20.55.19
>
> Hello,
>
> My newish Dell Inspiron 15R 5520 shipped with ubuntu installed, and
> had this (apparently unreleased?) version of broadcom-sta-dkms, for
> the bcm43142 (Dell hybrid wifi/bluetooth adapter / 14e4:4365)
>
> # lspci -nn | tail -1
> 08:00.0 Network controller [0280]: Broadcom Corporation Device
> [14e4:4365] (rev 01)
>
> # dmesg | grep BCM
> eth0: Broadcom BCM4365 802.11 Hybrid Wireless Controller 6.20.55.19 (r300276)
>
> Someone (owner of Vostro 3460 laptop with the same card) kindly
> uploaded the original debs, at http://wielki.tk/vostro/
> The driver in question:
> http://wielki.tk/vostro/debs/wireless-bcm43142-oneiric-dkms_6.20.55.19~bdcom0602.0400.1000.0400-0somerville1_amd64.deb
>
> But it had at least two main issues that needed fixing:
>
> 1. Failed to compile on kernel 3.2.x. Solution: One-line change of the
> call 'ndo_set_multicast_list' to 'ndo_set_rx_mode', in wl_linux.c
>
> 2. Failed to compile on Kernel 3.4.x. Like broadcom-sta/5.100.82.112-7
> , this version also suffered issue with missing asm/system.h on 3.4.x
> (see bug #677193). Fixed in the same manner as that proposed in said
> bug.
>
> (Updated md5sum of wl_linux.c, per changes 1 & 2 above)
>
> 3. Removed "oneiric" (reference to Ubuntu 11.10) from package name,
> and all directory & path-names everywhere in the package contents, as
> it is no longer ubuntu/oneiric-specific.
>
> Updated deb: http://jas.gemnetworks.com/debian/wireless-bcm43142-dkms-6.20.55.19_amd64.deb
>
> Also tested on linux 3.5.0-4.dmz.1-liquorix-amd64, and it works for me
>
> Now, given a power regression in kernel 3.5, I was eager to test drive
> 3.6-rc6, and found rc7 out already!
> So yesterday I installed linux 3.6-rc7.towo.1-siduction-amd64, the
> "wl" module compiles and installs, and loads okay upon boot to
> 3.6-rc7. However, I'm unable to associate to my AP:
>
> Pointers in syslog
> Sep 25 21:34:10 terra wpa_supplicant[2787]: nl80211: 'nl80211' generic
> netlink not found
> Sep 25 21:34:10 terra wpa_supplicant[2787]: Failed to initialize
> driver 'nl80211'
> [..snip]
> Sep 25 21:34:31 terra wpa_supplicant[2787]: eth2: Trying to associate
> with 00:xx:xx:xx:xx:xx (SSID='xxxxxxx' freq=2452 MHz)
> Sep 25 21:34:31 terra wpa_supplicant[2787]: eth2: Association request
> to the driver failed
>
> As bcm43142 is fairly new, this proprietary driver is all that's there
> to support it. Sad face.
>
> Cheers,
> Jasmine

Attachment: 0002-Makefile.patch
Description: Binary data

Attachment: wpa_supplicant_debug
Description: Binary data


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux