I'm sharing a broadband connection with two other friends over a wireless LAN. The modem and/or router hang occasionally and so I needed a way to reset both devices remotely, since I'm one of the "WLAN clients" =). This is the contraption I came up with - a RTL8139 based network card, configured to trigger a WOL (wake on lan) signal upon reception of the Magic Packet. Since the card will only accept WOL once and then need to be reset for another trigger, the electronic requires a 555 timer in addition to the relay and the transistor to hold the reset pulse high for a second while the card is also switched off along with the router and the modem. The only thing added to the network card is a resistor that pulls up MA8 - the auxiliary power detect pin of the RTL8139, to Vcc, so that when the card is powered up, it detects it's running on standby current and automagically sets its registers to accept the WOL packet. The resistor is visible on the 3rd pic.

The simple electronic, hooked up to the NIC with the WOL cable.

Same thing from another angle.

The NIC didn't fit into the cute Gewiss case so a little persuasion with a file was neccessary. ;) On the opposite side of the RJ45 connector, the card is held up by a piece of clear plastic you have surely missed in the first two pics. :P

All wrapped up...

Everything's hooked up... The "thing" is connected to the WIFI access point located on the roof (not visible here).

Note that the modem is running on 15V AC! This took me a while to figure out and caused some rework of the original design. The +15V written on the case is wrong - I wrote that before the big discovery. :)

The design is pretty simple, so I never drew any schematic... Should you have any questions, don't hesitate to mail me.

  • The RTL8139B datasheet
  • rtl8139-diag a Linux utility for changing the EEPROM contents of the card. I played around with it, but figured out that at the end, only the pullup at MA8 was neccessary. The debian package is called "nictools-pci"
  • etherwake - the utility you need to send the magic packet on Linux. The debian package is called simply "etherwake"

  • [Home]