You are on page 1of 3

HowtomakerulesforthedevicesontheAtlasCar MiguelOliveiraMay2010 Weusethecommandudevadmandwillcreateanewrulesfileon/etc/udev/rules.d/ Weshouldnameit91atlascar1a.rules AfterinsertingaAtenserialtousbconverter,itwillbenormallymappedto/dev/ttyUSB0 bydoing: #udevadminfoap$(udevadminfoqpathn/dev/ttyUSB0) yougetalotofinformation.Wecanusetheatributestocreaterulesforcreatingthedevices.Asimple ruleforanATENusb2serialconverter(chipsetprolifictechnologies) KERNEL=="42",SUBSYSTEMS=="usb",ATTRS{busnum}=="4", ATTRS{manufacturer}=="ProlificTechnologyInc.

",NAME="atlascar_usb_0" Hence,wheneversuchequipmentispluggedintotheusbbusnum4kernel42,itismappedto /dev/atlascar_usb_0 Intheatlascarcomputers,theUSBentrysarelikethefollowingdrawing: bus42* bus52* Andthecablethatcomesoutsideis bus82* Weusethefollowingrulesforatenconverters: KERNEL=="42",SUBSYSTEMS=="usb",ATTRS{busnum}=="4", ATTRS{manufacturer}=="ProlificTechnologyInc.",NAME="atlascar_usb_0" KERNEL=="41",SUBSYSTEMS=="usb",ATTRS{busnum}=="4", ATTRS{manufacturer}=="ProlificTechnologyInc.",NAME="atlascar_usb_1" KERNEL=="51",SUBSYSTEMS=="usb",ATTRS{busnum}=="5", ATTRS{manufacturer}=="ProlificTechnologyInc.",NAME="atlascar_usb_3" KERNEL=="52",SUBSYSTEMS=="usb",ATTRS{busnum}=="5", ATTRS{manufacturer}=="ProlificTechnologyInc.",NAME="atlascar_usb_2" KERNEL=="82",SUBSYSTEMS=="usb",ATTRS{busnum}=="8", ATTRS{manufacturer}=="ProlificTechnologyInc.",NAME="atlascar_usb_5" bus81* bus41* bus51*

KERNEL=="81",SUBSYSTEMS=="usb",ATTRS{busnum}=="8", ATTRS{manufacturer}=="ProlificTechnologyInc.",NAME="atlascar_usb_4" Hence,theATENconverterspluggedontotheatlascarusbentryswillbemappedbyposition,like: /dev/atlascar_usb_0* /dev/atlascar_usb_2* Andthecablethatcomesoutsideis /dev/atlascar_usb_4* /dev/atlascar_usb_5* /dev/atlascar_usb_1* /dev/atlascar_usb_3*

Byconvention,allmappeddevicesbyourrulesshouldstartwithatlascar. Usingtheequipmentsserialnumberintheattributesforcomparison,someotherspecificdevicerules havebeencreatedforotherequipmentsonboardtheatlascar.Namely: 1.3dlasersickmountedontopRS422/485Adapterusingrule(connectedtoanyusbentry): SUBSYSTEMS=="usb",ATTRS{serial}=="FTBR7FFF",NAME="atlascar_laser_0" 2.Hokuyolasermountedonthehood.Thisrulesdoesnothaveaserialnumbersoifotherhokuyosare purchasedwewontbeabletodothis(connectedtoanyusbentry). SUBSYSTEMS=="usb",ATTRS{manufacturer}=="HokuyoDataFlexforUSB", ATTRS{product}=="URGSeriesUSBDriver",NAME="atlascar_laser_1" 3.Inertialmeasurementunitfromxsens(connectedtoanyusbentry). SUBSYSTEMS=="usb",ATTRS{manufacturer}=="Xsens",ATTRS{product}=="XsensUSBserial converter",ATTRS{serial}=="XSSH43UA",NAME="atlascar_imu_0"

Howtowritethefile/etc/udev/rules.d/91atlascar1a.rules Usethecommand #udevadminfoap$(udevadminfoqpathn/dev/ttyUSB*) Tofindoutthedeviceatributes.Youcanuseanyatributeasacomparissonforarule. Aftersavingtherulesfiledoareload: #udevadmcontrolreloadrules Totestyourrulesfileyoumaydoa: #udevadmmonitor

Andthenuseaneventlikethis"/devices/pci0000:00/0000:00:1d.2/usb8/82/8 2:1.0/ttyUSB0/tty/ttyUSB0"todoa #udevadmtest/devices/pci0000:00/0000:00:1d.2/usb8/82/82:1.0/ttyUSB0/tty/ttyUSB0 Somedebuginfowillbeprinted. References: 1. http://wiki.archlinux.org/index.php/Map_Custom_Device_Entries_wi th_udev 2. http://blog.mypapit.net/2008/05/how-to-use-usb-serial-portconverter-in-ubuntu.html 3. http://manpages.ubuntu.com/manpages/hardy/man4/uplcom.4.html 4. http://ubuntu-ky.ubuntuforums.org/showthread.php?t=322759&page=3 5. http://www.reactivated.net/writing_udev_rules.html 6. http://linux.derkeiler.com/Mailing-Lists/Debian/200811/msg01267.html 7. http://debian.pastebin.com/Bft7phBw

You might also like