Kood: Vali kõik
$ ls -lha /dev/ | egrep USB
lrwxrwxrwx 1 root root 7 apr 20 10:59 EDK-3a1bc4f14d -> ttyUSB0
lrwxrwxrwx 1 root root 7 apr 20 11:14 FT000 -> ttyUSB1
Kood: Vali kõik
$ cat /etc/udev/rules.d/70-ft232r.rules
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{manufacturer}=="FTDI", ATTRS{product}=="FT232R USB UART", SYMLINK+="$attr{serial}", GROUP="dialout", MODE="0660"Probleem: bootimisel symlinke ei teki. Ma pean peale igat buuti masinasse sisse logima ja käsitsi udev reegleid taaskäivitama või USB kola pesast välja tõmbama ja tagasi ühendama.
Kerneli logidele peale vaadates on näha, kuidas udev tõmmatakse käima enne kui kernel on jõudnud USB-serial draiveriteni:
Mulle tundub see lugu tobe - udev reegel toimib siis, kui seade ilmub 2 minutit peale booti (st mina ta lahti-külge ühendan), aga mitte siis kui ta ilmub 100 ms peale udev käivitumist. Kas ma pean kuidagi udev-ile ütlema, et oodaku kuni USB-serial draiverid on käima tõmmatud? Või pole ta tegelikult selleks hetkeks minu custom reegleid sisse laadida jõudnud ja seal on race condition (kes jõuab enne valmis, udev või USB-serial draiver)?$ dmesg | egrep -i 'udev|ftdi|cp21'
[ 3.524752] systemd[1]: Listening on udev Control Socket.
[ 3.524810] systemd[1]: Listening on udev Kernel Socket.
[ 3.536359] systemd[1]: Starting Coldplug All udev Devices...
[ 3.601700] systemd[1]: Finished Coldplug All udev Devices.
...
[ 3.761368] usbcore: registered new interface driver cp210x
[ 3.761378] usbserial: USB Serial support registered for cp210x
[ 3.761404] cp210x 2-2.2:1.0: cp210x converter detected
[ 3.764586] usb 2-2.2: cp210x converter now attached to ttyUSB0
[ 3.791476] usbcore: registered new interface driver ftdi_sio
[ 3.791484] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 3.791532] ftdi_sio 2-2.1.4:1.0: FTDI USB Serial Device converter detected
[ 3.792007] usb 2-2.1.4: FTDI USB Serial Device converter now attached to ttyUSB1


