3 Replies Latest reply on Jul 28, 2015 1:33 PM by PabloM_Intel

    Wireless Monitor Mode / brcm80211 / brcmsmac

    jb22

      Hello,

       

      I was wondering if anyone has managed to get monitor mode working for the Broadcom 43340 (or is it 43341?) on the Edison?

       

      I'm running Ubilinux which appears to be using the bcm4331x driver:

       

        root@ubilinux:~# uname -a

          Linux ubilinux 3.10.17-yocto-standard-r2 #7 SMP PREEMPT Thu Feb 26 09:57:06 UTC 2015 i686 GNU/Linux

          root@ubilinux:~# lsmod | grep bcm

          bcm_bt_lpm            13676  0

          bcm4334x              578947  0

          root@ubilinux:~# ls https://communities.intel.com/message/311829/lib/firmware/

          LICENCE.broadcom_bcm43xx  bcm43341.hcd bcmdhd_aob.cal fw_bcmdhd.bin intel_mcu.bin

          bcm43341.conf  bcmdhd.ca brcm fw_sst_119a.bin

       

      I've tried installing brcm80211 (aka brcmsmac) driver which I believe supports monitor mode via the debian firmware-brcm80211 package, but it doesn't seems to have registered (possibly because the chip doesn't show up with a Broadcom PCIID?):

       

      Anyone had any luck using this driver (or the vendor wl driver) ?

       

      Update 1:

      So it seems I'm confusing firmware and device drivers (aka kernel modules) which are in fact different things: I've installed new firmware (not necessary?) but not any new modules which is why lsmod doesn't show anything new. I cannot seem to find a brcmsmac kernel module package, so I thought I'd try the Broadcom proprietary STA module instead (to which monitor mode support was added to in version 5.100.82.115) which can be downloaded from their website. Alas, I cannot compile it on the Edison as I am missing linux-headers (needed to compile a kernel module) and linux-headers-3.10.17 does not seem to be in any of the repositories I have in apt. I did try installing the broadcom-sta-dkms package from the Debian repository, but this is very heavyweight and in fact tries to install a 3.16.0 pae and/or (not sure) a 3.2.0 pae kernel too! Needless to say I ran out of space and quickly had to try and revert my boot files...

       

      Bottom line so far is that trying to install the kernel module on the Edison seems to be a non-starter, so I'm starting to build a Yocto image from scratch to which I can add the Broadcom STA module by cross-compiling. I've never built a linux kernel before though, so bare with me All pointers most welcome!

       

      Update 2:

      Managed to get the vanilla Edison-BSP Yocto image to compile! Running menuconfig shows that the 3.10.17 kernel can have included in it the b43, b43-legacy and the brcm80211 fullmac drivers as opposed to the bcm84xx default. Sadly, it's softmac that we need as fullmac doesn't yet support monitor mode. However, b43 might work? Sadly, trying to flash onto my Edison has pretty much resulted in bricking it (please help!).

      I tried adding a custom recipe for the proprietary STA module, and whilst I got a successful built I'm not convinced it actually ever compiled the code...Trying to compile 'out-of-tree' (is this the right phrase?) the kernel module didn't work, I couldn't get the cross-compile tools from the SDK which I built to play nicely with gnu make!

      tl;dr - No luck so far!