Home Page Forums Raspberry Pi Shields rPi 3G-4G/LTE Base Shield V2 assignment of ttyUSB* IDs is not consistent

This topic contains 3 replies, has 1 voice, and was last updated by  tom-sixfab 2 weeks, 5 days ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #40014


    I’ve hit a problem with the assignment of ports to this device. If it is plugged in in isolation it is assigned to /dev/ttyUSB[0,1,2,3] as expected. If I plug this in with another USB serial device, that device is assigned as /dev/ttyUSB0, and this card is assigned to /dev/ttyUSB[1,2,3,4]. Needless to say this this messes with all scripts (GPS, PPP, …) that are attempting to access it. I’m attempting to use the instructions found at http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/ to provide consistent alternative names. Can anyone provide the proper udev rules to make this work. I have tried

    SUBSYSTEM==”tty”, ATTRS{idVendor}==”2c7c”, ATTRS{idProduct}==”0121″, ATTRS{bInterfaceNumber}==”00″, SYMLINK+=”sixfab0″
    SUBSYSTEM==”tty”, ATTRS{idVendor}==”2c7c”, ATTRS{idProduct}==”0121″, ATTRS{bInterfaceNumber}==”01″, SYMLINK+=”sixfab1″
    SUBSYSTEM==”tty”, ATTRS{idVendor}==”2c7c”, ATTRS{idProduct}==”0121″, ATTRS{bInterfaceNumber}==”02″, SYMLINK+=”sixfab2″
    SUBSYSTEM==”tty”, ATTRS{idVendor}==”2c7c”, ATTRS{idProduct}==”0121″, ATTRS{bInterfaceNumber}==”03″, SYMLINK+=”sixfab3″

    with no luck. Any other ideas on how to auto-adapt to the actual assigned ports (which can change back any time if the other devices are removed)?



    The following seems to be working for me
    KERNELS==”1-1.3″, SYMLINK+=”ttySixfab1″
    KERNELS==”1-1.3:1.2″, SYMLINK+=”ttySixfab2″
    KERNELS==”1-1.3:1.3″, SYMLINK+=”ttySixfab3″
    KERNELS==”1-″, SYMLINK+=”ttySixfab4″

    where ttySixfab4 is used in place of the standard ttyUSB3, and the others similarly changed.



    The above also does not work – the KERNELS value changes system to system. On top of that, there does not seem to be ANY udev attribute that allows the 4 ports to be distinguished from each other. This is a MAJOR bug!



    OK – I think I have found the magic combination – the udev file should contain

    KERNELS==”1-1.*”,SUBSYSTEMS==”usb”, DRIVERS==”option”, ATTRS{bInterfaceNumber}==”00″, SYMLINK+=”ttySixfab0″, MODE=”0660″, GROUP=”plugdev”
    KERNELS==”1-1.*”,SUBSYSTEMS==”usb”, DRIVERS==”option”, ATTRS{bInterfaceNumber}==”01″, SYMLINK+=”ttySixfab1″, MODE=”0660″, GROUP=”plugdev”
    KERNELS==”1-1.*”,SUBSYSTEMS==”usb”, DRIVERS==”option”, ATTRS{bInterfaceNumber}==”02″, SYMLINK+=”ttySixfab2″, MODE=”0660″, GROUP=”plugdev”
    KERNELS==”1-1.*”,SUBSYSTEMS==”usb”, DRIVERS==”option”, ATTRS{bInterfaceNumber}==”03″, SYMLINK+=”ttySixfab3″, MODE=”0660″, GROUP=”plugdev”

    Which will map the ports to ttySixfax[0-3] respectively. Replace the old instructions for ttyUSB[0-3] with the corresponding Sixfab device.

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.