Using 4G Aircard in Linux

Some usb aircards I tested (link) do not work out of the box with Linux (OpenSUSE Tumbleweed kernel 6.8-6.9). After some research I found that the ‘rndis_host’ kernel module is blacklisted by default due to security reason. However many device manufaturers still use it for compatibility with Windows.

The module is blacklisted in /usr/lib/modprobe.d/50-blacklist-rndis.conf.

# RNDIS is considered insecure (bsc#1205767, jsc#PED-5731)
blacklist rndis_wlan
blacklist usb_f_rndis
blacklist rndis_host

Workaround

There are 2 ways to make rndis devices work with Linux.

  1. Remove ‘rndis_host’ from being blacklisted.
# ln -s /dev/null /etc/modprobe.d/50-blacklist-rndis.conf

or 2. Create a udev rule per device to load ‘rndis_host’ module as device is plugged in. Create a file at ’/etc/udev/rules.d/99-rndis-host.rules’ with the content:

#D-Link DWR-910M
ATTR{idVendor}=="1782", ATTR{idProduct}=="000c", RUN+="/sbin/modprobe rndis_host"

Change “vendor id” and “product id” to be ids of the device.

D-Link aircard requires rndis_host module. DWR-910M