Delcom Products
Welcome to Delcom Products.
 
Home->Web Notes

WebNoteId: 3
Title: Linux Kernel Issue in v4.8 to 4.17


Summary: In linux kernel verion 4.8 to 4.17, support to contorl the LEDs on the Delcom USB Visual Indicators was added. This support cause the USB HID event (such as the Keycode, Mouse and Joystick to not work. As well as defaulted the LED PWM values to 0%. This web note describes how to reslove this issue.

Date: Jan 24, 2018   -Updated October 11, 2018
Effects: Linux kernel versions v4.8 to 4.17.
All Delcom USB device with USB VID=0xFC5 and PID=0xB080.

Problem:
With the release of the Linux Kernel v4.8 driver support was added for the Delcom USB HID Visual Indicator device. This driver (drivers/hid/hid-led.c) allows the user to control the USB light. When this driver was added the Delcom device was also added to the hid_have_special_driver list in hid-quirks.c file. This causes the Delcom device to no longer work as a HID device winch disables the USB HID Keycode, Mouse and Joystick events. The hid-led.c driver also changed the PWM values on the LED ports to zero when the device is opened.


Solutions:
  • Use a kernel driver version lowered than v4.8 or equal to or greater than 4.18.
    • Ubuntu - Use ukuu to update the kernel. Install ukuu. Then run ukuu from the GUI. Select the latest kernel. Reboot. Select latest kernel from GRUB.
         sudo add-apt-repository ppa:teejee2008/ppa
         sudo apt-get update
         sudo apt-get install ukuu
    • Raspbian - Use rpi-update. Note at the time of this writing v4.18 has not been release for Raspbian. But is claimed to be released shortly. The other alternative is to get and recompile the v4.18 kernel your self. More information can be found here.
         sudo rpi-update

  • Change the PID (USB Product Indentifier number). This will cause the Linux kernel to not add the HID Visual Indicator support driver and will allow the device to run correctly. The downside to this is that all software that connects to the device must also use the same PID ( for example the Delcom Setup Utility). To make this change you will need to run the delcomSetPID utility. This utility allows you to switch the PID between OxB080(default) and 0xA080(alterate). Click here for the file delcomSetupPID.

  • Remove the Delcom device (VID=0x0FC5 and PID=0xB080) from the hid-quirks.c file and delete the drivers/hid/hid-led.c files and recompile the kernel.


Linux kernel links:
Delcom support corrected
Delcom support removed

homeproductsservicescontact usshopping cartlegal   © Copyright 2019 Delcom Products Inc - R720 5/20/2019