WNDR3700v3 - How to revert to stock firmware from DD-WRT

dropcap wndr3700Long time back, I had flashed DD-WRT on a netgear WNDR3700 v3.

For some project, I decided to revert it to stock firmware before flashing latest OpenWRT. But for this router, all instructions found on internet (web UI, tftp upload in recovery mode, …) have failed.

It was impossible to revert it to stock firmware. Hopefully, after lots of trials, I found a way.

This short article explains how to force a WNDR3700 v3 running DD-WRT to enter into recovery mode to allow a new firmware upload. It has been tested on WNDR3700 v3, but it may also be applicable to some other routers.

Flashing your router is always risky.
If you follow these instructions, you must know what you are doing.
You must accept to finally end-up with a router as useful as a paper holder.

Read more: WNDR3700v3 - How to revert to stock firmware from DD-WRT

RFXtrx433 - Access your Remote USB transceiver plugged to an OpenWRT device

dropcap rfxtrx433If you are involved in some domotic project, you must know RFXtrx433E. This fantastic USB 433.92MHz Transceiver enables your domotic server to talk to most of 433MHz device on the market. But it has a maximum range of 20-30 meters in a typical indoor configuration. So, like your WiFi router, it should be placed in the middle of your home. As there is a big chance that your server won't be located in the middle of your home and as this device is USB connected, you are in trouble.

An elegant and efficient option is to plug the RFXtrx433E to any network device properly located and to create a network bridge between this device and your domotic server. This network connected device could be a raspberry pi, but best would be to directly use any of your home WiFi device running OpenWRT.

This guide explains how to use any WiFi device (router, access point or repeater) with a free USB plug as a bridge between your RFXtrx433E USB plug and your domotic server. The only pre requisite is to run OpenWRT on that device so that it runs a full Linux kernel. Hopefully, a lot of wifi device can be flashed with openwrt.

This setup has been designed and tested on a TP-Link TL-WDR4900v1 router and a Debian 8 server. It has also been tested on a GL-AR150 Mini router with Openwrt pre-installed. But it should be easily adapted to any other OpenWRT flashable device and a domotic server running any modern Linux distribution.

Read more: RFXtrx433 - Access your Remote USB transceiver plugged to an OpenWRT device

DNS 323 - Extend your NAS possibilities with Funplug 0.7

dropcap-dns323

DNS-323 is a great little NAS storage, able to host 4 Tb of data thru 2 SATA hard disks up to 2 Tb each. It offers a lot of embedded possibilities (samba & nfs shares, iTunes server, uPnp server, ...).

Thanks to a very active community, its possibilities can be expanded even more thru a scripting method called fun_plug. It allows to start some more services, shaping the DNS-323 into a very versatile appliance.

This article explains all the steps needed to get the latest Fun_plug 0.7 running on a DNS-323. Once Fun_plug is fully installed, you will be able to install some very usefull extensions like a LAMP server, a Rsync backup server, a Transmission client, ... It also explains how to remove previous Fun_plug 0.5 version, which is a pre-requisite. 

All following operations have been done on a DNS 323 (firmware v1.10) with one or two disks, but no RAID configured.

Read more: DNS 323 - Extend your NAS possibilities with Funplug 0.7

DNS 320 & 325 - Extend your NAS possibilities with Funplug 0.7

dropcap-dns325

DNS-320 and DNS-325, like their elder brother DNS-323, are some a very versatile NAS that can be extended heavily by installing the latest Fun_plug 0.7 script, which opens the gate to some very interesting extension possibilities.

The main advantage of DNS-325 over DNS-323 or even DNS-320, is its horse power (1.2 GHz processor) and its embedded RAM (256 Mb). We are in front of a real home server !

This article explains all the steps needed to get the latest Fun_plug 0.7running on a DNS-320 or a DNS-325. It also explains how to remove previous Fun_plug 0.5 version, which is a pre-requisite. 

Once Fun_plug is fully installed, you will be able to install some very usefull extensions :

  • a LAMP server
  • a Rsync server
  • a Transmission client
  • a pyLoad client
  • ...

A lot of information found here is coming from various threads on NAS Tweak site.

This article has been tested on a DNS-325 with firmware V1.02 and a DNS-320 with firmware V1 as well.

Read more: DNS 320 & 325 - Extend your NAS possibilities with Funplug 0.7

ReadyNAS - Supervise your USB connected UPS thru SNMP

dropcap readynas102

