You are not logged in.
I'm trying to get Wake-On-LAN working on my Arch Linux server. The network card uses the 8139too module. I've added a line to modprobe.conf to accomplish this:
install 8139too /sbin/modprobe -i 8139too; ethtool -s eth0 wol g
This line is correct, because if I reload the module (modprobe -r and modprobe again), ethtool reports "Wake-on: g" (and I can wake up the computer when I shut it down).
But when I reboot, the wrong wol option is set as you can see below:
[root@hb-server ssl]# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
So is there something in the Arch boot process that changes this wol option? I really need to get this fixed as I'm going to be needing WOL very badly soon
Last edited by HyperBaton (2008-02-07 11:03:08)
Offline
I really do not see why you resort to /etc/modprobe.conf. Ethtool is not a module option, but a standalone app. Moreover, may be that in that way ethtool is executed when there is not yet an eth0 interface, so it is not applied at all.
Use ethtool in /etc/rc.local; as a an additional benefit, your command will be run after all other arch initscripts, so that nothing can discard it. Add the follwoing line in /etc/rc.local:
ethtool -s eth0 wol g &
Mortuus in anima, curam gero cutis
Offline
++ for logical thinking! I'll give that a try right now! Thanks.
Offline
That worked like a charm, thanks a lot! I have one more question though. It works just fine from a local computer, using this:
wol -i 192.168.1.255 $HWADDRESS
But I want to do this via the internet as well. I have a dynamic dns account that works great, and I can forward SSH for example with no problems using my Linksys WRT54GL router (DD-WRT firmware). So I have set up a port forward for port 40000 to the IP 192.168.1.255, but it seems like my router isn't broadcasting the packet correctly...
This is the command i use:
wol -i $DYNDNSNAME $HWADDRESS
But the computer won't wake up this way...
Last edited by HyperBaton (2008-02-05 16:19:29)
Offline
does the 'wol' command have a flag to set the port? Alternatively, try $DYNDNSNAME:40000 - basically make sure 'wol' is using the right port for the packet.
-edit- I see port 40,000 is the default. Try setting up a different port forward in your router, maybe it automatically blocks port 40,000? then run wol with
wol -i $IPADDR -p $NEWPORT $HWADDR
Last edited by Cerebral (2008-02-05 16:48:09)
Offline
Well, I got it to work, be it in a bit different way... I had to make a static ARP entry for a non-existing IP (192.168.1.254) and forward port 40000 to that IP. This makes the packet arrive at the network card with the correct MAC address. The problem was my router would discard all port forward packages sent to a broadcast IP... But it's working now, hooray!
Offline