Station not connecting to AP for a really long time

My setup is as follows.
Two Morse Micro HaLow Routers.
One configured to AP running a DHCP server.
One configured to STA trying to connect to the AP.

AP: 192.168.1.1 and eth access with 10.42.0.1
STA: waiting for connection from AP eventually got 192.168.1.168, laptop connected over eth eventually got 192.168.1.213

Was trying to debug why the station wasn’t connecting and wasn’t giving an IP to my laptop to connect locally to the stations web ui.

connected UART to the station and observed the following messages repeatedly being reported:

[   93.149157] morse_sdio mmc0:0001:2: Command 0x0001:05c0 error -32768
[   93.155636] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:5c0 failed with rc -32768 (0xffff8000)
[   93.165586] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[   93.899229] morse_sdio mmc0:0001:2: Command 0x0001:0800 error -32768
[   93.905729] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:800 failed with rc -32768 (0xffff8000)
[   93.915661] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[   94.649346] morse_sdio mmc0:0001:2: Command 0x0001:0a40 error -32768
[   94.655825] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:a40 failed with rc -32768 (0xffff8000)
[   94.665764] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[   94.999194] morse_sdio mmc0:0001:2: Command 0x0001:0b40 error -32768
[   95.005672] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:b40 failed with rc -32768 (0xffff8000)
[   95.015612] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768

...

[  174.709157] morse_sdio mmc0:0001:2: Command 0x0001:7af0 error -32768
[  174.715635] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:7af0 failed with rc -32768 (0xffff8000)
[  174.725675] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[  175.459249] morse_sdio mmc0:0001:2: Command 0x0001:7d30 error -32768
[  175.465728] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:7d30 failed with rc -32768 (0xffff8000)
[  175.475757] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[  175.809160] morse_sdio mmc0:0001:2: Command 0x0001:7e30 error -32768
[  175.815638] morse_sdio mmc0:0001:2: Command morse_cmd_set_channel 01:7e30 failed with rc -32768 (0xffff8000)
[  175.825666] morse_sdio mmc0:0001:2: morse_mac_set_channel (morse_mac_change_channel): morse_cmd_set_channel() failed, ret -32768
[  176.851448] wlan0: authenticate with 0c:bf:74:00:11:a6
[  177.135706] wlan0: send auth to 0c:bf:74:00:11:a6 (try 1/3)
[  177.267386] wlan0: authenticate with 0c:bf:74:00:11:a6
[  177.272701] wlan0: send auth to 0c:bf:74:00:11:a6 (try 1/3)
[  177.283979] wlan0: authenticated
[  177.298777] wlan0: associate with 0c:bf:74:00:11:a6 (try 1/3)
[  177.315254] wlan0: RX AssocResp from 0c:bf:74:00:11:a6 (capab=0x11 status=0 aid=1)
[  177.328021] wlan0: associated
[  178.031697] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  178.038429] br0: port 2(wlan0) entered blocking state
[  178.043635] br0: port 2(wlan0) entered forwarding state
[  178.052782] IPv6: ADDRCONF(NETDEV_CHANGE): br0: link becomes ready

what do these error messages mean?
and is there a better way to configure this where a station can both route traffic from the halow link to ethernet and use the APs DHCP, while also still allowing a local connection to access the station over ethernet while it does not have an ip assigned yet from the DHCP on the AP.

Hi @Luisschubert

I would like to dig a bit further to help speed up your association times, or otherwise identify exactly what’s going on. Can you specify which Morse Micro HaLow Routers are being used? Are they our EKH03 or EKH01 evaluation kits? Can you also confirm which version of the firmware is being used, and the region used?

In some older versions of the driver/firmware, if the board calibration file disabled some channels (eg, to meet regulatory requirements), then driver would throw these errors as it performs scanning. They shouldn’t impact functionality if the AP is operating on a channel the station supports.

Running morse_cli -i wlan0 version will return the version of the chip firmware.


Assuming this is one of our evaluation kits running OpenWrt, there are more complex ways of configuring the station with alias interfaces on the network containing the ethernet interface to enable what you’re attempting. We don’t configure these on the evaluation kits by default as it does add to the overall complexity in the flexibility of modes we try to support.

For example, when using a station in a bridged mode you could add the following to /etc/config/network

config interface 'lan2'
	option device '@lan'
	option proto 'static'
	option ipaddr '192.168.2.1'
	option netmask '255.255.255.0'

and after saving run reload_config.

Then you should be able to configure your laptop for a static IP address in the 192.168.2.x range and connect to the station. Alternatively, you can also use IPv6 link local addresses to connect to the devices.

Another approach, if you’re using an EKH01 or EKH03, is to select ‘Extender’ rather than ‘Bridge’ on the Traffic Mode page of the wizard. This is not ideal, because you will likely have ‘double-NAT’, but should let you easily access the station before it’s connected to the AP.

1 Like

I ran another test and the station didn’t connect to the AP for over an hour. After I power cycled the station (unintentionally) it did connect, but it’s not very reliable.

Can you specify which Morse Micro HaLow Routers are being used? Are they our EKH03 or EKH01 evaluation kits?

These are the EKH03 evaluation kits.

Can you also confirm which version of the firmware is being used, and the region used?

This is in the US region.
I ran morse_cli -i wlan0 version as suggested and this is what I got for the ap:

root@EKH03--05US-67f2f9:~# morse_cli -i wlan0 version
Morse_cli Version: rel_1_10_2_2023_Nov_22
FW Version: rel_1_10_2_2023_Nov_22

and this is what I got for the station:

root@EKH03--05US-680d61:/# morse_cli -i wlan0 version
Morse_cli Version: rel_1_10_2_2023_Nov_22
FW Version: rel_1_10_2_2023_Nov_22

They shouldn’t impact functionality if the AP is operating on a channel the station supports.

Both the AP and the station are configured to use Region: US, Channel:12, 8Mhz.

Station wireless config

root@EKH03--05US-680d61:/# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.path='platform/10300000.wmac'
wireless.radio0.channel='1'
wireless.radio0.band='2g'
wireless.radio0.htmode='HT20'
wireless.radio0.disabled='0'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='EKH03--05US-680d61-2g'
wireless.default_radio0.key='12345678'
wireless.default_radio0.network='lan'
wireless.default_radio0.disabled='1'
wireless.radio1=wifi-device
wireless.radio1.path='platform/10130000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:2'
wireless.radio1.type='morse'
wireless.radio1.band='s1g'
wireless.radio1.beacon_int='100'
wireless.radio1.hwmode='11ah'
wireless.radio1.country='US'
wireless.radio1.disabled='0'
wireless.radio1.channel='12'
wireless.default_radio1=wifi-iface
wireless.default_radio1.device='radio1'
wireless.default_radio1.ssid='MorseMicro'
wireless.default_radio1.encryption='sae'
wireless.default_radio1.key='12345678'
wireless.default_radio1.max_inactivity='300'
wireless.default_radio1.dtim_period='1'
wireless.default_radio1.network='lan'
wireless.default_radio1.wds='1'
wireless.default_radio1.mode='sta'
wireless.default_radio1.dpp='0'
wireless.prplsta_radio1=wifi-iface
wireless.prplsta_radio1.device='radio1'
wireless.prplsta_radio1.network='ahwlan'
wireless.prplsta_radio1.mode='sta'
wireless.prplsta_radio1.hidden='0'
wireless.prplsta_radio1.disabled='1'
wireless.prplsta_radio1.multi_ap='1'
wireless.prplsta_radio1.wds='1'
wireless.prplsta_radio1.ifname='wlan-prpl-1'
wireless.data=defaults
wireless.data.defaults_applied='1'
wireless.sta_radio0=wifi-iface
wireless.sta_radio0.device='radio0'
wireless.sta_radio0.mode='sta'
wireless.sta_radio0.network='wifi24lan'
wireless.sta_radio0.disabled='1'

AP wireless config