ReadyNAS devices are running an almost standard Debian and are providing :

  • Net-SNMP agent as a standard feature
  • USB UPS management with NUT (Network UPS Tool)

But, Out-Of-The-Box, there is no possibility to query the UPS state thru SNMP.

Hopefully, thanks to SSH access and Net-SNMP extension MIB capabilities, it is quite simple to add UPS supervision thru SNMP.

This article explains how to setup your ReadyNAS to supervise its locally connected UPS thru SNMP. It has been tested on a ReadyNAS 102, but it should work on other members of the ReadyNAS family.

Read more: ReadyNAS - Supervise your USB connected UPS thru SNMP

DNS 325 - Funplug 0.7 : Supervise Fan Speed and Case & HDD temperature with SNMP

dropcap-dns325-snmpWhen you run Net-SNMP on your DNS-325, you must have realised that standard SNMP MIBs are not providing a way to supervise your NAS temperature sensors (internal case & hard disk).

Thanks to the open nature of Net-SNMP project, it is possible to extend the Net-SNMP MIBs thru simple shell scripts.

The principle is quite simple :

  • Some new MIBs are declared to SNMP daemon with associated shell scripts
  • SNMP daemon publishes these new MIBs with the standard ones
  • When the MIB is called, SNMP daemon triggers the associated shell scripts to read the sensor values

With this approach, it becomes quite simple to publish DNS-325 fan speed and temperature sensors MIB.

This article explains how to setup your DNS-325 SNMP deamon so that it publishes some extended MIBs to read fan speed and internal case & disks temperature thru their respective sensors.

This will allow you to supervise your DNS-325 temperature levels thru SNMP with supervision softwares like Nagios, Munin, ... A Munin node example under Debian is also provided in this article.

A pre-requisite is to have have fully prepared your DNS-325 with fun_plug 0.7 and adds-on and to have Net-SNMP installed.

Even if not tested, this procedure should also be compatible with DNS-320 devices.

Read more: DNS 325 - Funplug 0.7 : Supervise Fan Speed and Case & HDD temperature with SNMP

DNS 320L - Funplug 0.7 : Supervise Fan Speed and Case & HDD temperature with Munin

dropcap dns320 muninWhen you run a DNS-320L NAS, as it is holding your important data secure, it may of great interest to check its important health data, like :

  • fan rotation
  • case temperature
  • harddisk temperature

This article explains how to setup your DNS-320L to report its fan rotation speed and its internal temperatures (case & hard disks) as a Munin node.

All these sensor data will then be reported to your centralised Munin console.

A pre-requisite is to have fully prepared your DNS-320 to run as a Munin node. To do so, you need to follow these articles :

  1. DNS 320 & 325 - Extend your NAS possibilities with Funplug 0.7
  2. DNS 320 & 325 - Funplug 0.7 : Install Compilation Environment
  3. DNS 320, 323 & 325 - Funplug 0.7 : Install a Munin node with Muninlite

This procedure has been tested on a DNS-320 running firmware V1.00.

Read more: DNS 320L - Funplug 0.7 : Supervise Fan Speed and Case & HDD temperature with Munin

DNS 325 - Funplug 0.7 : Setup your NAS as a Permanent BTSync Peer

dropcap-dns325-btsync

BitTorrent Sync is a young p2p tool which opens some fantastic possibilities. It may revolutionize the way you'll handle your private file sharing as it allows you to share & synchronize your files across multiple devices (PC, tablet, smartphone, ...) on the net in almost real time.

Some examples of the possibilities opened by BTSync are described in the article BTSync - How peer-to-peer may Simplify your Life.

Like with any p2p network, BTSync needs to get some accessible peers to start synchronisation.

So, to allow synchronisation to be done at any time, you can setup a permanent BTSync peer on a NAS running 24/24. As your NAS is always connected, it will handle all your devices connexions whenever they need it.

This article explains how to install a BTSync client on a DNS-325. It will transform it as a permanent BTSync network peer. Any device (PC, smartphone, tablet, ...) will then be able to synchronize any time. You will have then created your self hosted Dropbox or Google Drive replacement.

It has been tested on a DNS-325 running firmware 1.04. As a pre-requisite, funplug 0.7 must be installed on your DNS-325.

Read more: DNS 325 - Funplug 0.7 : Setup your NAS as a Permanent BTSync Peer

DNS 320, 323 & 325 - Funplug 0.7 : Install a Munin node with Muninlite

dropcap-dns325-munin

If you are the owner of a DNS-323, DNS-320 or DNS-325 NAS device, you may have noticed that there is no simple way to supervise like any other network equipment.

