web-dev-qa-db-ja.com

Wake-on-LANは64ビットで動作せず、32ビットで動作します

WOLを64ビットUbuntuで動作させるにはどうすればよいですか?

それは奇妙な状況です。ハードウェアは大幅に変更されたASUS G75VW 3Dです。 Windowsおよび32ビットUbuntuは、Wake on LANで正常に動作します。ここではマザーボードの役割は小さく、WOLを許可するためにBIOSで無効にしたいくつかの省電力設定しかありません。次に、NICを構成する必要があります。Windowsでは、これは1回限りの設定であり、適切に機能します。Ubuntu32ビットでは、ethtoolrc.localトリガーを使用しました。すごい。

32ビットUbuntuでは、ネットワークカードがeth0として表示されます。 64ビットでは、名前がenp4s0に変更されます。 dmesgをチェックしたため、名前が変更されたことがわかります。これは、rc.localスクリプトがwoldからgethtoolに変更しない理由も示しています。

[    1.624275] atl1c 0000:04:00.0 enp4s0: renamed from eth0
[    3.821446] IPv6: ADDRCONF(NETDEV_UP): enp4s0: link is not ready
[    3.822431] atl1c 0000:04:00.0: atl1c: enp4s0 NIC Link is Up<1000 Mbps Full Duplex>

わかりました。リンクの準備ができていない場合は、それをタイマーに設定するか、後で使用できるようにします。しかし、手動で設定した場合、ethtoolはカードのwol gを表示していると言います

Supports Wake-on: pg
Wake-on: g

なんらかの理由で、コンピューターをシャットダウンするとリセットされます。これは、wolマジックパケットによってコンピューターがスリープ解除されないためです。

テスト中

私は多くのことをテストしました。まず、ラップトップが抜かれた場合、短時間であってもwolトリガーは機能しません。イーサネットケーブルを抜き差しした場合に機能します。OSのシャットダウン時にwolトリガーが設定されていることは明らかです。32ビットのUbuntuをシャットダウンし、取り外しずにハードドライブを交換すると、64ビットのUbuntuに移行できます。

ドライバーと関係があるのではないかと思いますが、それがどこにあるのかはわかりません。次に、64ビットで32ビットドライバーを実行して、それで終了できますか?私は他の目的のためにマシン上に32ビットのライブラリを持っています。

大量のRAM(32ビットの制限を超える))を必要とするマシンでJVMを実行しているため、32ビットのUbuntuを実行してこれを解決することはできません。

buntu help docs に従って、network-managerを削除し、ifupここから )を使用して接続を構成しようとしました。残念ながら、ifupはインターフェースを認識しませんでした。これが64ビットの/etc/network/interfacesファイルの内容です。

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

ワイヤレスとイーサネットカードがリストに表示されなかった理由がわかりません。こちらがifconfig -aです。

enp4s0    Link encap:Ethernet  HWaddr 10:bf:48:19:08:b4
          inet addr:192.168.1.91  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::12bf:48ff:fe19:8b4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:505 errors:0 dropped:0 overruns:0 frame:0
          TX packets:289 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000
          RX bytes:48646 (48.6 KB)  TX bytes:38816 (38.8 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:57 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8091 (8.0 KB)  TX bytes:8091 (8.0 KB)

wlp3s0    Link encap:Ethernet  HWaddr c4:85:08:70:7d:7b
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

したがって、 フォーラム投稿 に従って、ネットワークインターフェイスファイルにenp4s0を手動で追加しました。これは次のようになります。

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp4s0
iface enp4s0 inet dhcp

その後、ifupが機能しました。正しく入力したかどうかはわかりませんが、入力したのは次のとおりです。

ifup enp4s0

すべてが機能し、再起動後もSSHで接続できたので、イーサネットカードはまだ壊れていないと思います。ここで何をしているのか本当にわからないし、ストローを掴んでいる。

私はヘルプページの少し先を読んで、私は バグへのリンク を見落としていることに気付きました。

回避策に従って、スクリプトをrc6.drc0.dに追加して実行可能に設定しましたが、実際に実行されたかどうかを確認する方法がわかりません(echoで何かを確認し、dmesgを確認できたと思います)。 。それはうまくいくでしょうか?)対策のためにマシンを1回再起動して電源を切りましたが、それでもWOLの試行は行われませんでした。

うさぎの穴に続いて、私は見つけました ブログ投稿へのコメント より具体的な静的IPアドレスが役立つことを示唆しています。 (マジックパケットがMACアドレスを使用してネットワーク全体に送信されるため)理由はわかりませんでしたが、とにかく試しました。ネットワークインターフェイスの構成が彼のように見える場合、変更はありません。

マシンの詳細。 32ビットと64ビットの両方が最新のUbuntu 15.10 Wily Werewolfにあります。


更新

私にはもっと研究があります。

WoLがWily Werewolf 64ビットの新規インストールで機能することを確認できます。その後、私は走った:

Sudo apt-get update
Sudo apt-get upgrade

そしてWoLは動作を停止しました。それが私の問題を再現するために必要な唯一の手順のようです。


繰り返しますが、これが私の質問です:

64ビットUbuntuで動作するようにLANでウェイクアップするにはどうすればよいですか?

2
deltree

ようやくこの問題の答えを見つけたと思います。バージョン15.10では、TLPユーティリティがデフォルトで導入されています。そのため、distアップグレードでは、TLPでWOL_DISABLE = Yと言うデフォルトの構成を取得します。

https://wiki.archlinux.org/index.php/Wake-on-LAN は、TLPを使用しているときにサスペンド/ハイバネート後にコンピュータがウェイクしない場合は、WOL_DISABLEの値を/でNに設定しますetc/default/tlp。

インストール後にWOLが機能しないUbuntu-MATE 16.04 LTS(64ビット)でこれをテストしました。 TLPの構成を変更すると、再び機能します。

これがあなたの問題にも役立つことを願っています。

1
paradix

イーサネットカードのオプションをいじってみたところ、高度なタブに「シャットダウンウェイクアップ」という設定があり、無効になっています。私はそれを有効にしましたが、今は機能します!同じ問題を持つ他の誰かを助けることを願っています。

0
5il3nt