Category Archives: Dd-wrt

Tips und Tricks using dd-wrt router firmware

Using the integrated webserver

Here comes a short guide that tells you how to use the integrated webserver.

1. Preparing USB Storage Device

While it is possible to use the routers flash to host any websites, we are going to use a USB drive in order to store a larger amount of data. Get your usb device ready and partition it with the tool of your choice.

I recommend sat least 2 partitions. First partition should be a swap with ~512MB.  For the second partition I recommend a drive with a few gigabytes and filesystem Ext3.  When creating the second partition you can label it with the name “Jffs”, thus the integrated automounter will mount it directly to /jffs.

If you are done with partitioning attach the drive to your router.

2. Setting up USB Support

USB

As shown in the above screenshot our second partition is now mounted to /jffs. If you did not set a label you can now use the UUID of this partition and add it to Mount this partition to /jffs field. This will also tell the automounter to mount this partition to /jffs. Swap is automatically mounted.

3.  Setting up Shares

Shares

Now we setup a share in order to access the drive via windows explorer or dolphin etc. In my case I’m going to create a share with name JFFS with the path of the previously mounted partition (/jffs).

As it is set  to be public anyone can access it. If you want only certain users to access the drive, remove the public flag and setup a few users and their rights.

4. Setup Webserver

Webserver

Just enable the integrated webserver and press apply. At this time the webserver is only reachable from the internal network. If you need WAN access you have to forward ports accordingly.

5. Download Pydio and Copy Files to /jffs/www

pydio

Download the Manual Installation. Once you have downloaded it extract the zip. Copy it to the routers usb drive e.g. by using windows explorer accessing share \\R7000\JFFS\www.

www

6. Access the Webserver and Start Configuring Pydio

pydiohttp

pydiodatabase

As the integrated webserver a does not support mysql you have to choose Sqlite 3 for your Storage Type, see screenshot. After you are done with the pydio configuration you are ready to login.

pydiodashboard

If everything worked out, you are now ready to add files to your personal cloud:-)

Wireless starters guide for first time dd-wrt users

 

In order to setup your router for maximum speed it is required to properly setup a few parameters.

I’m going to explain a few parameters in detail so you have a basic understanding of these parameters.

This guide is specific to broadcom based routers with AC radio!

Note: Most of the parameters depend on previously set parameters, e.g. changing
Channel Width will give you a different list of channels you can choose.
Thus whenever you change one setting you should press Apply and wait a few
seconds until the GUI refreshes displaying updated choices.

It is also neccessary to set wireless security to WPA2 AES in order to
reach full speeds as it is part of the specification. Some clients may
not even be able to connect if you don’t use WPA2, e.g. Android devices.

You should setup parameters in the correct order to avoid unnessessary steps.

.

5G
5 Ghz Sample Setup

1. Setup Wireless Mode

2. Setup Network Mode

You should choose a Mode that works for all of your clients. If you only
have 802.11n devices you would choose N-Only. If you only have AC devices
and don’t want to allow any N devices choose AC-Only. N-Only 5Ghz
will allow AC as well as standard N clients to connect.

3. Channel Width

To get full AC speed this needs to be set to 80Mhz. If you choose 40 or 20 Mhz
Width you won’t be able to connect at full speed, but depending on channel occupation
it might be of advantage to choose a spectrum that is not covered by other routers.
Thus it may be of advantage to only use 40Mhz to be able to use a spectrum that is not
occupied by other routers in order to avoid interference.

For some detailed explanation about data rates, width etc. you can checkout these
ressources:

http://www.smallnetbuilder.com/wireless/wireless-features/31694-why-80211ac-will-kill-the-5-ghz-wi-fi-band

http://www.aerohive.com/pdfs/Blog/MCS_Chart_802.11ac_v.06.html

4. Extension Channel

After you have setup Channel Width the UI will update and give you new choices for Extension Channels.
Now choose an Extension channel and press Apply again. If you want to know more about Extension Channels
consult google:-)

5. Wireless Channel

Finally you can choose your prefered channel. Depending on Width and Extension you previously set
you will have a different choice of channels.
General rule for all bands:

-lowest or highest channel may not allow to output full power

General rule for 5Ghz:

-on higher channels regulation limits allow more power output from the radio.
-on higher channels output might be limited in case radar signals are detected

Thus most of times higher channels on 5Ghz will give you more range.

Additional Info:

Advanced Wireless Settings

Most users don’t need this  and can leave it at their defaults.

If you have range/signal problems on long range connections play with txpwr

and measure your throughput.

E.g. value that proved to deliver great speeds on 2.4Ghz in my tests was 160mW .

For 5Ghz you likely want to increase txpwr even further.

Notes: 

