GL-e750 support radius dynamic LAN

Hello I am wondering if the ath10k driver / firmware can be shipped with dynamic VLAN support when using WPA2 enterprise.

I have set up radius config via the command line and it works but when it tries to create the vlan interface on the wifi interface it says “not unsupported”

This is the messages from the log

Mon Apr 17 11:54:31 2023 daemon.info hostapd: wlan0-1: STA xx:xx:xx:xx:xx:xx IEEE 802.11: authenticated
Mon Apr 17 11:54:31 2023 daemon.info hostapd: wlan0-1: STA xx:xx:xx:xx:xx:xx IEEE 802.11: associated (aid 1)
Mon Apr 17 11:54:31 2023 daemon.notice hostapd: wlan0-1: CTRL-EVENT-EAP-STARTED xx:xx:xx:xx:xx:xx
Mon Apr 17 11:54:31 2023 daemon.notice hostapd: wlan0-1: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
Mon Apr 17 11:54:31 2023 daemon.info hostapd: wlan0-1: RADIUS Authentication server 10.253.0.253:1812
Mon Apr 17 11:54:32 2023 daemon.err hostapd: Failed to create interface wlan0-1.3: -122 (Not supported)
Mon Apr 17 11:54:35 2023 daemon.notice hostapd: wlan0-1: CTRL-EVENT-EAP-RETRANSMIT2 xx:xx:xx:xx:xx:xx
Mon Apr 17 11:54:41 2023 daemon.notice hostapd: wlan0-1: CTRL-EVENT-EAP-RETRANSMIT2 xx:xx:xx:xx:xx:xx

Does this command report error?

ip link add link wlan0 name wlan0-1.3 type vlan id 3

How do you config the /etc/config/wireless?
It may be wpad variant issue. What’s your firmware version?

Hi @hansome the ip link add command does not produce an error message. I am using version 3.216.

I see that the default is the full wpad with openssl which I have the same version working in openwrt.org release on the b1300. Unless GL version is modified.

This is my wireless config on e750

config wifi-iface 'wifinet2'                                    
option device 'radio0'                                                      
option mode 'ap'                                                            
option ssid 'test eap'
option auth_server '10.253.0.253'                                           
option auth_secret 'password'                       
option acct_server '10.253.0.253'                                           
option acct_secret 'password'
option wpa_disable_eapol_key_retries '1'                                   
option disassoc_low_ack '0'                                                 
option dynamic_vlan '2'                                                     
option vlan_tagged_interface 'eth0'
option vlan_bridge 'br-vlan'                                                
option vlan_naming '1'                                                      
option ieee80211w '1'                                                       
option encryption 'wpa2+ccmp'

Not modified. You can try both 2.4G and 5G to locate if it is issue of ath9k or ath10k.

Hi @hansome I tried the same configuration on the 2.4G interface and it works fine but not on the 5G interface

There is also a report that ath10k-ct does not support VLAN. You may need to substitute it manually or upgrade.

Thanks @hansome but looks like it have ath10k-firmware-qca9887 and not the ct variant.

My fault. I can test this when I got a device later.

1 Like

I wonder if the ath10k firmware that comes with the device is close source or is it the same as stock OpenWRT?

Because I tried using the latest stock OpenWRT and enabling 5GHz causes boot loop so I have to revert back to GL’s OpenWRT.

Ath10k firmware is the same as vanilla openwrt.
But we add driver patch for this boot loop issue.

You can try to merge it and compile your own.

1 Like

Thanks @hansome I got it to dynamic VLAN to work with vanilla OpenWRT.

One more thing, I built and installed the MCU package for the OLED display but the display does not update on its own (like time shows 00:00 and internet status does not update) is there something I need to modify / patch?

Have you seen this repository here?

Yes and I have built it when compiling OpenWRT but the display only update once at boot and doesn’t anymore after that.

You can verify that the e750_mcu program is running with the ps command, turn on the debug option in the /etc/config/mcu file, and then restart the e750_mcu program. You can see this information in logread next.

Thanks, I checked and the program is running

root@GL-E750:~# ps -w | grep mcu
 1889 root      3296 S    /usr/bin/e750-mcu

I also see that from logread -f it only update once and doesn’t seem to get a response from the MCU. Maybe I need to change some settings with ttyS0?

I turned off system console for /dev/ttyS0 [OpenWrt Wiki] Terminate UART Console and I can now see user.debug : e750-mcu recived:{OK},100,39.5,1,1

But the MCU program still only update once at boot.

I am wondering does the e750-mcu service update the internet status, mobile signal, wifi status and clients on its own or is there an other program responsible for this?

The e750-mcu will read this information and automatically update the status. If the status has not changed, it will not send

I see but even the time doesn’t change too. It looks like the e750-mcu program hanged somewhere as it is not looping. It also doesn’t set the show screens options.

Doing some debugging it looks like the source at GitHub - gl-inet/GL-E750-MCU-instruction: Gl-iNet E750 MCU instruction list is missing gl/modem_api.h and commented out.

Which also cannot get the modem status from the bus 1-1.2 from the looks of it?