Hi,
I’ve successfully compiled and loaded the module from this repository on my Orange Pi Zero 3 (kernel 6.12.47-current-sunxi64).
The wireless interface works fine in general, but hostapd fails to start in HT40 mode (802.11n 40 MHz channel width).
Configuration
interface=wlx54c9df9dca18
bridge=br0
driver=nl80211
ssid=OPI3-2G
hw_mode=g
channel=11
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
wmm_enabled=1
country_code=CN
ieee80211d=1
Log excerpt
wlx54c9df9dca18: interface state COUNTRY_UPDATE->HT_SCAN
Scan for neighboring BSSes prior to enabling 40 MHz channel
40 MHz affected channel range: [2412,2492] MHz
[1] segmentation fault hostapd -dd /etc/hostapd/hostapd-wlx.conf
Notes
The driver works with 20 MHz (HT20) mode normally.
When enabling HT40+ or HT40-, hostapd immediately crashes with segmentation fault.
Tested on kernel 6.12.47 and hostapd 2.10.
Looks like the driver doesn’t fully support 40 MHz channel bandwidth (HT40), or it might cause memory access error when scanning.
Could you please check if HT40 support is implemented or if there’s a missing patch for hostapd compatibility?
Thanks!
orangepizero3:~:# hostapd -dd /etc/hostapd/hostapd-wlx.conf
random: getrandom() support available
Configuration file: /etc/hostapd/hostapd-wlx.conf
ctrl_interface_group=0
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 vendor command: vendor_id=0x1a11 subcmd=4608
nl80211: Supported vendor command: vendor_id=0x1a11 subcmd=4609
nl80211: Supported vendor command: vendor_id=0x1a11 subcmd=4610
nl80211: Supported vendor command: vendor_id=0x1a11 subcmd=4106
nl80211: Supported vendor command: vendor_id=0x1a11 subcmd=4107
nl80211: key_mgmt=0xd0f enc=0xf auth=0x7 flags=0x80058c0 rrm_flags=0x0 probe_resp_offloads=0x0 max_stations=0 max_remain_on_chan=5000 max_scan_ssids=9
nl80211: interface wlx54c9df9dca18 in phy phy1
nl80211: Set mode ifindex 7 iftype 3 (AP)
nl80211: Setup AP(wlx54c9df9dca18) - device_ap_sme=1 use_monitor=0
nl80211: Subscribe to mgmt frames with AP handle 0xaaaae3ac01e0 (device SME)
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=04 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=0501 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=0503 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=0504 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=06 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=08 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=09 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=0a multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=11 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=12 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=7f multicast=0
nl80211: Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) nl_handle=0xaaaae3ac01e0 match= multicast=0
nl80211: Enable Probe Request reporting nl_preq=0xaaaae3ac2180
nl80211: Register frame type=0x40 (WLAN_FC_STYPE_PROBE_REQ) nl_handle=0xaaaae3ac2180 match= multicast=0
rfkill: initial event: idx=3 type=1 op=0 soft=0 hard=0
nl80211: Add own interface ifindex 5 (ifidx_reason 7)
nl80211: if_indices[16]: 5(7)
nl80211: Add own interface ifindex 7 (ifidx_reason -1)
nl80211: if_indices[16]: 5(7) 7(-1)
nl80211: Adding interface wlx54c9df9dca18 into bridge br0
phy: phy1
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
wlx54c9df9dca18: interface state UNINITIALIZED->COUNTRY_UPDATE
Previous country code 00, new country code CN
Continue interface setup after channel list update
ctrl_iface not configured!
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 operstate=6 linkmode=0 ifi_family=0 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 operstate=6 linkmode=0 master=5 ifi_family=0 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 operstate=6 linkmode=0 master=5 ifi_family=0 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 master=5 operstate=6 ifi_family=7 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
nl80211: Add ifindex 5 for bridge br0
nl80211: Add own interface ifindex 5 (ifidx_reason 7)
nl80211: ifindex 5 already in the list
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 master=5 operstate=6 ifi_family=7 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
nl80211: Add ifindex 5 for bridge br0
nl80211: Add own interface ifindex 5 (ifidx_reason 7)
nl80211: ifindex 5 already in the list
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 master=5 operstate=6 ifi_family=7 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
nl80211: Add ifindex 5 for bridge br0
nl80211: Add own interface ifindex 5 (ifidx_reason 7)
nl80211: ifindex 5 already in the list
nl80211: Event message available
nl80211: Drv Event 36 (NL80211_CMD_REG_CHANGE) received for wlx54c9df9dca18
nl80211: Regulatory domain change
- initiator=1
- type=0
- alpha2=CN
wlx54c9df9dca18: Event CHANNEL_LIST_CHANGED (27) received
Channel list updated - continue setup
nl80211: Regulatory information - country=CN (DFS-FCC)
nl80211: 2400-2483 @ 40 MHz 20 mBm
nl80211: 5150-5350 @ 80 MHz 20 mBm (DFS)
nl80211: 5725-5850 @ 80 MHz 33 mBm
nl80211: 57240-59400 @ 2160 MHz 28 mBm
nl80211: 59400-63720 @ 2160 MHz 44 mBm
nl80211: 63720-65880 @ 2160 MHz 28 mBm
nl80211: Added 802.11b mode based on 802.11g information
nl80211: Mode IEEE 802.11g: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467[NO_IR] 2472[NO_IR] 2484[DISABLED]
nl80211: Mode IEEE 802.11b: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467[NO_IR] 2472[NO_IR] 2484[DISABLED]
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=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
wlx54c9df9dca18: interface state COUNTRY_UPDATE->HT_SCAN
Scan for neighboring BSSes prior to enabling 40 MHz channel
40 MHz affected channel range: [2412,2492] MHz
wlx54c9df9dca18: 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
[1] 2546 segmentation fault hostapd -dd /etc/hostapd/hostapd-wlx.conf
Hi,
I’ve successfully compiled and loaded the module from this repository on my Orange Pi Zero 3 (kernel 6.12.47-current-sunxi64).
The wireless interface works fine in general, but hostapd fails to start in HT40 mode (802.11n 40 MHz channel width).
Configuration
interface=wlx54c9df9dca18
bridge=br0
driver=nl80211
ssid=OPI3-2G
hw_mode=g
channel=11
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
wmm_enabled=1
country_code=CN
ieee80211d=1
Log excerpt
wlx54c9df9dca18: interface state COUNTRY_UPDATE->HT_SCAN
Scan for neighboring BSSes prior to enabling 40 MHz channel
40 MHz affected channel range: [2412,2492] MHz
[1] segmentation fault hostapd -dd /etc/hostapd/hostapd-wlx.conf
Notes
The driver works with 20 MHz (HT20) mode normally.
When enabling HT40+ or HT40-, hostapd immediately crashes with segmentation fault.
Tested on kernel 6.12.47 and hostapd 2.10.
Looks like the driver doesn’t fully support 40 MHz channel bandwidth (HT40), or it might cause memory access error when scanning.
Could you please check if HT40 support is implemented or if there’s a missing patch for hostapd compatibility?
Thanks!
orangepizero3:~:# hostapd -dd /etc/hostapd/hostapd-wlx.conf
random: getrandom() support available
Configuration file: /etc/hostapd/hostapd-wlx.conf
ctrl_interface_group=0
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 vendor command: vendor_id=0x1a11 subcmd=4608
nl80211: Supported vendor command: vendor_id=0x1a11 subcmd=4609
nl80211: Supported vendor command: vendor_id=0x1a11 subcmd=4610
nl80211: Supported vendor command: vendor_id=0x1a11 subcmd=4106
nl80211: Supported vendor command: vendor_id=0x1a11 subcmd=4107
nl80211: key_mgmt=0xd0f enc=0xf auth=0x7 flags=0x80058c0 rrm_flags=0x0 probe_resp_offloads=0x0 max_stations=0 max_remain_on_chan=5000 max_scan_ssids=9
nl80211: interface wlx54c9df9dca18 in phy phy1
nl80211: Set mode ifindex 7 iftype 3 (AP)
nl80211: Setup AP(wlx54c9df9dca18) - device_ap_sme=1 use_monitor=0
nl80211: Subscribe to mgmt frames with AP handle 0xaaaae3ac01e0 (device SME)
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=04 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=0501 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=0503 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=0504 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=06 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=08 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=09 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=0a multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=11 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=12 multicast=0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0xaaaae3ac01e0 match=7f multicast=0
nl80211: Register frame type=0xb0 (WLAN_FC_STYPE_AUTH) nl_handle=0xaaaae3ac01e0 match= multicast=0
nl80211: Enable Probe Request reporting nl_preq=0xaaaae3ac2180
nl80211: Register frame type=0x40 (WLAN_FC_STYPE_PROBE_REQ) nl_handle=0xaaaae3ac2180 match= multicast=0
rfkill: initial event: idx=3 type=1 op=0 soft=0 hard=0
nl80211: Add own interface ifindex 5 (ifidx_reason 7)
nl80211: if_indices[16]: 5(7)
nl80211: Add own interface ifindex 7 (ifidx_reason -1)
nl80211: if_indices[16]: 5(7) 7(-1)
nl80211: Adding interface wlx54c9df9dca18 into bridge br0
phy: phy1
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
wlx54c9df9dca18: interface state UNINITIALIZED->COUNTRY_UPDATE
Previous country code 00, new country code CN
Continue interface setup after channel list update
ctrl_iface not configured!
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 operstate=6 linkmode=0 ifi_family=0 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 operstate=6 linkmode=0 master=5 ifi_family=0 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 operstate=6 linkmode=0 master=5 ifi_family=0 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 master=5 operstate=6 ifi_family=7 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
nl80211: Add ifindex 5 for bridge br0
nl80211: Add own interface ifindex 5 (ifidx_reason 7)
nl80211: ifindex 5 already in the list
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 master=5 operstate=6 ifi_family=7 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
nl80211: Add ifindex 5 for bridge br0
nl80211: Add own interface ifindex 5 (ifidx_reason 7)
nl80211: ifindex 5 already in the list
RTM_NEWLINK: ifi_index=7 ifname=wlx54c9df9dca18 master=5 operstate=6 ifi_family=7 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
nl80211: Add ifindex 5 for bridge br0
nl80211: Add own interface ifindex 5 (ifidx_reason 7)
nl80211: ifindex 5 already in the list
nl80211: Event message available
nl80211: Drv Event 36 (NL80211_CMD_REG_CHANGE) received for wlx54c9df9dca18
nl80211: Regulatory domain change
wlx54c9df9dca18: Event CHANNEL_LIST_CHANGED (27) received
Channel list updated - continue setup
nl80211: Regulatory information - country=CN (DFS-FCC)
nl80211: 2400-2483 @ 40 MHz 20 mBm
nl80211: 5150-5350 @ 80 MHz 20 mBm (DFS)
nl80211: 5725-5850 @ 80 MHz 33 mBm
nl80211: 57240-59400 @ 2160 MHz 28 mBm
nl80211: 59400-63720 @ 2160 MHz 44 mBm
nl80211: 63720-65880 @ 2160 MHz 28 mBm
nl80211: Added 802.11b mode based on 802.11g information
nl80211: Mode IEEE 802.11g: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467[NO_IR] 2472[NO_IR] 2484[DISABLED]
nl80211: Mode IEEE 802.11b: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462 2467[NO_IR] 2472[NO_IR] 2484[DISABLED]
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=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
wlx54c9df9dca18: interface state COUNTRY_UPDATE->HT_SCAN
Scan for neighboring BSSes prior to enabling 40 MHz channel
40 MHz affected channel range: [2412,2492] MHz
wlx54c9df9dca18: 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
[1] 2546 segmentation fault hostapd -dd /etc/hostapd/hostapd-wlx.conf