Wake on LAN은 네트워크 패킷(매직 패킷)으로 컴퓨터를 켜거나, 깨우는 기능을 하는 AMD와 HP에서 만든 표준이다.
요즘 PC들은 전원을 꺼도 이더넷 잭에 연결된 LED가 깜박이는 것을 볼 수 있는데, 즉 LAN은 패킷을 받을 수 있는 모드에 있다.
AMD의 White paper
cfile26.uf.1225CD3F5022E8BF13F2F0.pdf
매직 패킷의 구성
매직 패킷은 2가 있는데, ether-wake와 UDP상에서 구현하는 패킷이 있다. 대부분의 PC 프로그램이 보내는 패킷은 후자이다.
아래 내용은 ether-wake패킷의 구성이다. 출처) http://wiki.wireshark.org/WakeOnLAN
이 사이트에서 관련 패킷 샘플도 다운로드 가능하다.
Synchronization Stream
|
Target MAC
|
Password (optional)
|
6
|
96
|
0, 4 or 6
|
-. Synchronization Stream : FF FF FF FF FF FF
-. Target MAC: 깨울 상대의 맥 어드레스
-. Password: 옵션
즉 옵션이 없고 맥 어드레스가 01:02:03:04:05:06 이면 패킷의 형태는 다음과 같다.
FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506
아래 첨부 파일은 매직 패킷을 Wireshark로 캡쳐한 것이다.[출처: Wireshark.org]
Ether-wake와 UDP 패킷 2가지가 나와있다.
cfile26.uf.125CBA4350259BC91C8AB5.pcap
매직 패킷을 보낼 수 있는 프로그램
Fusion WOL
http://fusionfenix.com/product/wol-1-0
찾아보면 이것말고 꽤 있다.
W5200의 WOL 기능
-. Wake On LAN과 Power down mode와는 아무 관련이 없다. 그리고 power down mode를 enable하면 패킷을 못 받는다.
-. 즉 WOL은 MCU가 sleep하고 있고, W5200은 동작하고 있는 상태에서 WOL기능을 이용해서 매직 패킷을 받으면 인터랍트가 떠서 MCU 깨울때 사용하면 다.
-. 단 주의 사항은 W5200은 ether-wake 패킷만 지원을 한다.
따라서 PC에서 raw Ethernet Packet을 보낼 수 있는 프로그램이 필요하다.
참고
http://en.wikipedia.org/wiki/Wake-on-LAN
http://wiki.wireshark.org/WakeOnLAN
http://support.amd.com/us/Embedded_TechDocs/20213.pdf