2 votes

Pourquoi dois-je utiliser "hdparm -r" pour monter un caméscope Sony en lecture/écriture et pourquoi est-ce dangereux ?

Lorsque je branche mon caméscope Sony sur mes systèmes Linux, le système de fichiers est monté en lecture seule. Je ne peux pas simplement le monter en lecture-écriture, je dois d'abord utiliser "hdparm -r0" pour rendre le "périphérique" en lecture-écriture. Pourquoi en est-il ainsi et pourquoi "hdparm -r0" est-il considéré comme "dangereux" ?

La sortie "dmesg" suit.

  1. Brancher l'appareil.

    [ 1371.786740] usb 2-1.2: new full-speed USB device number 6 using ehci-pci [ 1371.875813] usb 2-1.2: New USB device found, idVendor=054c, idProduct=0830 [ 1371.875822] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1371.875827] usb 2-1.2: Product: USB Bus-powered Device [ 1371.875832] usb 2-1.2: Manufacturer: Sony [ 1371.875835] usb 2-1.2: SerialNumber: **** [ 1371.879120] input: Sony USB Bus-powered Device as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/input/input21 [ 1371.879552] hid-generic 0003:054C:0830.0006: input,hidraw4: USB HID v1.11 Device [Sony USB Bus-powered Device] on usb-0000:00:1d.0-1.2/input0 [ 1372.377533] usb 2-1.2: USB disconnect, device number 6

  2. Mise en marche de l'appareil.

    [ 1395.073294] usb 2-1.2: new high-speed USB device number 7 using ehci-pci [ 1395.159821] usb 2-1.2: New USB device found, idVendor=054c, idProduct=08de [ 1395.159831] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1395.159837] usb 2-1.2: Product: HDR-AS100V [ 1395.159840] usb 2-1.2: Manufacturer: Sony [ 1395.159844] usb 2-1.2: SerialNumber: **** [ 1395.198826] usb-storage 2-1.2:1.0: USB Mass Storage device detected [ 1395.198936] scsi6 : usb-storage 2-1.2:1.0 [ 1395.199078] usbcore: registered new interface driver usb-storage [ 1396.202342] scsi 6:0:0:0: Direct-Access Sony Camcorder 1.00 PQ: 0 ANSI: 0 [ 1396.218549] scsi 6:0:0:1: Direct-Access Sony Camcorder 1.00 PQ: 0 ANSI: 0 [ 1396.219347] sd 6:0:0:0: Attached scsi generic sg2 type 0 [ 1396.220185] sd 6:0:0:1: Attached scsi generic sg3 type 0 [ 1396.305975] sd 6:0:0:0: [sdc] 123795456 512-byte logical blocks: (63.3 GB/59.0 GiB) [ 1396.306358] sd 6:0:0:1: [sdd] 102400 512-byte logical blocks: (52.4 MB/50.0 MiB) [ 1396.307338] sd 6:0:0:0: [sdc] Write Protect is on [ 1396.307346] sd 6:0:0:0: [sdc] Mode Sense: 03 00 80 00 [ 1396.308599] sd 6:0:0:1: [sdd] Write Protect is on [ 1396.308605] sd 6:0:0:1: [sdd] Mode Sense: 03 00 80 00 [ 1396.309579] sd 6:0:0:0: [sdc] No Caching mode page found [ 1396.309586] sd 6:0:0:0: [sdc] Assuming drive cache: write through [ 1396.310725] sd 6:0:0:1: [sdd] No Caching mode page found [ 1396.310733] sd 6:0:0:1: [sdd] Assuming drive cache: write through [ 1396.316948] sd 6:0:0:0: [sdc] No Caching mode page found [ 1396.316965] sd 6:0:0:0: [sdc] Assuming drive cache: write through [ 1396.317962] sd 6:0:0:1: [sdd] No Caching mode page found [ 1396.317979] sd 6:0:0:1: [sdd] Assuming drive cache: write through [ 1396.319865] sdc: [ 1396.320881] sdd: sdd1 [ 1396.325818] sd 6:0:0:0: [sdc] No Caching mode page found [ 1396.325831] sd 6:0:0:0: [sdc] Assuming drive cache: write through [ 1396.325849] sd 6:0:0:0: [sdc] Attached SCSI removable disk [ 1396.328067] sd 6:0:0:1: [sdd] No Caching mode page found [ 1396.328077] sd 6:0:0:1: [sdd] Assuming drive cache: write through [ 1396.328083] sd 6:0:0:1: [sdd] Attached SCSI removable disk [ 1396.749464] SELinux: initialized (dev sdc, type fuseblk), uses genfs_contexts [ 1396.782748] SELinux: initialized (dev sdd1, type vfat), uses genfs_contexts

  3. Montage de l'appareil en lecture/écriture.

    mount -o rw,remount /dev/sdc

    mount: cannot remount /dev/sdc read-write, is write-protected

    hdparm -r0 /dev/sdc

    /dev/sdc: setting readonly to 0 (off) readonly = 0 (off)

    mount -o rw,remount /dev/sdc

    #

1voto

tpecar Points 11

Puisque cette question apparaît dans les recherches de hdparm -r :

le site -r a été marqué comme dangereux entre les versions 2.3 et 2.9 de hdparm (années '95-'96 - anciennes !) sans aucune élaboration, mais l'opération réelle effectuée est la même à ce jour.

Il appelle ioctl(fd, BLKROSET, &readonly)

La même chose peut être faite avec

Le BLKROSET est l'un des ioctls de base qui fait partie du noyau Linux depuis le début des années 90. 0.96c-patch1 .

Cet ioctl semble être transmis au pilote de périphérique de bloc sous-jacent. aquí Ainsi, selon le pilote, il se peut que le périphérique de stockage cible soit reconfiguré.

Cependant, je ne suis pas allé aussi loin dans la folie qu'est le Pile de périphériques de stockage Linux pour le confirmer, et je n'ai trouvé aucune preuve anecdotique pour le confirmer.

Donc, je considère qu'on peut l'utiliser en toute sécurité.


Notez que jusqu'à récemment, il y avait un bogue assez méchant dans le pilote scsi (donc, la plupart des disques durs standard) où l'indicateur de lecture seule ne collait pas :

Il a été corrigé, mais le correctif a provoqué un nouveau bug qui a forcé certains appareils à rester en lecture seule

Vérifiez si votre noyau a été corrigé contre ces problèmes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X