Skip to content

Problèmes avec les convertisseurs USB-RS232 Prolific

Pour communiquer avec le scopus, le pic-osd, la matrice, le DTX1 et le module de puissance, j’utilise des convertisseurs USB-RS232. Dans le linux, ils sont renseigné comme ttyUSB0 jusque ttyUSB4. Seul hic, à chaque reboot du raspberry, les convertisseurs n’héritent pas du même ttyUSBx et c’est un réel problème. Je dois passer mon temps à les reconfigurer manuellement à chaque fois. Dans linux, il est possible de figer cela, en se basant sur le numéro de série par exemple.

Voilà la situation aujourd’hui :

root@ON0CTV-CMD:/home/pi# dmesg | grep ttyUSB
[ 8.376499] usb 1-1.3.4: pl2303 converter now attached to ttyUSB0
[ 8.380469] usb 1-1.3.6: pl2303 converter now attached to ttyUSB1
[ 8.384463] usb 1-1.3.7: pl2303 converter now attached to ttyUSB2
[ 9.774053] usb 1-1.3.2: FTDI USB Serial Device converter now attached to ttyUSB3
[ 9.775241] usb 1-1.3.3: FTDI USB Serial Device converter now attached to ttyUSB4

Avant, j’avais 4 convertisseurs pl2303 et un FTDI qui faisait du RS485, le FTDI, j’arrivais à le figer car il avait un numéro de série, les convertisseurs low cost basé sur le pl2303 n’ont pas de numéro de série et ont tous les mêmes infos.

Prenons par exemple le ttyUSB0 et demandons les infos : On a le même résultat pour tous les pl2303 !

root@ON0CTV-CMD:/home/pi# udevadm info –name=/dev/ttyUSB0 –attribute-walk

looking at device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/ttyUSB0/tty/ttyUSB0’:
KERNEL== »ttyUSB0″
SUBSYSTEM== »tty »
DRIVER== » »

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/ttyUSB0’:
KERNELS== »ttyUSB0″
SUBSYSTEMS== »usb-serial »
DRIVERS== »pl2303″
ATTRS{port_number}== »0″

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0’:
KERNELS== »1-1.3.4:1.0″
SUBSYSTEMS== »usb »
DRIVERS== »pl2303″
ATTRS{bInterfaceClass}== »ff »
ATTRS{bInterfaceSubClass}== »00″
ATTRS{bInterfaceProtocol}== »00″
ATTRS{bNumEndpoints}== »03″
ATTRS{authorized}== »1″
ATTRS{supports_autosuspend}== »1″
ATTRS{bAlternateSetting}== » 0″
ATTRS{bInterfaceNumber}== »00″

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.4’:
KERNELS== »1-1.3.4″
SUBSYSTEMS== »usb »
DRIVERS== »usb »
ATTRS{bDeviceSubClass}== »00″
ATTRS{bDeviceProtocol}== »00″
ATTRS{devpath}== »1.3.4″
ATTRS{idVendor}== »067b »
ATTRS{speed}== »12″
ATTRS{bNumInterfaces}== » 1″
ATTRS{bConfigurationValue}== »1″
ATTRS{bMaxPacketSize0}== »64″
ATTRS{busnum}== »1″
ATTRS{devnum}== »8″
ATTRS{configuration}== » »
ATTRS{bMaxPower}== »100mA »
ATTRS{authorized}== »1″
ATTRS{bmAttributes}== »a0″
ATTRS{bNumConfigurations}== »1″
ATTRS{maxchild}== »0″
ATTRS{bcdDevice}== »0300″
ATTRS{avoid_reset_quirk}== »0″
ATTRS{quirks}== »0x0″
ATTRS{version}== » 2.00″
ATTRS{urbnum}== »516″
ATTRS{ltm_capable}== »no »
ATTRS{manufacturer}== »Prolific Technology Inc. »
ATTRS{removable}== »unknown »
ATTRS{idProduct}== »2303″
ATTRS{bDeviceClass}== »00″
ATTRS{product}== »USB-Serial Controller »

Faisons la même chose avec le FTDI :

root@ON0CTV-CMD:/home/pi# udevadm info –name=/dev/ttyUSB4 –attribute-walk