In some previous articles, I explained how to install Net-SNMP on these devices to be able to supervise them. Main advantage of SNMP is that you'll be able to use any supervision tool like Nagios, Munin, ...

But, if you are using a Munin supervision console, a simple approach would be to install a munin node client on your NAS. But munin-node client compilation is quite tricky on devices like DNS-323 & DNS-325.

So, another approach to get a Munin node is to use Muninlite client, which has been especially designed to be installed on tiny devices with limited OS capabilities.

This article explains how to install and configure a Muninlite client on a DNS-323, DNS-320 or DNS-325 NAS running funplug. This will allow you to supervise your NAS device thru any Munin supervision console.

As a pre-requisite, funplug 0.7 must be installed on your NAS device and your compilation environment operational.

Installation guides are available for :

Read more: DNS 320, 323 & 325 - Funplug 0.7 : Install a Munin node with Muninlite

DNS 323 - Funplug 0.7 : Install Compilation Environment

dropcap-dns323-gnu

This article explains how to easily setup a complete GNU compilation environment on your DNS-325.

This will allow you to compile natively some very interesting applications to enhance your NAS possibilities.

Thanks to Fonz, all compilation tools (GNU compiler, GNU autotools, Subversion tools & GIT) can be installed easily thru slacker.

Read more: DNS 323 - Funplug 0.7 : Install Compilation Environment

DNS 325 - Funplug 0.7 : SSLH ... share port 443 for Https, Ssh, OpenVPN and Tinc

dropcap-dns325-sslh

If you need to administrate your home network while on the move, you will soon realize that you need different type of accesses.

The standard accesses you may need are :

  • HTTS to access your secured pages or webdav shares
  • SSH to administrate your main server
  • OpenVPN or Tinc to get a full unrestricted access to your LAN

The only problem is that many Internet providers are blocking most of the ports used by these protocols. With some very restrictive providers (or with some corporate proxy) the only available ports may be 80 & 443.

So the solution to that problem is to allow HTTPS, SSH, OpenVPN or Tinc to share the same 443 port. With such setting, all your connexions needs can be handled from any type of network.

To help us to reach that goal, a fantastic little tool is available under Linux : SSLH

This tool listens on one specific port, analyse the stream & forward it to a specific local port according to its type.

This guide explains how to install the latest version of sslh on your DNS-325 which will become the conductor of your secured streams.

As this guide will need few compilation steps, you need to have setup a DNS 325 - Compilation Environment as a pre-requisite.

Read more: DNS 325 - Funplug 0.7 : SSLH... share port 443 for Https, Ssh, OpenVPN and Tinc

DNS 323 & 325 - Funplug : Send mail from shell scripts using your Gmail account

dropcap-dns325-gmail

Once you have prepared your DNS-323 or your  DNS-325 with Fun plug and adds-on, a lot of possibilities are opened, especially in terms of automated batch processing.

For example, if you automate some processes like backup, database dump, ... you may be interested in sending reports by email straight from your batchs.

This article will explain how to configure your NAS to be able to send emails from command line.

The sendmail client used will be the one provided by the NAS firmware : msmtp.

Configuration will be done to be able to use a Gmail account, but it can obviously be adapted to any other smtp provider.

This article has been tested on DNS-323 running Fun plug 0.5 and on DNS-325 running Fun plug 0.7. It should also be applicable to a DNS-320 as well.

Read more: DNS 323 & 325 - Funplug : Send mail from shell scripts using your Gmail account

DNS 323 - Funplug 0.7 : Supervise Fan Speed and Case & HDD temperature with SNMP

dropcap-dns323-snmpWhen you run Net-SNMP on your DNS-323, you must have realised that standard SNMP MIBs are not providing a way to supervise your NAS temperature sensors (internal case & hard disk).

Thanks to the open nature of Net-SNMP project, it is possible to extend the Net-SNMP MIBs thru simple shell scripts.

The principle is quite simple :

  • Some new MIBs are declared to SNMP daemon with associated shell scripts
  • SNMP daemon publishes these new MIBs with the standard ones
  • When the MIB is called, SNMP daemon triggers the associated shell scripts to read the sensor values

With this approach, it becomes quite simple to publish DNS-323 fan speed and temperature sensors MIB.

This article explains how to setup your DNS-323 SNMP deamon so that it publishes some extended MIBs to read fan speed and internal case & disks temperature thru their respective sensors.

This will allow you to supervise your DNS-323 temperature levels thru SNMP with supervision softwares like Nagios, Munin, ... A Munin node example under Debian is also provided in this article.

