This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

WL183x: can't enable 40MHz channel width

Hello!

~ # wlconf -b /usr/share/wlconf/struct.bin -i /lib/firmware/ti-connectivity/wl18xx-conf.bin -g
................
core.recovery.no_recovery = 0x00
wl18xx.ht.mode = 0x01
wl18xx.phy.phy_standalone = 0x00

~ # /etc/init.d/network.sh start
[  153.118953] fec 2188000.ethernet eth0: Freescale FEC PHY driver [Micrel KSZ9)
[  153.585037] wlcore: PHY firmware version: Rev 8.2.0.0.236
[  153.779677] wlcore: firmware booted (Rev 8.9.0.0.69)
[  153.808253] device eth0 entered promiscuous mode
[  153.817041] device wlan0 entered promiscuous mode
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd.conf
ctrl_interface_group=0
eapol_version=1
[  153.852946] wlcore: down
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: Supported cipher 00-0f-ac:2
nl80211: Supported cipher 00-0f-ac:4
nl80211: Supported cipher 00-14-72:1
nl80211: Supports Probe Response offload in AP mode
nl80211: Using driver-based off-channel TX
nl80211: Driver-advertised extended capabilities (default) - hexdump(len=8): 040
nl80211: Driver-advertised extended capabilities mask (default) - hexdump(len=80
nl80211: Supported vendor command: vendor_id=0x80028 subcmd=0
nl80211: Supported vendor command: vendor_id=0x80028 subcmd=1
nl80211: Supported vendor command: vendor_id=0x80028 subcmd=2
nl80211: Supported vendor event: vendor_id=0x80028 subcmd=0
nl80211: Supported vendor event: vendor_id=0x80028 subcmd=1
nl80211: Use separate P2P group interface (driver advertised support)
nl80211: Enable multi-channel concurrent (driver advertised support)
nl80211: interface wlan0 in phy phy0
nl80211: Set mode ifindex 3 iftype 3 (AP)
nl80211: Setup AP(wlan0) - device_ap_sme=0 use_monitor=0
nl80211: Subscribe to mgmt frames with AP handle 0xba93b8
nl80211: Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) nl_handle=0xba93b8 match=
nl80211: Register frame type=0x0 (WLAN_FC_STYPE_ASSOC_REQ) nl_handle=0xba93b8 m=
nl80211: Register frame type=0x20 (WLAN_FC_STYPE_REASSOC_REQ) nl_handle=0xba93b=
nl80211: Register frame type=0xa0 (WLAN_FC_STYPE_DISASSOC) nl_handle=0xba93b8 m=
nl80211: Register frame type=0xc0 (WLAN_FC_STYPE_DEAUTH) nl_handle=0xba93b8 mat=
nl80211: Register frame type=0x40 (WLAN_FC_STYPE_PROBE_REQ) nl_handle=0xba93b8 =
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 mat4
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 mat1
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 mat4
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 mat6
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 mat8
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 mat9
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 mata
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 mat1
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xba93b8 matf
rfkill: initial event: idx=0 type=1 op=0 soft=0 hard=0
nl80211: Interface wlan0 is in bridge br0
nl80211: Add own interface ifindex 5 (ifidx_reason 3)
nl80211: if_indices[16]: 5(3)
nl80211: Add own interface ifindex 3 (ifidx_reason -1)
nl80211: if_indices[16]: 5(3) 3(-1)
phy: phy0
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
Previous country code RU, new country code RU
nl80211: Regulatory information - country=RU (DFS-ETSI)
nl80211: 2402-2482 @ 40 MHz 20 mBm
nl80211: 5170-5250 @ 80 MHz 20 mBm
nl80211: 5250-5330 @ 80 MHz 20 mBm (DFS)
nl80211: 5650-5730 @ 80 MHz 30 mBm (DFS)
nl80211: 5735-5835 @ 80 MHz 30 mBm
nl80211: 57000-66000 @ 2160 MHz 40 mBm
nl80211: Added 802.11b mode based on 802.11g information
Allowed channel: mode=1 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=11 freq=2462 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=12 freq=2467 MHz max_tx_power=20 dBm
Allowed channel: mode=1 chan=13 freq=2472 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=36 freq=5180 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=38 freq=5190 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=40 freq=5200 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=42 freq=5210 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=44 freq=5220 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=46 freq=5230 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=48 freq=5240 MHz max_tx_power=20 dBm
Allowed channel: mode=2 chan=149 freq=5745 MHz max_tx_power=30 dBm
Allowed channel: mode=2 chan=153 freq=5765 MHz max_tx_power=30 dBm
Allowed channel: mode=2 chan=157 freq=5785 MHz max_tx_power=30 dBm
Allowed channel: mode=2 chan=161 freq=5805 MHz max_tx_power=30 dBm
Allowed channel: mode=2 chan=165 freq=5825 MHz max_tx_power=30 dBm
Allowed channel: mode=0 chan=1 freq=2412 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=2 freq=2417 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=3 freq=2422 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=4 freq=2427 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=5 freq=2432 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=6 freq=2437 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=7 freq=2442 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=8 freq=2447 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=9 freq=2452 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=10 freq=2457 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=11 freq=2462 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=12 freq=2467 MHz max_tx_power=20 dBm
Allowed channel: mode=0 chan=13 freq=2472 MHz max_tx_power=20 dBm
hw vht capab: 0x0, conf vht capab: 0x0
wlan0: interface state COUNTRY_UPDATE->HT_SCAN
Scan for neighboring BSSes prior to enabling 40 MHz channel
40 MHz affected channel range: [2412,2492] MHz
wlan0: nl80211: scan request
nl80211: Passive scan requested
nl80211: Scan frequency 2412 MHz
nl80211: Scan frequency 2417 MHz
nl80211: Scan frequency 2422 MHz
nl80211: Scan frequency 2427 MHz
nl80211: Scan frequency 2432 MHz
nl80211: Scan frequency 2437 MHz
nl80211: Scan frequency 2442 MHz
nl80211: Scan frequency 2447 MHz
nl80211: Scan frequency 2452 MHz
nl80211: Scan frequency 2457 MHz
nl80211: Scan frequency 2462 MHz
nl80211: Scan frequency 2467 MHz
nl80211: Scan frequency 2472 MHz
Scan requested (ret=0) - scan timeout 10 seconds
Interface initialization will be completed in a callback
ctrl_iface not configured!