looking at device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3:1.0/ttyUSB4/tty/ttyUSB4’:
KERNEL== »ttyUSB4″
SUBSYSTEM== »tty »
DRIVER== » »

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3:1.0/ttyUSB4’:
KERNELS== »ttyUSB4″
SUBSYSTEMS== »usb-serial »
DRIVERS== »ftdi_sio »
ATTRS{port_number}== »0″
ATTRS{latency_timer}== »1″

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3:1.0’:
KERNELS== »1-1.3.3:1.0″
SUBSYSTEMS== »usb »
DRIVERS== »ftdi_sio »
ATTRS{bInterfaceClass}== »ff »
ATTRS{bInterfaceSubClass}== »ff »
ATTRS{bInterfaceProtocol}== »ff »
ATTRS{bNumEndpoints}== »02″
ATTRS{authorized}== »1″
ATTRS{supports_autosuspend}== »1″
ATTRS{bAlternateSetting}== » 0″
ATTRS{bInterfaceNumber}== »00″
ATTRS{interface}== »USB Serial Converter »

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.3’:
KERNELS== »1-1.3.3″
SUBSYSTEMS== »usb »
DRIVERS== »usb »
ATTRS{bDeviceSubClass}== »00″
ATTRS{bDeviceProtocol}== »00″
ATTRS{devpath}== »1.3.3″
ATTRS{idVendor}== »0403″
ATTRS{speed}== »12″
ATTRS{bNumInterfaces}== » 1″
ATTRS{bConfigurationValue}== »1″
ATTRS{bMaxPacketSize0}== »8″
ATTRS{busnum}== »1″
ATTRS{devnum}== »7″
ATTRS{configuration}== » »
ATTRS{bMaxPower}== »44mA »
ATTRS{authorized}== »1″
ATTRS{bmAttributes}== »a0″
ATTRS{bNumConfigurations}== »1″
ATTRS{maxchild}== »0″
ATTRS{bcdDevice}== »0600″
ATTRS{avoid_reset_quirk}== »0″
ATTRS{quirks}== »0x0″
ATTRS{serial}== »FT92DEQJ »
ATTRS{version}== » 2.00″
ATTRS{urbnum}== »20745443″
ATTRS{ltm_capable}== »no »
ATTRS{manufacturer}== »FTDI »
ATTRS{removable}== »unknown »
ATTRS{idProduct}== »6001″
ATTRS{bDeviceClass}== »00″
ATTRS{product}== »USB Serial Converter »

Vérifions le résultat pour le FTDI RS485 :

root@ON0CTV-CMD:/home/pi# udevadm info –name=/dev/ttyUSB3 –attribute-walk

looking at device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0/ttyUSB3/tty/ttyUSB3’:
KERNEL== »ttyUSB3″
SUBSYSTEM== »tty »
DRIVER== » »

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0/ttyUSB3’:
KERNELS== »ttyUSB3″
SUBSYSTEMS== »usb-serial »
DRIVERS== »ftdi_sio »
ATTRS{port_number}== »0″
ATTRS{latency_timer}== »1″

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0’:
KERNELS== »1-1.3.2:1.0″
SUBSYSTEMS== »usb »
DRIVERS== »ftdi_sio »
ATTRS{bInterfaceClass}== »ff »
ATTRS{bInterfaceSubClass}== »ff »
ATTRS{bInterfaceProtocol}== »ff »
ATTRS{bNumEndpoints}== »02″
ATTRS{authorized}== »1″
ATTRS{supports_autosuspend}== »1″
ATTRS{bAlternateSetting}== » 0″
ATTRS{bInterfaceNumber}== »00″
ATTRS{interface}== »USB-RS485 Cable »

looking at parent device ‘/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.2’:
KERNELS== »1-1.3.2″
SUBSYSTEMS== »usb »
DRIVERS== »usb »
ATTRS{bDeviceSubClass}== »00″
ATTRS{bDeviceProtocol}== »00″
ATTRS{devpath}== »1.3.2″
ATTRS{idVendor}== »0403″
ATTRS{speed}== »12″
ATTRS{bNumInterfaces}== » 1″
ATTRS{bConfigurationValue}== »1″
ATTRS{bMaxPacketSize0}== »8″
ATTRS{busnum}== »1″
ATTRS{devnum}== »6″
ATTRS{configuration}== » »
ATTRS{bMaxPower}== »300mA »
ATTRS{authorized}== »1″
ATTRS{bmAttributes}== »80″
ATTRS{bNumConfigurations}== »1″
ATTRS{maxchild}== »0″
ATTRS{bcdDevice}== »0600″
ATTRS{avoid_reset_quirk}== »0″
ATTRS{quirks}== »0x0″
ATTRS{serial}== »FTYT79FN »
ATTRS{version}== » 2.00″
ATTRS{urbnum}== »7896370″
ATTRS{ltm_capable}== »no »
ATTRS{manufacturer}== »FTDI »
ATTRS{removable}== »unknown »
ATTRS{idProduct}== »6001″
ATTRS{bDeviceClass}== »00″
ATTRS{product}== »USB-RS485 Cable »

