Device drivers collection for Turris OS 5.2.0

Hello Turris community.

I am working on semi-automatic installation of drivers on Turris routers. The concept is to install drivers for devices connected to routers. This is intended only for permanently connected devices such as LTE modems or DVB cards, not for devices expect to be plugged and unplugged in runtime.

How it works? Lua script included in Turris updater-ng collects identifiers for all connected USB and PCI devices and passes them to script from our server that matches them to table of identifiers and requests appropriate packages (drivers). List of connected devices do not leave router, script we are talking about is downloaded and run locally (as any other updater-ng’s Lua script).

Now after introduction what is this topic about: I am opening this to you, to our community to contribute device-driver pairs. Currently included devices can be seen here:

Do you have some device not included in those list permanently connected to your router? Are you aware of some existing list of such device-driver mappings?

There are few rules:

  • Clearly only USB and PCI devices are supported.
  • These has to be devices that are expected to be only permanently connected to router.
  • Mass storage devices are excluded (those are supported by NAS package list)

What to submit::

  • Vendor ID
  • Device ID in case of PCI and Product ID in case of USB
  • Type of device (such as DVB tuner or LTE modem)
  • Driver and firmware packages needed to be installed

Thank you for making Turris devices better.

2 Likes

What about BigClown/Hardwario gateway dongles? They report as generic FTDI stuff, but serial number could be used to detect them:

Bus 002 Device 002: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0403 Future Technology Devices International, Ltd
  idProduct          0x6015 Bridge(I2C/SPI/UART/FIFO)
  bcdDevice           10.00
  iManufacturer           1
  iProduct                2
  iSerial                 3 bc-usb-dongle-r1.0-836d1983a74b
  bNumConfigurations      1

Generally, at for all FTDI USB-RS232 converters, these modules should be installed: kmod-usb-acm and kmod-usb-serial-ftdi .

For Bigclown dongles, I think bcg Python package is what is needed (can updater install pip-installable software?).

Regarding this, I need to appreciate @Cynerd’s work on this.
All the BigClown required packages can be found in OpenWrt since version 19.07. You can take a look here:

They can as well be installed by pip on the router, but that requires knowledge to use CLI.

Haven’t known that, thanks! But then this tutorial needs update: https://developers.hardwario.com/tutorials/custom-setup-on-turris .

I’ve got two potential candidates:

  • An Aeotec Z-Stick z-wave usb gateway. ID 0658:0200. The required package is kmod-usb-acm.
  • A Chaoskey usb random number generator. ID 1d50:60c6. The required package is kmod-chaoskey.

@peci1 I was thinking about FTDI serial but I am not sure if that just won’t create list of load of devices with just kmod-usb-acm, on the other hand let’s consider that once that happens.
In case of Bigclown, I am not planning on adding filter for other fields as those are not just simple number comparisons. It needs something more possibly (such as regular expression). I have bigclown in mind but not including it at the moment.

@Hemm I added those two devices to list. Thank you for contribution.

I have quite recently bought USB Wifi dongle from aliexpress:

that lsusb report as

ID 0bda:1a2b Realtek Semiconductor Corp.

made it working with this kmod source from here

Also got one older one also from aliexpress that report lsusb as: ID 0e8d:7610 MediaTek Inc. but that has kmod already incorporated.

I looked around my home for another USB wifi dongles that I used in the past with Turris and foudn another two, both were covered by standard kernel kmods had not checked if it is already on the lua list.

ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
ID 0846:9001 NetGear, Inc. WN111(v2) RangeMax Next Wireless [Atheros AR9170+AR9101]

We are not adding anything, which requires to compile additional kernel modules from different source. It needs to be part of OpenWrt. So, if you want to have it in our list, you need to first package it up and see if OpenWrt accepts it. Most likely, they will want that the driver should be part of Linux kernel. At the beginning of this year, it was not supported in kernel and I am not sure if there was improvement.

I am sorry, but if you would like to have added these USB Wi-Fi dongles to device drivers collection, we need to know, which packages needs to be installed by following our form in the initial post. It will help others, who have any of those USB dongles, which you mention. It will be plug&play for them and then they can configure Wi-Fi in GUIs without using CLI or doing anything else like installing drivers which could be complicated for someone. Thank you.

ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter needed kmod-rt2800-lib, kmod-rt2800-usb, kmod-rt2x00-lib, kmod-2x00-usb

ID 0846:9001 NetGear, Inc. WN111(v2) RangeMax Next Wireless [Atheros AR9170+AR9101] kmod-carl9170, carl9170-firmware

ID 0e8d:7610 MediaTek Inc. I am not sure which kmod is right one, will have to try but likely custom compiled kmod was the correct one

I added first and second one. Thank you. If you point out correct driver for third one then I can add it later on as well.

2 Likes