Balena Fin Wireless is named mlan0 (not wlan0)

As described here: https://bucknall.codes/blog/2018/review-resin-fin/

We had built some scripts where the interface name was hardcoded and it no longer works. Not a huge issue but I was wondering if this was intentional or will change in the future?

Could someone provide instructions on how I could rename this interface in our Docker Template?

cc: @bucknalla :slight_smile:

Hi @rcullen!

If you open a terminal session into your Fin (Host OS) and run the command:

$ nmcli d

You should see which devices that your network manager is controlling! If you could share an image of the output of this command, we should be able to work out if the network manager has found the wlan device :slightly_smiling_face:

hey @bucknalla thanks for the quick response!

Here is the device, mlan0 what we’d like to rename to wlan0 if possible.

root@xxxxxxxx:/usr/src/app# nmcli d
DEVICE           TYPE      STATE        CONNECTION
mlan0            wifi      connected    resin-wifi-01
resin-dns        bridge    connected    resin-dns
supervisor0      bridge    connected    supervisor0
eth0             ethernet  unavailable  --
balena0          bridge    unmanaged    --
br-d5361ab53eec  bridge    unmanaged    --
lo               loopback  unmanaged    --
resin-vpn        tun       unmanaged    --

Ah ok! I don’t know if there is an easy way to do this, unfortunately… I think this is being set from the kernel module. I’ve been chatting with the Resin team and they’re looking into a solution for this, i.e. possibly an alternative driver with wlan0 set instead of mlan0; I’ll let you know as soon as I do!

@bucknalla ok cool!

It’s not urgent, I think I will work around it my end so that my scripts will work if I later have additional interfaces.

If anyone from Resin is reading this it’s not important/urgent. Just a NTH. Thanks guys!

1 Like

What assurances do we have interface names won’t change or is there a way to detect something more permanent like a vendor ID?

I rely on interface names but I’m in favor of something else if it’s available.

Hi there, starting from 2.15.1+rev2 the Fin wifi interface is named wlan0 for the sake of compatibility with rpi software stacks that have it hardcoded, and will stay like that

3 Likes

Hi,

I used Balena fin v1.1 and I build a custom balenaOS image from balena-raspberry v2.48.1+rev1 with target machine variable set to fincm3. After flashing device with image build, my wifi interface is mlan0 and not wlan0. Have you take another decision about wifi driver ?

Thanks,
Ben

Hi Benjamin,

We tried this on a Fin with the official Fin image and the interface shows up as wlan0 as expected. Could this be something related to your custom Rpi image? Can you confirm that it works as expected with the official Fin image?

Yes with the official image is work fine. I tried to build balenaOS image with your balena-raspeberry project without add my custom layer and I have mlan0 interface.

I don’t think it’s caused by my customization.

Can you share the commit hash you are building from and how you are doing it, so I can share that with the balenaOS team and see if we can find what the difference is?

I used last version v2.50.1+rev1 (commit : 1269d085fb7f42f4759e6ae3a41752a8747946cf). To build project, I use barys tool :
./balena-yocto-scripts/build/barys -m fincm3 -d

Thanks

Can you see the dtoverlay=balena-fin entry in the config.txt?

Yes dtoverlay=balena-fin is set in config.txt

We suspect that there might be a regression on balenaOS. Can you share the dashboard link with us & enable support access, or send us the full output of dmesg?

kernel_log.log (28.8 KB)

You can find my dmesg output attached

Can you please paste the contents of /etc/modprobe.d/blacklist.conf?

/etc/modprobe.d/ folder is empty. blacklist file don’t exists.

Thanks, that explains now why the interface name is wrong (the wrong WiFi driver gets loaded). I will refer the information about the missing blacklist file to our devices team.

What is the customization you are doing more specifically? I guess for some reason it makes the blacklist file disappear.