~ # iw dev wlan0 info
Interface wlan0
        ifindex 3
        wdev 0x1
        addr 54:4a:16:12:d0:64
        ssid STC-MT_TestWLAN
        type AP
        wiphy 0
        channel 11 (2462 MHz), width: 20 MHz, center1: 2462 MHz

~ # cat /etc/hostapd.conf
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
country_code=RU
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
ieee80211n=1
ieee80211ac=1
eapol_version=1
wpa=3
wpa_key_mgmt=WPA-PSK WPA-EAP
wpa_pairwise=TKIP CCMP
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
bridge=br0
ssid=STC-MT_TestWLAN
channel=11
wpa_passphrase=RnD777777
hw_mode=g

Information about system:

~ # cat /proc/version
Linux version 4.1.15+ (root@ee719119bb37) (gcc version 5.2.0 (GCC) )

~ # dmesg
............
[    3.159244] wlcore: PHY firmware version: Rev 8.2.0.0.236
[    3.269685] wlcore: firmware booted (Rev 8.9.0.0.69)
[    3.296673] device eth0 entered promiscuous mode
[    3.305321] device wlan0 entered promiscuous mode
[    3.342680] wlcore: down
[    3.466085] cfg80211: Regulatory domain changed to country: RU
[    3.471961] cfg80211:  DFS Master region: ETSI
[    3.476277] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_ga)
[    3.486082] cfg80211:   (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 )
[    3.494100] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz A)
[    3.503607] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz A)
[    3.513123] cfg80211:   (5650000 KHz - 5730000 KHz @ 80000 KHz), (N/A, 3000 )
[    3.521153] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 )
[    3.529184] cfg80211:   (57000000 KHz - 66000000 KHz @ 2160000 KHz), (N/A, 4)
[    3.595261] random: hostapd urandom read with 38 bits of entropy available

~ # hostapd -v
hostapd v2.6-devel-hostap_2_5-1449-gf5728d0
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2016, Jouni Malinen <j@w1.fi> and contributors

Why hostapd return hw vht capab: 0x0, conf vht capab: 0x0 if firmware contained wl18xx.ht.mode = 0x01 and hostapd.conf contained ieee80211n=1 and ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]?