Increasing txpwr only boosts sending to the client. If your client devices allows to increase output power, then you should change it as well.  E.g. by default Intel client adapters, built in laptops, do not output with maximum power in order to save energy.

In latest driver build with NEWD it is currently not possible to override power output, still investigating if this is on purpose or if this is a problem with current wl tool.

 

 

Beamforming

Beamforming uses algorithms to determine the location of a client and to direct signals
towards the client. As output is directed towards a client it is possible to increase
output power, which will improve range. Regular Beamforming only works with clients
that support Beamforming. Implicit Beamforming also works for clients that have no
Beamforming support.

Short note on performance testing with beamforming. As Beamfomring needs some sort
of localization and therefore calibration you should give the radio a bit of time,
after you changed wireless parameters, before you start doing any performance testing.
Everytime you change parameters the radio will be brought down and up and reinitialized.

 

 

 

Guest Wifi Setup DD-WRT

Here comes a short guide on how to setup a Virtual Guest AP. In build 23020 I added an option to isolate guest wifis from local network. This along with my fix for unbridged vifs allows to setup a guest wifi with only a few clicks. The following image shows the Wireless->Basic Setup page. In order to create a virtual access point, for your guests, click on Add in Virtual Interfaces section. Now fill out the details for this guest wifi.  The labels in red give you a short explanation what these settings are for.

GuestWireless

 

Once you are done go to Wireless->Wireless Security, choose your encryption scheme and password for this guest wifi. Next step is to enable DHCPD for the guest wifi. Go to Setup->Networking and add another dhcp server for the guest network as shown in the following image.

GuestWirelessDHCP

KongMod future

Some may have already noticed, that lots of my features are now included in official dd-wrt releases.  I’m now part of dd-wrt dev team with commit rights and I  added almost every feature/bugfix/ enhancement to regular dd-wrt. This makes it much easier for me now to develop and fix things for dd-wrt since I don’t have to constantly merge my changes with svn updates.  Starting with K3 builds my builds only contain features that you also find in regular dd-wrt builds.  However, you will still find  new builds on my ftp.  These are mostly builds, that I use myself and where basic things are tested by me before I upload them. Sometimes I provide builds for people that want to test certain things before I commit them to dd-wrt.

 

Simple Opkg Tutorial

In order to show you how to use the new advanced opkg software package manager that is included in my builds. I’m going to explain how to setup and use opkg to extend your routers functionality.

Here are the steps in order to prepare your router for opkg:

  1. Prepare a usb drive with at least one ext2/ext3 partition: You can use any Windows partition software or linux live system to do that e.g.  http://gparted.sourceforge.net/
  2. Attach the usb drive to your router and setup Services->USB.  Once the drive shows up under Disk Info, copy and paste the UUID of the partition into the Mount this Partition to /opt text field
  3. Reboot the router
  4. The drive should be mounted to /opt now , you can verify this by looking at the Disk Info output

Lets work with Opkg now:

Login to the router via telnet or ssh:

  1. Retrieve the list of available packages, by executing command opkg update
  2. List available packages opkg list
  3. Search for some extra editor e.g. opkg list | grep editor
  4. Install editor nano opkg install nano
  5. Run nano by executing nano. Oops you will see Error opening terminal: xterm. Well the reason for this is by default no terminfo is set, so lets do that by entering command export TERMINFO=/opt/usr/share/terminfo into you console window. Now start nano again

Opkg of course can do a few more things. Thus just execute opkg without arguments and look at the options in order to list/remove installed packages etc.

At this time you should have a basic understanding of opkg package management. Opkg will store packages config files etc. under /opt. Some packages come along with config files that you need to edit in order to make them work in the way you want them, just search under /opt/etc for these files.

*Note: The default package url that is included in my build points to the openwrt repository. Since these packages have been compiled with the openwrt sdk not all packages will work under dd-wrt. This comes from the fact, that dd-wrt uses a modified ethernet structure header and packages that were not compiled with the dd-wrt sdk cannot query all ethernet infos and will fail to get details about the existing interfaces e.g. ushare is affected by this.

DD-WRT Kong Mod Opensource Enterprise Class Monitoring – Zabbix

Build >=20500 includes Zabbix (Enterprise Class Monitoring Client)  which allows you  to monitor your wireless router. You will find a new section in dd-wrts router webinterface where you can activate and configure the zabbix client. In order to monitor your wireless router you need to setup a zabbix server.

The following screen shots display actual data and the template setup for a dd-wrt router with included zabbix client.

data.png

graph.png

template.png

DD-WRT Kong Mod Update

For more information visit: MyOpenRouter

Download

Supported Models: WNR3500L V1 | RT-N16 | WRT610N V1/V2 | E3000 | E3200 | E4200 | F7D4302 | F7D3302

