Teensy 3.2 UDEV rule on Ubuntu 19.10 does not work

jman

New member
Hello, I've installed the UDEV rule for a Teensy 3.2 as suggested in the install instructions.

That rule however does not allow the device "/dev/hidraw3", which is how my Teensy is recognized.

A workaround has been suggested long time ago (and it works):
https://forum.pjrc.com/threads/44937-Teensyduino-1-37-Beta-4?p=146752&viewfull=1#post146752

by adding:
Code:
SUBSYSTEM=="hidraw", DEVPATH=="*/usb*:16C0:04[789ABCD]?.*", MODE:="0666"

Could I have a feedback on whether that udev rule maybe needs a bit of attention?

thanks
 
Last edited:
Please run "udevadm info --attribute-walk /dev/hidraw3" and copy the lengthy output here, so we can see what's really going on.
 
Hi, thanks for the quick reply! Here it is

Code:
  looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2/0003:16C0:04D0.011B/hidraw/hidraw3':
    KERNEL=="hidraw3"
    SUBSYSTEM=="hidraw"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2/0003:16C0:04D0.011B':
    KERNELS=="0003:16C0:04D0.011B"
    SUBSYSTEMS=="hid"
    DRIVERS=="hid-generic"
    ATTRS{country}=="00"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2':
    KERNELS=="1-1:1.2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{authorized}=="1"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bInterfaceNumber}=="02"
    ATTRS{supports_autosuspend}=="1"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{bNumEndpoints}=="01"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-1':
    KERNELS=="1-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{tx_lanes}=="1"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{idVendor}=="16c0"
    ATTRS{rx_lanes}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{removable}=="removable"
    ATTRS{serial}=="6844930"
    ATTRS{maxchild}=="0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{manufacturer}=="Teensyduino"
    ATTRS{busnum}=="1"
    ATTRS{quirks}=="0x0"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bmAttributes}=="c0"
    ATTRS{idProduct}=="04d0"
    ATTRS{urbnum}=="33"
    ATTRS{product}=="Keyboard"
    ATTRS{bcdDevice}=="0275"
    ATTRS{authorized}=="1"
    ATTRS{configuration}==""
    ATTRS{speed}=="12"
    ATTRS{devnum}=="17"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{bDeviceClass}=="00"
    ATTRS{version}==" 1.10"
    ATTRS{ltm_capable}=="no"
    ATTRS{bNumInterfaces}==" 3"
    ATTRS{devpath}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{idVendor}=="1d6b"
    ATTRS{version}==" 2.00"
    ATTRS{urbnum}=="71171"
    ATTRS{configuration}==""
    ATTRS{maxchild}=="12"
    ATTRS{bmAttributes}=="e0"
    ATTRS{devnum}=="1"
    ATTRS{removable}=="unknown"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{manufacturer}=="Linux 5.7.11-xanmod1 xhci-hcd"
    ATTRS{devpath}=="0"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{quirks}=="0x0"
    ATTRS{busnum}=="1"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{authorized}=="1"
    ATTRS{idProduct}=="0002"
    ATTRS{rx_lanes}=="1"
    ATTRS{bcdDevice}=="0507"
    ATTRS{speed}=="480"
    ATTRS{serial}=="0000:00:14.0"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{authorized_default}=="1"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{tx_lanes}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{bDeviceSubClass}=="00"

  looking at parent device '/devices/pci0000:00/0000:00:14.0':
    KERNELS=="0000:00:14.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{revision}=="0x21"
    ATTRS{enable}=="1"
    ATTRS{class}=="0x0c0330"
    ATTRS{ari_enabled}=="0"
    ATTRS{local_cpus}=="ff"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{irq}=="129"
    ATTRS{device}=="0x9d2f"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{dbc}=="disabled"
    ATTRS{broken_parity_status}=="0"
    ATTRS{subsystem_device}=="0x225d"
    ATTRS{d3cold_allowed}=="1"
    ATTRS{numa_node}=="-1"
    ATTRS{msi_bus}=="1"
    ATTRS{driver_override}=="(null)"
    ATTRS{local_cpulist}=="0-7"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
 
This really should work, since that attribute walk has these lines:

Code:
    ATTRS{idVendor}=="16c0"

    ATTRS{idProduct}=="04d0"

I tested it just now on Ubuntu 18.04. It's definitely working here.

Perhaps 19.10 has made the match case sensitive? Could you try changing this:

Code:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"

to this:

Code:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789abcd]?", MODE:="0666"
 
This really should work, since that attribute walk has these lines:

I tested it just now on Ubuntu 18.04. It's definitely working here.

Sorry for the late reply: I've tried reproducing the error but now the rules files distributed on the website seems to work.

I've also tried deleting the file, rebooting and copying it back to avoid possible "caching" mechanisms, but I cannot reproduce my issue anymore.

Sorry for what I believe now is a false report and thanks for your assistance.
 
Back
Top