80211ac issue with AW-CM276NF sd8997

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

80211ac issue with AW-CM276NF sd8997

715 Views
frankpuppa
Contributor I

Hi,

I'm having an issue with the following the device AW-CM276NF installed on a iMX8MN som. Basically I'm trying to enable the 80211ac with high throughput in hostapd as part of an experiment. Hostapd can start fine and the width of the channel shows 80MHz:

iw dev
phy#0
	Interface wlan0
		ifindex 4
		wdev 0x1
		addr ec:2e:98:87:34:69
		ssid WIFITEST
		type AP
		channel 36 (5180 MHz), width: 80 MHz, center1: 5210 MHz


According to the specs in the datasheet, this device should have this datarates capabilities:

802.11b: 1, 2, 5.5, 11Mbps
802.11a/g: 6, 9, 12, 18, 24, 36, 48, 54Mbps
802.11n: up to 150Mbps-single802.11n: up to 300Mbps-2x2 MIMO
802.11ac:up to 192.6Mbps (20MHz channel)
802.11ac:up to 400Mbps (40MHz channel)
802.11ac:up to 866.7Mbps (80MHz channel)

hostapd is compiled with support for the 80211ac:

# IEEE 802.11n (High Throughput) support
CONFIG_IEEE80211N=y

# IEEE 802.11ac (Very High Throughput) support
CONFIG_IEEE80211AC=y

here is an example of the config file hostapd.conf:

interface=wlan0
country_code=US ssid=WIFITEST wpa_passphrase=12345678 ctrl_interface=/var/run/hostapd
logger_stdout=-1
logger_stdout_level=0

driver=nl80211
hw_mode=a
ht_capab=[HT40+]
ieee80211ac=1
require_ht=1
ieee80211n=1
require_vht=1
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42

I'm attaching the output of iw list:

