STA-AP mode on Raspbery Pi 3 B+

Hi, I am trying to get Raspberry PI 3 B+ to work simultaneously in AP+STA mode.

I've found a similar issue about Raspberry PI Zero W (Raspberry Pi Zero W AP+STA mode). It says that this mode isn't possible because of proprietary drivers.

Is it also the case for RPi 3 B+?

@saulofr, welcome to the community!

  • Does it have a Broadcom WiFi chip?
  • Did you read the posting following mine?

That`s the output when I run that command:

Wiphy phy0
    max # scan SSIDs: 10
    max scan IEs length: 2048 bytes
    max # sched scan SSIDs: 16
    max # match sets: 16
    max # scan plans: 1
    max scan plan interval: 508
    max scan plan iterations: 0
    Retry short limit: 7
    Retry long limit: 4
    Coverage class: 0 (up to 0m)
    Device supports T-DLS.
    Supported Ciphers:
        * WEP40 (00-0f-ac:1)
        * WEP104 (00-0f-ac:5)
        * TKIP (00-0f-ac:2)
        * CCMP-128 (00-0f-ac:4)
        * CMAC (00-0f-ac:6)
    Available Antennas: TX 0 RX 0
    Supported interface modes:
         * IBSS
         * managed
         * AP
         * P2P-client
         * P2P-GO
         * P2P-device
    Band 1:
        Capabilities: 0x1022
            HT20/HT40
            Static SM Power Save
            RX HT20 SGI
            No RX STBC
            Max AMSDU length: 3839 bytes
            DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: 16 usec (0x07)
        HT TX/RX MCS rate indexes supported: 0-7
        Bitrates (non-HT):
            * 1.0 Mbps
            * 2.0 Mbps (short preamble supported)
            * 5.5 Mbps (short preamble supported)
            * 11.0 Mbps (short preamble supported)
            * 6.0 Mbps
            * 9.0 Mbps
            * 12.0 Mbps
            * 18.0 Mbps
            * 24.0 Mbps
            * 36.0 Mbps
            * 48.0 Mbps
            * 54.0 Mbps
        Frequencies:
            * 2412 MHz [1] (20.0 dBm)
            * 2417 MHz [2] (20.0 dBm)
            * 2422 MHz [3] (20.0 dBm)
            * 2427 MHz [4] (20.0 dBm)
            * 2432 MHz [5] (20.0 dBm)
            * 2437 MHz [6] (20.0 dBm)
            * 2442 MHz [7] (20.0 dBm)
            * 2447 MHz [8] (20.0 dBm)
            * 2452 MHz [9] (20.0 dBm)
            * 2457 MHz [10] (20.0 dBm)
            * 2462 MHz [11] (20.0 dBm)
            * 2467 MHz [12] (disabled)
            * 2472 MHz [13] (disabled)
            * 2484 MHz [14] (disabled)
    Band 2:
        Capabilities: 0x1062
            HT20/HT40
            Static SM Power Save
            RX HT20 SGI
            RX HT40 SGI
            No RX STBC
            Max AMSDU length: 3839 bytes
            DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: 16 usec (0x07)
        HT TX/RX MCS rate indexes supported: 0-7
        VHT Capabilities (0x00001020):
            Max MPDU length: 3895
            Supported Channel Width: neither 160 nor 80+80
            short GI (80 MHz)
            SU Beamformee
        VHT RX MCS set:
            1 streams: MCS 0-9
            2 streams: not supported
            3 streams: not supported
            4 streams: not supported
            5 streams: not supported
            6 streams: not supported
            7 streams: not supported
            8 streams: not supported
        VHT RX highest supported: 0 Mbps
        VHT TX MCS set:
            1 streams: MCS 0-9
            2 streams: not supported
            3 streams: not supported
            4 streams: not supported
            5 streams: not supported
            6 streams: not supported
            7 streams: not supported
            8 streams: not supported
        VHT TX highest supported: 0 Mbps
        Bitrates (non-HT):
            * 6.0 Mbps
            * 9.0 Mbps
            * 12.0 Mbps
            * 18.0 Mbps
            * 24.0 Mbps
            * 36.0 Mbps
            * 48.0 Mbps
            * 54.0 Mbps
        Frequencies:
            * 5170 MHz [34] (disabled)
            * 5180 MHz [36] (20.0 dBm)
            * 5190 MHz [38] (disabled)
            * 5200 MHz [40] (20.0 dBm)
            * 5210 MHz [42] (disabled)
            * 5220 MHz [44] (20.0 dBm)
            * 5230 MHz [46] (disabled)
            * 5240 MHz [48] (20.0 dBm)
            * 5260 MHz [52] (20.0 dBm) (no IR, radar detection)
            * 5280 MHz [56] (20.0 dBm) (no IR, radar detection)
            * 5300 MHz [60] (20.0 dBm) (no IR, radar detection)
            * 5320 MHz [64] (20.0 dBm) (no IR, radar detection)
            * 5500 MHz [100] (20.0 dBm) (no IR, radar detection)
            * 5520 MHz [104] (20.0 dBm) (no IR, radar detection)
            * 5540 MHz [108] (20.0 dBm) (no IR, radar detection)
            * 5560 MHz [112] (20.0 dBm) (no IR, radar detection)
            * 5580 MHz [116] (20.0 dBm) (no IR, radar detection)
            * 5600 MHz [120] (20.0 dBm) (no IR, radar detection)
            * 5620 MHz [124] (20.0 dBm) (no IR, radar detection)
            * 5640 MHz [128] (20.0 dBm) (no IR, radar detection)
            * 5660 MHz [132] (20.0 dBm) (no IR, radar detection)
            * 5680 MHz [136] (20.0 dBm) (no IR, radar detection)
            * 5700 MHz [140] (20.0 dBm) (no IR, radar detection)
            * 5720 MHz [144] (20.0 dBm) (no IR, radar detection)
            * 5745 MHz [149] (20.0 dBm)
            * 5765 MHz [153] (20.0 dBm)
            * 5785 MHz [157] (20.0 dBm)
            * 5805 MHz [161] (20.0 dBm)
            * 5825 MHz [165] (20.0 dBm)
    Supported commands:
         * new_interface
         * set_interface
         * new_key
         * start_ap
         * join_ibss
         * set_pmksa
         * del_pmksa
         * flush_pmksa
         * remain_on_channel
         * frame
         * set_wiphy_netns
         * set_channel
         * tdls_oper
         * start_sched_scan
         * start_p2p_device
         * connect
         * disconnect
         * crit_protocol_start
         * crit_protocol_stop
    Supported TX frame types:
         * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
         * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
    Supported RX frame types:
         * managed: 0x40 0xd0
         * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * P2P-client: 0x40 0xd0
         * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
         * P2P-device: 0x40 0xd0
    software interface modes (can always be added):
    valid interface combinations:
         * #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1,
           total <= 3, #channels <= 2
         * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1,
           total <= 4, #channels <= 1
    Device supports scan flush.
    Device supports randomizing MAC-addr in sched scans.
    Supported extended features:
1 Like

Your device seems capable. It can run one client (managed) and one Master (AP) simultaneously. In addition, the AP and Client must be on the same channel.

Here is my output from iw list. I assume I should also be able to run 1 AP and 1 STA on the same built-in wifi adapter of my RPI3+?

valid interface combinations:
		 * #{ managed } <= 1, #{ P2P-device } <= 1, #{ P2P-client, P2P-GO } <= 1,
		   total <= 3, #channels <= 2
		 * #{ managed } <= 1, #{ AP } <= 1, #{ P2P-client } <= 1, #{ P2P-device } <= 1,
		   total <= 4, #channels <= 1

I am trying to use the travelmate package and what happens is that as soon as I enable the AP the client gets disassociated. Then reconnects, then drops again although both are set to the very same channel.

This is what the logs are saying:

[ 2058.724889] ieee80211 phy0: brcmf_link_down: WLC_DISASSOC failed (-52)
[ 2059.290992] br-lan: port 2(wlan0-1) entered disabled state
[ 2059.420122] ieee80211 phy0: brcmf_link_down: WLC_DISASSOC failed (-52)
[ 2059.522393] br-lan: port 2(wlan0-1) entered blocking state
[ 2059.530246] br-lan: port 2(wlan0-1) entered forwarding state
[ 2060.158924] ieee80211 phy0: brcmf_link_down: WLC_DISASSOC failed (-52)
[ 2060.731103] br-lan: port 2(wlan0-1) entered disabled state
[ 2060.860348] ieee80211 phy0: brcmf_link_down: WLC_DISASSOC failed (-52)
[ 2060.965919] br-lan: port 2(wlan0-1) entered blocking state
[ 2060.973826] br-lan: port 2(wlan0-1) entered forwarding state
[ 2061.593558] ieee80211 phy0: brcmf_link_down: WLC_DISASSOC failed (-52)
[ 2062.904239] ieee80211 phy0: brcmf_link_down: WLC_DISASSOC failed (-52)
[ 2063.470335] br-lan: port 2(wlan0-1) entered disabled state
[ 2063.640724] ieee80211 phy0: brcmf_link_down: WLC_DISASSOC failed (-52)
[ 2063.743858] br-lan: port 2(wlan0-1) entered blocking state
[ 2063.751547] br-lan: port 2(wlan0-1) entered forwarding state
[ 2064.220475] device wlan0-1 left promiscuous mode
[ 2064.228164] br-lan: port 2(wlan0-1) entered disabled state
[ 2064.289660] ieee80211 phy0: brcmf_run_escan: error (-512)
[ 2064.297256] ieee80211 phy0: brcmf_cfg80211_scan: scan error (-512)
[ 2064.305781] ieee80211 phy0: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
[ 2064.310116] ieee80211 phy0: brcmf_fweh_event_worker: event handler failed (69)
[ 2064.314324] ieee80211 phy0: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
[ 2064.318346] ieee80211 phy0: brcmf_fweh_event_worker: event handler failed (69)
[ 2064.322315] ieee80211 phy0: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
[ 2064.326335] ieee80211 phy0: brcmf_fweh_event_worker: event handler failed (69)

Any advice on using an RPI3+ as a wifi extender? Is there a working solution?

1 Like