Personal tools

Difference between revisions of "Fixed name for USB device"

From PhotoVoltaic Logger new generation

Jump to: navigation, search
(Created page with "== Problem == If you have no more a real serial port on your system, you will have to use in most cases a USB-serial adapter. If you have more than adapter, the device (<tt>...")
 
m
Line 6: Line 6:
  
 
But it is required to have for the PVLng scripts to have always the same device...
 
But it is required to have for the PVLng scripts to have always the same device...
 +
 +
== Solution ==
  
 
No problem with udev.
 
No problem with udev.
 
== Solution ==
 
  
 
<blockquote>udev is a device manager for the Linux kernel. Primarily, it manages device nodes in /dev. It is the successor of devfs and hotplug, which means that it handles the /dev directory and all user space actions when adding/removing devices, including firmware load. -- [[Wikipedia:Udev]]</blockquote>
 
<blockquote>udev is a device manager for the Linux kernel. Primarily, it manages device nodes in /dev. It is the successor of devfs and hotplug, which means that it handles the /dev directory and all user space actions when adding/removing devices, including firmware load. -- [[Wikipedia:Udev]]</blockquote>

Revision as of 14:20, 27 February 2014

Problem

If you have no more a real serial port on your system, you will have to use in most cases a USB-serial adapter.

If you have more than adapter, the device (/dev/ttyUSB?) assigned to the adapter during boot time is not in every cases the same.

But it is required to have for the PVLng scripts to have always the same device...

Solution

No problem with udev.

udev is a device manager for the Linux kernel. Primarily, it manages device nodes in /dev. It is the successor of devfs and hotplug, which means that it handles the /dev directory and all user space actions when adding/removing devices, including firmware load. -- Wikipedia:Udev

At 1st find out information about your device:

$ sudo udevadm info --query=all --name=/dev/ttyUSB0

Look for these lines:

P: /devices/pci0000:00/0000:00:13.1/usb3/3-2/3-2:1.0/ttyUSB0/tty/ttyUSB0
...
N: ttyUSB0
...
E: SUBSYSTEM=tty
...
E: ID_SERIAL_SHORT=FTGCYLSS
...

Choose a (for you :-) meaningful device name.

I use usb-ftdi-1 because its my only serial adapter, all others are for 1-Wire.

I also played with the idea of consumption-watt-meter-s0...

Create a rules file

$ echo 'SUBSYSTEM=="tty", ENV{ID_SERIAL_SHORT}=="FTGCYLSS", SYMLINK+="usb-ftdi-1"' >/etc/udev/rules.d/99-usb-S0.rules

Restart udev

$ udevadm trigger

Check

$ ls -al /dev/u*
lrwxrwxrwx 1 root root    7  9. Feb 21:47 /dev/usb-ftdi-1 -> ttyUSB0

Here you can see, that the adapter is at he moment also /dev/ttyUSB0

Put this device name into the channel attribute of your Power sensor.

File:PowerSensorS0Channel.png