root@EKH03--05US-67f2f9:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.path='platform/10300000.wmac'
wireless.radio0.channel='1'
wireless.radio0.band='2g'
wireless.radio0.htmode='HT20'
wireless.radio0.disabled='0'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='EKH03--05US-67f2f9-2g'
wireless.default_radio0.key='12345678'
wireless.default_radio0.network='privlan'
wireless.default_radio0.disabled='1'
wireless.radio1=wifi-device
wireless.radio1.path='platform/10130000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:2'
wireless.radio1.type='morse'
wireless.radio1.band='s1g'
wireless.radio1.beacon_int='100'
wireless.radio1.hwmode='11ah'
wireless.radio1.country='US'
wireless.radio1.disabled='0'
wireless.radio1.channel='12'
wireless.default_radio1=wifi-iface
wireless.default_radio1.device='radio1'
wireless.default_radio1.ssid='MorseMicro'
wireless.default_radio1.encryption='sae'
wireless.default_radio1.key='12345678'
wireless.default_radio1.network='ahwlan'
wireless.default_radio1.max_inactivity='300'
wireless.default_radio1.dtim_period='1'
wireless.default_radio1.wds='1'
wireless.default_radio1.mode='ap'
wireless.prplsta_radio1=wifi-iface
wireless.prplsta_radio1.device='radio1'
wireless.prplsta_radio1.network='ahwlan'
wireless.prplsta_radio1.mode='sta'
wireless.prplsta_radio1.hidden='0'
wireless.prplsta_radio1.disabled='1'
wireless.prplsta_radio1.multi_ap='1'
wireless.prplsta_radio1.wds='1'
wireless.prplsta_radio1.ifname='wlan-prpl-1'
wireless.data=defaults
wireless.data.defaults_applied='1'
wireless.sta_radio0=wifi-iface
wireless.sta_radio0.device='radio0'
wireless.sta_radio0.mode='sta'
wireless.sta_radio0.network='wifi24lan'
wireless.sta_radio0.disabled='1'

Question: how can I attach logs to my posts? I have the system and the kernel logs from the station and the ssh and uart logs from the ap and station, respectively as I was connected to it.

I have the two devices in the same state again now.
The AP is saying there is a station connected:

But there is no entry for it in the DHCP leases.

AP ifconfig

root@EKH03--05US-67f2f9:~# ifconfig
br0       Link encap:Ethernet  HWaddr B8:D8:12:67:F2:F9  
          inet addr:10.42.0.1  Bcast:10.42.0.255  Mask:255.255.255.0
          inet6 addr: fe80::bad8:12ff:fe67:f2f9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4806 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4298 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:442784 (432.4 KiB)  TX bytes:833259 (813.7 KiB)

eth0      Link encap:Ethernet  HWaddr B8:D8:12:67:F2:F9  
          inet6 addr: fe80::bad8:12ff:fe67:f2f9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4863 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4390 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:553576 (540.6 KiB)  TX bytes:860238 (840.0 KiB)
          Interrupt:5 

eth0.1    Link encap:Ethernet  HWaddr B8:D8:12:67:F2:F9  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4806 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4363 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:442784 (432.4 KiB)  TX bytes:837549 (817.9 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:731 errors:0 dropped:0 overruns:0 frame:0
          TX packets:731 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:60024 (58.6 KiB)  TX bytes:60024 (58.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 0C:BF:74:00:11:A6  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::ebf:74ff:fe00:11a6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:401 (401.0 B)  TX bytes:12469 (12.1 KiB)

wlan0.sta1 Link encap:Ethernet  HWaddr 0C:BF:74:00:11:A6  
          inet6 addr: fe80::ebf:74ff:fe00:11a6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:439 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:143950 (140.5 KiB)  TX bytes:4658 (4.5 KiB)

Station ifconfig

root@EKH03--05US-680d61:/# ifconfig
br0       Link encap:Ethernet  HWaddr B8:D8:12:68:0D:61  
          inet6 addr: fe80::bad8:12ff:fe68:d61/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:421 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3818 (3.7 KiB)  TX bytes:141300 (137.9 KiB)

eth0      Link encap:Ethernet  HWaddr B8:D8:12:68:0D:61  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:5 

eth0.1    Link encap:Ethernet  HWaddr B8:D8:12:68:0D:61  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:299 errors:0 dropped:0 overruns:0 frame:0
          TX packets:299 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:25460 (24.8 KiB)  TX bytes:25460 (24.8 KiB)

wlan0     Link encap:Ethernet  HWaddr 0C:BF:74:00:11:B8  
          inet6 addr: fe80::ebf:74ff:fe00:11b8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:441 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4583 (4.4 KiB)  TX bytes:155457 (151.8 KiB)

Hi @Luisschubert

Question: how can I attach logs to my posts? I have the system and the kernel logs from the station and the ssh and uart logs from the ap and station, respectively as I was connected to it.

I’ve just bumped you out of the “new user” tier, so you should be able to attach text files or archives to a post.

Thanks for all the information you’ve provided so far! Judging from the error log in your first post, this is likely going to be something radio specific, preventing the chip from changing channel. System boot logs will be helpful in determining the right calibration file is being used.


But there is no entry for it in the DHCP leases.

from the configuration and ifconfig output you have shown me, I am reminded of an old bug which would have affected the 2.4.4 release.
When the AP is configured as a standalone AP (ie, the Ethernet and HaLow networks are separate), a bridged station is not able to communicate with any of the network services configured on the HaLow network.

The solution to this is to create a bridge device for the ahwlan network to bond the wlan0 and wlan0.sta1 network interfaces automatically.
Can you run the following:

uci add network device
uci set network.@device[-1].name='br-halow'
uci set network.@device[-1].type='bridge'
uci set network.ahwlan.device='br-halow'
uci commit
reload_config

and see if that improves the station, and your laptops, ability to acquire a DHCP lease after association?

As mentioned, I don’t think this will resolve the long association times, as they look like a deeper problem. Logs should tell me more about these.

ap_kernel_logs.txt (33.7 KB)
ap_system_logs.txt (67.6 KB)
ap_ssh_logs.txt (318.2 KB)
station_uart_logs.txt (148.2 KB)

Hey @ajudge here are the logs I had collected. Only have the kernel and system logs from the AP. Can set this test up again and collect them from Station as well.
One thing that’s not clear to me is whether this issue is something happening on the AP or the station or if it’s a combination of the two.

I tried using the morse_cli to understand what’s happening on the morse chip but could not find anything that struck me as being an issue.

Hey @Luisschubert

Apologies for the delay! We have not been able to reproduce the morse_mac_set_channel error messages you are seeing internally on freshly produced devices. Are you using the power supplies which came with the devices? Otherwise, I worry there may be some hardware failure occurring here.

Can you also share the output of iw reg get?

Did you try the creation of the bridge device on the ahwlan interface to verify if it improved some of the communication problems? It likely won’t resolve the set_channel issues, but should improve any connectivity issues you mentioned after authentication does succeed.

We’re still trying to reproduce this internally. Will definitely reply back in this thread when we are able to reproduce it.

1.10 firmware would also be consistent with the 2.4.4 release.

@Luisschubert We’re in the middle of a transition in how we distribute our software, but for the moment you can find updated images for the EKH03 in the Customer Portal. You may need to register to get access there, but that should be approved quickly.

Thanks for looking into this. For the power supply I have been using this solar power bank: Solar Charger, 38800mAh Portable Solar Power Bank and also this BK Precision 1550 as well as the power supply that came with the EKH03. I haven’t done any testing if it happens only on some of them. But this is an interesting point I’ll investigate further.

I have been able to resolve it most times with power cycling the station and AP but no clear pattern that I have been able to observe on what fixes it.

Do you have any specific suggestions on what the power/ current requirements are that need to be met for the device to operate normally. I do plan on powering it directly off of a battery so will not be using the power supply that shipped with the kit. When I was using the bk precision I saw current draws of around 0.28A at “idle” and 0.4A at “max duty”.

A 500mA supply should be sufficient for the EKH03.

Those power banks should be fine.