Arduino Communications Device Naming with udev

From Combustory
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
[[Category:Hardware detection and troubleshooting]]
+
<anyweb>http://combustory.com/wiki/ads/ad_rtc_1.html</anyweb>
 +
 
 +
{{default}}
 +
 
 +
__NOTOC__
 +
<anyweb>http://combustory.com/wiki/ads/ad_rtc_1.html</anyweb>
 
{{Article summary start}}
 
{{Article summary start}}
 
{{Article summary text|This article covers the configuration of udev for Arduino Communication.}}
 
{{Article summary text|This article covers the configuration of udev for Arduino Communication.}}
 
{{Article summary end}}
 
{{Article summary end}}
  
If you use more than one Arduino with USB or have other USB to Serial devices, then you may find it convenient to make the device have the same name every time you reboot or connect the Arduino. The technique here is shown for an FTDI device, but the same process can be used for just about any USB to serial device that the system recognizes.
+
==Summary==
 +
If you use more than one Arduino with USB or have other USB-to-Serial devices, then you may find it convenient to make the device have the same name every time you reboot or connect the Arduino. The technique here is shown for an FTDI device, but the same process can be used for just about any USB-to-Serial device that the system recognizes.
 +
 
 +
==Assumptions==
 +
* You are familiar with the Linux command line
 +
* You understand basic text file configuration methods
 +
* You are familiar with serial communications in Linux
  
 
==Installation==
 
==Installation==

Revision as of 02:22, 21 October 2012

Welcome to Combustory


Any questions or comments:

  • Send them to - combustor@combustory.com

Contents


Summary
This article covers the configuration of udev for Arduino Communication.

Summary

If you use more than one Arduino with USB or have other USB-to-Serial devices, then you may find it convenient to make the device have the same name every time you reboot or connect the Arduino. The technique here is shown for an FTDI device, but the same process can be used for just about any USB-to-Serial device that the system recognizes.

Assumptions

  • You are familiar with the Linux command line
  • You understand basic text file configuration methods
  • You are familiar with serial communications in Linux

Installation

Note: All scripts will assume that there is a '/dev/arduino_1'.

The drivers for the FTDI chip is included in the kernel, so it should be detected as soon as it's plugged in, and assigned to device /dev/ttyUSB[0-9]. To check where it got assigned, run:

 dmesg | grep FTDI

The output will contain a line that looks something like this:

 usb 1-4.4: FTDI USB Serial Device converter now attached to ttyUSB0

udev

It can be annoying to have to look up what /dev/ttyUSB[0-9] the device gets assigned, so it's a good idea to add a simple udev rule that creates the renames the device when it is plugged in.

First of all, you will need to find out the serial number of FTDI chip on the bus pirate. This can be achieved by running the following, assuming your device is plugged in and was assigned to /dev/ttyUSB0:

 udevadm info --attribute-walk -n /dev/ttyUSB0

Now add/create the following file:

/etc/udev/rules.d/98-arduino.rules
SUBSYSTEMS=="usb", ATTRS{serial}=="XXXXXXXX", ATTRS{product}=="FT232R USB UART", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", NAME="arduino_1"

Change 'ATTRS{serial}=="XXXXXXXX"' to the serial on your device and force udev to load the new rule:

 udevadm control --reload-rules

At this point, whenever you plug in the device, the device should be renamed to /dev/arduino_1

Communication

To communicate with the device, you can use any of the following, to name a few:

  • minicom
 minicom -b 115200 -8 -D /dev/buspirate
  • screen
 screen /dev/buspirate 115200 8N1
  • picocom
 picocom -b 115200 -p n -d 8 /dev/buspirate
Personal tools
Sponsers
Your Ad Here
Your Ad Here