A pre-requisite is to have have fully prepared your DNS-323 with fun_plug 0.7 and adds-on , with a complete compilation environment and Net-SNMP installation.

Read more: DNS 323 - Funplug 0.7 : Supervise Fan Speed and Case & HDD temperature with SNMP

DNS 323 - Funplug 0.7 : Supervise your NAS thru SNMP

dropcap-dns323-snmp

If you own a DNS-323, you may have noticed that there is no simple way to supervise it.

Hopefully, thanks to funplug it is possible to compile and install Net-SNMP on this NAS.

Once it is installed, your DNS-323 becomes a fully featured SNMP device. A lot of possibilities are then opened in term of management and supervision.

This article explains how to setup an operational net-SNMP agent on a DNS-323 NAS running funplug.

This will allow you to supervise your DNS-323 thru SNMP with supervision softwares like Nagios, Munin, ...

A pre-requisite is to have have fully prepared your DNS-323 with fun_plug 0.7 and adds-on and to have setup the DNS-323 compilation environment.

Read more: DNS 323 - Funplug 0.7 : Supervise your NAS thru SNMP

DNS 325 - Funplug 0.7 : Supervise your NAS thru SNMP

dropcap-dns325-snmp

If you own a DNS-325, you may have noticed that there is no simple way to supervise it.

Hopefully, thanks to funplug and to Mijzelf repository, it is possible to install Net-SNMP on this NAS.

Once it is installed, your DNS-325 becomes a fully featured SNMP device. A lot of possibilities are then opened in term of management and supervision.

This article explains how to setup an operational net-SNMP agent on a DNS-325 NAS running funplug.

This will allow you to supervise your DNS-325 thru SNMP with supervision softwares like Nagios, Munin, ...

A pre-requisite is to have have fully prepared your DNS-325 with fun_plug 0.7 and adds-on.

Even if not tested, this procedure should also be compatible with DNS-320 devices.

Read more: DNS 325 - Funplug 0.7 : Supervise your NAS thru SNMP

DNS 325 - Funplug 0.7 : Move Fun plug to a USB key

dropcap-dns325

If you are running fun_plug on your DNS-325, you may have noticed that since your NAS is running the fun_plug script from a filesystem located on the first hard disk, this disk is not able to go into power saving mode anymore.

To allow your hard disk to enter power saving mode as often as possible, one elegant solution is to run Fun plug and its services from the filesystem of a connected USB key.

To be able to run fun_plug from a USB key filesystem, it means that you need :

  • fix a bad chmod 777 behaviour of the DNS-325
  • to format a USB key with Ext2 filesystem
  • to auto-mount USB key at boot
  • to reconfigure fun_plug to run from new location

This article will explain how to fully configure a DNS-325 to run a working Fun Plug 0.7 installation from a USB key. It supposes that your DNS-325 is already running Fun plug.

As a result, your NAS first hard disk will regain the possibility to enter power saving mode as soon as user data are not accessed.

The USB key should be at least a 1 Gb. A key of 2 or 4 Gb will be more confortable in case you need to install many Fun plug packages.

This guide is based on fun_plug 0.7. It's pre-requisite installation can be done following DNS 325 - Extend your NAS possibilities with Fun plug 0.7.
All following operations suppose that your are connected to the DNS-325 console thru SSH or Telnet.

This article has been tested on DNS 325 with firmware 1.03.
I've not succeeded to make it work under firmware 1.04. So, please downgrade to 1.03 if you really need this feature.

Read more: DNS 325 - Funplug 0.7 : Move Fun plug to a USB key

WNDR3700 - Correct the Static Routes Bug

WNDR3700

The Netgear WNDR3700 is a very powerfull router, providing a lot of professional features. One of these features is the possibility of declaring some static routes.

Static routes are very interesting if you are having a second LAN gateway on your network or if you are using a routed OpenVPN server.

But, the WNDR3700 is having a nasty bug in its static routes handling : it drops all the tcp traffic !

So, for example, if you declare a static route on your router :

  • you will be able to ping any machine between the 2 subnets accessible thru this route,
  • but any ssh, ftp, http, … connexion will hang badly. No packet will be able to go thru.

This article will explain how to get rid of this bug with a Ubuntu (or any linux) workstation.

Read more: WNDR3700 - Correct the Static Routes Bug

DNS-325 - Funplug 0.7 : Subsonic server with realtime MP3 and AAC transcoding

dropcap-dns325-subsonic

