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