GNU/Linux >> Linux Esercitazione >  >> Linux

disabilitare le regole udev MTP per un dispositivo specifico in modo che possa essere montato come dispositivo di archiviazione di massa USB

Dopo molte letture e prove.

Ho scoperto che questo è correlato a un recente cambiamento nelle regole Udev predefinite per impostare una regola catch-all per i dispositivi che devono essere gestiti da MTP se non corrispondono a nessun'altra regola udev per i dispositivi USB.

Invece di montare il mio dispositivo come dispositivo di archiviazione di massa USB come una volta.

Ho scoperto che devo far sapere a udev che questo dispositivo dovrebbe essere gestito come un dispositivo di archiviazione di massa USB invece della regola MTP catch all

Per prima cosa ho bisogno dell'ID del mio dispositivo. Sotto è l'ultimo nell'elenco

$ 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

Sono sicuro che c'è di più in questo rispetto a quello che ho qui, ma questo funziona per me. Prendo l'ID del dispositivo quale 174c:5106 e sostituirlo nelle regole udev di seguito.

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

Ora vedo quanto segue nei miei log di 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

Prima copia il file /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

Nella parte superiore di questo file puoi trovare:

# 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"

Quindi escludi il dispositivo da mtp-probe aggiungendo la riga successiva dopo le righe menzionate:

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

Ho trovato l'ID del mio dispositivo USB con lsusb comando shell. È 093a:2516


Linux
  1. Nessun Udc si presenta per il gadget di archiviazione di massa USB con Configfs?

  2. Linux – Udev non rinomina il dispositivo USB Ethernet?

  3. Configurazione dell'archiviazione persistente in CentOS/RHEL 5,6 per il percorso singolo utilizzando le regole udev

  4. Come puoi identificare il chipset di un dispositivo USB in Linux?

  5. configurare il dispositivo per lo sviluppo (???????????? nessuna autorizzazione)

Disabilita l'autenticazione con password SSH per utenti o gruppi specifici

Come attivare un evento nello script della shell quando viene rimosso un dispositivo USB?

Dev-sda.device In Systemd-analyze, posso disabilitarlo?

Come posso consentire o bloccare un indirizzo IP specifico per il mio sito web?

Come posso essere sicuro di aver collegato un dispositivo a una porta USB 3?

Regola Udev per abbinare il dispositivo USB a più nodi