Subsonic is a really efficient music streaming server that allows you to share your complete music collection to any internet connected device like laptop, mobile phone or tablet. It can handle on-the-fly transcoding for devices connected to low speed networks like 3G or even Edge networks. You can get a good overview of the possibilities of Subsonic from the project site http://www.subsonic.org/.

Even if Subsonic is very efficient, it is not that easy to install on a device like DNS-325, as it is running under Java (which is CPU and RAM hungry) and as it's supposed to be able to do real time transcoding (which is also very CPU intensive). The main limitation of DNS-325 for this purpose is that it offers a 1.2 GHz ARM processor, with only 256 Mb memory and no Floating Point Unit.

But, with the help of Oracle Java 7 SE Embedded for ARM devices, Shineenc fixed point mp3 encoder and Fraunhofer fdk-aac encoder, it is possible to setup a fully functionnal installation of Subsonic on the DNS-325, including realtime MP3 and AAC transcoding. Yes, realtime transcoding !

So, this article will explain how to do a complete installation of Subsonic music server on a DNS-325. It will deals with the following steps :

* Installation of Oracle Java 7 SE

* Installation & setup of Subsonic

* Setup of a realtime mp3 & aac transcoding chain using ffmpeg, shineenc & libfdk-aac library

* Apache 2 reverse proxy configuration for internet access

This setup has been tested on a mp3 music collection, but it may be applicable for any musical file types accepted by ffmpeg.

Read more: DNS-325 - Funplug 0.7 : Subsonic server with realtime MP3 and AAC transcoding

DNS 325 - Funplug 0.7 : Compile x264, lame, shine, fdk-aac, twolame, ffmpeg and sox

dropcap-dns325-gnu

This article will explain how to easily setup a complete GNU compilation environment on your DNS-325 and to compile latest multimedia tools optimised for ARM architecture :

  • shineenc mp3 integer encoder library (liquidsoap version, 8x faster than lame with acceptable quality)
  • fdk-aac encoder library from fraunhofer (high quality real-time aac encoder, open-sourced by Google for jelly bean android platform)
  • twolame encoder library (successor of TooLame)
  • opus encoder library (newly standardized by the IETF)
  • x264 encoder (not optimised for ARM, but a reference)
  • lame 3.9.5 (not optimised for ARM, but also a reference)
  • ffmpeg encoder/decoder multimedia framework
  • sox audio processor, a swiss army knife of sound processing programs

With the resulting binaries, you will be able to :

  • Encode aac and mp3 stream with ffmpeg in more than 3x realtime (perfect for subsonic media streamer)
  • Apply some Dynamic Range Compression on audio files with sox
  • Encode some h264/aac video files with ffmpeg & x264 as a background process
Read more: DNS 325 - Funplug 0.7 : Compile x264, lame, shine, fdk-aac, twolame, ffmpeg and sox

DNS 325 - Funplug 0.5 : Web server with PHP and MySQL

dropcap-dns325-lamp

This article explains how to install a full LAMP server on a DNS-325.

This server will be based on the following bricks :

  • Lighttpd
  • PHP
  • MySQL
  • phpMyAdmin

It is adapted from the tutorials found on NAS Tweaks. Some of the installation aspects have been adapted to the DNS-325 specificities (webdav shares, memory size of 256 Mb, default path, …).

As a pre-requisite, you must have prepared your DNS-325 with fun_plug and adds-on.

This procedure should also be compatible with a DNS-320, which is running the same system with less memory and less processor power.

Once you have successfully followed all these steps, you will, for example, be able to install a fully running Joomla site.

Read more: DNS 325 - Funplug 0.5 : Web server with PHP and MySQL

DNS 325 - Funplug 0.5 : Install Transmission p2p client

dropcap-dns325-transmission

This article explains how to install a Transmission peer-2-peer client on a DNS-325.

Transmission client on a DNS-325 is very interesting for different aspects :

  • usually, a NAS is running 7/7 - 24/24
  • Transmission is fully Web controlled
  • It is using very less RAM
  • It is very light on CPU power
  • It is offering lots of parameters (ports limitation, speed throttle, ...)

So, with this setup, you will be able to serve 24h/24 your latest Linux distributions torrents from home without any computer on.

As a pre-requisite, you must have prepared your DNS-325 with fun_plug and adds-on.

This procedure should also be compatible with a DNS-320, which is running the same system with less memory and less processor power.

Read more: DNS 325 - Funplug 0.5 : Install Transmission p2p client

Page 1 of 2