web-dev-qa-db-ja.com

ラップトップはサスペンドまたはリッドクローズの数秒後に自動的に起動します

Ubuntu 18.04.1をカーネル4.15.0-29-genericで実行していますが、ラップトップ(Macbookpro retina 15inch、2015年半ば、MacBookPro11,5)はスリープ後数秒で自動的に起動します。 \var\log\syslogsのログを見ると、ウェイクアップイベントはAug 6 15:51:53 Shire NetworkManager[7444]: <info> [1533595913.5200] manager: sleep: wake requested (sleeping: yes enabled: yes)として表示されます。

これに関する他のすべての質問と回答をすでに見てきましたが、私の問題はまだ次のように残っています。

この質問 とその回答に続いて、cat /proc/acpi/wakeupの出力は

Device  S-state   Status   Sysfs node
PEG0      S3    *disabled  pci:0000:00:01.0
GFX0      S3    *disabled  pci:0000:01:00.0
PEG1      S3    *disabled  pci:0000:00:01.1
PEG2      S3    *disabled  pci:0000:00:01.2
EC        S4    *disabled  platform:PNP0C09:00
GMUX      S3    *disabled  pnp:00:03
HDEF      S3    *disabled  pci:0000:00:1b.0
RP03      S3    *disabled  pci:0000:00:1c.2
ARPT      S4    *enabled   pci:0000:04:00.0
RP04      S3    *disabled  pci:0000:00:1c.3
XHC1      S3    *enabled   pci:0000:00:14.0
ADP1      S4    *disabled  platform:ACPI0003:00
LID0      S4    *enabled   platform:PNP0C0D:00

そして、問題をARPTエントリに分離しました。 lspciを介してこのエントリのpciを検索すると、04:00.0 Network controller: Broadcom Limited BCM43602 802.11ac Wireless LAN SoC (rev 01)を取得します。これは、ウェイクアップがネットワークによって引き起こされたというログ情報と一致します。

ここに奇妙な部分があります:Sudo sh -c "echo ARPT > /proc/acpi/wakeup"を使用してARPTのウェイクアップ機能を無効にし、ステータスを正しく無効に変更しますが、ラップトップをスリープ状態にすると、ほんの数回後にウェイクアップします秒!さらに驚くべきことに、起動して/proc/acpi/wakeupを確認すると、ARPTエントリが自動的に有効に戻ったことがわかります。このは再起動後は発生しませんが、ウェイクアップエントリを無効にして一時停止した直後には発生しません。ラップトップがスリープしている間、他のスクリプトがこれを変更し続けるようです。

結果なしで試した他のこと:

  • Sudo service netwrok-manager stop経由でネットワークマネージャーを停止しましたが、ラップトップは引き続き起動します。
  • Sudo iwconfig wlan0 power offを使用してwifiの電源管理を無効にしました
  • この記事 に従って、Wake on WLAN(WoWLAN)がオフになっていることを確認しました。
  • \proc\acpi\wakeupを読み取り専用にしました。

更新:

ARPTXHC1の両方を無効にして、LID0のみを有効にしてみました(ラップトップのふた)が、数秒後にシステムが起動します。ただし、この時点で/proc/acpi/wakeupの設定がウェイクアップされると、そのまま保持され、自動的には元に戻されません。

2018年8月17日更新:

新しいカーネル4.15.0-32を使用すると、ラップトップはふたを閉じたときにもう起動しませんが、ふたを開いてスリープ状態になったときに、それ自体で起動します。少なくとも今では、バッテリーを使い果たすことなく、ラップトップをバックパックに入れることができます。また、明らかにこれはカーネルの問題であり、かなりの時間を費やすことなく自分のやり方をハックできるとは思えません。

5
Mostafa

2018年8月8日更新

カーネル4.15.0-30がリリースされました。サスペンドの問題の直後に再開されます。カーネル4.13.0-36は引き続き確実に動作します。

追加の手順

4.15.0-29-genericにも同じ問題があります。 nVidiaドライバー384.130をインストールしたばかりで、それに関連していると仮定しました。私はあなたのすべてのステップに加えて、変更しました:

$ paste <(ls /sys/bus/usb/devices/*/power/wakeup) <(cat /sys/bus/usb/devices/*/power/wakeup) | column -s $'\t' -t
/sys/bus/usb/devices/1-1.4.3/power/wakeup  disabled
/sys/bus/usb/devices/1-1.4/power/wakeup    disabled
/sys/bus/usb/devices/1-1/power/wakeup      disabled
/sys/bus/usb/devices/1-4/power/wakeup      disabled
/sys/bus/usb/devices/1-5/power/wakeup      enabled
/sys/bus/usb/devices/1-9/power/wakeup      disabled
/sys/bus/usb/devices/usb1/power/wakeup     disabled
/sys/bus/usb/devices/usb2/power/wakeup     disabled
/sys/bus/usb/devices/usb3/power/wakeup     disabled
/sys/bus/usb/devices/usb4/power/wakeup     disabled

USB 1-5はWiFi/Bluetoothカードです:

$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 007: ID 1bcf:2b8c Sunplus Innovation Technology Inc. 
Bus 001 Device 005: ID 0cf3:e301 Atheros Communications, Inc. 
Bus 001 Device 003: ID 187c:0528 Alienware Corporation 
Bus 001 Device 008: ID 413c:9016 Dell Computer Corp. 
Bus 001 Device 006: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 004: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
Bus 001 Device 002: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

これも確認できます。

すべてを抜く

インテルはすべてのプラグを抜くことを推奨します-中断をデバッグするためにすべてのUSB、ネットワークケーブルなど。 Intelの記事 にリストされている他の試みがあります。

カーネル4.13.0-36は機能します!

nvhda.koをカーネル4.13.0-36-genericの下で再コンパイルしましたが、少なくとも現在はメニューでサスペンドが機能していることがわかりました。

  • Advanced Grubメニューに4.15.0-24などの古いカーネルバージョンがある場合は、それを使用して起動します。
  • 4.13.0-36で起動している場合。
  • 古いバージョンがない場合は、Sudo apt install linux-image-4.15.0-24*でインストールできます
  • DKMSを使用する場合は、Sudo apt install linux-headers-4.15.0-24*も使用する必要があります
  • リポジトリに利用可能なカーネル4.15.0-25から4.15.0-28がありません。
1