You are not logged in.

#1 2008-02-05 14:37:54

HyperBaton
Member
From: Belgium
Registered: 2008-01-18
Posts: 207

[SOLVED] [WOL] Arch changes "wol g" setting to "wol d" on boot

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 smile

Last edited by HyperBaton (2008-02-07 11:03:08)

Offline

#2 2008-02-05 15:45:38

patroclo7
Member
From: Bassano del Grappa, ITALY
Registered: 2006-01-11
Posts: 915

Re: [SOLVED] [WOL] Arch changes "wol g" setting to "wol d" on boot

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

#3 2008-02-05 15:54:12

HyperBaton
Member
From: Belgium
Registered: 2008-01-18
Posts: 207

Re: [SOLVED] [WOL] Arch changes "wol g" setting to "wol d" on boot

++ for logical thinking! I'll give that a try right now! Thanks.

Offline

#4 2008-02-05 16:18:42

HyperBaton
Member
From: Belgium
Registered: 2008-01-18
Posts: 207

Re: [SOLVED] [WOL] Arch changes "wol g" setting to "wol d" on boot

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

#5 2008-02-05 16:46:25

Cerebral
Forum Fellow
From: Waterloo, ON, CA
Registered: 2005-04-08
Posts: 3,108
Website

Re: [SOLVED] [WOL] Arch changes "wol g" setting to "wol d" on boot

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

#6 2008-02-05 23:10:04

HyperBaton
Member
From: Belgium
Registered: 2008-01-18
Posts: 207

Re: [SOLVED] [WOL] Arch changes "wol g" setting to "wol d" on boot

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

Board footer

Powered by FluxBB