USB Infrared Transceiver workaround for : Failed to set rts/cts in recent Linux Kernels

 

Irdroid USB IR Transceiver v1.0

We have received reports from customers , that is some recent GNU Linux Kernel versions the serial USB ACM Class Driver is causing issues with the Irdroid USB Infrared Transceiver module / Linux kernel versions (above 3.18). Below is a workaround for the affected systems:

In GNU Linux kernel (3.18+), the CDC ACM Class Driver was updated and new features were introduced. These new features are not interoperable with old serial ACM hardware and demand from the USB Manufacturers to introduce additional features in their firmware in order to gain compatibility with the changes in the CDC-ACM driver.

The new driver requires devices to reply whether they support “RTS/CTS” feature. If this call is not implemented in the serial ACM hardware (in the firmware of the serial USB ACM devices), it causes device lock up’s, and fails to enumerate after several seconds of operation. The above affects also the Irdroid USB Infrared Transceiver module and causes inconvenience for the customers.

We have tested various workarounds for the above and came up with a fix, which for now requires the user to recompile the kernel with the USB ACM Driver below:

The Procedure is as follows:

  • Depending on your distribution, you will have to download the Linux kernel source code, unzip, and configure for your system
  • Copy and replace the above files in /drivers/usb/class/….
  • Compile and install your new kernel.

Once you complete the above procedure you will have more stability for your serial ACM devices / hardware.

Update!!!

As of October 2017 All new Irdroid USB Infrared Transceiver modules ship with an updated firmware that provide support for the new USB  ACM Class Driver in Gnu Linux Kernel 3.18 + . For existing customers a firmware update procedure needs to be performed with the firmwarebelow:

 

Comments are closed.