Bug #727


brcmfmac having problems in AP + station mode

Added by Hammel over 4 years ago. Updated 3 months ago.

04 - Root File System
Target version:
Start date:
27 Oct 2019
Due date:
% Done:


Estimated time:
04 - Low


In Ironman the brcmfmac wifi is being used in both AP and station mode at the same time. "iw list" shows this configuration is supported. However, if you bring up wlan0 and uap0 as has been done with other wifi dongles the brcmfmac will disconnect the station (wifi client) when it brings up the AP. This seems to be the same as other dongles and the solution was

  1. bring up wlan0
  2. bring up uap0
  3. bring up wlan0 again

But the last step doesn't work with brcmfmac. There is a possible solution here but I've not tried it yet. Some googling shows this driver disables the the station when ap is started and doesn't allow it to come back up. A fix was posted in 2018 but that doesn't appear to be in either RPi Linux 4.19.y or next branch. Not sure if there is a driver fix anywhere else.

Barring a driver fix and the potential workaround fixing this I'll have to disable brcmfmac in Ironman and use a dongle. Disabling will have to include removing or renaming the driver because S10mdev will load the driver automatically if it's there and simply rmmod'ing the driver later will cause the dongle to come up as wlan1, which we don't want.

Related issues

Related to PiBox - Testing #1099: Verify Media System and Player System properly support PiNet's web UI.ClosedHammel15 Jan 2024

Actions #1

Updated by Hammel over 4 years ago

Also see if the firmware is up to date.
Latest firmware is from 05/2019.
RPi-Distro latest firmware is the same (plux txt file).

Actions #2

Updated by Hammel over 4 years ago

  • % Done changed from 0 to 20

New firmware does not fix the problem. The possible workaround doesn't really do anything I'm not already doing. I'm going to try one other thing: bring up wlan0 without wpa_supplicant, bring up uap0 then bring up wpa_supplicant on wlan0.

Actions #3

Updated by Hammel over 4 years ago

  • % Done changed from 20 to 50

No, it doesn't work. It's the driver (and/or firmware). I simply can't use it with Ironman.

Falling back to a wifi dongle as we used previously. I'll disable the brcmfmac driver in the build via a config app, like I do with Xeon.

Actions #4

Updated by Hammel over 4 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 50 to 100

Completed. I've added the package (ironmancfg) to GitLab and integrated it with Ironman's meta build.

Tested, committed and pused (both the new package and meta).

Closing issue.

Actions #5

Updated by Hammel over 3 years ago

  • Status changed from Closed to In Progress
  • Priority changed from Immediate to Urgent
  • % Done changed from 100 to 10
  • Severity changed from 01 - Critical to 04 - Low

I'm reopening this as it's been some time since I tried it. If I can get both working at the same time on the RPi 3 then I can simplify the piplayer (pinet app), for example, not to mention Ironman.

Here is a discussion on the same topic. Start reading from this post.

See also this post on which describes more detailed configuration information that tells if the device does or does not support simultaneous modes or this blog post that describes the software setup.

Basically what matters is if the brcm device supports simultaneous modes. For things like PiPlayer w/ the pinet app we only need to be in one mode or the other so brcm should work fine. If it's not working then there may be some other problem - like assuming device names as they come from usb wifi sticks vs the onboard brcm devie.

There are also tuning parameters that can be added to S40network.

Actions #6

Updated by Hammel about 1 year ago

  • Target version changed from 2.0 - Harkonnen to 3.0 - Corrino
Actions #7

Updated by Hammel 4 months ago

  • Related to Testing #1099: Verify Media System and Player System properly support PiNet's web UI. added
Actions #8

Updated by Hammel 4 months ago

Also: See this medium article from 2018 that builds a DIY wifi router and explains how they had problems with the onboard broadcom too.

Actions #9

Updated by Hammel 3 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 10 to 100

This has been fixed as best as I can get it using specific firmware releases for both RPi3/4 and RPi2W. See RM #1099. An external dongle should no longer be needed for PiNet-based devices, though Ironman may need additional work for AP support of the sensor network.

The WiFi interface seems to come up on every boot. The AP is not always seen by my mobile phones but I can't find any reason why that might be other than signal interference or something else outside my control. The eth interface always comes up in DHCP and PiNet will show that IP address so users don't have to use the WiFi to configure client mode anymore (except maybe on Pi 2W, which I'll address later).

The client mode seems to connect just fine after configuration now, after making updates in the user space components such as PiNet and piboxd.

This issue is being closed for now although it may have to be re-addressed once I get multiple sensors installed for Ironman.


Also available in: Atom PDF