Donc, en créant un fichier /etc/udev/rules.d/99-usb-serial.rules, on peux figer les ports vers des numéros de série :

root@ON0CTV-CMD:/home/pi# cat /etc/udev/rules.d/99-usb-serial.rules
SUBSYSTEM== »tty », ATTRS{serial}== »FT92DEQJ », SYMLINK+= »ttySCOPUS »
SUBSYSTEM== »tty », ATTRS{serial}== »FTYT79FN », SYMLINK+= »ttySDM120″

Ce qu’on ne peut pas faire avec les modèles low cost Prolific.

Conclusion, on en a toujours pour son argent ! 5 EUR contre 15 EUR…

  • kyrie irving shoes
  • lebron james shoes
  • kyrie 4
  • puma fenty
  • lebron soldier 11
  • asics shoes
  • stephen curry shoes
  • pg shoes
  • puma fenty slides
  • lebron 14
  • curry Shoes
  • puma rihanna creepers
  • nmd human race
  • curry shoes
  • yeezy shoes
  • adidas nmd
  • lebron soldier 10
  • puma fenty
  • lebron soldier
  • lebron 15
  • kyrie 4
  • curry one
  • kd shoes
  • Curry 1
  • nike vapormax
  • kyrie 1
  • kyrie 2
  • adidas nmd shoes
  • ugg 5250
  • john wall shoes
  • ugg 5815
  • nike pg 2
  • kyrie irving shoes
  • adidas john wall
  • j wall shoes
  • http://www.asicsshoes.us.com
  • curry 3 shoes
  • kyrie irving jersey
  • curry 3
  • kd 9
  • kd shoes
  • Kevin Durant shoes
  • kobe 12
  • http://www.kd-9.org
  • yeezy boost 350 v2
  • http://www.kyrieirvingshoes.us.com
  • kd shoes
  • Curry 3
  • Curry 1
  • adidas yeezy wave runner 7000
  • stephen curry shoes
  • http://www.curry1.org
  • kevin durant shoes
  • yeezy boost
  • adidas nmd Runner
  • adidas nmd r1
  • kobe 10
  • adidas crazy explosive
  • adidas tennis hu
  • adidas tennis hu pharrell
  • air max 90
  • kobe 10 shoes
  • adidas nmd xr1
  • kobe shoes
  • curry one
  • curry one
  • hyperdunk 2016
  • kyrie irving shoes
  • nike hyperdunk 2016
  • ugg 5803
  • kobe bryant shoes
  • adidas nmd
  • kobe bryant shoes
  • hyperdunk shoes
  • vans shoes
  • Hyperdunk Flyknit Shoes
  • vans outlet
  • vans for sale
  • nike hyperdunk
  • Curry 3
  • yeezy 350 boost
  • Baseball Bats
  • kobe bryant shoes
  • lebron soldier
  • kyrie 4 Shoes
  • kyrie 4
  • under armour shoes
  • nike lebron soldier
  • adidas tubular instinct
  • adidas tubular instinct boost
  • adidas ultra boost
  • adidas tubular
  • lebron soldier shoes
  • air jordan shoes
  • air max shoes
  • nike air max
  • air max nike
  • lebron soldier shoes
  • soldier shoes
  • air max 90
  • air max 95
  • bape hoodie
  • adidas nmd human race
  • nmd human race
  • bape jacket
  • bape hoodie
  • bape clothing
  • ben simmons jersey
  • bape hoodie jacket
  • bape hoodie shark
  • bape puma
  • bape Pants
  • Asics Gel Kayano
  • kobe 11
  • Curry One
  • stephen curry shoes
  • Kobe Shoes
  • harden shoes
  • kobe 11 shoes
  • Curry 2
  • Curry 2
  • Harden 1
  • Curry 2
  • Gel Kayano
  • James Harden Shoes
  • curry one
  • lebron soldier
  • lebron 10 soldier
  • kyrie 4
  • nike lebron soldier
  • Curry Shoes 2015
  • Harden 1 Shoes
  • James Harden Shoes
  • Cheap Baseball Bats
  • Harden Shoes
  • Asics Kayano
  • James Harden 1
  • Baseball Bats For Sale
  • Under Armour Curry Shoes
  • kobe x
  • Kobe 10
  • Asics Running Shoes
  • Baseball Bats Outlet
  • Cheap Harden 1
  • kobe bryant shoes
  • kobe shoes
  • Cheap Curry Shoes
  • yeezy 950
  • Baseball Bats Store
  • Curry One Mvp
  • Nike Harden Shoes
  • Asics Shoes
  • Baseball Bat
  • Nike Kobe Shoes
  • Harden Shoes
  • Under Armour Store
  • Baseball Bats Sale
  • Asics Shoes Women
  • Curry 2 Shoes
  • Curry Shoes
  • curry 1
  • Stephen Curry Shoes
  • Under Armour curry one
  • James Harden Shoes
  • stephen curry shoes
  • Steph Curry 1
  • Asics Shoes Men
  • Stephen Curry Shoes
  • kobe basketball Shoes
  • Nike Harden Shoes
  • Nike James Harden Shoes
  • Harden Shoes For sale
  • Harden Shoes Sale
  • yeezy boost
  • new balance shoes
  • kanye west shoes
  • http://www.yeezyshoes.us.com
  • kobe x shoes
  • kd 8
  • adidas rose shoes
  • derrick rose shoes
  • adidas nmd xr1
  • adidas nmd r1
  • adidas nmd
  • adidas nmd runner
  • adidas nmd pk
  • adidas nmd footlocker
  • d rose shoes
  • rose shoes
  • d rose shoes
  • rose shoes
  • adidas nmd r1 primeknit
  • joel embiid jersey
  • nike air vapormax flyknit
  • new era caps
  • adidas rose shoes
  • kobe bryant shoes
  • kobe shoes
  • kobe 12 shoes
  • kyrie 3
  • nike kyrie 3
  • kyrie 3 shoes
  • air max shoes
  • nike air max shoes
  • stuart weitzman boots
  • nike air max
  • kevin durant shoes
  • kd vii
  • kd 7
  • curry 3
  • curry 3 shoes
  • ua curry 3
  • curry 3 low
  • kyrie 3
  • adidas porsche shoes
  • adidas porsche design shoes
  • lebron james shoes
  • kobe shoes 2015
  • nike air shoes
  • nike air max shoes
  • kyrie 3
  • kyrie 3 shoes
  • nike kyire 3
  • cheap air max shoes
  • air max shoes
  • kd vii shoes
  • kd shoes
  • kevin durant shoes
  • adidas zx flux
  • adidas zx
  • jordan retro
  • adidas tubular
  • adidas flux
  • cheap kd shoes
  • adidas ultra boost
  • kobe shoes nba
  • palladium boots
  • lebron soldier 10
  • nike air max 2017
  • air max 2017
  • lebron soldier
  • lebron soldier shoes
  • nike lebron soldier
  • air jordan retro/a>
  • cheap kobe shoes
  • soldier 10
  • kd shoes
  • kevin durant shoes
  • kevin durant shoes
  • jordan retro shoes
  • hyperdunk 2017
  • kd 7 shoes
  • kevin durant shoes mvp
  • porsche design shoes
  • adidas porsche design
  • adidas shoes
  • kevin bryant shoes
  • kd shoes store
  • kd 7
  • herve leger dresses
  • kobe shoes
  • kobe bryant shoes
  • kd shoes
  • kd sneaker
  • adidas alphabounce
  • adidas boost
  • adidas d rose 7
  • jeremy scott adidas
  • nike sb dunk
  • jeremy scott wings
  • jeremy scott shoes
  • js wings
  • adidas terrex
  • lebron shoes
  • kobe shoes
  • balenciaga shoes
  • kobe bryant shoes
  • asics gel kayano 23
  • canada goose
  • asics gel kayano 22
  • asics gel lyte iii
  • adidas yeezy boost
  • adidas eqt
  • kd 10
  • nike kd 10
  • ugg classic boots
  • kyrie 3
  • adidas nmd r2
  • adidas nmd womens
  • keen uneek sandals
  • prada shoes
  • air jordan 31
  • nike air poresto
  • nike air vapormax
  • nike huarache
  • nike vapormax shoes
  • curry shoes
  • stephen curry shoes
  • kyrie irving shoes
  • kyrie irving basketball shoes
  • yeezy boost
  • reebok pump fury
  • reebok pump superme
  • adidas yeezy boost 350 v2 zebra
  • kevin durant jersey
  • adidas iniki
  • wholesale hats
  • nike air more uptempo
  • kobe bryant jersey
  • wholesale caps
  • adidas superstar
  • curry 4
  • curry 4
  • kd 10
  • nike kd 10
  • kevin durant 10
  • adidas pure boost
  • lebron james shoes
  • curry 4
  • birkenstock sandals
  • birkenstock shoes
  • nike roshe run
  • new balance running shoes
  • giannis antetokounmpo jersey
  • puma suede
  • adidas climacool shoes
  • adidas climacool
  • adidas harden vol 2
  • nike zoom vaporfly
  • mizuno shoes
  • ultra boost shoes