FS#25748 - [linux,udev]ti_usb_3410_5052 USB-Serial chipset creates /dev/ttyUSB0 node with incorrect permissions

Attached to Project: Arch Linux
Opened by Max Pray (synthead) - Wednesday, 24 August 2011, 14:02 GMT
Last edited by Tom Gundersen (tomegun) - Tuesday, 13 March 2012, 23:36 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Tom Gundersen (tomegun)
Architecture All
Severity Medium
Priority Normal
Reported Version 3.5.3
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


[tomegun: fixed (crucial) typo in report]

/dev/ttyUSB0 is a serial device and should have permissions as follows:

crw-rw---- 1 root uucp 188, 0 Aug 23 15:01 ttyUSB0

However, when the node is created, it looks like this:

crw------- 1 root root 188, 0 Aug 23 15:01 ttyUSB0

This prevents users and daemons in the uucp group from accessing the serial port.

local/udev 173-3 (base)
local/linux 3.0.3-1 (base)
local/linux-firmware 20110727-1
linux-headers 3.0.3-1
This task depends upon

Closed by  Tom Gundersen (tomegun)
Tuesday, 13 March 2012, 23:36 GMT
Reason for closing:  No response
Comment by Dan McGee (toofishes) - Wednesday, 24 August 2011, 14:14 GMT
  • Field changed: Attached to Project (Pacman → Arch Linux)
Wrong project...
Comment by Tom Gundersen (tomegun) - Sunday, 28 August 2011, 10:55 GMT
Could you please paste the output of
"grep OWNER=\"uucp\" /{etc,lib}/udev/rules.d/*"

I see no rules on my system that might make uucp the owner of a device...
Comment by Max Pray (synthead) - Friday, 16 September 2011, 19:00 GMT
Me neither. Should we create a "default" rule for this?
Comment by Tom Gundersen (tomegun) - Friday, 16 September 2011, 19:47 GMT
@synthead: I'm confused. In your report you say that the device is owned by the uucp user. My question is therefore what rule assigns that owner?

If there is no rule, but your device is still owned by uucp, something weird is going on...

The correct behavior is, as you pointed out, that the group should be uucp, and the owner root (with the correct permissions).
Comment by Max Pray (synthead) - Friday, 21 October 2011, 15:38 GMT
To clarify, there isn't a rule (that's installed by packages), and the device node gets created as root:root.

edit-Oh shoot, I put uucp:uucp in the bug report. I meant to write root:root, heheh.
Comment by Tom Gundersen (tomegun) - Friday, 21 October 2011, 16:49 GMT
I corrected your report. Now it makes sense. The rule that should be assigning the device to the uucp group is in /lib/udev/rules.d/50-default.rules:

# serial
KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp"

The question is why this is rule is not applied (it clearly should be), or why some other rule is overwriting the GROUP. On my system there is no rule to set GROUP="root", could you grep your rules directories (/etc/udev/rules.d and /lib/udev/rules.d) for "root" and see if any other rule might be overwriting this?

Also, could I ask you to try again with the newest udev from testing (174)?
Comment by Tom Gundersen (tomegun) - Friday, 28 October 2011, 16:55 GMT
One more thing you could try:

Make sure udev-174 is installed, and that you have regenerated your initramfs (mkinitrd -p linux), and (most importantly) that there are no files in /etc/udev/rules.d/.
Comment by Tom Gundersen (tomegun) - Wednesday, 09 November 2011, 00:53 GMT
This is probably due to rules with deprecated keys (BUS, SYSFS, ID) wreaking havoc. Remove old rules and try again.
Comment by Max Pray (synthead) - Tuesday, 21 February 2012, 22:09 GMT
  • Field changed: Percent Complete (100% → 0%)
Incorrect permissions popping up again:

crw------- 1 uucp uucp 188, 0 Feb 17 13:24 ttyUSB0

... where it should be:

crw-rw---- 1 uucp uucp 188, 0 Feb 17 13:24 ttyUSB0
Comment by Tom Gundersen (tomegun) - Tuesday, 21 February 2012, 22:11 GMT
did you get the owner/group right in the report this time? in that case, the problem is different than before. Please answer my previous qustions, also could you add what happened since the last report? With what versions of udev did this work correctly, and when did it break again? Have you made sure you don't have any old rules that are not owned by any package?