GL-RM1 USB WiFi dongle howto guide + scripts

I originally wanted to see if I could solve it, but my USB wireless adapter seems to be broken—ifconfig up isn't working. I might not be able to provide further technical support.

To clarify once my other post is/is not approved, I have this working with the mango 300 bridged but that’s a lot to carry around. I’m working on this to prototype why I want more of these at work and I’m hoping to make my home one more useful by adding wireless. If I can get this approved, I’m hoping to get a few of the newer wifi comets and the rest will probably be the PoE variant. This path is just to make my own life easier. I currently have a tp-link (realtek) wifi dongle and a netgear ac1900 to try out, but I don’t mind buying a network adaptor that’s already listed in the “works” category for this. Thanks in advance if that file becomes available in any way. ^.^

As a side note, this is already a pretty solid solution to allow us to secure laptops while letting us remotely access them. The only downside is if that laptop needs to engage with a call through zoom/teams, but we can always call in and share via KVM anyways to make that work. This is a work in progress :slight_smile:

It seems I cannot download that file, I would love if there were another location or a repost of that file. <3

Hi all,

I've been trying to get a USB WiFi dongle (MT7601U, 148f:7601) working on my GL-RM1 following iwilly's excellent guide here:

The guide works on V1.5.0, but I'm on the current 1.8.1-release1 build and the WiFi subsystem appears to be entirely absent from the kernel. I've spent some time investigating and want to share findings, since they may be useful both for other users hitting this and for the GL.iNet team considering whether to enable WiFi in the 1.8.x line.

Build info

NAME=Buildroot
VERSION=rm10rc-1.8.1-release1-11-g7ecf0591b1
Kernel: 6.1.141 #2 SMP aarch64
RK_BUILD_INFO: rockchip_rv1126bp_gl_rm1_poe

What's present

  • USB enumeration works correctly: lsusb shows Bus 001 Device 002: ID 148f:7601 MediaTek 802.11 n WLAN
  • Firmware blobs are shipped: /lib/firmware/mt7601u.bin and /lib/firmware/ath9k_htc/ are both present
  • Userspace libraries that wpa_supplicant would need are present: OpenSSL 3 (libssl.so.3, libcrypto.so.3) and libnl-3 (libnl-3.so.200.26.0, plus genl/route/nf/xfrm/idiag variants)
  • Plenty of USB drivers in the kernel: btusb, usbhid, uvcvideo, cdc_acm, snd-usb-*, usb-storage, multiple USB-serial drivers

What's missing

  • No 802.11 kernel modules anywhere on disk. find / -name '*.ko' returns only video/codec modules (kmpp, rockit, gl-hw-info).
  • lsmod | grep -iE '7601|cfg80211|mac80211' returns nothing
  • /proc/kallsyms contains zero matching symbols for cfg80211, ieee80211, or mt7601 — indicating the wireless stack is not built into vmlinux either
  • /proc/config.gz is not exposed (CONFIG_IKCONFIG_PROC not set), so the kernel config can't be read directly
  • No wpa_supplicant or wpa_cli binaries on the system, and Buildroot does not provide a package manager to install them
  • Plugging in the MT7601U dongle results in USB enumeration but no driver bind: /sys/bus/usb/devices/1-1/driver is empty, and /sys/bus/usb/drivers/ lists every USB class except 802.11
  • ifconfig wlan0 up returns SIOCSIFFLAGS: No such device because cfg80211 isn't loaded to register the wiphy

Conclusion
The 1.8.1 kernel was compiled without CONFIG_WIRELESS / CONFIG_CFG80211 / CONFIG_MAC80211 / chipset drivers. The MT7601U firmware blob is staged at /lib/firmware/mt7601u.bin, suggesting WiFi support was at some point planned or partially considered, but the kernel side is not there. There is no userspace fix — dropping in wpa_supplicant cannot help when the kernel has no nl80211 interface to talk to, and out-of-tree modules cannot be loaded against a kernel built without the wireless subsystem.

Request
Would the GL.iNet team consider enabling the following in a future 1.8.x build for the RM1?

  • CONFIG_CFG80211=m (or =y)
  • CONFIG_MAC80211=m (or =y)
  • CONFIG_MT7601U=m (and ideally CONFIG_ATH9K_HTC=m, given ath9k_htc firmware is also staged)

