element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Internet of Things
  • Technologies
  • More
Internet of Things
Forum udev rules error on BBB
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Internet of Things to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 13 replies
  • Subscribers 508 subscribers
  • Views 2161 views
  • Users 0 members are here
Related

udev rules error on BBB

ramanc51
ramanc51 over 9 years ago

Hi all

             In my BBB i written udev rule 99-usb-serial.rules at /etc/udev/rules.d to fix my usb-serial converter ttyUSB0 name as static(e.g printer), but this rules not create symlink as i given below, alos i saw error that unable to open '/sys/udev/ttyUSB0', is there glue to resolve this error?

 

my 99-usb-serial.rules

 

SUBSYSTEMS=="usb-serial", MODE="0666", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", SYMLINK+="printer"

 

Error

parse_file: reading '/etc/udev/rules.d/99-usb-serial.rules' as rules file

udev_rules_new: rules use 197880 bytes tokens (16490 * 12 bytes), 32369 bytes buffer

udev_rules_new: temporary index used 60680 bytes (3034 * 20 bytes)

unable to open device '/sys/dev/ttyUSB0'

debian@beaglebone:~$

 

Note:

        But i am able to open this device as /dev/ttyUSB0 only by my another java application on same BBB, but not as a printer

  • Sign in to reply
  • Cancel