iw list
Wiphy mwiphy0
	max # scan SSIDs: 10
	max scan IEs length: 256 bytes
	max # sched scan SSIDs: 10
	max # match sets: 10
	max # scan plans: 3
	max scan plan interval: -1
	max scan plan iterations: 100
	Fragmentation threshold: 0
	RTS threshold: 0
	Retry short long limit: 7
	Coverage class: 0 (up to 0m)
	Device supports AP-side u-APSD.
	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)
		* WPI-SMS4 (00-14-72:1)
		* CMAC (00-0f-ac:6)
		* GMAC-256 (00-0f-ac:12)
		* GCMP-128 (00-0f-ac:8)
		* GCMP-256 (00-0f-ac:9)
		* CCMP-256 (00-0f-ac:10)
	Available Antennas: TX 0x3 RX 0x3
	Configured Antennas: TX 0x1 RX 0x1
	Supported interface modes:
		 * managed
		 * AP
		 * monitor
		 * P2P-client
		 * P2P-GO
	Band 1:
		Capabilities: 0x17ff
			RX LDPC
			HT20/HT40
			SM Power Save disabled
			RX Greenfield
			RX HT20 SGI
			RX HT40 SGI
			TX STBC
			RX STBC 3-streams
			HT Delayed Block Ack
			Max AMSDU length: 3839 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: No restriction (0x00)
		HT TX/RX MCS rate indexes supported: 0-15, 32
		Bitrates (non-HT):
			* 1.0 Mbps
			* 2.0 Mbps
			* 5.5 Mbps
			* 11.0 Mbps
			* 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: 0x17ff
			RX LDPC
			HT20/HT40
			SM Power Save disabled
			RX Greenfield
			RX HT20 SGI
			RX HT40 SGI
			TX STBC
			RX STBC 3-streams
			HT Delayed Block Ack
			Max AMSDU length: 3839 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: No restriction (0x00)
		HT TX/RX MCS rate indexes supported: 0-15, 32
		VHT Capabilities (0x339001b0):
			Max MPDU length: 3895
			Supported Channel Width: neither 160 nor 80+80
			RX LDPC
			short GI (80 MHz)
			TX STBC
			MU Beamformee
			RX antenna pattern consistency
			TX antenna pattern consistency
		VHT RX MCS set:
			1 streams: not supported
			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: 390 Mbps
		VHT TX MCS set:
			1 streams: MCS 0-9
			2 streams: MCS 0-9
			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: 780 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:
			* 5180 MHz [36] (20.0 dBm)
			* 5200 MHz [40] (20.0 dBm)
			* 5220 MHz [44] (20.0 dBm)
			* 5240 MHz [48] (20.0 dBm)
			* 5260 MHz [52] (20.0 dBm) (radar detection)
			* 5280 MHz [56] (20.0 dBm) (radar detection)
			* 5300 MHz [60] (20.0 dBm) (radar detection)
			* 5320 MHz [64] (20.0 dBm) (radar detection)
			* 5500 MHz [100] (20.0 dBm) (radar detection)
			* 5520 MHz [104] (20.0 dBm) (radar detection)
			* 5540 MHz [108] (20.0 dBm) (radar detection)
			* 5560 MHz [112] (20.0 dBm) (radar detection)
			* 5580 MHz [116] (20.0 dBm) (radar detection)
			* 5600 MHz [120] (20.0 dBm) (radar detection)
			* 5620 MHz [124] (20.0 dBm) (radar detection)
			* 5640 MHz [128] (20.0 dBm) (radar detection)
			* 5660 MHz [132] (20.0 dBm) (radar detection)
			* 5680 MHz [136] (20.0 dBm) (radar detection)
			* 5700 MHz [140] (20.0 dBm) (radar detection)
			* 5720 MHz [144] (20.0 dBm) (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
		 * new_station
		 * set_bss
		 * deauthenticate
		 * disassociate
		 * set_pmksa
		 * del_pmksa
		 * flush_pmksa
		 * remain_on_channel
		 * set_tx_bitrate_mask
		 * frame
		 * frame_wait_cancel
		 * set_wiphy_netns
		 * set_channel
		 * tdls_mgmt
		 * tdls_oper
		 * start_sched_scan
		 * connect
		 * disconnect
		 * channel_switch
		 * set_qos_map
		 * update_ft_ies
	Supported TX frame types:
		 * managed: 0x50 0xd0
		 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * P2P-client: 0x50 0xd0
		 * P2P-GO: 0x10 0x30 0x50 0xb0 0xd0
	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
	WoWLAN support:
		 * wake up on anything (device continues operating normally)
		 * wake up on magic packet
		 * wake up on pattern match, up to 10 patterns of 1-20 bytes,
		   maximum packet offset 50 bytes
		 * can do GTK rekeying
		 * wake up on GTK rekey failure
	software interface modes (can always be added):
	valid interface combinations:
		 * #{ managed, AP, monitor, P2P-client, P2P-GO } <= 4,
		   total <= 4, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz }

	Device has client inactivity timer.
	Device supports scan flush.
	Userspace should do OBSS scan and generate 20/40 coex reports
	Device supports TDLS channel switching
	Device supports randomizing MAC-addr in scans.
	Device supports randomizing MAC-addr in sched scans.
	Coalesce support:
		 * Maximum 8 coalesce rules supported
		 * Each rule contains upto 4 patterns of 1-20 bytes,
		   maximum packet offset 100 bytes
		 * Maximum supported coalescing delay 100 msecs
	Supported extended features:
		* [ SET_SCAN_DWELL ]: scan dwell setting

 

The firmware in use is the: nxp/sdsd8997_combo_v4.bin exactly the same as (mrvl/sdsd8997_combo_v4.bin)

The device-tree configuration looks as such:

&usdhc1 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_wlan>;
	pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_wlan>;
	pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_wlan>;
	bus-width = <4>;
	non-removable;
	vmmc-supply = <&reg_wifi_ac_en>;
	status = "okay";

	#address-cells = <1>;
        #size-cells = <0>;

        sd8xxx-wlan {
                 //drvdbg = <0x37>;
                 drv_mode = <0x2>;
                 cfg80211_wext = <0xf>;
                 //uap_name = "wlan"; not loaded from dts, must be specified as module parameter
                 max_vir_bss = <1>;
                 cal_data_cfg = "nxp/cal_data.conf";
                 fw_name = "nxp/sdsd8997_combo_v4.bin";
                 reg_alpha2 = "US";
                 p2p_enh = <1>;
                 auto_ds = <0>;
                 inact_tmo = <3000>;
                 gtk_rekey_offload = <1>;
                 cfg80211_drcs = <0>;
                 antcfg = <0x11>;
        };

The issue is that most of the clients cannot connect to the AP even though they support the 80211ac. I can see that they can connect for a while and even get a DHCP offer but after a short time they disconnect and in dmesg I see the following:

dnsmasq:

Mar 9 13:30:14 dnsmasq-dhcp[455]: DHCPDISCOVER(wlan0) 10.0.1.62 54:ef:33:fb:f7:e5 Mar 9 13:30:14 dnsmasq-dhcp[455]: DHCPOFFER(wlan0) 10.0.1.62 54:ef:33:fb:f7:e5

hostapd logs:

hostapd /etc/hostapd.conf
rfkill: Cannot open RFKILL control device
wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
wlan0: interface state COUNTRY_UPDATE->HT_SCAN
wlan0: interface state HT_SCAN->ENABLED
wlan0: AP-ENABLED 
wlan0: STA 54:ef:33:fb:f7:e5 IEEE 802.11: associated
wlan0: AP-STA-CONNECTED 54:ef:33:fb:f7:e5
wlan0: STA 54:ef:33:fb:f7:e5 IEEE 802.11: disassociated
wlan0: AP-STA-DISCONNECTED 54:ef:33:fb:f7:e5

dmesg issue:

[11442.950584] wlan: Starting AP
[11442.951401] Get ht_cap from beacon ies: 0xe
[11442.951597] Get vht_cap from beacon ies: 0x0
[11442.964272] wlan: AP started
[11442.967163] Set AC=3, txop=47 cwmin=3, cwmax=7 aifs=1
[11442.969300] Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1
[11442.972104] Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3
[11442.977102] Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7
[11474.872685] wlan: EVENT: MICRO_AP_STA_ASSOC 54:XX:XX:XX:f7:e5
[11520.418729] wlan: EVENT: MICRO_AP_STA_DEAUTH 54:XX:XX:XX:f7:e5
[11520.419438] wlan: deauth station 54:XX:XX:XX:f7:e5
[11520.425281] CMD_RESP: cmd 0xb5 error, result=0x1
[11520.430052] IOCTL failed: 000000005ad4fa5d id=0x20000, sub_id=0x2000d action=1, status_code=0x1

I'm not sure if this depends on client as some other clients seem to connect even though there is the issue in dmesg (mobile phones especially), but my linux laptop cannot connect at all. I also tried using another laptop with a dongle capable of doing 80211ac, but no luck.

 

With the 80211n and a 40MHz channel it works fine for all devices and I can reach a datarate of 120Mbps. Here is the correct dmesg output:

[11853.464190] wlan: Starting AP
[11853.465632] Get ht_cap from beacon ies: 0xe
[11853.479049] wlan: AP started
[11853.485565] Set AC=3, txop=47 cwmin=3, cwmax=7 aifs=1
[11853.487616] Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1
[11853.489762] Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3
[11853.491811] Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7
[11866.337368] wlan: EVENT: MICRO_AP_STA_ASSOC 54:XX:XX:XX:f7:e5

 Do you have any suggestions? Am I missing anything here?

Thank you!

0 Kudos
Reply
0 Replies