Komg Mod – DLNA Media Server Setup

I’m going to explain in a few simple steps how to setup a Streaming Media Server using my dd-wrt build with integrated MiniDLNA.

1. Enabling USB Storage Support

usb.png

click to enlarge

There is not much to say here except. In my case I choose /jffs as mountpoint. JFFS is the prefered moint in case you want to make use of the jffs filesystem which is used to prevent excessive wear from flash cells. The mountpoint /opt is used whenever you want to use optware packages. Optware packages include a install script that usually install “optware”packages in the directory /opt, dd-wrt checks the location /opt for apps, scripts etc, that’s how optware basically works.

With the latest builds usb media will also be automatically mounted to the mointpoint /mnt. So if you leave everything empty you should find the contents of your drives partitions under /mnt/disc<x>_part<y> where x is the disc number and y is the partition number. Thus if you have  a single drives with 2 partitions attached. They will be automatically mounted to:

/mnt/disc0_part1

/mnt/disc0_part2

2. Enable DLNA Server

minidlna.png

click to enlarge

No it is time to enable the DLNA Server. Fill in the neccessary information for minidlna by specifying  the Server Identification. This is the string that will later be displayed by your media clients.

Now enter the directories. As noted earlier  I told dd-wrt to moint my partition, that contains the videos, to /jffs. I placed my videos in a directory share/video, since the partition was mounted to /jffs the full path to my videos is /jffs/share/video. If you remove this drive and attach it to windows  you would find the files for example under  D:\share\video. Same applies to pictures etc.

Now you can specify an update intervall. In my case I set it to 240s. So when I copy a new video to the router e.g. via samba share it will take up 240s until this new files is added to minidlnas database, and until the client sees it. Normally you can leave this field empty, since the default value should be fine.

A more important setting is the DB Path . The db path is the place where minidlna stores the index database. The default is to store it in /tmp directory which means it is purely inside the routers ram. Now if you have lots of media files this db can get very big and consume several megabytes, the consequence of that is that you run out of ram on the router and the router will be slowed down. In extreme cases the router will not be able to handle new connections etc. My advice, if you have more then 500 files in those directories store the db somewhere on the external media.

3. Start your client and check it is working. E.g. Windows 7 Media Player

FAQ:

1) How do I know minidlna is running?

Check “Status->Sysinfo” under Services you will find the status of minidlna

2) How long does it take to index the directories

This depends on the amount of files. A rough guess 1min for 500 files.

3) How can I debug minidlna

Logon to the router e.g ssh and make sure minidlna is stopped, e.g. killall minidlna. Now start minidlna in debug mode:   /usr/sbin/minidlna -R -d -f /tmp/minidlna.conf

DD-WRT with integrated Tracker and Adblocking using Privoxy

I have just integrated another feature. Here comes a proxy server with default rules for adblocking and tracking mechanisms like Google Analytics, Facebook Ilike Button…

This does not mean you cannot use Facebook or Google anymore, this just blocks tracking through 3rd party sites.

NOTE: You may have seen scripts that download host lists onto your router in order to redirect hostnames from well known adblocking servers to your routers ip . While this is an effective method to avoid certain ads it is the biggest security hole for your router. You have no control over the external host list, in case it was manipulated you are going to be redirected like a fool, to prepared servers that are just waiting to load you with malware etc.

Thus if you have never heard of privoxy you should start your browser and direct it to http://www.privoxy.org/.

proxy.png

Click to enlarge

The image shows the configuration page which allows to enable privoxy. In standard mode it will just act as a normal proxy that filters ads and other annoying content. In this mode you have to setup each clients browser to use the proxy: <routersip>:<port> e.g. 192.168.1.1 : 8118

In transparent mode all http traffic will be intercepted by the proxy, and every client will connect through the proxy, this is useful if you want to enforce the rules you defined. Lets say for example you want to filter out adult content and don’t want your kids to bypass your filter. The Custom Configuration is needed if you want to place your filter rules on a removable writeable media so you can create your own set of rules. To do this you would just use the standard config located under /tmp/privoxy.conf copy and paste the content and replace the paths to the actionfiles.

Note: In transparent mode the access to the dd-wrt page goes through the proxy, if the proxy dies for whatever reason you cannot reach the routers webif. In this case you can logon to through a shell and disable transparent mode with the command:

nvram set privoxy_transp_enable=0

nvram commit

Then restart the router. This will stop the firewall rule that enforces transparent mode.

Download Broadcom Build (8MB Units 47xx: Netgear WNR3500L, Asus RT-N16, Linksys WRT610N V1/V2):

Kong-Mod-USB-FTP-SAMBA3-OPENVPN

Kong mod update build 15758

See myopenrouter announcement for a new set of my dd-wrt mods:

Myopenrouter