Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Ordinateurs embarqués (SBC) > La carte Raspberry PI > Installation et configuration de la R-Pi > L’USB sur la Raspberry Pi

L’USB sur la Raspberry Pi

mardi 26 juin 2012, par Julien H.

La carte Raspberry Pi permet l’utilisation de périphériques USB grâce à deux ports USB présents sur la version type B.

On peut facilement vérifier que les périphériques sont bien reconnus grâce à la lecture des messages et à l’insertion de modules :

$ dmesg | tail

usb 1-1.3: new high speed USB device number 42 using dwc_otg
usb 1-1.3: New USB device found, idVendor=04cc, idProduct=1521
usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1.3:1.0: USB hub found
hub 1-1.3:1.0: 7 ports detected
usb 1-1.3.1: new full speed USB device number 43 using dwc_otg
usb 1-1.3.1: unable to read config index 0 descriptor/start: -32
usb 1-1.3.1: chopping to 0 config(s)
usb 1-1.3.1: string descriptor 0 read error: -32
usb 1-1.3.1: New USB device found, idVendor=04d8, idProduct=000a
usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.3.1: no configuration chosen from 0 choices
usb 1-1.3.1: No support over 500mA

Pour obtenir un périphérique USB connecté et pouvoir lui parler, par exemple une carte Arduino, un GPS ou autre matériel exotique (n’est-ce pas Laurent), on utilise le module noyau "cdc_acm" qu’on charge avec modprobe, en précisant si on les connait le vendeur, la class et le produit :

$ modprobe cdc_acm 
$ modprobe cdc_acm class=0x04d8 product=000a
$dmesg
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

A noter que le module cdc_acm était déjà dans le noyau : la commande lsmod permettant de lister les modules (on reconnait la commande "ls" pour lire le contenu d’un répertoire).

Une fois les périphériques connectés, il existe une commande permettant de savoir ce qui est connecté : lsusb -vv.

Mais c’est très long à lire, et dmesg renseigne directement sur le chemin du port USB, ce qui donne dans le cas de la RoMeo de Nono :

pi@raspberrypi:~$ dmesg | tail
smsc95xx 1-1.1:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
sshd (1164): /proc/1164/oom_adj is deprecated, please use /proc/1164/oom_score_adj instead.
usb 1-1.3: USB disconnect, device number 4
usb 1-1.3: new full speed USB device number 5 using dwc_otg
usb 1-1.3: New USB device found, idVendor=2341, idProduct=0001
usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=220
usb 1-1.3: Product: Arduino Uno
usb 1-1.3: Manufacturer: Arduino (www.arduino.cc)
usb 1-1.3: SerialNumber: 74937303936351910120
cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.