Wifi Module not auto loading at boot up

I am trying to use a RT5370 chipset Wifi dongle and am having a bit of trouble.

The system is not automatically setting up the wifi module on boot up. I am having to run :os.cmd('modprobe mt7601u') manually to get the module to be detected when booting up with the USB dongle plugged in.

I am seeing the wifi module be detected by USB without issue, it is just the loading of the driver that is not occurring without the manual modprobe. After the manual modprobe it functions as expected.

To be clear, if I plug it in after boot up the dongle is discovered and the driver is loaded without issue.

I have added the following to my custom BBB system:

diff --git a/linux/linux-5.10.defconfig b/linux/linux-5.10.defconfig
index 0241469..7049ece 100644
--- a/linux/linux-5.10.defconfig
+++ b/linux/linux-5.10.defconfig
@@ -152,7 +152,8 @@ CONFIG_USB_NET_SMSC95XX=y
 # CONFIG_WLAN_VENDOR_INTEL is not set
 # CONFIG_WLAN_VENDOR_INTERSIL is not set
 # CONFIG_WLAN_VENDOR_MARVELL is not set
-# CONFIG_WLAN_VENDOR_MEDIATEK is not set
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+CONFIG_MT7601U=m
 CONFIG_RT2X00=m
 CONFIG_RT2800USB=m
 CONFIG_RT2800USB_RT53XX=y
diff --git a/nerves_defconfig b/nerves_defconfig
index 52400cd..c5ea242 100644
--- a/nerves_defconfig
+++ b/nerves_defconfig
@@ -45,15 +45,20 @@ BR2_PACKAGE_ALSA_UTILS_ALSACONF=y
 BR2_PACKAGE_ALSA_UTILS_APLAY=y
 BR2_PACKAGE_F2FS_TOOLS=y
 BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y

Anyone have an idea how to get it detected at boot up?

1 Like

Not really an answer to the question, but vintage net supports power managers, which can be used to handle the lifecycle of hw related to networking. You might be able to use this to handle running the modprobe.

2 Likes

Does it have to be compiled as a module? IIRC sometimes you can do away with the need for modprobe by compiling it in with =y.

I don’t have a great understanding of when and why this is needef.

1 Like