Condition: notifications externes et fenêtres contextuelles lorsque le téléphone est connecté à USB.
Conditions différentielles: défaillance de la gestion de l'alimentation avec USB, défaillance de la gestion de la carte réseau.
Support: les notifications, les popups et les avertissements dmesg se produisent principalement lorsque l'état d'alimentation atteint son maximum, mais deviennent plutôt stables lorsque le pourcentage d'état d'alimentation reste constant.
Le gestionnaire de fichiers ne cesse de s’ouvrir lorsque mon téléphone est connecté à mon ordinateur portable via USB (figures 1 et 2). Il existe également des icônes contextuelles dans la barre de gauche (Figure 3). Des notifications de connexion Internet fréquentes sont également activées/désactivées lors de la connexion (Figures 4 et 5). Le câble de mauvaise qualité augmente la fréquence de ces ennuis. Tous les types de notifications peuvent être plusieurs fois par minute. Leur fréquence augmente lorsque la batterie atteint son niveau de charge élevé, mais reste stable lorsque la batterie est complètement chargée.
gsettings set org.gnome.desktop.media-handling automount-open false
qui résout le problème de automount-open
, son dmesg | tail
état ici .Vous voyez environ 10 à 30 fenêtres pour l’erreur (figures 1 et 2) et l’icône du côté droit du téléphone qui s’agite (figure 3) lorsque vous maintenez simplement le périphérique connecté à votre ordinateur portable.
gsettings set org.gnome.desktop.media-handling automount false
. Cependant, l'icône du téléphone Samsung commence à apparaître dans la barre de gauche, encore et encore. Cela se produit principalement lorsque mon ordinateur portable est complètement chargé, ce qui peut poser un problème de gestion de l'alimentation. Son état dmesg | tail
est ici (voir également la figure 3), ce qui s'est produit pour la première fois et surtout lorsque mon ordinateur portable atteint son état de batterie maximal.Sous-ensemble du deuxième dmesg ici
[ 5.788819] wl: module license 'MIXED/Proprietary' taints kernel.
[ 5.788820] Disabling lock debugging due to kernel taint
[ 5.789154] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input8
[ 5.797453] wl: module verification failed: signature and/or required key missing - tainting kernel
[ 5.812002] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input9
[ 5.812092] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input10
[ 5.812165] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input11
[ 5.981764] intel_rapl: Found RAPL domain package
[ 5.981769] intel_rapl: Found RAPL domain core
[ 5.981771] intel_rapl: Found RAPL domain uncore
[ 5.981772] intel_rapl: Found RAPL domain dram
[ 6.024117] wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.248 (r487574)
[ 6.030416] applesmc: key=561 fan=1 temp=33 index=33 acc=0 Lux=2 kbd=1
[ 6.050130] wl 0000:03:00.0 wlp3s0: renamed from wlan0
[ 6.242168] Non-volatile memory driver v1.3
[ 6.428191] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 6.862799] input: bcm5974 as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input12
[ 6.862926] usbcore: registered new interface driver bcm5974
[ 7.053663] Fuse init (API version 7.24)
[ 7.329118] Bluetooth: Core ver 2.21
[ 7.329540] NET: Registered protocol family 31
[ 7.329543] Bluetooth: HCI device and connection manager initialized
[ 7.329548] Bluetooth: HCI socket layer initialized
[ 7.329551] Bluetooth: L2CAP socket layer initialized
[ 7.329558] Bluetooth: SCO socket layer initialized
[ 7.350445] usbcore: registered new interface driver btusb
[ 7.355183] Bluetooth: hci0: BCM: chip id 73 build 0932
[ 7.356184] Bluetooth: hci0: BCM: product 05ac:828f
[ 7.372192] Bluetooth: hci0: BCM20702B0 Generic USB Class 1 @ 20 MHz
[ 7.391321] usb 1-3.1: USB disconnect, device number 5
[ 7.634631] usb 1-3.2: USB disconnect, device number 6
[ 8.363517] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 8.363521] Bluetooth: BNEP filters: protocol multicast
[ 8.363525] Bluetooth: BNEP socket layer initialized
[ 8.377953] Bluetooth: RFCOMM TTY layer initialized
[ 8.377960] Bluetooth: RFCOMM socket layer initialized
[ 8.377965] Bluetooth: RFCOMM ver 1.11
[ 78.943062] usb 1-1: USB disconnect, device number 2
[ 79.308530] usb 1-1: new high-speed USB device number 8 using xhci_hcd
[ 79.437071] usb 1-1: New USB device found, idVendor=04e8, idProduct=6863
[ 79.437079] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 79.437083] usb 1-1: Product: SAMSUNG_Android
[ 79.437086] usb 1-1: Manufacturer: SAMSUNG
[ 79.437089] usb 1-1: SerialNumber: d068730a
[ 79.978452] usbcore: registered new interface driver cdc_ether
[ 79.981649] rndis_Host 1-1:1.0 usb0: register 'rndis_Host' at usb-0000:00:14.0-1, RNDIS device, 02:57:00:57:38:37
[ 79.981726] usbcore: registered new interface driver rndis_Host
[ 79.983854] rndis_Host 1-1:1.0 enp0s20u1: renamed from usb0
[ 80.011403] IPv6: ADDRCONF(NETDEV_UP): enp0s20u1: link is not ready
[ 1290.235637] usb 1-1: USB disconnect, device number 8
[ 1290.235777] rndis_Host 1-1:1.0 enp0s20u1: unregister 'rndis_Host' usb-0000:00:14.0-1, RNDIS device
[ 1290.591107] usb 1-1: new high-speed USB device number 9 using xhci_hcd
[ 1290.719964] usb 1-1: New USB device found, idVendor=04e8, idProduct=6863
[ 1290.719973] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1290.719977] usb 1-1: Product: SAMSUNG_Android
[ 1290.719981] usb 1-1: Manufacturer: SAMSUNG
[ 1290.719984] usb 1-1: SerialNumber: d068730a
[ 1290.722251] rndis_Host 1-1:1.0 usb0: register 'rndis_Host' at usb-0000:00:14.0-1, RNDIS device, 02:57:00:57:38:37
[ 1291.255806] rndis_Host 1-1:1.0 enp0s20u1: renamed from usb0
[ 1291.277892] IPv6: ADDRCONF(NETDEV_UP): enp0s20u1: link is not ready
[ 1870.316573] usb 1-1: USB disconnect, device number 9
[ 1870.316687] rndis_Host 1-1:1.0 enp0s20u1: unregister 'rndis_Host' usb-0000:00:14.0-1, RNDIS device
[ 1871.735777] usb 1-1: new high-speed USB device number 10 using xhci_hcd
[ 1871.865681] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 1871.865687] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1871.865690] usb 1-1: Product: SAMSUNG_Android
[ 1871.865692] usb 1-1: Manufacturer: SAMSUNG
[ 1871.865694] usb 1-1: SerialNumber: d068730a
[ 2265.887618] usb 1-1: USB disconnect, device number 10
[ 2268.395967] usb 1-1: new high-speed USB device number 11 using xhci_hcd
[ 2268.524992] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 2268.524998] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2268.525001] usb 1-1: Product: SAMSUNG_Android
[ 2268.525003] usb 1-1: Manufacturer: SAMSUNG
[ 2268.525005] usb 1-1: SerialNumber: d068730a
[ 2389.754208] usb 1-1: USB disconnect, device number 11
[ 2451.283233] usb 1-1: new high-speed USB device number 12 using xhci_hcd
[ 2451.412713] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 2451.412719] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2451.412722] usb 1-1: Product: SAMSUNG_Android
[ 2451.412725] usb 1-1: Manufacturer: SAMSUNG
[ 2451.412727] usb 1-1: SerialNumber: d068730a
[ 4253.278282] usb 1-1: USB disconnect, device number 12
[ 4254.096939] usb 1-1: new high-speed USB device number 13 using xhci_hcd
[ 4259.392860] usb 1-1: new high-speed USB device number 14 using xhci_hcd
[ 4259.522162] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4259.522167] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4259.522170] usb 1-1: Product: SAMSUNG_Android
[ 4259.522173] usb 1-1: Manufacturer: SAMSUNG
[ 4259.522175] usb 1-1: SerialNumber: d068730a
[ 4259.731917] usb 1-1: USB disconnect, device number 14
[ 4260.068777] usb 1-1: new high-speed USB device number 15 using xhci_hcd
[ 4260.200384] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4260.200389] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4260.200392] usb 1-1: Product: SAMSUNG_Android
[ 4260.200395] usb 1-1: Manufacturer: SAMSUNG
[ 4260.200397] usb 1-1: SerialNumber: d068730a
[ 4487.825779] usb 1-1: USB disconnect, device number 15
[ 4488.457511] usb 1-1: new high-speed USB device number 16 using xhci_hcd
[ 4488.643676] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4488.643682] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4488.643685] usb 1-1: Product: SAMSUNG_Android
[ 4488.643687] usb 1-1: Manufacturer: SAMSUNG
[ 4488.643689] usb 1-1: SerialNumber: d068730a
[ 4507.592538] usb 1-1: USB disconnect, device number 16
[ 4507.929239] usb 1-1: new high-speed USB device number 17 using xhci_hcd
[ 4508.115547] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4508.115553] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4508.115556] usb 1-1: Product: SAMSUNG_Android
[ 4508.115558] usb 1-1: Manufacturer: SAMSUNG
[ 4508.115560] usb 1-1: SerialNumber: d068730a
Autres propositions
Sneetsher. Cela fonctionne le premier jour. Je vous ferai savoir comment cela fonctionne la semaine prochaine.
> Sudo -i
> sed 's/LABEL="libmtp_usb_rules"/LABEL="libmtp_usb_rules"\n\n#Masi, ignore my phone\nATTR{idVendor}=="04e8", ATTR{idProduct}=="6863", GOTO="libmtp_rules_end"/g' /lib/udev/rules.d/69-libmtp.rules | Sudo tee /etc/udev/rules.d/69-libmtp.rules \
udevadm control --reload-rules
# TODO for long time monitoring
Téléphone: Samsung Galaxy S4 gt-i9506 avec la version non officielle de Temasek ROM de CyanogenMod 13 avec suffisamment de correctifs
Versions Ubuntu: 16.04
Noyaux Linux: 4.4 et 4.6
Options du noyau Linux: wl
Bash: version 4.3.42 (1) (x86_64-pc-linux-gnu)
Ordinateur portable: mi-2013 Macbook Air
USB: deux ports USB3 (jusqu'à 5 Gbps) ( ici spécifications officielles)
Pilotes de carte réseau: non-libres broadcom-sta-dkms (voir ici )
VPN dans le téléphone: serveur udp NordVPN US
VPN dans un ordinateur portable lors d’une connexion wifi avec routeur-pare-feu: serveur udp NordVPN EE
dconf est l'endroit à vérifier dans cette situation.
dconf est un système de configuration de bas niveau et de gestion des paramètres. Son objectif principal est de fournir un back-end à GSettings et à KSettings sur des plates-formes ne disposant pas de systèmes de stockage de configuration. Cela dépend de GLib. Il fait partie de GNOME 3 et remplace GConf. ~ Wikipedia
Pour cela, vous devez installer dconf editor comme suit:
Sudo apt-get update
Sudo apt-get install dconf-tools
Pour ouvrir dconf editor ,
Appuyez sur Alt + F2
ou
accédez à Application> Outils système> Éditeur dconf .
Maintenant dans l'éditeur dconf, dans la barre latérale
org> gnome> bureau> gestion des médias
Désélectionnez l'option automount-open .
Voici la capture d'écran de dconf-editor en 16.04:
Version CLI de la réponse de @ Dhaval-Simaria:
gsettings set org.gnome.desktop.media-handling automount-open false
Notez que Ubuntu est livré avec gsettings
; il n'a pas besoin d'être installé.
Modifier les informations mises à jour: comme les messages d'erreur signalent un échec du montage, essayez de désactiver le montage automatique:
gsettings set org.gnome.desktop.media-handling automount false
Remarque: toutes les commandes ci-dessous ont besoin de l’alimentation racine. Par conséquent, passez tout d’abord au shell racine à l’aide de _Sudo -i
_ ou _Sudo su
_. Si vous voulez exécuter directement avec _Sudo <cmd>
_, voir Lorsque j'utilise Sudo avec une redirection, j'obtiens 'autorisation refusée' .
Définissez la règle udev pour libmtpt pour ignorer le modèle de votre téléphone:
_sed 's/LABEL="libmtp_usb_rules"/LABEL="libmtp_usb_rules"\n\n#Masi, ignore my phone\nATTR{idVendor}=="04e8", ATTR{idProduct}=="6863", GOTO="libmtp_rules_end"/g' /lib/udev/rules.d/69-libmtp.rules > /etc/udev/rules.d/69-libmtp.rules; \
udevadm control --reload-rules
_
Pour revenir en arrière:
_rm /etc/udev/rules.d/69-libmtp.rules
_
Pour tous les nœuds USB
_echo "DRIVERS==\"usb\", RUN+=\"/bin/sh -c 'echo 1 > /sys%p/remove'\" > /etc/udev/rules.d/99-usb-fallen-leaves.rules; \
udevadm control --reload-rules
_
Pour revenir en arrière:
_rm /etc/udev/rules.d/99-usb-fallen-leaves.rules
_
+ Redémarrage
Voici une autre méthode qui ne nécessite pas de redémarrage.
Générez les scripts unbind & bind à l'aide de celui-ci:
En tant que script usb-ctrl-gen.sh
_#!/bin/sh
c=$(pwd)
for o in "unbind" "bind"
do
cd $c
echo Generate usb-$o.sh...
echo "#!/bin/sh\n" > usb-$o.sh
chmod +x usb-$o.sh
for d in /sys/bus/pci/drivers/[uex]hci* ; do cd $d; find $d -type l -iname "0000*" -printf 'echo "%f" > ' -exec echo $d/$o \;; done >> usb-$o.sh
done
echo Done
_
Ou une ligne:
_c=$(pwd); for o in "unbind" "bind"; do echo Generate usb-$o.sh...; echo "#\!/bin/sh\n" > usb-$o.sh; chmod +x usb-$o.sh; for d in /sys/bus/pci/drivers/[uex]hci*; do cd $d; find $d -type l -iname "0000*" -printf 'echo "%f" > ' -exec echo $d/$o \;; done >> usb-$o.sh; cd $c; done; echo Done
_
Exemple de sortie:
usb-unbind.sh
_#!/bin/sh
echo "0000:00:1a.0" > /sys/bus/pci/drivers/ehci-pci/unbind
echo "0000:00:1d.0" > /sys/bus/pci/drivers/ehci-pci/unbind
echo "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
_
usb-bind.sh
_#!/bin/sh
echo "0000:00:1a.0" > /sys/bus/pci/drivers/ehci-pci/bind
echo "0000:00:1d.0" > /sys/bus/pci/drivers/ehci-pci/bind
echo "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/bind
_
Ajoutez usb-unbind.sh à _/etc/profile
_ pour s'exécuter au démarrage. Utilisez usb-bind.sh pour activer le contrôleur USB chaque fois que nécessaire.
_echo $(pwd)/usb-unbind.sh > /etc/profile.d/usb-unbind-hook.sh
_
Au rôle de retour:
_rm /etc/profile.d/usb-unbind-hook.sh
_
Référence: Comment réinitialiser un périphérique USB à partir de la ligne de commande?
Vous devriez regarder dans les règles d'udev. Avec eux, vous pouvez bloquer un périphérique sans affecter les autres périphériques USB. Vous pouvez définir vos propres règles udev en créant un fichier dans /etc/udev/rules.d/
, par exemple. /etc/udev/rules.d/51-block-phone-mount.rules
Recherchez maintenant idVendor et idProduct du périphérique. Celles-ci sont bonnes à utiliser car elles sont pour la plupart uniques au produit. Vous pouvez donc les utiliser pour identifier le périphérique dans la règle udev.
Listez vos périphériques USB en utilisant lsusb
et obtenez quelque chose comme ceci:
Bus 002 Device 002: ID 8087:8002 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 8087:800a Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 0424:2660 Standard Microsystems Corp.
Bus 004 Device 003: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
La partie pertinente est le bus et le périphérique, par ex. Bus 004 et appareil 003. Avec Sudo lsusb -vs 004:003 | grep -E 'idProduct|idVendor'
, vous obtiendrez les informations nécessaires, par exemple:
idVendor 0x03f0 Hewlett-Packard
idProduct 0x0024 KU-0316 Keyboard
Cela signifie que votre /etc/udev/rules.d/51-block-phone-mount.rules
aurait besoin de ce qui suit inséré:
#Phone automount block
SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0024", ATTR{authorized}="0"
Vous pouvez l’essayer instantanément en rebranchant simplement le téléphone et en vérifiant si cela fonctionne.
J'ai un problème similaire avec un one plus one qui a une prise USB légèrement incertain, cela le fait allumer une fenêtre Nautile toutes les 5 minutes environ.
Le moyen le plus efficace que j'ai trouvé pour empêcher cela était de faire en sorte que Udev l'ignore complètement en faisant correspondre le fournisseur USB et l'ID du modèle, puis en configurant le périphérique en mode non autorisé. De cette manière, vous empêchez spécifiquement ce périphérique de déclencher quoi que ce soit plus en amont, tel que le montage automatique, sans rien affecter d'autre.
comment faire la liste noire d'udev https://projectgus.com/2014/09/blacklisting-a-single-usb-device- from-linux /
un guide pour les téléphones samsung http://blog.vacs.fr/vacs/blogs/post.html?post=2010/12/24/Comment-réparer-le-problème-USB-non-détecté-sur-Android-Samsung-phones