Raspberry-Pi: détection du matériel et des ressources
Cette article reprend une série de commandes permettant de détecter les différents éléments matériels, pilotes, les systèmes de fichiers, mémoire, etc présent sur le Raspberry-Pi.
Il s'agit de commandes standards Linux, vous pourrez donc également les utiliser sur Debian, Linux Mint, Ubuntu, etc.
lsusb - liste des périphériques USB
Affiche la liste des bus USB et périphériques qui y sont connectés. Il est possible d'appeler la commande avec l'option -v (verbose) qui affiche des informations détaillées pour chaque port USB.
Dans l'exemple suivant, vous pourrez y notez la présence:
- de la connexion Ethernet via USB (SMSC95/9514 Fast Ethernet Adapter) propre au Raspberry-Pi
- du convertisseur USB-Série branché sur un port USB du Raspberry-Pi.
~ $ lsusb Bus 001 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lscpu - information sur le processeur
lscpu retourne des informations sur le processeur (cpu) et les unités de traitement de la machine.
~ $ lscpu Architecture: armv7l Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 Model name: ARMv7 Processor rev 4 (v7l) CPU max MHz: 1200.0000 CPU min MHz: 600.0000
lshw - lister le matériel
Cet utilitaire retourne des informations (détaillées ou résumée) a propos des différents éléments matériels présent sur la carte (cpu, mémoire, contrôleur usb, adaptateur réseau, interface Wlan, etc). lshw utilise principalement les informations que disponibles dans /proc. L'utilitaire doit être installé depuis les dépôts avant son utilisation
sudo apt-get install lshw
Il est préférable de lancer lshw en utilisante sudo
~ $ sudo lshw -short H/W path Device Class Description ======================================== system Raspberry Pi 3 Model B Rev 1.2 /0 bus Motherboard /0/0 processor cpu /0/1 processor cpu /0/2 processor cpu /0/3 processor cpu /0/4 memory 859MiB System memory /1 usb1 bus DWC OTG Controller /1/1 bus USB hub /1/1/1 generic SMSC9512/9514 Fast Ethernet Adapter /1/1/2 generic CP2104 USB to UART Bridge Controller /2 wlan0 network Wireless interface /3 eth0 network Ethernet interface
Il est beaucoup plus intéressant lorsqu'elle affiche des détails. Les périphériques sont affichés sous forme d'arbre et inclus de nombreuses autres informations parfois très utile comme le pilote utilisé (chercher après la mention "driver"), l'adresse MAC, etc
~ $ sudo lshw killer-pi description: Computer product: Raspberry Pi 3 Model B Rev 1.2 serial: 000000007483a699 width: 32 bits *-core description: Motherboard physical id: 0 capabilities: brcm_bcm2837 brcm_bcm2836 *-cpu:0 description: CPU product: cpu physical id: 0 bus info: cpu@0 size: 1200MHz capacity: 1200MHz capabilities: cpufreq *-cpu:1 DISABLED description: CPU product: cpu physical id: 1 bus info: cpu@1 ...
hwinfo - Information matériel
"Hardware Info" (hwinfo) est une utilitaire alternatif lshw. Ce dernier est plutôt utilisé pour produire une information de type "rapport prêt à l'impression".
Il sera plus confortable pour se faire une idée générale du matériel disponible, lshw sera par contre plus indiqué lors d'une inspection détaillée. L'utilitaire doit être installé depuis les dépôts avant son utilisation
sudo apt-get install hwinfo
Vous pouvez constater dans l'exemple suivant qu'un périphérique USB-Série sur /dev/ttyUSB0
~ $ sudo hwinfo --short cpu: CPU CPU CPU CPU network: eth0 Standard Microsystems Ethernet controller network interface: eth0 Ethernet network interface lo Loopback network interface wlan0 WLAN network interface disk: /dev/ram11 Disk /dev/ram2 Disk /dev/ram0 Disk /dev/ram9 Disk /dev/ram7 Disk /dev/ram14 Disk /dev/ram5 Disk /dev/ram12 Disk /dev/ram3 Disk /dev/ram10 Disk /dev/ram1 Disk /dev/ram8 Disk /dev/ram15 Disk /dev/ram6 Disk /dev/mmcblk0 Disk /dev/ram13 Disk /dev/ram4 Disk partition: /dev/mmcblk0p1 Partition /dev/mmcblk0p2 Partition hub: Linux 4.9.35-v7+ dwc_otg_hcd DWC OTG Controller Standard Microsystems Hub memory: Main Memory unknown: /dev/ttyUSB0 Cygnal Integrated CP2104 USB to UART Bridge Controller
lsblk - Information sur le périphérique bloc
Les périphériques bloc (block devices) "Hardware Info" son des périphériques particuliers permettant de stocker d'échanger des données avec des périphériques de stockage. Ces échanges ont lieu en utilisant de blocs de donnée... d'où l'appellation "bloc device".
La carte SD (dit mmc) utilisée pour stocker les informations du système d'exploitation utilise forcément un ou plusieurs périphériques de type block.
~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 14.5G 0 disk ├─mmcblk0p2 179:2 0 14.5G 0 part / └─mmcblk0p1 179:1 0 41.7M 0 part /boot
L'exemple ci-dessus reprend les deux partitions de la carte:
- /boot : partition de type DOS utilisé pour le démarrage.
- / : partition principale du système de fichier Linux.
L'utilitaire "df" (disk free) affiche l'espace disponible sur les différentes partitions. Cela concerne les partitions de données comme (/ et /boot) mais aussi d'autres partitions maintenue en mémoire et utilisée par le système d'exploitation pour son propre fonctionnement interne.
L'intérêt de commande df réside aussi dans l'affichage du point de montage (colonne "Mounted on") permettant d'accéder au fichiers de la partition.
Ainsi, "/" reste la racine du système de fichier tandis que la partition de démarrage sera, elle, accessible via le répertoire "/boot".
Si vous montez un lecteur Réseau sous Linux, ce dernier sera également dans la liste retournée par "df"
~ $ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 14877752 4066932 10145584 29% / devtmpfs 435668 0 435668 0% /dev tmpfs 440276 0 440276 0% /dev/shm tmpfs 440276 5944 434332 2% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 440276 0 440276 0% /sys/fs/cgroup /dev/mmcblk0p1 42030 21418 20612 51% /boot tmpfs 88056 0 88056 0% /run/user/1000 //nas.local/pics 1917971544 129748244 1788104516 7% /mnt/images
free - mémoire disponible
Bien que disposant de 1 GigaOctet de mémoire, cette quantité de RAM est à la fois énorme pour un système embarqué tout en étant relativement limité pour un ordinateur (interface graphique).
Suivant le type d'application fonctionnant sur le Pi Raspberry-Pi (nano PC, arrosage jardin, disque réseau, media center), cette quantité de mémoire paraîtra:
- soit comme une ressource en quantité limitée qu'il faudra surveiller,
- soit comme une vaste ressource dont il ne faut pas vraiment se soucier.
~ $ free total used free shared buffers cached Mem: 880552 212016 668536 5952 23960 144936 -/+ buffers/cache: 43120 837432 Swap: 102396 0 102396
mount - les points de montage
la commande mount est une commande permettant de créer un point de montage. Le point de montage est le répertoire dans le système de fichier offrant accès à un système de fichier stocké sur un autre périphérique (disque USB, disque flash, Pi Desktop mSata2), une autre partition (comme /boot), voir un lecteur réseau.
Voyez notre article monter un lecteur réseau sous Linux pour plus d'information sur le sujet.
Note:
Le résultat de la commande mount -l est souvent très détaillée pour une utilisation générale. La commande df sera plus abordable pour une vue d'ensemble.
La commande mount -l est souvent utilisé avec grep pour filtrer le contenu affiché (ex: mount -l | grep /boot ).
~ $ mount -l /dev/mmcblk0p2 on / type ext4 (rw,noatime,data=ordered) devtmpfs on /dev type devtmpfs (rw,relatime,size=435668k,nr_inodes=108917,mode=755) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls) tmpfs on /etc/machine-id type tmpfs (ro,mode=755) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=22,pgrp=1,timeout=300,minproto=5,maxproto=5,direct) debugfs on /sys/kernel/debug type debugfs (rw,relatime) mqueue on /dev/mqueue type mqueue (rw,relatime) fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) configfs on /sys/kernel/config type configfs (rw,relatime) /dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro) [boot] tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=88056k,mode=700,uid=1000,gid=1000)
Bonjour. Comment savoir si mes port HDMI fonctionnent ? Sans doute présent ci dessus, mais je ne l'ai pas vu. Cordialement
RépondreSupprimerIl faut avoir l'HDMI (et l'écran en cours de fonctionnement) AVANT de mettre le Raspberryy-Pi sous tension!
RépondreSupprimer