One of my NAS, a D-Link DNS323, has no auto power-up.
This NAS has been running strong for around 4 years as media server storage. Drives are configured as RAID 1 with nearly 1TB of music/movies. However, after power outages the unit requires a manual restart and time to wait for data integrity check before use.
Neither the manufacturer’s “latest” firmware nor the open source options enable this functionality –> due to the hardware version of the drive bay. Not to mention, D-Link requires a reformat of the drives to flash the firmware => stupid.
Tools at Hand
Automation processor, power supply with AC fail contacts, misc. wire
Add code to the automation processor to monitor for power loss. Upon restore, trigger contact closure and simulate the manual button press. This will be a specialized application for the equipment that I have on-hand, but can be applied by other means.
First step was to modify the drive bay. All data was backed up to another NAS in advance, for CYA purposes. Inspection after removing the front cover revealed there is clear space below the NIC for a cable entry hole. Drilled a hole for the cable and prepped with heat-shrink, a cable tie (to prevent accidental damage from pulling), and tinned the conductors.
Soldered the cable to the contact points of the switch.
Next was to sketch out the logic for the processor code. The automation processor is by Crestron and uses their Simpl Windows programming language. Programming can be though of as connecting logic symbols where signal names represent ‘wires’ (very basic description). Symbol IDs added to correspond to the Simpl code noted below.
- [DRAM] symbol is to hold the state of the trigger in non-volatile memory in the event that the back-up batteries in the power supply fail.
- The [S/R] latch is the first stage of the sequence. It holds the fact that power was lost and enables the [Buffer] (a gate).
- Once the power is restored, the [NOT] provides a logic ‘high’ and is sent through to the [AND]. The [Delay] after the [Buffer] prevents the initial pass of logic ‘high’.
- The [AND] output drives a one-shot [OS] for a 2s contact closure – which simulates the button press.
- The signal is also delayed by 5s and resets the logic.
- Simpl Code (some signal names are cut off due to quantity if windows)
After connections and testing, I now have auto power-up without having to spring for a new NAS. This could certainly be done with an Arduino or any other processor/PLC.