Adding a custom wifi interface via LuCI requires manual UCI tweaks (GL-BE9300, 4.9.0)

Hey everyone,

I wanted to set up a second guest-style wifi with its own SSID, subnet, and VPN tunnel on my Flint 3 (GL-BE9300, firmware 4.9.0). The main wifi and the existing guest wifi (xyz) were already running fine through the GL.iNet GUI.

I created the new wireless interface through LuCI (Network → Wireless → Add), set up the SSID, encryption, and assigned it to a new network/bridge. Everything looked correct in LuCI, but after saving and applying, the interface just wouldn't come up. No errors in LuCI, it just silently didn't work.

After digging through the logs, I found that GL.iNet's qsdk-wifi configurator was crashing on the new interface with errors like attempt to concatenate local 'ifname' (a nil value) and table index is nil. Turns out qsdk-wifi needs a few properties that LuCI doesn't set and that aren't part of standard OpenWrt:

uci set wireless.<iface>.init='1'
uci set wireless.<iface>.guest='1'
uci set wireless.<iface>.ifname='wlan03'
uci commit wireless
wifi reload

Without ifname, qsdk-wifi crashes. Without init and guest, it silently skips the interface during setup. Once all three are set, the VAP comes up fine and gets confirmed stable after 3 rounds.

Just posting this in case anyone else tries to add a custom wifi through LuCI on these devices. Would be nice if qsdk-wifi could handle missing ifname more gracefully instead of crashing, or if LuCI could auto-populate these fields.

Matthias

1 Like

Hi

Thank you for sharing your findings and configuration method.

This appears to be a quirk of QSDK, so there may not be much we can do about it on our side.

In addition, we also have a tutorial that includes some steps for creating a new SSID on the BE9300, which may be helpful: