GNU/Linux >> Tutoriales Linux >  >> Linux

deshabilite las reglas MTP udev para un dispositivo específico para que pueda montarse como un dispositivo de almacenamiento masivo USB

Después de mucho leer y probar.

Descubrí que esto está relacionado con un cambio reciente en las reglas predeterminadas de Udev para establecer una regla general para que los dispositivos sean manejados por MTP si no coinciden con ninguna otra regla de udev para dispositivos USB.

En lugar de que mi dispositivo se monte como un dispositivo de almacenamiento masivo USB como solía hacerlo.

Descubrí que necesito hacerle saber a udev que este dispositivo debe administrarse como un dispositivo de almacenamiento masivo USB en lugar de la regla general MTP

Primero necesito la identificación de mi dispositivo. Debajo está el último de la lista

$ lsusb                                                                                                             
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2a Intel Corp. 
Bus 001 Device 002: ID 04f2:b51d Chicony Electronics Co., Ltd 
Bus 001 Device 006: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)
Bus 001 Device 005: ID 0b05:181b ASUSTek Computer, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 007: ID 174c:5106 ASMedia Technology Inc

Estoy seguro de que hay más en esto que lo que tengo aquí, pero esto funciona para mí. Tomo la identificación del dispositivo que 174c:5106 y reemplácelo en las reglas de udev a continuación.

$ cat /etc/udev/rules.d/90-myrules.rules 
SUBSYSTEMS=="usb", ENV{MODALIAS}=="usb:174c:5106", ENV{MODALIAS}="usb-storage"

Ahora veo lo siguiente en los registros de mi sistema

journalctl -fe

kernel: usb 1-2: USB disconnect, device number 9
kernel: usb 1-2: new high-speed USB device number 10 using xhci_hcd
mtp-probe[9850]: checking bus 1, device 10: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
mtp-probe[9850]: bus: 1, device: 10 was not an MTP device
kernel: usb-storage 1-2:1.0: USB Mass Storage device detected
kernel: scsi host3: usb-storage 1-2:1.0
kernel: usbcore: registered new interface driver usb-storage
kernel: usbcore: registered new interface driver uas
kernel: scsi 3:0:0:0: Direct-Access     ST310005 24AS             JC4B PQ: 0 ANSI: 0
kernel: sd 3:0:0:0: Attached scsi generic sg2 type 0
kernel: sd 3:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
kernel: sd 3:0:0:0: [sdb] Write Protect is off
kernel: sd 3:0:0:0: [sdb] Mode Sense: 23 00 00 00
kernel: sd 3:0:0:0: [sdb] No Caching mode page found
kernel: sd 3:0:0:0: [sdb] Assuming drive cache: write through
kernel:  sdb: sdb1
kernel: sd 3:0:0:0: [sdb] Attached SCSI disk

Primero copia el archivo /lib/udev/rules.d/69-libmtp.rules a /etc/udev/rules.d/69-libmtp.rules :

$ sudo cp /lib/udev/rules.d/69-libmtp.rules /etc/udev/rules.d/69-libmtp.rules

En la parte superior de este archivo puede encontrar:

# Some sensitive devices we surely don't wanna probe
ATTR{idVendor}=="0670", GOTO="libmtp_rules_end"
ATTR{idVendor}=="0471", ATTR{idProduct}=="083f", GOTO="libmtp_rules_end"

Luego excluya el dispositivo de mtp-probe agregando la siguiente línea después de las líneas mencionadas:

ATTR{idVendor}=="093a", ATTR{idProduct}=="2516", GOTO="libmtp_rules_end"

Encontré mi ID de dispositivo USB con lsusb comando de concha. Es 093a:2516


Linux
  1. Configuración de almacenamiento persistente en CentOS/RHEL 5,6 para ruta única mediante reglas udev

  2. Cómo deshabilitar un comando específico para un usuario específico en Linux

  3. ¿Cómo puedo deshabilitar el acceso a Internet para los programas que se ejecutan en Wine?

  4. Uso de reglas udev para ejecutar un script en la inserción USB

  5. Montar dispositivo con derechos de usuario específicos

Deshabilitar la autenticación de contraseña SSH para un usuario o grupo específico

¿Cómo puedo permitir o bloquear una dirección IP específica para mi sitio web?

¿Cómo puedo eliminar reglas específicas de iptables?

deshabilitar un dispositivo PCI específico en el arranque

¿Cómo puedo estar seguro de haber conectado un dispositivo a un puerto USB 3?

Udev:cambiar el nombre de mi interfaz de red