ftdi_sio device does not work correctly as a normal user
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
udev (Ubuntu) |
Fix Released
|
Low
|
Unassigned |
Bug Description
Binary package hint: udev
Some information about my system:
DISTRIB_ID=Ubuntu
DISTRIB_
DISTRIB_
DISTRIB_
The version of udev installed:
$ apt-cache policy udev
udev:
Installed: 113-0ubuntu17
Problem description:
I have an usb to rs-232 convertor with an FTDI chip (ftdi_sio kernel module). With the standard permissions set by udev, this device is not working correctly as a normal user.
For example, if I am trying to program a micaZ sensor node with uisp:
$ make micaz install,17 mib510,/dev/ttyUSB0
<snip>
installing micaz binary using mib510
uisp -dprog=mib510 -dserial=
Firmware Version: .
Failed to enter programming mode.
make: *** [program] Error 2
When I issue the same command as root, everything works as expected:
$ sudo /home/wouterh/
Firmware Version: 2.1
Atmel AVR ATmega128 is found.
Uploading: flash
Verifying: flash
Fuse High Byte set to 0xd9
Fuse Extended Byte set to 0xff
Solution:
I have changed the following line in /etc/udev/
SUBSYSTEM=
to
SUBSYSTEM=
and restarted udev, and now everything is working as expected:
$ /home/wouterh/
Firmware Version: 2.1
Atmel AVR ATmega128 is found.
Uploading: flash
Verifying: flash
Fuse High Byte set to 0xd9
Fuse Extended Byte set to 0xff
Changed in udev: | |
status: | Incomplete → Fix Committed |
Serial ports, even converted ones, should probably be in the "dialout" group (just like ttyS*). In theory, this should work already -- your device should have a ttyUSB0 device set up from the "tty" subsystem, and you should be able to access this.
It looks to me like your program might be trying to communicate with the converter directly (rather than to the converter's serial port?) The rule you tried would only affect the /dev/bus/usb device, which is not normally used for serial communication.
What does the program do? Is it some kind of firmware uploader or settings changing program?
Could you do the following for me:
1) unplug the device and wait a few seconds
2) run from a terminal: sudo udevmonitor -e > /tmp/udev.log
3) plug the device in, and wait a few seconds
4) stop the command
5) attach the resulting /tmp/udev.log file to this bug report
Thanks