Bonjour à tous,
J’essaie en vain de faire en sorte que ma Nexus 7 se monte au branchement et se démonte au débranchement.
J’ai suivi ce tuto, pour Ubuntu à la base :
bernaerts.dyndns.org/linux/247-u … nexus7-mtp
Là où ça coince c’est sur les règles udev, qui ne fonctionne pas du tout.
J’arrive bien à monter le stockage grâce à la commande :
Mais lors du branchement, les règles udev suivantes ne se déclenche pas :
# Google Nexus 7 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery
# Google Nexus 7 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e43", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on
# Google Nexus 7 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666" # MTP media with USB debug on
# Google Nexus 7 MTP mode : automatic mount when plugged (all android versions)
ENV{ID_MODEL}=="Nexus", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -b -u yourlogin /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
ENV{ID_MODEL}=="Nexus", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -b -u yourlogin /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -b -u yourlogin /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -b -u yourlogin /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
# Google Nexus 7 MTP mode : automatic unmount when unplugged (all android versions)
ENV{ID_MODEL}=="Nexus", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Nexus", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
Bien entendu “yourlogin” a été remplacé par mon login correct.
J’ai bien entendu vérifier que ID_MODEL_ID et ID_MODEL soient juste, grâce à :
Sortie au branchement :
UDEV [35370.735703] add /devices/pci0000:00/0000:00:1d.7/usb2/2-1 (usb)
ACTION=add
BUSNUM=002
DEVICE=/proc/bus/usb/002/007
DEVLINKS=/dev/libmtp-2-1
DEVNAME=/dev/bus/usb/002/007
DEVNUM=007
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-1
DEVTYPE=usb_device
ID_BUS=usb
ID_FOR_SEAT=usb-pci-0000_00_1d_7-usb-0_1
ID_MEDIA_PLAYER=1
ID_MODEL=Nexus_7
ID_MODEL_ENC=Nexus\x207
ID_MODEL_ID=4e41
ID_MTP_DEVICE=1
ID_PATH=pci-0000:00:1d.7-usb-0:1
ID_PATH_TAG=pci-0000_00_1d_7-usb-0_1
ID_REVISION=9999
ID_SERIAL=asus_Nexus_7_015d2856b8080814
ID_SERIAL_SHORT=015d2856b8080814
ID_USB_INTERFACES=:ffff00:
ID_VENDOR=asus
ID_VENDOR_ENC=asus
ID_VENDOR_FROM_DATABASE=Google Inc.
ID_VENDOR_ID=18d1
MAJOR=189
MINOR=134
PRODUCT=18d1/4e41/9999
SEQNUM=4235
SUBSYSTEM=usb
TAGS=:seat:uaccess:
TYPE=0/0/0
UDEV_LOG=3
USEC_INITIALIZED=35370713052
UDEV [35370.756223] add /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0 (usb)
ACTION=add
DEVICE=/proc/bus/usb/002/007
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0
DEVTYPE=usb_interface
ID_VENDOR_FROM_DATABASE=Google Inc.
INTERFACE=255/255/0
MODALIAS=usb:v18D1p4E41d9999dc00dsc00dp00icFFiscFFip00
PRODUCT=18d1/4e41/9999
SEQNUM=4236
SUBSYSTEM=usb
TYPE=0/0/0
UDEV_LOG=3
USEC_INITIALIZED=35370751127
Sortie au débranchement :
UDEV [35425.902489] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0 (usb)
ACTION=remove
DEVICE=/proc/bus/usb/002/008
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0
DEVTYPE=usb_interface
ID_VENDOR_FROM_DATABASE=Google Inc.
INTERFACE=255/255/0
MODALIAS=usb:v18D1p4E41d9999dc00dsc00dp00icFFiscFFip00
PRODUCT=18d1/4e41/9999
SEQNUM=4245
SUBSYSTEM=usb
TYPE=0/0/0
UDEV_LOG=3
USEC_INITIALIZED=35424610497
UDEV [35425.913827] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-1 (usb)
ACTION=remove
BUSNUM=002
DEVICE=/proc/bus/usb/002/008
DEVLINKS=/dev/libmtp-2-1
DEVNAME=/dev/bus/usb/002/008
DEVNUM=008
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-1
DEVTYPE=usb_device
ID_BUS=usb
ID_FOR_SEAT=usb-pci-0000_00_1d_7-usb-0_1
ID_MEDIA_PLAYER=1
ID_MODEL=Nexus_7
ID_MODEL_ENC=Nexus\x207
ID_MODEL_ID=4e41
ID_MTP_DEVICE=1
ID_PATH=pci-0000:00:1d.7-usb-0:1
ID_PATH_TAG=pci-0000_00_1d_7-usb-0_1
ID_REVISION=9999
ID_SERIAL=asus_Nexus_7_015d2856b8080814
ID_SERIAL_SHORT=015d2856b8080814
ID_USB_INTERFACES=:ffff00:
ID_VENDOR=asus
ID_VENDOR_ENC=asus
ID_VENDOR_FROM_DATABASE=Google Inc.
ID_VENDOR_ID=18d1
MAJOR=189
MINOR=135
PRODUCT=18d1/4e41/9999
SEQNUM=4246
SUBSYSTEM=usb
TAGS=:seat:uaccess:
TYPE=0/0/0
UDEV_LOG=3
USEC_INITIALIZED=35424576592
Où on vois que les variables correspondent à des règles présentent dans le fichier 99-android.rules que j’ai créé dans le dossier /etc/udev/rules.d/
(les autres sont là dans le cas où je retrograde la version d’android, ou si j’active le debug usb, ou encore si je la branche en recovery etc…)
J’ai bien entendu redémarrer le service par :
J’ai même rebooté le pc histoire d’être sûr.
Quelqu’un aurait-il une idée ?