How can I enable 40MHz channel width?
Thank you and excuse my bad english.

  • Your query has been assigned.
    Please expect a follow up response later on.
    BR,
    Eyal

  • hi , Wilink8 doesn't support 40MHz channel in 2.4GHz band in AP role. It is only supported in station role.
    It does support 40MHz channel in 5GHz band in AP/sta role.
    Saurabh
  • 5GHz with 40MHz channel width

    ~ # cat /etc/hostapd.conf
    interface=wlan0
    driver=nl80211
    ctrl_interface=/var/run/hostapd
    ctrl_interface_group=0
    macaddr_acl=0
    auth_algs=3
    ignore_broadcast_ssid=0
    ieee80211n=1
    ieee80211ac=1
    eapol_version=1
    wpa=3
    wpa_key_mgmt=WPA-PSK WPA-EAP
    wpa_pairwise=TKIP CCMP
    ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]

    bridge=br0
    ssid=STC-MT_TestWLAN
    channel=40
    wpa_passphrase=RnD777777
    hw_mode=a
    country_code=RU

    ~ # iw dev wlan0 info
    Interface wlan0
    ifindex 3
    wdev 0x1
    addr 54:4a:16:12:c6:ba
    ssid STC-MT_TestWLAN
    type AP
    wiphy 0
    channel 40 (5200 MHz), width: 40 MHz, center1: 5190 MHz

    ~ # iperf3 -c 192.168.2.13 -u -b 0
    Connecting to host 192.168.2.13, port 5201
    [ 4] local 192.168.2.3 port 42768 connected to 192.168.2.13 port 5201
    [ ID] Interval Transfer Bandwidth Total Datagrams
    [ 4] 0.00-1.01 sec 3.36 MBytes 27.8 Mbits/sec 430
    [ 4] 1.01-2.02 sec 3.28 MBytes 27.5 Mbits/sec 420
    [ 4] 2.02-3.01 sec 3.20 MBytes 27.0 Mbits/sec 410
    [ 4] 3.01-4.02 sec 3.28 MBytes 27.4 Mbits/sec 420
    [ 4] 4.02-5.01 sec 3.20 MBytes 27.1 Mbits/sec 410
    [ 4] 5.01-6.01 sec 3.28 MBytes 27.4 Mbits/sec 420
    [ 4] 6.01-7.01 sec 3.20 MBytes 27.0 Mbits/sec 410
    [ 4] 7.01-8.00 sec 3.20 MBytes 27.0 Mbits/sec 410
    [ 4] 8.00-9.02 sec 3.28 MBytes 27.1 Mbits/sec 420
    [ 4] 9.02-10.00 sec 3.12 MBytes 26.6 Mbits/sec 400
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
    [ 4] 0.00-10.00 sec 32.4 MBytes 27.2 Mbits/sec 3.738 ms 0/4150 (0%)
    [ 4] Sent 4150 datagrams

    5GHz with 20MHz channel width

    ~ # cat /etc/hostapd.conf
    interface=wlan0
    driver=nl80211
    ctrl_interface=/var/run/hostapd
    ctrl_interface_group=0
    macaddr_acl=0
    auth_algs=3
    ignore_broadcast_ssid=0
    ieee80211n=1
    ieee80211ac=1
    eapol_version=1
    wpa=3
    wpa_key_mgmt=WPA-PSK WPA-EAP
    wpa_pairwise=TKIP CCMP
    #ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]

    bridge=br0
    ssid=STC-MT_TestWLAN
    channel=40
    wpa_passphrase=RnD777777
    hw_mode=a
    country_code=RU

    ~ # iw dev wlan0 info
    Interface wlan0
    ifindex 3
    wdev 0x1
    addr 54:4a:16:12:c6:ba
    ssid STC-MT_TestWLAN
    type AP
    wiphy 0
    channel 40 (5200 MHz), width: 20 MHz, center1: 5200 MHz

    ~ # iperf3 -c 192.168.2.13 -u -b 0
    Connecting to host 192.168.2.13, port 5201
    [ 4] local 192.168.2.3 port 50158 connected to 192.168.2.13 port 5201
    [ ID] Interval Transfer Bandwidth Total Datagrams
    [ 4] 0.00-1.00 sec 3.36 MBytes 28.1 Mbits/sec 430
    [ 4] 1.00-2.00 sec 3.28 MBytes 27.5 Mbits/sec 420
    [ 4] 2.00-3.01 sec 3.28 MBytes 27.5 Mbits/sec 420
    [ 4] 3.01-4.01 sec 3.28 MBytes 27.3 Mbits/sec 420
    [ 4] 4.01-5.01 sec 3.28 MBytes 27.5 Mbits/sec 420
    [ 4] 5.01-6.01 sec 3.28 MBytes 27.6 Mbits/sec 420
    [ 4] 6.01-7.01 sec 3.28 MBytes 27.6 Mbits/sec 420
    [ 4] 7.01-8.00 sec 3.28 MBytes 27.7 Mbits/sec 420
    [ 4] 8.00-9.02 sec 3.36 MBytes 27.9 Mbits/sec 430
    [ 4] 9.02-10.02 sec 3.28 MBytes 27.5 Mbits/sec 420
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
    [ 4] 0.00-10.02 sec 33.0 MBytes 27.6 Mbits/sec 3.765 ms 0/4220 (0%)
    [ 4] Sent 4220 datagrams

    Why speed not increase on 40MHz width channel?