En UNIX les périphériques sont considérés comme des fichiers, savoir où ils se situent et comment s'y connecter est souvent une nécessité pour la bonne administration d'un système.
Le fichier /etc/fstab contient les connexions entre périphériques et leur situation sur l'arborescence des fichiers. Avec Debian, il contient quelque chose qui ressemble à ça:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/hda1 none swap sw 0 0 /dev/hda2 / ext3 defaults,errors=remount-ro 0 1 /dev/hda3 /home ext3 rw,auto 0 0 /dev/hda4 /data ext3 rw,user,noauto 0 0 /dev/sda1 /media/usbkey auto rw,user,noauto 0 0 /dev/hdb /media/cdrom udf,iso9660 user,noauto 0 0
Attention: ne changez rien à la partition / , qui risquerait de rendre le système non bootable
Monte un périphérique quelque part dans le système de fichiers.
mount -o loop -t iso9660 image.iso /repertoire monte une image CD comme système de fichier visible en /repertoire
mount -o loop -t ext3 fichier.img /data monte un fichier issu de la commande dd ci-après comme système de fichier
dd if=/dev/sdb1 of=/home/toto/cle-usb.img copie l'entièreté du media en /dev/sdb1 (clé USB par exemple) dans un fichier
foremost /dev/sdb1 -t jpg recopie sous certaines conditions (type de formatage de la partition, fichiers d'un seul tenant...) les fichiers effacés d'un périphérique de stockage dans un répertoire.
-t pour préciser les types de fichiers (jpeg, mov, pdf, avi, etc.)
-o pour préciser le nom du répertoire de sortie (output/ par défaut)
La connexion USB (Universal Serial Bus) est maintenant quasi incontournable. Le choix du connecteur n'a en général pas d'importance, le système étant capable de repérer l'endroit et le type de périphérique connecté.
Les périphériques de stockage USB (clés USB, appareils photos...) étaient auparavant reconnus avec les pilotes sr0, sr1... ou sg0, sg1... Ils sont actuellement reconnus comme étant des disques "scsi" et utilisent les descripteurs sda, sdb... grâce au fichier /etc/fstab tel qu'édité ci-dessus,
mount /dev/sda1
suffit pour monter la clé USB dans un répertoire existant (ici /media/usbkey), alors que sans la ligne dans /etc/fstab, la commande serait:
mount -t vfat /dev/sda1 /media/usbkey
Les transferts ne se faisant pas nécessairement pas en temps réel, il faut démonter les périphériques USB de stockage pour être sûr que les fichiers soient effectivement copiés ou effacés.
Pour chercher des informations sur un périphérique USB, il suffit d'un lsusb (paquet usbutils) dans une console pour faire apparaître tous les périphériques raccordé par cette interface:
toto@Tour:~$ lsusb Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 002: ID 03f0:4117 Hewlett-Packard Printing Support Bus 002 Device 003: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse Bus 001 Device 003: ID 04a9:2220 Canon, Inc. CanoScan LIDE 25 Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub ...
nous montre qu'il y a deux hubs USB (l'un en version 1.1 et l'autre, plus rapide, en version 2.0), une imprimante, une souris et un scanner. Chaque périphérique a un numéro personnel de style hhhh:hhhh (chiffres hexadécimaux). En cas de problème avec l'imprimante (par exemple la nécessité d'un driver), il suffit souvent de rechercher 03f0:4117+linux dans un moteur de recherche. Deux périphériques de marques différentes utilisant la même puce auront le même numéro.
Les systèmes graphiques Gnome et KDE montent en gé&néral d'eux-même les périphériques. Cela signifie que l'introduction d'un média moderne (CDROM, la plupart des clés USB et appareils photo, certains baladeurs numériques...) provoque l'apparition d'une boîte de dialogue permettant l'ouverture d'une fenêtre, mais un hub USB sans alimentation n'a pas toujours le courant nécessaire pour le déclenchement du système lors de l'introduction du périphérique. Pour démonter un périphérique avec l'automount de KDE, remonter dans le répertoire parent de celui ouvert par l'introduction de la fiche USB, clic droit sur l'icone du périphérique et Enlever en toute sécurité (ou Libérer le périphérique). Si l'on a fermé une fenêtre par inadvertence, on peut retrouver la clé montée à l'adresse media:/ dans une fenêtre de konqueror.
Pour les modems USB, voir la page dédiée.
Les périphérique IDE-ATAPI sont maintenant considérés par le système comme Serial-ATA
Le mode IDE_ATAPI fait correspondre les quatres ports aux descripteurs hda, hdb, hdc, hdd
/dev/hda Primary Master (maître au premier contrôleur) /dev/hdb Primary Slave (esclave au premier contrôleur) /dev/hdc Secondary Master (maître au second contrôleur) /dev/hdd Secondary Slave (esclave au second contrôleur)
Il est possible de savoir où se trouve ces périphériques soit en ouvrant sa tour, soit en accédant au BIOS à l'ouverture de l'ordinateur, en général en appuyant sur la touche [Del] ou [Suppr]. Les flux d'un contrôleur à l'autre sont censés être les plus rapides (l'un lit et l'autre écrit): il vaut mieux éviter de mettre le disque dur et le CD/DVD sur le même contrôleur.
/dev/sda pour le premier disque dur "scsi"
/dev/sdb pour le second disque dur "scsi"...
/dev/sr0 ou /dev/scd0 pour les CD/DVD Serial-ATA.
Il faudra probablement créer le descripteur du lecteur de disquettes
# mknod /dev/fd0 b 2 0 ?
Pour automatiser le montage, il faut insérer la ligne suivante (en n'oubliant pas de créer le répertoire /floppy). auto pourrait devoir être remplacé par vfat pour les disquettes msdos, ou ext2 pour les disquettes formatées sous Linux.
/dev/sda1 /floppy auto rw,user,noauto 0 0
noauto pour un montage à la demande. Il est intéressant alors de prévoir une icone sur le bureau KDE et éditer
L'antique connexion "série" RS232 a surtout été utilisée par les premières souris, anciens modems, pda et quelques imprimantes. Elle se présente sous deux aspects (DB9 et DB25):
------------- ----------------------------- \ . . . . . / \ . . . . . . . . . . . . . / \ . . . . / \ . . . . . . . . . . . . / --------- -------------------------
Malgré le nombre de connecteurs, seuls trois sont actifs. La plus petite donnée significative pour l'humain, l'octet, doit être envoyée sous forme d'une série de huit valeurs binaires, d'où le nom.
Les connexions "série" sont décrites par les descripteurs de périphérique /dev/tty0, /dev/tty1, etc. Au besoin, on les crée de cette manière:
[su] mknod /dev/tty0 c 4 0 [su] mknod /dev/tty1 c 4 1
Elle servait surtout à relier imprimantes et scanners (pour ces derniers, très peu sont utilisables avec GNU/Linux). Les huit valeurs binaires de chaque octet sont envoyées simultanément par huit canaux, d'où le nom de connexion parallèle.
La connexion parallèle utilise une connexion DB25 (voir "connexion série ci-dessus) du côté PC, et Centronic du côté imprimante.
Les connexions "parallèles" sont décrites par les descripteurs de périphérique /dev/lp0, /dev/lp1, etc. Au besoin, on les crée de cette manière:
[su] mknod /dev/lp0 c 6 0 [su] mknod /dev/lp1 c 6 1
Les clé USB fonctionnent si le système de fichiers qu'elle utilise est reconnu par le système Linux, à moins qu'il ne faille un logiciel spécifique sous Windows ou Mac.
SanDisk et le disque externe Passport DD de 500Go sont accessibles en lecture et écriture (système de fichier de type FAT)
ALL in 1 card Reader est reconnu comme une clé USB. Comme son nom l'indique, il reconnaît beaucoup de cartes-mémoires de différents types.
Un iPod a été ouvert et lu par l'automount de KDE 3.5.1, mais pas de tentative d'écriture en l'absence de logiciel de restauration de fichiers en cas de problème.
Un appareil photo en mode USB s'ouvre comme une clé USB. Certains ne connaissent que le mode PTP, il faut alors utiliser le logiciel Gphoto2 ou le protocole gphotofs.
gphoto2 + gtkam
# apt-get install gphoto2 gtkam
Lancer gtkam en simple utilisateur et tenter une reconnaissance de l'appareil relié ouvert.
gphotofs
Si l'appareil est trop nouveau (le DMC-TZ6, heureusement reconnu en mode USB standard, n'est pas reconnu au 1er juin 2009 par gphoto2), on peut tenter d'utiliser le protocole gphotofs
# apt-get install gphotofs # gphotofs /votrerepertoire -o allow_other
Il se peut qu'il faille attendre un certain temps avant que la connexion ne s'établisse.
Si le serveur d'impression n'a pas été installé avec le système, il faut charger (cups remplace cupsys depuis Debian 5.0 Lenny):
[su] apt-get install cups foomatic-db foomatic-engine
Dans KDE, on configure l'imprimante dans Menu» Configuration» Imprimantes, onglet Ajouter -> Ajouter une imprimante/classe et suivre le décours du paramétrage. Un autre accès à cette configuration se situe dans les périphériques du centre de configuration KDE.
Il peut être intéressant de configurer l'impression avec l'onglet Imprimante» configurer (format de papier, qualité brouillon, marges...)
Attention: il est possible que le mot de passe super-utilisateur soit demandé, mais que la fenêtre de login soit cachée par la fenêtre principale. Pour permettre à l'utilisateur toto de paramétrer l'imprimante sans devoir saisir le mot de passe superutilisateur, ajouter toto au groupe lpadmin avec [su] addgroup toto lpadmin
La configuration suivant l'installation d'un paquet pnm2ppa permet de choisir son modèle:
[su] apt-get install pnm2ppa
Pour repréciser le choix: [su] dpkg-reconfigure pnm2ppa
Avec Debian/Squeeze, l'imprimante HP1018 fonctionne avec le pilote fourni avec le système, même si un pilote externe est demandé lors du branchement de l'imprimante.
Cette manip devrait également fonctionner pour les imprimantes suivantes: HP LaserJet 1000, HP LaserJet 1005, HP LaserJet 1020, Minolta 2200, Minolta 2300, Minolta 2430 et Minolta Color PageWorks/Pro L. D'autres supports sur foo2zjs.rkkda.com
Il est nécessaire de produire un firmware qui devra être envoyé à l'imprimante à chaque fois qu'elle aura été éteinte. Une compilation sera nécessaire. Il faut installer les logiciels de développement:
Récupérer le fichier foo2zjs.tar.gz à l'adresse http://foo2zjs.rkkda.com, qui donne quelques explications. Décompresser le fichier: tar -zxf foo2zjs, entrer dans le répertoire créé: cd foo2zjs et préparer l'installation: make.
Récupérer un fichier par Internet (alternativement: 1000, 1005, 1020, 2200, 2300, 2430 et cpwl):
./getweb 1018
Installer avec [su] make install et relancer CUPS avec [su] make cups
Charger le firmware sur l'imprimante: # cat /usr/share/foo2zjs/firmware/sihp1018.dl > /dev/usb/lp0
"Créer" son imprimante avec Configuration -> Périphériques -> Imprimantes...
Note: il devrait être possible d'automatiser le chargement au lancement du PC à partir de /etc/init.d ou /etc/rc.d... ou au branchement de l'imprimante avec hotplug. Une solution pas trop technique est de créer un fichier texte (nommons-le hp):
#! /bin/bash cat /usr/share/foo2zjs/firmware/hp1018.hp > /dev/usb/lp0
et puis de le rendre exécutable:
chmod 755 hp
Sous KDE, il suffit de glisser-copier l'icone de ce fichier vers la barre de tâche et de le lancer à la demande.
Il faudra bien sûr par la suite configurer l'imprimante comme indiqué plus haut.
[su] apt-get install xsane
Pour Sarge, certains scanners trop neufs n'étaient pas disponibles, il fallait récupérer et compiler les sources sanebackends (quelque chose comme sanebackends-1.0.18.tar.gz). Dans Etch et Lenny, le paquetage libsane-extras contient des pilotes non inclus dans libsane: epkowa (quelques scanners EPSON), geniusvp2 (Genius ColorPage-Vivid Pro II), hp_rts88xx (HP ScanJet 4400C, HP ScanJet 4470C), ls5000 (Nikon LS5000 ED, Coolscan 5000 ED)
Le paquetage sane-utils contient les utilitaires en mode texte sane-find-scanner et scanimage -L , qui détecte les scanners. À réaliser en simple utilisateur, puis en super-ultilisateur si nécessaire.
sane-find-scanner cherche les scanners sur les ports SCSI ou USB, et généralement pas le port parallèles; les scanner sur port parallèle sont rarement pas supportés par GNU/Linux. Ils ont heureusement tendance à disparaître.
found USB scanner (vendor=0x04a9 [Canon], product=0x2220 [CanoScan], chip=LM9832/3) at libusb:001:003
scanimage -L donne une ligne décrivant le périphérique:
device `plustek:libusb:001:003' is a Canon CanoScan LiDE25 flatbed scanner
Les deux lignes retournées ci-dessus indiques qu'un descripteur de périphérique /dev/bus/usb/002/003 devrait exister.
ls -l /dev/bus/usb/001/003 nous retourne effectivement
crw-rw-r-- 1 root scanner 189, 2 sep 15 11:53 /dev/bus/usb/001/003
scanimage > fichier numérise l'image dans différents format. Essayez man scanimage pour plus d'informations.
xsane ne reconnaît pas toujours le périphérique. Il s'agit le plus souvent d'une question de droits, il suffit alors d'ajouter l'identificateur de chaque utilisateur à la ligne du fichier /etc/group contenant scanner:
... scanner:x:111:toto,boema,bompa ...
Cela se fait aisément par la commande:
[su] addgroup toto scanner
Pour une numérisation grossière permettant de visualiser le document afin d'en sélectionner une plage: Menu Fenêtre -> Aperçu
Pour numériser un texte imprimé, il faut installer un logiciel, par exemple gocr
[su] apt-get install gocr
et vérifier les paramètres dans Xsane dans Préférence -> Configuration -> OCR, avec Commande d'OCR: gocr ; Options d'entrée: -i ; Options de sortie: -o et GUI output fd: -x.
La reconnaissance de caractères ne fonctionnera de façon optimale qu'avec une résolution assez grande: 400, et mieux encore, 600ppp en noir/blanc. Lorsque le texte est scanné, la fenêtre visionneuse s'ouvre. Appuyez sur l'icone [ABC/DEF].
Les résultats sont donnés au format UTF-8. Pour récupérer un texte accentué si votre système utilise ISO-8859-1, récupérez le texte du fichier out.txt dans kwrite, puis Outils» encodage» Unicode (utf-8), puis copier-coller vers un autre fichier ouvert en ISO-8859-1. Attention: si le caractère n'existe pas en iso-8859-1, un éditeur comme gedit ne le sauvegardera pas.
Le paquet tesseract-ocr (et tesseract-ocr-fra) permet également la numérisation d'une image *.tif en noir/blanc (sortie est le fichier .txt qui sera produit, extension txt ajoutée):
tesseract votre-image.tif sortie -l fra
tesseract parvient mieux à séparer les lettres collées alors que gocr tend à les ignorer; ce dernier est plus pratique, puisqu'il ne faut pas sauvegarder l'image au format .tif pour ensuite la traiter à la ligne de commande.
Pour les caméras dotées d'une puce gspca: SunPlus, Sonix, Z-star, Vimicro, Conexant, Etoms, Mars-semi, Pixart et Transvision.
Ceci pourrait aussi concerner les webcam externes reliées par USB, mais cette partie a été écrite à partir d'une webcam intégrée à un portable, et requérait l'ouverture du wifi par le bouton ad hoc.
lsusb (paquet usbutils)donne la ligne
Bus 001 Device 003: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 WebCam
KInfoCenter de KDE a trouvé dans les Périphériques USB: OHCI Host Controller (1) PC Camera: Z-Star Corp.
Avec Debian Etch, il faut installer le module gspca-modules-2.6.18-6-686 pour le noyau 2.6.18 (pour le 2.6.24: il faut compiler gspca-source. Avec Lenny, les modules gspca-modules-2.6.24-xxx existent. Ne pas oublier [su] modprobe gspca
C'est au moment de l'ouverture du wifi que le descripteur de périphérique /dev/video0 est créé; il est possible de le créer soi même avec mknod /dev/video0 c 81 0 .
ls -l /dev/video0 permet de s'assurer qu'il existe bien:
crw-rw---- 1 root video 81, 0 2008-12-29 12:13 /dev/video0
Il faut qu'il fasse partie du groupe video: éditer (super-utilisateur) le fichier /etc/group: ajouter son identifiant (ici: l'utilisateur toto) au groupe video
video:x:44:toto
[su] addgroup toto video fonctionne également
La Z-star semble ne connaître que la résolution 320x200 sur 24 bits.
camorama 0.17 est une application graphique permettant de prendre des photos et de les sauvegarder dans un répertoire, mais il vaut mieux d'abord passer par la définition des préférences:
Edition / Préférences
Affichage
camE est une récriture de xawtv, ce qui les dispense de donner de bonnes explications
camE -s pour une seule photo
camE pour toutes les secondes, mais comment ça s'arrête?
Raccorder un Palm Pilot (Tungsten, Zire et m50x; compatibles: Visor, Clié, Handera, TRGPro...?) à un PC par port série ou USB permet de sauver les données ou restaurer celles qui y ont été introduites.
Lancer l'application HotSync sur le Palm, puis paramétrer la connexion par Menu -> Config. Connexion -> Nouv. Choisir Se connecter au PC via Station/Câble. Il faudra lancer la synchonisation d'abord sur le périphérique avant de lancer la synchronisation.
Les programmes de communication qui se connectent au Palm-Pilot par le port série RS232 recherchent parfois /dev/pilot. On crée alors un lien symbolique /dev/pilot qui renverra vers /dev/ttySn, où n est un chiffre de 0 à 3 pour les connecteurs connus sous Windows et Atari comme COM1, COM2, COM3 ou COM4. Pour relier l'appareil à la deuxième connexion série (si par exemple la souris occupe la première):
[su] ln -s /dev/tty1 /dev/pilot
Une fois ce lien créé, il ne sera plus à refaire. Pour le visualiser:
ls -l /dev/pilot
Charger le module visor:
[su] modprobe visor
Celui-ci utilise le module usbserial, qui sera chargé s'il ne l'est déjà. lsmod | grep visor permet de s'assurer qu'ils sont bien présents, ainsi que usbcore. Pour automatiser le chargement de ces modules lors du boot, on ajoute leur nom (dans l'ordre: usbserial, puis visor) dans /etc/modules (Debian).
S'il faut créer les descripteurs de périphériques USB et obtenir les droits de lecture et d'écriture:
[su] mknod /dev/ttyUSB0 c 188 0 [su] mknod /dev/ttyUSB1 c 188 1 [su] chmod 666 /dev/ttyUSB*
Testé avec PalmIIIxe (RS232) et Tungsten E (USB)
Depuis 2004, pilot-xfer est distribué avec le paquet pilot-link, une suite pour Palm et compatibles, comprenant aussi d'autres services. Si le répertoire /home/toto/palm existent, on réalise un backup (du périphérique vers le répertoire palm du PC):
pilot-xfer -b /home/toto/palm
En cas de perte de fichiers sur le périphérique, on restaure les fichiers, du PC vers le périphérique:
pilot-xfer -r /home/toto/palm
man pilot-link pour d'autres commandes, comme l'import/export de données sous forme de texte
Auparavant, pilot-xfer cherchait le périphérique /dev/pilot. Il suffisait de créer le lien symbolique
ln -s /dev/ttyUSB1 /dev/pilot ln -s /dev/ttyS0 /dev/pilot
Il est possible qu'il faille maintenant préciser le pilote dans la commande:
pilot-xfer -p /dev/ttyUSB1 -b ~/palm
Testé avec Tungsten E, devrait fonctionner avec Visor, Clié, Zire et m50x
Actuellement, il ne faut plus créer les descripteurs /dev/ttyUSB0 et 1, le logiciel le fait de lui-même. Lancer l'assistant de configuration qui permet de rechercher le périphérique. Il peut être intéressant de configurer les barres d'outil et d'y faire apparaître les afficheurs de carnet d'adresses, de mémos et autres databases.
La sauvegarde de l'utilisateur "toto" se situe à l'adresse
/home/toto/.kde/share/apps/kpilot/DBBackup/toto
Le premier menu "Fichiers" donne les modes de synchronisation (échange de données entre le périphérique et le PC):
Le second menu est surtout intéressant pour Configuration/Configurer Kpilot:
Par ailleurs, kpilot permet d'importer un fichier texte comme mémo, ou d'exporter un mémo en fichier texte: positionner l'onglet "Afficheur de mémo".