If you have a (or similar Android-based USB 4G stick/dongle), Linux often doesn’t auto-load the right driver. Here’s how to prepare the driver environment so the modem is recognized as a network interface (instead of just storage or ADB). 1. Identify the device Plug in your UFI stick and run:
Create a rule (example):
sudo nano /etc/usb_modeswitch.d/05c6:9091 Content: 4g-ufi-xx driver
Also check modes:
lsusb Look for something like: Bus 001 Device 004: ID 05c6:9091 Qualcomm Android If you have a (or similar Android-based USB
ip link show You should see wwan0 or usb0 . Using ModemManager + NetworkManager:
lsusb -t | grep -A 5 "Modem" Force load, for example: Identify the device Plug in your UFI stick
sudo nano /etc/udev/rules.d/99-ufi-modem.rules ACTION=="add", SUBSYSTEM=="usb", ATTRidVendor=="05c6", ATTRidProduct=="9003", RUN+="/sbin/modprobe qmi_wwan" After driver binds:
# 4G-UFI-XX DefaultVendor=0x05c6 DefaultProduct=0x9091 MessageContent="5553424312345678000000000000061b000000020000000000000000000000" Then run:
4G, UFI, USB modem, Linux, driver, RNDIS, QMI, ECM
sudo modprobe qmi_wwan echo "05c6 9003" | sudo tee /sys/bus/usb/drivers/qmi_wwan/new_id Make it permanent with a udev rule: