Sunday, November 24, 2013

Belkin F7D7301 DD-WRT & OPTWARE

I've been using a Buffalo wzr-hp-g300nh as my wireless router for about a year and a half, before that I was using it as one end on a 900ft link with a bi-quad antenna attached to a small satellite dish. It provided internet to my sisters house. All in all it's been a good router, but it's had a rough life and it was starting to show. The 2nd Ethernet port intermittently stopped working and it started dropping the wifi randomly. I'd mess with it, upgrade the firmware and it seemed to do OK for a while (on the WiFi, port 2 was completely dead at this point). Then it would start in on the same old problems. I knew it was failing so when I saw the F7D7301 for $25 shipped I bought one to have on hand. I paid $80 for the buffalo, and I like it better, but it needs to work. As far as specs go they are very similar.

Belkin F7D7301

Belkin F7D7301 Specs:

  • Broadcom BCM4716 CPU @ 450mhz
  • 64MB Ram
  • 8MB Flash
  • 32K NVRAM
  • Wireless N 2.4GHZ radio (up to 300mbps), 2 internal antennas
  • 5 Gigabit Ethernet ports (1 WAN, 4 LAN)
  • 2x usb ports
  • Supports DD-WRT and OPTWARE

DD-WRT

DD-WRT is easy to install, I tried to follow the instructions from trythistv.com, but I couldn't get to the CFE page, probably needed a hub, so I just uploaded the mini version from the Belkin firmware upgrade page. It worked just fine. After it rebooted I put a Kong build on it (r22200/usb-ftp-samba3-dlna-nv32k-broadcom.bin). That worked too. I did my normal config run through.

Config

Note: I recommend you investigate and test each option for yourself, I may be doing something stupid in here and not know it. YMMV

Basic Setup Page:
I use a slightly different ip range on my internal network, so I set that up

I use DD-WRT to cache DNS requests, so I turn on local-dns and add my router IP to the first static DNS (I don't know if it's needed or not). I check "Use DNSMasq for DHCP", "Use DNSMasq for DNS" and "DHCP Authoritative".

I set up the NTP for my timezone and use "0.north-america.pool.ntp.org" as the server.

Wireless Basic Page:
In Wireless it defaults to channel 6 (my neighbor is on 6), I use 40mhz width, upper extension channel and 11 as the channel. NOTE: You need to do it in that order and press save each time you change one of these settings, it will reset and / or not show options if you don't. (that really aggravated me until i figured it out)

Wireless Security Page:
WPA2 Personal, TKIP+AES

Wireless Advanced:
I'm using the defaults at the moment, I've barely started tweaking these yet.


Services Page:
I enable "DNSMasq", "Local DNS", and "No DNS Rebind".
I add:
cache-size=2000
no-negcache
to Additional DNSMasq Options

USB Page:
I Enable "Core USB", "USB Storage", "Automatic Drive Mount"

OPTWARE

Disk:
I used a 4gb thumbdrive with a ~3GB and a ~500MB partition.
The 3GB is ext2 and the Label is "Optware"
The 500MB is Linux-Swap and the label is "Swap"
DD-WRT detects and mounts them properly to /opt and as swap.

Install:
First I used "Optware The Right Way", got it all going and realized it was outdated and there is now "Optware The Right Way , Take 2". So I re-did it with that. It went smoothly, I enabled the services I wanted (with the "service" command). Disabled the one that oddly comes enabled that I don't think should: "Transmission", the bittorrent client. 

Well I tried to anyway, I stopped it, turned it off, and rebooted. It seemed fine, but something was using 100% of the cpu. It was "gunzip" trying to extract "level1.gz", the bittorent block list. I tried to stop it, but it refused, it kept coming back whenever I rebooted. So I figured I'd just let it run. 5hrs later the CPU was still pegged at 100% with "gunzip level1.gz" at the top of "top". I don't need bittorrent at all, I don't use it, and if I did I'd use it on my little server that runs 24/7 anyway. I figured I'd uninstall it. "ipkg" complained it needed jffs, nope wrong command. "opkg" claimed there were no packages installed. It was opkg on atheros, I thought it was ipkg on broadcom. So a bit of hunting and I found it was "ipkg-opt". I removed Transmission, rebooted and now it's apparently enabled as a service again, but at least it's not hogging the cpu anymore. Why won't it go away?

Services I am trying at the moment:
Asiablock
Stophammer
Fixtables
pixelserv

I tried mypage, which is cool, but seems to be a bit of a resource hog so I disabled it, I can turn it on if I need info from it.

Wall Mount

One other issue I had with the Belkin is it only has a stand on the bottom. The buffalo would mount neatly to the wall. I removed the stand, bent a little piece of metal I had lying around to attach the Belkin to the wall. It's not pretty, but it works (and the bracket's out of sight).


Notes:

  • I think the Kong stuff is now in the main DD-WRT source, so I don't know what the best place to get a build is anymore. (probably not a kong build anymore, Arhhh)
  • I'm sure there are some errors in here, I don't mess with routers much (as long as they work right?).

Links


Thanks! DD-WRT and OPTWARE folks! Thanks to you we can turn a crappy router into an awesome router, basically a miniature, full featured, headless server!