Re: Iwd: unable to start AP with NXP 88W9098 chipset

James Prestwood
2024-01-19T17:44:53Z

Hi Joao,

On 1/19/24 6:28 AM, Joao Marcos Costa wrote:
> Hello James,
>
> On 12/22/23 16:36, Joao Marcos Costa wrote:
>> Hello James,
>>
>> Thanks for such a quick reply!
>>
>
> [...]
>
>
>> I updated it to v2.9 and indeed it works. For documentation's sake:
>>
>> This is my /etc/iwd/main.conf:
>>
>>    [General]
>>    EnableNetworkConfiguration=true
>>    Country=FR
>>    UseDefaultInterface=true
>>
>>    [Network]
>>
>>    [Scan]
>>    DisablePeriodicScan=true
>>
>> and this is my /var/lib/iwd/ap/test.ap:
>>
>>    [General]
>>    DisableHT=true
>>    Channel=10
>>
>>    [Security]
>>    Passphrase=password123
>>
>>    [IPv4]
>>    Address=192.168.250.1
>>    Gateway=192.168.250.1
>>    Netmask=255.255.255.0
>>    DNSList=8.8.8.8
>>
>
> [...]
>
>
>>> When helping  Salahaldeen in the original thread I remember that
>>> hardware being extremely flaky. It would start sometimes and not
>>> others, and if it failed once it would need a full reboot to get it
>>> working again. Even with hostapd if I used an option it didn't like
>>> it required a full reboot to get it going again.
>>>
>>> IIRC there was also some success on one of the interfaces but not
>>> the others. If you could provide some IWD debug logs too that would
>>> be great, and might as well show the hostapd configuration that
>>> works as well.
>>
>> I kept trying with muap0 interface, which worked fine.
>>
>> Just in case, here's my hostapd.conf:
>>
>>    # the interface used by the AP
>>    interface=muap0
>>    # "g" simply means 2.4GHz band
>>    hw_mode=g
>>    # the channel to use
>>    channel=10
>>    # limit the frequencies used to those allowed in the country
>>    ieee80211d=1
>>    # the country code
>>    country_code=FR
>>    # 802.11n support
>>    ieee80211n=1
>>    # QoS support, also required for full speed on 802.11n/ac/ax
>>    wmm_enabled=1
>>
>>    # the name of the AP
>>    ssid=test
>>
>>    # 1=wpa, 2=wep, 3=both
>>    auth_algs=1
>>    # WPA2 only
>>    wpa=2
>>    wpa_key_mgmt=WPA-PSK
>>    rsn_pairwise=CCMP
>>    wpa_passphrase=password123
>
>
> Would you remember if you faced performance issues with this
> hardware/driver?
>
> I'm using iwd v2.9 with the same main.conf and *.ap (except for the IP
> addresses) as before, and this is what I get with iperf3:
>
> iperf3 -c 10.0.24.1
> Connecting to host 10.0.24.1, port 5201
> [  5] local 10.0.24.102 port 46170 connected to 10.0.24.1 port 5201
> [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
> [  5]   0.00-1.00   sec   768 KBytes  6.29 Mbits/sec    0   45.2 KBytes
> [  5]   1.00-2.00   sec   512 KBytes  4.19 Mbits/sec    0   46.7 KBytes
> [  5]   2.00-3.00   sec   640 KBytes  5.24 Mbits/sec    0   49.5 KBytes
> [  5]   3.00-4.00   sec   384 KBytes  3.14 Mbits/sec    0   53.7 KBytes
> [  5]   4.00-5.00   sec   384 KBytes  3.15 Mbits/sec    0   53.7 KBytes
> [  5]   5.00-6.00   sec   512 KBytes  4.19 Mbits/sec    0   53.7 KBytes
> [  5]   6.00-7.00   sec   256 KBytes  2.10 Mbits/sec    0   53.7 KBytes
> [  5]   7.00-8.00   sec   512 KBytes  4.19 Mbits/sec    0   53.7 KBytes
> [  5]   8.00-9.00   sec   512 KBytes  4.19 Mbits/sec    0   53.7 KBytes
> [  5]   9.00-10.00  sec   768 KBytes  6.29 Mbits/sec    0   74.9 KBytes
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.00  sec  5.12 MBytes  4.30 Mbits/sec 0 sender
> [  5]   0.00-10.05  sec  4.77 MBytes  3.98 Mbits/sec
> receiver
>
> iperf Done.
>
> On the other hand, with hostapd (using the same hostapd.conf as
> before), I'm getting considerably better results:
>
> Connecting to host 192.168.0.1, port 5201
> [  5] local 192.168.0.2 port 44490 connected to 192.168.0.1 port 5201
> [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
> [  5]   0.00-1.00   sec  12.1 MBytes   102 Mbits/sec    0    447 KBytes
> [  5]   1.00-2.00   sec  9.12 MBytes  76.5 Mbits/sec    0    472 KBytes
> [  5]   2.00-3.00   sec  9.50 MBytes  79.8 Mbits/sec    0    551 KBytes
> [  5]   3.00-4.00   sec  9.75 MBytes  81.7 Mbits/sec    0    611 KBytes
> [  5]   4.00-5.00   sec  10.4 MBytes  87.0 Mbits/sec    0    626 KBytes
> [  5]   5.00-6.00   sec  10.1 MBytes  85.0 Mbits/sec    0    626 KBytes
> [  5]   6.00-7.00   sec  11.5 MBytes  96.5 Mbits/sec    0    626 KBytes
> [  5]   7.00-8.00   sec  10.1 MBytes  84.9 Mbits/sec    0    626 KBytes
> [  5]   8.00-9.00   sec  12.8 MBytes   107 Mbits/sec    0    701 KBytes
> [  5]   9.00-10.00  sec  11.6 MBytes  97.4 Mbits/sec    0    747 KBytes
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-10.00  sec   107 MBytes  89.7 Mbits/sec 0 sender
> [  5]   0.00-10.02  sec   104 MBytes  86.9 Mbits/sec
> receiver
>
> iperf Done.
>
>
> I tried removing 'DisableHT', but that raises some issues on the driver:
>
> | CMD_RESP: cmd 0xb0 error, result=0x1
> | IOCTL failed: 000000006106683e id=0x20000, sub_id=0x2000c action=1,
> status_code=0x1
>
> or:
>
> No matching method found
> Failed to retrieve I[  610.756333] Block woal_cfg80211_set_power_mgmt
> in abnormal driver state
> WD dbus objects, quitting...
>
>
> Could you please give me some insights on why we need DisableHT for it
> to work?
>
> Would you have any suggestions on how to approach this performance gap?

Prior to me adding HT (high throughput) IWD's AP mode was just using
basic rates, so very slow. I added HT support, but apparently not all
drivers were happy about it. So DisableHT removes the extra stuff that
allows it to work with this specific driver, but at the cost of performance.

I'm not really in a position to devote a lot of time to AP mode at the
moment. I know we've gotten a lot of inquiries about it recently but to
be completely honest if your intent is to run a full fledged access
point hostapd is really the tool to use. I'd love to get IWD up to the
same level of quality and support as hostapd but its a massive
undertaking. Not only that but out of tree driver support is something
very hard to get right. Hostapd has been around long enough and is the
de-factor software for APs that hardware vendors have added their quirks
here and there, IWD doesn't have that luxury.

Thanks,

James

>
>
> Thanks once more!
>