Automatically boot the LinkStation when main power is applied
This article based on work done by sbron at linkstationwiki.org
The LinkStation is accessible through the network, and even though it is not very big there's no need to have it take up space on your desk.
When the LS is tucked away in a cabinet somewhere else in the house or the office the only problem is switching it on again when it has been powered down.
There is equipment available (like X10 appliance modules) that can be controlled remotely to switch the power supply to an appliance on and off. However, the LS doesn't boot when power is applied.
Some people may also want the LS to restart automatically when the power comes back after a mains failure.
The easiest method to achieve this is to just short the two contacts of the on/off switch. The LS will boot when power is applied and it can be switched of by the @@shutdown@@ command. However this method completely disables the on/off switch.
As a more "sophisticated" solution I initially tried an old trick I had used in the past on a PC that didn't have a BIOS setting for starting up again after a power failure. Putting a capacitor across the on/off switch makes it appear to the circuitry that the switch is being pressed at the moment the power is applied. The capacitor will subsequently be charged, giving the appearance that the button has been released.
This method worked for me with the LS using a 47uF capacitor. But some people expressed a couple of concerns about this method:
- When the power button is pressed, the capacitor will drain directly to ground through the switch contacts. That can be quite a zap.
- Applying voltage (the charged cap) to an IC input after device power is removed is a great way to cause latch-up and permanent damage over time.
To address these concerns I added a diode and to make sure the capacitor would discharge in a reasonable amount of time I put a resistor across the capacitor. The schematic then looked like this:
The values of the components have been determined by experimentation, so you may have to adjust them a little bit to make it work on a different LS. If the on/off button doesn't work anymore, the value of the resistor is too low. If the LS doesn't boot when power is applied either the value of the capacitor must be raised, or the resistor must be made smaller. Of course when changing the resistor value you have to make sure you don't get the first problem back again.
The voltage across the switch is 3.3V, so the 16V capacitor I used should be more than up to the job.
The circuit will not work for very short power outages because the capacitor needs to discharge through the resistor before it is ready to do its job again. In my experiments the minimum time the power had to be removed for the LS to auto-boot when the power was reapplied was 3 seconds.
Disclaimer: This works for me, but obviously I can not guarantee it will work for anyone else.
Addition for LS 2 (08/2006)
- changed value for R1 to 68k because R1 works as pulldown for Controllerpin and was too low
- changed therefore C1 to 10uF
- "minimum powerfail time" increases to about 5secs
- remember : the two left pins of the pushbutton are no longer GND
Addition for Terastation (04/2014)
Discovered a parameter called ups_recover in /proc/buffalo/ups directory.
This parameter is used by apcupsd and omronupsd drivers, to enable the Terastation to restart once the power comes backs. This entry is set by defaut to read only, and has to be set read/write. It accepts "apc_on", "omron_on", "usb_on" and "off"
On hardware side, the linux kernel sets a 2mn timer in the DS1339 device (RTC).