난 그냥 내 컴퓨터에서 작동하도록 LAN을 깨울 수 없습니다. 저는 Linux를 처음 사용하므로 뭔가 빠진 것 같습니다. 내 설정 아래. 모든 의견을 높이 평가합니다. 감사합니다.
내 HW 구성 :
AsRock FM2A88X-ITX+
AMD A10-7800
Running Linux Mint 17.3 64bits
BIOS configured for wake-on-lan:
Boot From Onboard LAN: Enabled
PCIE Device Power On: Enabled
내 시스템 설정 :
$ uname -a
Linux home-server 3.19.0-32-generic #37~14.04.1-Ubuntu SMP Thu Oct 22 09:41:40 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
$ lspci -nnk | grep -i net -A2
01:00.0 Network controller [0280]: Qualcomm Atheros AR9462 Wireless Network
Adapter [168c:0034] (rev 01)
Subsystem: AzureWave Device [1a3b:2110]
Kernel driver in use: ath9k
03:00.0 Ethernet controller [0200]: Qualcomm Atheros QCA8171 Gigabit Ethernet [1969:10a1] (rev 10)
Subsystem: ASRock Incorporation Device [1849:10a1]
Kernel driver in use: alx
$ modinfo alx
filename: /lib/modules/3.19.0-32-generic/kernel/drivers/net/ethernet/atheros/alx/alx.ko
license: GPL
description: Qualcomm Atheros(R) AR816x/AR817x PCI-E Ethernet Network Driver
author: Qualcomm Corporation, <nic-devel@qualcomm.com>
author: Johannes Berg <johannes@sipsolutions.net>
srcversion: 1917D292620190CB7319BDE
alias: pci:v00001969d000010A0sv*sd*bc*sc*i*
alias: pci:v00001969d000010A1sv*sd*bc*sc*i*
alias: pci:v00001969d00001090sv*sd*bc*sc*i*
alias: pci:v00001969d0000E091sv*sd*bc*sc*i*
alias: pci:v00001969d00001091sv*sd*bc*sc*i*
depends: mdio
intree: Y
vermagic: 3.19.0-32-generic SMP mod_unload modversions
signer: Magrathea: Glacier signing key
sig_key: 0C:8B:EF:E0:C1:E2:89:E4:D8:99:09:26:11:7A:DA:3B:DF:EB:41:9C
sig_hashalgo: sha512
$ sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Current message level: 0x000060e4 (24804)
link ifup rx_err tx_err hw wol
Link detected: yes
$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
PB21 S4 *disabled
PB22 S4 *disabled
PB31 S4 *disabled pci:0000:00:03.1
PB32 S4 *disabled
PB33 S4 *disabled
PB34 S4 *disabled
SBAZ S4 *disabled pci:0000:00:14.2
ECIR S4 *disabled
PS2K S4 *disabled
PS2M S4 *disabled
P0PC S4 *disabled pci:0000:00:14.4
OHC1 S4 *enabled pci:0000:00:12.0
EHC1 S4 *enabled pci:0000:00:12.2
OHC2 S4 *enabled pci:0000:00:13.0
EHC2 S4 *enabled pci:0000:00:13.2
OHC3 S4 *disabled
EHC3 S4 *disabled
OHC4 S4 *enabled pci:0000:00:14.5
XHC0 S4 *enabled pci:0000:00:10.0
XHC1 S4 *enabled pci:0000:00:10.1
PE20 S4 *disabled pci:0000:00:15.0
PE21 S4 *disabled
PE22 S4 *disabled
PE23 S4 *disabled
$ ifconfig
eth0 Link encap:Ethernet HWaddr ------HAVE_DELETED_THAT_MYSELF-----
inet addr:192.168.1.98 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::d250:99ff:fe85:92e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17749 errors:0 dropped:0 overruns:0 frame:0
TX packets:10035 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22733189 (22.7 MB) TX bytes:846896 (846.8 KB)
Interrupt:16
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
$ sudo ethtool -s eth0 wol g
Cannot get current wake-on-lan settings: Operation not supported
not setting wol
@ MariusMatutiae 훌륭한 입력 후 2016 년 1 월 22 일에 대한 추가 정보 :
최신 3.19.8 커널을 얻었고 Atheros alx 드라이버 만 tar로 만들었습니다 ( 이 지침에 따라 수행 할 수있었습니다 ).
$ tar xf linux-3.19.8.tar.xz linux-3.19.8/drivers/net/ethernet/atheros/alx
$ cd linux-3.19.8/drivers/net/ethernet/atheros/alx
$ make -C /lib/modules/`uname -r`/build M=`pwd` modules
$ sudo cp /lib/modules/3.19.0-32-generic/kernel/drivers/net/ethernet/atheros/alx/alx.ko /lib/modules/3.19.0-32-generic/kernel/drivers/net/ethernet/atheros/alx/alx.ko.old
$ sudo cp alx.ko /lib/modules/3.19.0-32-generic/kernel/drivers/net/ethernet/atheros/alx/alx.ko
$ sudo reboot
해당 커널의 alx 드라이버에는 WOL 설정이 있습니다 (드라이브에 서명 키가 없다는 것이 유일한 차이점입니다-위의 ‘modinfo alx’의 출력과 아래의 것을 비교하십시오). !! 여전히 내 컴퓨터에서 WOL을 작동시킬 수 없습니다. BIOS 설정에서 모든 내용을 확인하고 다시 확인했습니다. USB 키보드를 사용하여 깨울 수도 있지만 WOL을 통해서는 깨울 수 없습니다.
$ sudo modinfo alx
filename: /lib/modules/3.19.0-32-generic/kernel/drivers/net/ethernet/atheros/alx/alx.ko
license: GPL
description: Qualcomm Atheros(R) AR816x/AR817x PCI-E Ethernet Network Driver
author: Qualcomm Corporation, <nic-devel@qualcomm.com>
author: Johannes Berg <johannes@sipsolutions.net>
srcversion: 1917D292620190CB7319BDE
alias: pci:v00001969d000010A0sv*sd*bc*sc*i*
alias: pci:v00001969d000010A1sv*sd*bc*sc*i*
alias: pci:v00001969d00001090sv*sd*bc*sc*i*
alias: pci:v00001969d0000E091sv*sd*bc*sc*i*
alias: pci:v00001969d00001091sv*sd*bc*sc*i*
depends: mdio
vermagic: 3.19.0-32-generic SMP mod_unload modversions
2016 년 1 월 30 일에 대한 추가 정보
아직 운이 없다. WoWLAN 기능을 설정할 수 있었지만 Linux가 전원 끄기, 최대 절전 모드 또는 일시 중단 모드에서 깨어날 수는 없었습니다. LAN에있는 라우터와 다른 컴퓨터를 통해 깨우려고했습니다.
$ sudo iw phy0 wowlan enable magic-packet
$ sudo iw phy0 wowlan show
WoWLAN is enabled:
* wake up on magic packet
내가 일을하게하는 데 도움이되는 것은 최고의 브라질 커피 250g 팩을 얻을 것입니다 🙂
답변
마침내 약간의 진전이 있었지만 여전히 충분하지 않습니다. 커널 “3.19.0-32-generic”에있는 동안 kernel.org에서 alx 드라이브의 소스 코드를 다운로드하고 파일을 편집하여 패치를 적용했습니다 (패치 에 대해서는 여기를 클릭하십시오)) @MariusMatutiae의 조언에 따라 드라이버를 컴파일하고 패치 한 새로운 드라이버로 교체했습니다. 이제 ethtool 명령의 출력에서 ”Wake-on : pg 지원”을 볼 수 있지만 시스템을 종료 할 수는 없습니다 (종료, 최대 절전 모드, 일시 중단). 내 라우터 (iCloud 기능 및 라우터의 기본 LAN에서 깨우기)로 시도하고 다른 Linux 상자에서 etherwake합니다. 계속 파고 보겠습니다. 이제 내가 한 일을 아래에서보십시오. 또 다른 것은 부팅 후 alx 드라이버가로드되지 않으므로 rc.local에 스크립트를 작성하여로드한다는 것입니다. 나는 아마 최악의 방법으로 그것을하고 있지만, 나는 거기에 갈 것이다.
커널 다운로드 (현재 사용중인 것과 동일)
cd ~/Downloads
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.19.tar.gz
alx 드라이버 파일 만 압축 해제
tar xf linux-3.19.tar.gz linux-3.19/drivers/net/ethernet/atheros/alx
소스 코드가있는 폴더로 이동
cd linux-3.19/drivers/net/ethernet/atheros/alx
중요 : https://bugzilla.kernel.org/attachment.cgi?id=156751&action=diff에 따라 alx 소스 코드 파일을 편집해야합니다.
엮다
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
alx 드라이버를 제거하십시오 (원격 / ssh 인 경우 연결이 끊어지고 시스템에 직접 로그인해야합니다)
sudo rmmod alx
alx 드라이버를 다시 삽입하십시오
sudo insmod alx.ko
alx.ko 파일 삭제 및 복사
sudo cp /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/atheros/alx/alx.ko /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/atheros/alx/alx.ko.good
sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/atheros/alx/alx.ko
sudo cp alx.ko /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/atheros/alx/alx.ko
이 시점에서 “ethtool -s eth0 wol pg”를 시도하면 작동하지만 다시 부팅 할 때까지 지속되지는 않습니다. 따라서 /etc/rc.local 파일에 다음을 추가해야했습니다 ( ‘alx.ko’파일을 /Drivers/alx.ko로 옮겼습니다).
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#
exec 2> /tmp/rc.local.log
exec 1>&2
set -x
####################################################
# Enable WOL on eth0 at start-up
rmmod alx
insmod /Drivers/alx.ko
rm /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/atheros/alx/alx.ko
cp /Drivers/alx.ko /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/atheros/alx/alx.ko
ethtool -s eth0 wol pg
iw phy0 wowlan enable magic-packet
# End
####################################################
exit 0