Tenda U6 (CD-less version) (RTL8192FU) Installation on Linux

·

2 min read

Tenda U6 (CD-less version) (RTL8192FU) Installation on Linux

Tenda offers U6's driver for Linux, but it is for the CD version. CD-less version uses a different chip RTL8192FU, not RTL8192EU on the website. And it has a 'fancy' feature which makes it slightly troublesome to use on Linux. Now let's make it work.

Compile the driver

The original driver does not compile on latest linux kernels. I find a fork which support up to linux 5.15.

  1. install kernel headers, gcc, make and bc
  2. git clone https://github.com/BrightX/rtl8192fu.git && cd rtl8192fu
  3. make && sudo make install
  4. load the kernel module: sudo modprobe 8192fu

Switch USB mode

I mentioned that it has a 'fancy' feature, that is to say, it has two USB classes. One is a USB disk containing its driver (for Windows, of course). Its VID is 0bda and PID is a192. The other is RTL8192FU WLAN Adapter. Its VID is 0bda and PID is f192. When we plug it in, it will show up as a USB disk, not an Adapter. We need to switch to the latter one.

  1. install usb_modeswitch.
  2. sudo usb_modeswitch -v 0bda -p a192 -KW

Then you will be able to use it as a WLAN Adapter. If you want to make it persistent, you neet to add one following rule in file /lib/udev/rules.d/40-usb_modeswitch.rules:

ATTR{idVendor}=="0bda", ATTR{idProduct}=="a192", RUN+="usb_modeswitch '/%k'"

Then every time we plug it in, the mode will be switched to WLAN Adapter automatically.

That's all.