The firmware blobs are already shipped, the userspace SSL/netlink libraries are already present, and there is clear demand from the community (this thread, plus the "Please include some wifi drivers in the Comet builds!" thread). For users with the RM1 deployed in locations without convenient Ethernet, this would be a substantial improvement.

In the meantime, the only working path I've found is downgrading to V1.5.0 release1, which loses other 1.8.x improvements. Would appreciate any guidance on whether WiFi support is on the 1.8.x roadmap, or whether building a custom firmware from source is the only forward path.

Thanks!
Marco

not the problem youi mention

I don’t remember I remove any kernel option of WiFi.

Thanks a lot. I think we're looking at different kernels.
The screenshots show Linux/arm 4.19.111, while my device (GL-RM1PE) runs:

  • Firmware: rm10rc-1.8.1-release1-11-g7ecf0591b1 (Buildroot 2024.02)
  • Kernel: 6.1.141 aarch64
  • Target: rockchip_rv1126bp_gl_rm1_poe

On this running system, I get:

  • find / -name '*.ko' returns only gl-hw-info.ko and video/codec modules. No cfg80211.ko, mac80211.ko, or mt7601u.ko.
  • wpa_supplicant is not on the system, and Buildroot has no package manager.

Could you confirm:

  1. Which firmware/device are the 4.19.111 screenshots from?
  2. Is WiFi supposed to be enabled in the released 1.8.1 build for the RM1PE?

Thanks,
Marco

OK, that make sense. My configuration is from RM1. I will give you RM1PE test firmware, give me some time.

1 Like
1 Like

Great news — the new build works. The MT7601U driver loaded, wlan0 is up, the chipset firmware initialized correctly, and a scan returns nearby APs with strong signal:

mt7601u 1-1:1.0: ASIC revision: 76010001 MAC revision: 76010500
mt7601u 1-1:1.0: Firmware Version: 0.1.00 Build: 7640
5: wlan0: <BROADCAST,MULTICAST> mtu 1500 link/ether 90:de:80:28:21:b4

# iw dev wlan0 scan | grep SSID
   SSID: <several APs at -41 to -59 dBm>

iw, iwconfig, and iwlist are all present and working. The only missing piece is wpa_supplicant and wpa_cli, which means I can scan but can't authenticate to WPA2 networks:

bash-5.2# which wpa_supplicant wpa_cli
bash-5.2#

Could you add wpasupplicant to the next build? In Buildroot:

BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y

All required libraries are already shipped (OpenSSL 3, libnl-3 with genl support), so this should be a straightforward addition. Once it's in, iwilly's existing scripts ( GL-RM1 USB WiFi dongle howto guide + scripts ) work as written.

Thanks for the kernel rebuild — really appreciate it.
Marco

try it , I add wpa_supplicant

Thanks for adding wpa_supplicant. I still have some issues:

bash-5.2# which wpa_supplicant wpa_cli
/sbin/wpa_supplicant

bash-5.2# wpa_supplicant -v
wpa_supplicant v2.10
Copyright (c) 2003-2022, Jouni Malinen <j@w1.fi> and contributors

bash-5.2# ip link set wlan0 up
bash-5.2# wpa_supplicant -i wlan0 -D nl80211 -c /etc/kvmd/user/wpa_supplicant.conf -dd 2>&1 | head
wpa_supplicant v2.10
random: Trying to read entropy from /dev/random
No drivers enabled
Failed to initialize wpa_supplicant
bash-5.2# wpa_supplicant -h 2>&1 | grep -A2 'drivers:'
drivers:
options:
  -b = optional bridge interface name

The drivers: section seems to be empty.
Also, wpa_cli is still not present:

bash-5.2# ls -l /usr/sbin/wpa_supplicant /usr/sbin/wpa_cli /sbin/wpa_supplicant /sbin/wpa_cli 2>&1
ls: cannot access '/usr/sbin/wpa_supplicant': No such file or directory
ls: cannot access '/usr/sbin/wpa_cli': No such file or directory
ls: cannot access '/sbin/wpa_cli': No such file or directory
-rwxr-xr-x 1 root root 505976 May  8 03:42 /sbin/wpa_supplicant

Marco

Sorry for late. I take some time to test my USB WiFi dongle. It works for me, so try this firmware

Is it possible to install wifi drivers to use a different chipset, or is it easier to purchase an adapter with the specific chipsets mentioned in the firmware folder? My USB WiFi has a Realtek RTL8812BU.