Top Replies

  • bwelsby
    bwelsby over 9 years ago in reply to ramanc51 +1
    Do you get the error running udevadm test /dev/ttyUSB0 ? Try udevadm test /sys/dev/char/188:0 Are you sure SUBSYSTEMS=="usb-serial" Usually they are "tty" You can also check /var/log/syslog for errors…
  • mconners
    mconners over 9 years ago

    Did you come up with that by yourself? Or did you have guidance from another source? i.e. did the device vendor provide you with that example and you just added the symlink on the end?

     

    Mike

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • bwelsby
    bwelsby over 9 years ago

    perform a

    udevadm info /dev/ttyUSB0 

    to check your values in your rule are correct.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • ramanc51
    ramanc51 over 9 years ago in reply to mconners

    Mike, VID&PID is belongs to my device, by the guidance on other sites that are referenced i came up, for command ls -l /dev/ttyUSB0 i found the device info is stored in /sys/dev/char/188.0, the result for above command is given bellow, are you telling my udev rules is not correct?

     

    crwxrwxrwx 1 root dialout 188,  0  Feb 19 22:39 /dev/ttyUSB0

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • ramanc51
    ramanc51 over 9 years ago in reply to bwelsby

    Hi Brian thanks, i checked my rule values with devadm info returns all are correct, i don't know why it is showing error unable to open device on '/sys/dev/ttyUSB0'

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • bwelsby
    bwelsby over 9 years ago in reply to ramanc51

    Do you get the error running udevadm test /dev/ttyUSB0 ?

    Try  udevadm test  /sys/dev/char/188:0

     

     

    Are you sure SUBSYSTEMS=="usb-serial" 

    Usually they are "tty"

    You can also check /var/log/syslog for errors that may be a clue.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • ramanc51
    ramanc51 over 9 years ago in reply to bwelsby

    I found my device SUBSYSTEM = "usb" , now it creates symlink at /etc/dev as expected, but my app is not able to open the device using symlink name

    For e.g i used to open printer comport  as follows

     

    /dev/printer   -  //dev/printer -> /dev/ttyUSB0

    /dev/display  - //dev/display -> /dev/ttyUSB1

     

    it says no such port, please share  how to use symlink name to open/close ports

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • bwelsby
    bwelsby over 9 years ago in reply to ramanc51

    ok so if you

    ls -l /dev/printer

    you get something like

    lrwxrwxrwx 1 root root 7 Feb 20 09:19 /dev/printer -> ttyUSB0

     

    you should be able to just use /dev/printer in just the same way you would use /dev/ttyUSB0

     

    If you have something like minicom installed then

    minicom -D /dev/printer

    should open a terminal session with the port

     

    please can you post the output for

    udevadm info /dev/ttyUSB0

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • ramanc51
    ramanc51 over 9 years ago

    [root@hextek rules.d]# udevadm info -a -n /dev/ttyUSB0

     

    Udevadm info starts with the device specified by the devpath and then

    walks up the chain of parent devices. It prints for every device

    found, all possible attributes in the udev rules key format.

    A rule to match, can be composed by the attributes of the device

    and the attributes from one single parent device.

     

      looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5.2/1-1.5.2:1.0/ttyUSB0/tty/ttyUSB0':

        KERNEL=="ttyUSB0"

        SUBSYSTEM=="tty"

        DRIVER==""

     

      looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5.2/1-1.5.2:1.0/ttyUSB0':

        KERNELS=="ttyUSB0"

        SUBSYSTEMS=="usb-serial"

        DRIVERS=="pl2303"

        ATTRS{port_number}=="0"

     

      looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5.2/1-1.5.2:1.0':

        KERNELS=="1-1.5.2:1.0"

        SUBSYSTEMS=="usb"

        DRIVERS=="pl2303"

        ATTRS{bInterfaceClass}=="ff"

        ATTRS{bInterfaceSubClass}=="00"

        ATTRS{bInterfaceProtocol}=="00"

        ATTRS{bNumEndpoints}=="03"

        ATTRS{supports_autosuspend}=="1"

        ATTRS{bAlternateSetting}==" 0"

        ATTRS{bInterfaceNumber}=="00"

     

      looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/1-1.5.2':

        KERNELS=="1-1.5.2"

        SUBSYSTEMS=="usb"

        DRIVERS=="usb"

        ATTRS{bDeviceSubClass}=="00"

        ATTRS{bDeviceProtocol}=="00"

        ATTRS{devpath}=="1.5.2"

        ATTRS{idVendor}=="067b"

        ATTRS{speed}=="12"

        ATTRS{bNumInterfaces}==" 1"

        ATTRS{bConfigurationValue}=="1"

        ATTRS{bMaxPacketSize0}=="64"

        ATTRS{busnum}=="1"

        ATTRS{devnum}=="88"

        ATTRS{configuration}==""

        ATTRS{bMaxPower}=="100mA"

        ATTRS{authorized}=="1"

        ATTRS{bmAttributes}=="a0"

        ATTRS{bNumConfigurations}=="1"

        ATTRS{maxchild}=="0"

        ATTRS{bcdDevice}=="0300"

        ATTRS{avoid_reset_quirk}=="0"

        ATTRS{quirks}=="0x0"

        ATTRS{version}==" 1.10"

        ATTRS{urbnum}=="463"

        ATTRS{ltm_capable}=="no"

        ATTRS{manufacturer}=="Prolific Technology Inc."

        ATTRS{removable}=="unknown"

        ATTRS{idProduct}=="2303"

        ATTRS{bDeviceClass}=="00"

        ATTRS{product}=="USB-Serial Controller"

     

      looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5':

        KERNELS=="1-1.5"

        SUBSYSTEMS=="usb"

        DRIVERS=="usb"

        ATTRS{bDeviceSubClass}=="00"

        ATTRS{bDeviceProtocol}=="00"

        ATTRS{devpath}=="1.5"

        ATTRS{idVendor}=="058f"

        ATTRS{speed}=="12"

        ATTRS{bNumInterfaces}==" 1"

        ATTRS{bConfigurationValue}=="1"

        ATTRS{bMaxPacketSize0}=="8"

        ATTRS{busnum}=="1"

        ATTRS{devnum}=="84"

        ATTRS{configuration}==""

        ATTRS{bMaxPower}=="100mA"

        ATTRS{authorized}=="1"

        ATTRS{bmAttributes}=="e0"

        ATTRS{bNumConfigurations}=="1"

        ATTRS{maxchild}=="4"

        ATTRS{bcdDevice}=="0312"

        ATTRS{avoid_reset_quirk}=="0"

        ATTRS{quirks}=="0x2"

        ATTRS{version}==" 1.10"

        ATTRS{urbnum}=="136"

        ATTRS{ltm_capable}=="no"

        ATTRS{manufacturer}=="ALCOR"

        ATTRS{removable}=="removable"

        ATTRS{idProduct}=="9254"

        ATTRS{bDeviceClass}=="09"

        ATTRS{product}=="Generic USB Hub"

     

      looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1':

        KERNELS=="1-1"

        SUBSYSTEMS=="usb"

        DRIVERS=="usb"

        ATTRS{bDeviceSubClass}=="00"

        ATTRS{bDeviceProtocol}=="01"

        ATTRS{devpath}=="1"

        ATTRS{idVendor}=="8087"

        ATTRS{speed}=="480"

        ATTRS{bNumInterfaces}==" 1"

        ATTRS{bConfigurationValue}=="1"

        ATTRS{bMaxPacketSize0}=="64"

        ATTRS{busnum}=="1"

        ATTRS{devnum}=="2"

        ATTRS{configuration}==""

        ATTRS{bMaxPower}=="0mA"

        ATTRS{authorized}=="1"

        ATTRS{bmAttributes}=="e0"

        ATTRS{bNumConfigurations}=="1"

        ATTRS{maxchild}=="6"

        ATTRS{bcdDevice}=="0000"

        ATTRS{avoid_reset_quirk}=="0"

        ATTRS{quirks}=="0x0"

        ATTRS{version}==" 2.00"

        ATTRS{urbnum}=="1932"

        ATTRS{ltm_capable}=="no"

        ATTRS{removable}=="fixed"

        ATTRS{idProduct}=="0020"

        ATTRS{bDeviceClass}=="09"

     

      looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1':

        KERNELS=="usb1"

        SUBSYSTEMS=="usb"

        DRIVERS=="usb"

        ATTRS{bDeviceSubClass}=="00"

        ATTRS{bDeviceProtocol}=="00"

        ATTRS{devpath}=="0"

        ATTRS{idVendor}=="1d6b"

        ATTRS{speed}=="480"

        ATTRS{bNumInterfaces}==" 1"

        ATTRS{bConfigurationValue}=="1"

        ATTRS{bMaxPacketSize0}=="64"

        ATTRS{authorized_default}=="1"

        ATTRS{busnum}=="1"

        ATTRS{devnum}=="1"

        ATTRS{configuration}==""

        ATTRS{bMaxPower}=="0mA"

        ATTRS{authorized}=="1"

        ATTRS{bmAttributes}=="e0"

        ATTRS{bNumConfigurations}=="1"

        ATTRS{maxchild}=="3"

        ATTRS{bcdDevice}=="0309"

        ATTRS{avoid_reset_quirk}=="0"

        ATTRS{quirks}=="0x0"

        ATTRS{serial}=="0000:00:1a.0"

        ATTRS{version}==" 2.00"

        ATTRS{urbnum}=="267"

        ATTRS{ltm_capable}=="no"

        ATTRS{manufacturer}=="Linux 3.9.10-100.fc17.i686 ehci_hcd"

        ATTRS{removable}=="unknown"

        ATTRS{idProduct}=="0002"

        ATTRS{bDeviceClass}=="09"

        ATTRS{product}=="EHCI Host Controller"

     

      looking at parent device '/devices/pci0000:00/0000:00:1a.0':

        KERNELS=="0000:00:1a.0"

        SUBSYSTEMS=="pci"

        DRIVERS=="ehci-pci"

        ATTRS{irq}=="16"

        ATTRS{subsystem_vendor}=="0x8086"

        ATTRS{broken_parity_status}=="0"

        ATTRS{class}=="0x0c0320"

        ATTRS{companion}==""

        ATTRS{consistent_dma_mask_bits}=="32"

        ATTRS{dma_mask_bits}=="32"

        ATTRS{local_cpus}=="ffffffff"

        ATTRS{device}=="0x3b3c"

        ATTRS{uframe_periodic_max}=="100"

        ATTRS{enable}=="1"

        ATTRS{msi_bus}==""

        ATTRS{local_cpulist}=="0-31"

        ATTRS{vendor}=="0x8086"

        ATTRS{subsystem_device}=="0x0036"

        ATTRS{d3cold_allowed}=="1"

     

      looking at parent device '/devices/pci0000:00':

        KERNELS=="pci0000:00"

        SUBSYSTEMS==""

        DRIVERS==""

    [root@hextek rules.d]#

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • ramanc51
    ramanc51 over 9 years ago

    Now i am able to open port using symlink name on my java app by using following line

     

           System.setProperty("gnu.io.rxtx.SerialPorts", "/dev/printer");

     

    But according to rxtx lib source, it will omit other device if we user system property method, so that i can't use more than one device using it's symlink name,

    is there any way to load more than one symlinked devices?

     

    Reference

    Trouble shooting - Rxtx

    If you wish, you can set the system properties gnu.io.rxtx.SerialPorts and gnu.io.rxtx.ParallelPorts. If either of these is set, then no scanning will be carried out and only the specified ports will be available

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • bwelsby
    bwelsby over 9 years ago in reply to ramanc51

    Have a look at this it may help, it applies to  both RPi and BBB  http://angryelectron.com/rxtx-on-raspbian/

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube