Je me suis procuré un 'disk on key' (DOK pour les intimes), de chez winward, 64Mo (62 formaté). c'est petit,
de la taille d'un briquet, et fourni avec le câble usb de connexion.
Au premier branchement, le gestionnaire usb me donne ceci comme info:
vendor:0xc76 product:0x5
Avant toute chose, il faut préparer le noyau à supporter ce type de matériel (disque sur usb).
Pour cela, il faut mettre dans le noyau, la gestion des périphériques SCSI. Voici les options à choisir lors de
la compilation de votre noyau:
J'achète, je débale, je photographie
![]() |
![]() |
![]() |
# less /var/log/syslog
.../je coupe/...
Nov 13 15:15:37 localhost kernel: hub.c: USB new device connect on bus1/1, assigned device number 10
Nov 13 15:15:37 localhost kernel: usb.c: USB device 10 (vend/prod 0xc76/0x5) is not claimed by any active driver.
Nov 13 15:15:37 localhost kernel: Length = 18
Nov 13 15:15:37 localhost kernel: DescriptorType = 01
Nov 13 15:15:37 localhost kernel: USB version = 1.10
Nov 13 15:15:37 localhost kernel: Vendor:Product = 0c76:0005
Nov 13 15:15:37 localhost kernel: MaxPacketSize0 = 8
Nov 13 15:15:37 localhost kernel: NumConfigurations = 1
Nov 13 15:15:37 localhost kernel: Device version = 1.00
Nov 13 15:15:37 localhost kernel: Device Class:SubClass:Protocol = 00:00:00
Nov 13 15:15:37 localhost kernel: Per-interface classes
Nov 13 15:15:37 localhost kernel: Configuration:
.../je recoupe/...
Nov 13 15:15:39 localhost kernel: usb-storage: USB Mass Storage device detected
Nov 13 15:15:39 localhost kernel: usb-storage: Endpoints: In: 0xc49d5560 Out: 0xc49d5574 Int: 0xc49d5588 (Period 255)
Nov 13 15:15:39 localhost kernel: usb-storage: New GUID 0c7600050000000000000000
Nov 13 15:15:39 localhost kernel: usb-storage: GetMaxLUN command result is 1, data is 0
Nov 13 15:15:39 localhost kernel: usb-storage: Transport: Bulk
Nov 13 15:15:39 localhost kernel: usb-storage: Protocol: Transparent SCSI
Nov 13 15:15:39 localhost kernel: usb-storage: *** thread sleeping.
Nov 13 15:15:39 localhost kernel: scsi0 : SCSI emulation for USB Mass Storage devices
.../je rerecoupe/...
Nov 13 15:15:39 localhost kernel: sda1
Nov 13 15:15:39 localhost kernel: WARNING: USB Mass Storage data integrity not assured
Nov 13 15:15:39 localhost kernel: USB Mass Storage device found at 10
Nov 13 15:15:39 localhost kernel: usb.c: usb-storage driver claimed interface c6a13420
Nov 13 15:15:39 localhost kernel: USB Mass Storage support registered.
Nov 13 15:15:39 localhost usbmgr[337]: "scsi_mod" was loaded
Nov 13 15:15:39 localhost usbmgr[337]: "sd_mod" was loaded
Nov 13 15:15:39 localhost usbmgr[337]: "usb-storage" was loaded
Excellent, cela fonctionne, et en plus, il me donne le périohérique à utiliser. Je tente donc:
# mount /dev/sda1 /disk/
# ls -la /disk
total 5
drwxr-xr-x 2 root root 512 1970-01-01 01:00 .
drwxr-xr-x 20 root root 4096 2002-07-26 02:26 ..
C'est génial! Une copie de fichier?
# cp /home/admin/reference_debian.txt /disk/
# ls -l /disk/
total 260
-rwxr-xr-x 1 root root 265475 2002-11-13 15:21 referenc.txt
Argh!!! Pas de nom long!!!!!!!
# mkdosfs -F 32 -n usb -v /dev/sda1
mkdosfs 2.8 (28 Feb 2001)
/dev/sda1 has 3 heads and 42 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 127904 sectors;
file system has 2 32-bit FATs and 1 sector per cluster.
FAT size is 984 sectors, and provides 125904 clusters.
Volume ID is 3dd25a85, volume label usb .
Je remonte le disk et teste:
# mount /dev/sda1 /disk/
# df
Système de fichiers Tail. Util.Disp. Uti% Monté sur
/dev/hda5 9.4G 2.0G 7.0G 23% /
/dev/hda1 16M 2.7M 12M 19% /boot
/dev/hda3 1.6G 955M 534M 65% /home
/dev/sda1 62M 512 62M 1% /disk
# cp /home/admin/reference_debian.txt /disk/
# ls -l /disk
total 260
-rwxr-xr-x 1 root root 265475 2002-11-13 15:21 reference_debian.txt
Ouf, cela fonctionne! Mais toujours sous linux! Car après un test sous Win2000,
je m'apercois que les noms longs n'apparaissent toujours pas. Il faut que je creuse un peu plus...
La première fois, j'ai utilisé la détection automatique pour le type de système de fichier sur la clef,
lors de son montage. Mais, en fait, il faut forcer le type de système comme vfat, pour disposer des noms longs.
Là-dessus, se greffe le problème des autorisations et des permissions sur les fichiers.
J'ai donc inclus l'options 'user' dans /etc/fstab. En fin de compte, voila la ligne contenu dans mon fichier fstab:
# Memory key usb
/dev/sda1 /disk vfat defaults,user,noauto,noexec 0 0
Mis à part le problème des nom longs avec les machines Win??, j'en suis content. Je vais pouvoir faire des copies de fichiers autrement que par disquette!
J'ai eu récemment, à utiliser ma clef sur une autre machine, contenant un lecteur de cd, un graveur ide, et un syquest SCSI. Après chargement du module usb-storage manquant, ainsi que le montage du pseudo-système de fichier usb, il a fallut retrouver le bon périphérique pour la memory key. Voici donc qui est quoi:
/graveur (ide) | --> | /dev/scd0 |
/cdrom (ide) | --> | /dev/scd1 |
/syquest (scsi) | --> | /dev/sda1 |
|