Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

udev rules not create SYMLINK

Featured Replies

I create a file 98-use-serial.rules under folder /etc/udev/rules.d . But symlink not created . My purpose is to fix USB port names, As COM1 COM2 COM3

 

This is the content of 98-usb-serial.rules:

SUBSYSTEM=="tty",ATTRS{busnum}=="1",ATTRS{devnum}=="2",SYMLINK+="COM1"

SUBSYSTEM=="tty",ATTRS{busnum}=="4",ATTRS{devnum}=="2",SYMLINK+="COM2"

SUBSYSTEM=="tty",ATTRS{busnum}=="5",ATTRS{devnum}=="2",SYMLINK+="COM3"

 

I used to fix the USB port on Asus Tinker S, Khada_VIM3 , all worked fine. I have no idea why Orange Pi 4 LTD not working.

Might be related: on latest armbian, I'm

encountering two issues:

  1. Contents of /dev/serial/by-id and /dev/serial/by-path are not the same: some connected devices are missing from by-id, making it complicated to identify which /dev/ttyACMx is which.
orangepi@mypc:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 007: ID 1a86:55d4 QinHeng Electronics USB Single Serial
Bus 003 Device 006: ID 1a86:55d4 QinHeng Electronics USB Single Serial
Bus 003 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 014: ID 1a86:55d4 QinHeng Electronics USB Single Serial
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

orangepi@mypc:~$ usbreset
Usage:
  usbreset PPPP:VVVV - reset by product and vendor id
  usbreset BBB/DDD   - reset by bus and device number
  usbreset "Product" - reset by product name

Devices:
  Number 002/014  ID 1a86:55d4  USB Single Serial
  Number 003/007  ID 1a86:55d4  USB Single Serial
  Number 003/006  ID 1a86:55d4  USB Single Serial
  Number 003/002  ID 1a40:0101  USB 2.0 Hub

orangepi@mypc:~$ tree /dev/serial/
/dev/serial/
├── by-id
│   └── usb-1a86_USB_Single_Serial_535A000001-if00 -> ../../ttyACM3
└── by-path
    ├── platform-fe3a0000.usb-usb-0:1:1.0 -> ../../ttyACM3
    ├── platform-xhci-hcd.4.auto-usb-0:1.3:1.0 -> ../../ttyACM0
    └── platform-xhci-hcd.4.auto-usb-0:1.4:1.0 -> ../../ttyACM1

3 directories, 4 files

Armbian 24.5.1 bookworm

2. Simultaneously, I am encountering problems when usb-serial converter will freeze and won't respond unless I manually perform usbreset command.

 

udev rules (60-serial.rules) were certainly updated since armbian release ~1 year ago.

However, this might be simply related to some changes in our connected hardware. Since we added USB hub and have newer revision of these usb-serial converters, I cannot say for certain this is an OS problem.

I have the same problem.  These two things together (udev rules and symlinks) are a show-stopper.

The platform is Orange Pi Pro 5.

First, the udev script is extremely useful for pinning USB-serial devices to a specific name

Second, the symlink mechanism is essential for presenting serial devices as "COMxx" in the Wine dosdevices folder.

Here is my 48-ttyUSB.rules file, which links manufacturer-specific devices to "tty...." names:

 

KERNEL=="ttyUSB0" SYMLINK+="%k" GROUP="ray" MODE="0666"
KERNEL=="ttyUSB[0-9]*", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="tty-F232" GROUP="ray" MODE="0666"
KERNEL=="ttyUSB[0-9]*", SUBSYSTEM=="tty", ATTRS{interface}=="USB-COM485 Plus2", ATTRS{bInterfaceNumber}=="00", SYMLINK+="tty-F485A" GROUP="ray" MODE="0666"
KERNEL=="ttyUSB[0-9]*", SUBSYSTEM=="tty", ATTRS{interface}=="USB-COM485 Plus2", ATTRS{bInterfaceNumber}=="01", SYMLINK+="tty-F485B" GROUP="ray" MODE="0666"
KERNEL=="ttyUSB[0-9]*", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="tty-Pro" GROUP="ray" MODE="0666"
KERNEL=="ttyUSB[0-9]*", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", SYMLINK+="tty-CHIPIX" GROUP="ray" MODE="0666"

 

This works perfectly on a range of Linux computers: all of them are Mint or Ubuntu, and all are on x86 hardware.

 

As a further diagnostic in the Orange Pi/Armbian scene, any of the USB-serial adapters will come up as /dev/ttyUSB0.

Any attempt to establish a symlink in ~.wine/dosdevices installs an entity which looks like a symlink, but which doesn't work: even trying to inspect Properties crashes out.

 

Help please!

9 hours ago, Raymond Wales said:

essential for presenting serial devices as "COMxx" in the Wine dosdevices folder

Long time since I really did run wine, but I still have it installed on Opensuse Tumbleweed (x86_64). That is a rolling release with latest Linux and in the past years I found out udev are less and less needed.

For network devices, you can for example use a systemd network .link file to rename and have nice static names (based on MAC-address).

 

For serial ports via USB, you can use existing unique serial device name, e.g. in my ser2net.yaml file:

connector: serialdev,/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AC2YVFHY-if00-port0,115200n81,local
Works great and rather critical as this is my energy measurement thing. It should be possible to create another symlink named COM<x> to those names.

Around 2 years ago there was once a Debian systemd problem and then this build-in method failed, but was fixed rather quick. 

 

What the difference is between other Linux computer and this one, I don't know. The original topic is 2 years old and other board. So no-one really can reproduce you problem, that is why I just write a working methodology and forget about this topic I guess.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.