Torizoncore 5.5 Disable the uap0 interface permanently

we have noticed that with uap0 interface enabled the wifi module does periodically wifi scans using the interface. this sometimes leads to the wifi connection on mlan0 going into a sort of disconnected state even though network manager shows wifi is still connected. brining up the mlan0 connection down and up seems to resolve it.

we have noticed that disabling the uap0 interface helps as well. what’s the recommended way to disable the uap0 permanently and have it persist between boots.

using torizoncore 5.5.0+build-11

IMO connman is incompatible with drivers like this. If you are not using AP mode, then you may try blacklisting uap0 in /etc/connman/main.conf, see NetworkInterfaceBlacklist setting. But then you won’t be able to enable wifi tethering.

NXP driver has some ini file settings, where you can rename interfaces or disable particular interfaces. Not sure about Marvell driver for the same card.

This is with Torizoncore 5.5.0 not sure if connman is used there.

Hi @nkj ,

Thanks for reaching out and thanks @Edward for your precious input.

Indeed, in Torizoncore, you should use network manager instead. Therefore, one option for you would be to set the uap0 interface as unmanaged by the network manager.

To do so, you could either:

  • run nmcli dev set uap0 managed no
  • create a conf file in /etc/NetworkManager/conf.d/11-unmanaged-devices.conf containing:
[keyfile]
unmanaged-devices=interface-name:uap0

The first option works only while the system is still powered on while the second will make it the standard-setting.

Can you please test it and check if only setting the interface as unmanaged help you? If not, please tell me so that we can discuss other possible solutions.

Best regards,
Guilherme

i tried creating a conf file and then reboot the system. that seems to work and the uap0 device is not present.
something else i tried before was creating a systemd service which executes a shell script which disabled the uap0 device using iw commands. this did not work as it complained that the device was not present. i tried setting the systemd service to execute it after the mwifiex_delay service from toradex but this also doesnt seem to help.
something related is i want to disable the power_save on mlan0 is there a way to make that persistent across boot ?
for reference below is the systemd service i had created.

apalis-imx8-06548593:~$ cat /etc/systemd/system/disable-uap0.service 
[Unit]
Description=disable uap0 interface
After=mwifiex-delay.service

[Service]
Type=oneshot
ExecStart=/usr/bin/sh /home/torizon/disable-uap0.sh

[Install]
WantedBy=multi-user.target

Hi @nkj,

Glad to hear it works. Do you think then the main question of the post is solved? If yes, could you please mark the solution?

About your second question, we found this topic that might have a solution to it linux - How to turn off Wireless power management permanently - Unix & Linux Stack Exchange. If there are no files in /etc/NetworkManager/conf.d, you can try to add them on your own.

Best regards,
Guilherme

Thanks a lot @gclaudino.tx . this worked as well.

1 Like