条件:電話がUSBに接続されたときの無関係な通知とポップアップ。
差動条件:USBでの電源管理障害、ネットワークカード管理障害。
サポート:通知、ポップアップ、およびdmesg警告は、主に電源状態が最大の高さに達すると発生しますが、電源状態の割合が一定のままである場合はかなり安定します。
USB経由でラップトップに電話を接続すると、ファイルマネージャーが開き続けます(図1および2)。左側のバーにもポップアップアイコンがあります(図3)。また、テザリング時に頻繁にインターネット接続通知がオン/オフされます(図4および5)。品質の悪いケーブルは、これらの煩わしさの頻度を増やします。すべての種類の通知は、1分間に何回も送信できます。バッテリーが高電力状態に達すると、速度は増加しますが、バッテリーが完全に充電されると安定したままです。
gsettings set org.gnome.desktop.media-handling automount-open false
問題を解決するautomount-open
、そのdmesg | tail
状態 ここ を行います。デバイスをラップトップに接続したままにすると、エラー(図1および2)と、電話の右側のアイコン(図3)が10〜30個ほど表示されます。
gsettings set org.gnome.desktop.media-handling automount false
を行います。ただし、サムスンの携帯電話のアイコンは、左側のバーに何度もポップアップし始めます。ほとんどの場合、ラップトップが完全に充電されているときに発生するため、電源管理の問題になる可能性があります。 dmesg | tail
状態は ここ です(図3も参照)。これは最初に発生し、ほとんどの場合、ラップトップが最大バッテリー状態に達したときに発生します。2番目のdmesgのサブセットはこちら
[ 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
その他の提案
こっそり。初日は機能します。来週にはどのように機能するかお知らせします。
> 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
電話:Samsung Galaxy S4 gt-i9506、Temasekの非公式 ROM CyanogenMod 13と十分なパッチ
Ubuntuバージョン:16.04
Linuxカーネル:4.4および4.6
Linuxカーネルオプション:wl
bash:4.3.42(1)-release(x86_64-pc-linux-gnu)
ラップトップ:2013年半ばのMacbook Air
USB:2つのUSB3ポート(最大5 Gbps)( ここ 公式仕様)
ネットワークカードドライバー:non-freebroadcom-sta-dkms( here を参照)
電話のVPN:NordVPN US udpサーバー
ルーターとファイアウォールを使用したWi-Fi接続時のラップトップのVPN:NordVPN EE udpサーバー
dconfは、この状況で確認する場所です。
dconfは、低レベルの構成システムおよび設定管理です。その主な目的は、構成ストレージシステムをまだ持っていないプラットフォームでGSettingsとKSettingsにバックエンドを提供することです。 GLibに依存します。これはGNOME 3の一部であり、GConfの代替品です。 〜ウィキペディア
このためには、次のようにdconf editorをインストールする必要があります。
Sudo apt-get update
Sudo apt-get install dconf-tools
dconfエディターを開くには、
Alt + F2を押す
または
Application> System Tools> dconf editorに移動します
Dconfエディターのサイドバーで
org> gnome> desktop> media-handling
automount-openオプションのチェックを外します。
16.04のdconf-editorのスクリーンショットは次のとおりです。
@ Dhaval-Simariaの回答のCLIバージョン:
gsettings set org.gnome.desktop.media-handling automount-open false
Ubuntuにはgsettings
が付属していることに注意してください。インストールする必要はありません。
更新された情報の編集:エラーメッセージがマウントの失敗を報告しているため、自動マウントを無効にしてみてください:
gsettings set org.gnome.desktop.media-handling automount false
注:以下のすべてのコマンドにはルート電源が必要なので、最初にSudo -i
またはSudo su
を使用してルートシェルに切り替えます。 Sudo <cmd>
で直接実行したい場合は、 を参照してください。リダイレクトでSudoを使用すると、「permission denied」が表示されます 。
Libmtptoのudevルールを設定して、電話モデルを無視します。
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
ロールバックするには:
rm /etc/udev/rules.d/69-libmtp.rules
すべての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
ロールバックするには:
rm /etc/udev/rules.d/99-usb-fallen-leaves.rules
+再起動
ここで、再起動を必要としない別の方法。
これを使用してアンバインドおよびバインドスクリプトを生成します。
スクリプトとして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
または1行:
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
出力の例:
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
起動時に実行するには、usb-unbind.shを/etc/profile
に追加します。 usb-bind.shを使用して、必要に応じてUSBコントローラーを有効にします。
echo $(pwd)/usb-unbind.sh > /etc/profile.d/usb-unbind-hook.sh
ロールバックするには:
rm /etc/profile.d/usb-unbind-hook.sh
Udevルールを調べる必要があります。それらを使用すると、他のUSBデバイスに影響を与えることなく1つのデバイスをブロックできます。 /etc/udev/rules.d/
にファイルを作成することにより、独自のudevルールを定義できます。 /etc/udev/rules.d/51-block-phone-mount.rules
次に、デバイスのidVendorとidProductを見つけます。これらはほとんど製品固有のものであるため、使用すると便利です。したがって、udevルールでデバイスを識別するために使用できます。
lsusb
を使用してUSBデバイスをリストし、次のようなものを取得します。
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
関連する部分は、バスとデバイスです。バス004およびデバイス003。Sudo lsusb -vs 004:003 | grep -E 'idProduct|idVendor'
を使用すると、必要な情報を取得できます。例:
idVendor 0x03f0 Hewlett-Packard
idProduct 0x0024 KU-0316 Keyboard
つまり、/etc/udev/rules.d/51-block-phone-mount.rules
には次のものを挿入する必要があります。
#Phone automount block
SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0024", ATTR{authorized}="0"
電話を再接続し、動作するかどうかを確認するだけで、すぐに試すことができます。
私は、わずかに不確かなusbソケットを持つ1プラス1で同様の問題を抱えています。これにより、5分ごとにノーチラスウィンドウが起動します。
これを防ぐために私が見つけた最も効果的な方法は、USBベンダーとモデルIDを一致させ、デバイスを無許可モードに設定することにより、udevにそれを完全に無視させることでした。この方法により、このデバイスが他の何かに影響を与えることなく、自動マウントなどのアップストリームをトリガーすることを特に防ぐことができます。
udevブラックリストの実行方法https://projectgus.com/2014/09/blacklisting-a-single-usb-device- from-linux /