Link Search Menu Expand Document

USB mode switching

Our AX1L, AX4L and AX5L adapters have a dual mode functionality. Before installing our drivers, they act like flash storage, which contains the Windows drivers in it. After the drivers are installed (in any OS), they switch to normal Wi-Fi adapter mode. USB adapters that support this dual functionality are called “multi-state”, “ZeroCD” or “Virtual CD-ROM” devices.

In Linux, multi-state devices may bump into two issues:

Adapter isn’t switched to WLAN mode

Normally, the /lib/udev/rules.d/40-usb_modeswitch.rules file is responsible to call the usb_modeswitch command and switch the adapter to WLAN mode. To check if the adapter has been switched to WLAN mode, run:

lsusb | grep -E '(0bda|368b|a69c):(8812|b812|c811|b832|1a2b|88df|5721)'

Then consult the following table to see if the adapter is in WLAN mode or in storage mode:

ModelOutput of lsusb
AC1L or AC3L version 1Bus 003 Device 005: ID 0bda:8812 Realtek Semiconductor Corp.
AC1L or AC3L version 2Bus 003 Device 005: ID 0bda:b812 Realtek Semiconductor Corp.
AC5LBus 003 Device 005: ID 0bda:c811 Realtek Semiconductor Corp.
AX1L or AX4L WLAN modeBus 003 Device 005: ID 0bda:b832 Realtek Semiconductor Corp.
AX1L or AX4L storage modeBus 003 Device 005: ID 0bda:1a2b Realtek Semiconductor Corp.
AX5L WLAN modeBus 003 Device 005: ID 368b:88df AICSemi AIC8800DC
AX5L storage modeBus 003 Device 005: ID a69c:5721 aicsemi Aic MSC

If you have an older distribution that doesn’t switch the adapter to WLAN mode, you may use the following commands to switch it manually:

# For AX1L and AX4L:
sudo /usr/sbin/usb_modeswitch -KQ -v 0bda -p 1a2b
# For AX5L:
sudo /usr/sbin/usb_modeswitch -KQ -v a69c -p 5721

If you verified that these commands work, but you need to execute them manually after every boot, then run the following commands to automate it:

sudo -i
# For AX1L and AX4L:
echo 'echo ACTION=="add", ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -KQ -v 0bda -p 1a2b"' >/etc/udev/rules.d/50-custom.rules
# For AX5L:
echo 'echo ACTION=="add", ATTR{idVendor}=="a69c", ATTR{idProduct}=="5721", RUN+="/usr/sbin/usb_modeswitch -KQ -v a69c -p 5721"' >/etc/udev/rules.d/50-custom.rules
# For both of them, continue with:
update-initramfs -u
reboot

Boot delays

In rare circumstances, it’s possible that the Linux boot or shutdown process may delay for a long time while trying to access that “flash storage”. To check if that’s the case, remove the adapter from the USB slot and see if the delay is gone.

Normally, installing our driver and using an up to date distribution should avoid this issue, but if it happens, the first thing to try is to run this command and reboot:

sudo update-initramfs -u

If that didn’t resolve the issue, then the second thing to try is to add the following parameter in grub, which instructs the kernel to completely ignore the flash storage mode of our adapters:

usb-storage.quirks=0bda:1a2b:i,a69c:5721:i