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