OpenWrt Forum Archive

Topic: Dir-601 B1

The content of this topic has been archived between 3 Feb 2018 and 1 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

charlot biddle wrote:

Could you publish your \etc\config\network and \etc\config\wireless?  I have a lot of difficulties to reproduce the same setup.

Thanks in advance

Sorry for the delayed response. Here you go!

Login screen:

Using username "root".
root@'s password:

BusyBox v1.19.4 (2014-05-12 09:54:49 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 BARRIER BREAKER (Bleeding Edge, r40749)
  * 1/2 oz Galliano         Pour all ingredients into
  * 4 oz cold Coffee        an irish coffee mug filled
  * 1 1/2 oz Dark Rum       with crushed ice. Stir.
  * 2 tsp. Creme de Cacao


root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr ''
        option netmask ''

config globals 'globals'
        option ula_prefix 'fdf6:840d:a144::/48'

config interface 'lan'
        option ifname 'eth0.1 eth1'
        option type 'bridge'
        option proto 'static'
        option ipaddr ''
        option netmask ''

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 3 4'


root@OpenWrt:~# cat /etc/config/wireless
config wifi-device  radio0
        option type     mac80211
        option channel  11
        option hwmode   11g
        option path     'platform/ar933x_wmac'
        option htmode   HT20

config wifi-iface
        option device   radio0
        option network  lan
        option mode     ap
        option ssid     OpenWrt
        option encryption none

One thing that tripped me up initially was that wireless is disabled by default. You have to delete that line from /etc/config/wireless.

Once it is set to WAP mode, the switch ports are no longer usable other than as an uplink to your wired network. Any port will work for this and it will broadcast wireless. Connected clients will get a DHCP address from your main router.

To connect to the WAP later to make changes such as SSID or encryption key, disconnect the uplink cable and direct connect a PC to any port. Set the PC's IP address to something other than the WAP's ( / in my example)  Then connect with putty, edit /etc/config/wireless or network as needed. Run /etc/init.d/network reload. Unplug the PC and plug the uplink cable back in. Done!

No need to set up the wan port physically, you can set it up as a wireless bridge or repeater or whatever. You just need the ethernet cable for initial setup ( and after sysupgrade for instance ). There are probably lots of entries in the three following files that are unnecessary, however it works for me so I don't question it..

If you are using ifconfig to connect ethernet, plug an ethernet cable from your computer into any lan port on the router and use:

sudo ifconfig ethX 192.168.Y.100 up

X -> check dmesg (dmesg|grep eth) for your assigned ethernet port
Y -> depends on router's address, try 0 to 2

Then telnet/ssh to router

Also if you are running ubuntu or linux mint you may have networkmanager installed ( I hate it ), I changed to wicd so ethernet will accept a newly assigned ip address.

For this setup you need to install relayd package and then type /etc/init.d/relayd enable


root@OpenWrt:/etc/config# cat wireless
config wifi-device  'radio0'
    option type     'mac80211'
    option channel  '1'
    option hwmode    '11ng'
    option path    'platform/ar933x_wmac'
    option htmode    'HT20'
    list ht_capab    'SHORT-GI-20'
    list ht_capab    'SHORT-GI-40'
    list ht_capab    'RX-STBC1'
    list ht_capab    'DSSS_CCK-40'
    option country 'CA'
    option disabled '0'

config wifi-iface 'wifiap'
    option device   'radio0'
    option network  'lan'
    option mode     'ap'
    option ssid     'YOUR_DIR-601_NAME_HERE'
    option encryption 'psk2'
    option key      'YOUR_DIR-601_PASSKEY_HERE'

config wifi-iface
        option device   'radio0'
        option network  'wwan'
        option mode     'sta'
        option ssid     'YOUR_HOME_ROUTER_HERE'
        option bssid 'XX:XX:XX:XX:XX:XX' #Change this to your router's bssid
        option encryption 'psk2'
        option key      'YOUR_PASSKEY_HERE'

root@OpenWrt:/etc/config# cat network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr ''
    option netmask ''

config interface 'lan'
    option ifname 'eth0'
    option type 'bridge'
    option proto 'static'
    option netmask ''
    option ipaddr ''
    option gateway '' #Main router's IP

config interface 'wwan'
#    option proto 'dhcp'
    option proto 'static'
    option ipaddr '' #Set this to match you main router network 192.168.x.254
    option netmask ''

config 'interface' 'stabridge'
    option 'proto' 'relay'
    option 'network' 'lan wwan'
    option ipaddr '' #Same IP as wwan

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '0 1 2 3 4'

root@OpenWrt:/etc/config# cat dhcp

config dnsmasq
    option domainneeded '1'
    option boguspriv '1'
    option filterwin2k '0'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option nonegcache '0'
    option authoritative '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/'

config dhcp 'lan'
    option interface 'lan'
    option start '100'
    option limit '150'
    option leasetime '12h'
    option ignore '1'

config dhcp 'wan'
    option interface 'wan'
    option ignore '1'

I believe you have to have the dir-601 channel set to your home router's channel. 'iwlist wlan0 scan' should tell you that.

Under config interface 'lan', option ipaddr should be different from your main router I believe. Works for me.

After changing all these type /etc/init.d/network restart

Don't forget /etc/init.d/relayd enable when you first install the package, I did...

I also noticed that after sysupgrade the only changes necessary are to copy the backed up dhcp ( I have dhcp.bak in /etc/config ) and relayd package reinstall/enable. Network and wireless are auto saved by the upgrade process. Lastly, use whatever wireless network manager to login to dir-601.

Now you can use this router as you do your main internet router and ssh into it wirelessly from your computer/smartphone etc.

I hope that helps.

(Last edited by lobonse on 30 May 2014, 21:10)

Extroot is working:

root@OpenWrt:~# df -h
Filesystem                Size      Used       Available   Use%    Mounted on
rootfs                      1.8G    72.1M             1.7G      4%    /
/dev/root                 2.0M      2.0M                  0  100%    /rom
tmpfs                    14.2M   536.0K           13.7M     4%    /tmp
/dev/sda1                1.8G    72.1M             1.7G      4%    /overlay
overlayfs:/overlay    1.8G    72.1M             1.7G      4%    /
tmpfs                  512.0K            0         512.0K      0%    /dev

root@OpenWrt:~# free
                    total           used            free         shared          buffers
Mem:         29044        25756         3288                 0             3412
-/+ buffers:                  22344         6700
Swap:                0                0               0

Let's try Bootstrap theme:

Luci is running! I'm wallowing in my own geek right now.

(Last edited by lobonse on 21 Mar 2018, 13:58)

More geek...remember that kindle I got for ma?

(Last edited by lobonse on 21 Mar 2018, 14:00)

Thanks @Corey and @Iobonse

I used both comments  and I created a wireless bridge to reach my home lab in the other conner of my basement.  Everything are working perfectly. 

Now, I would like to create a wireless repeater with another dir-601 b1. Do you have any advise?

Thank you

Hi All,

Is there a firmware that supports USB for this router? From the posts that I see, there is a way to make it work, but it looks like I have to build my own firmware? I have openwrt on it at the moment, as well as a modded USB port.

lobonse, can you provide a little more information for a newbie on how to get usb working on this router?

Thanks, Ivan

(Last edited by iblackford on 22 Jan 2015, 04:35)

I found instructions on how to build and decided to go for it, getting the sources for the trunk and compiling it, then following lobonse instructions.

[  348.700000] usb 1-1: new high-speed USB device number 2 using ehci-platform
[  348.860000] usb-storage 1-1:1.0: USB Mass Storage device detected
[  348.860000] scsi0 : usb-storage 1-1:1.0
[  349.940000] scsi 0:0:0:0: Direct-Access              USB DISK 2.0     PMAP PQ                  : 0 ANSI: 4
[  350.650000] sd 0:0:0:0: [sda] 30283008 512-byte logical blocks: (15.5 GB/14.4                   GiB)
[  350.660000] sd 0:0:0:0: [sda] Write Protect is off
[  350.660000] sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
[  350.660000] sd 0:0:0:0: [sda] No Caching mode page found
[  350.670000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  350.680000] sd 0:0:0:0: [sda] No Caching mode page found
[  350.680000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  350.710000]  sda: sda1
[  350.720000] sd 0:0:0:0: [sda] No Caching mode page found
[  350.720000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  350.730000] sd 0:0:0:0: [sda] Attached SCSI removable disk
[  377.990000] usb 1-1: USB disconnect, device number 2
[  396.280000] usb 1-1: new high-speed USB device number 3 using ehci-platform
[  396.440000] usb-storage 1-1:1.0: USB Mass Storage device detected
[  396.440000] scsi1 : usb-storage 1-1:1.0
[  397.530000] scsi 1:0:0:0: Direct-Access              USB DISK 2.0     PMAP PQ                  : 0 ANSI: 4
[  398.150000] sd 1:0:0:0: [sda] 30283008 512-byte logical blocks: (15.5 GB/14.4                   GiB)
[  398.160000] sd 1:0:0:0: [sda] Write Protect is off
[  398.160000] sd 1:0:0:0: [sda] Mode Sense: 23 00 00 00
[  398.160000] sd 1:0:0:0: [sda] No Caching mode page found
[  398.160000] sd 1:0:0:0: [sda] Assuming drive cache: write through
[  398.180000] sd 1:0:0:0: [sda] No Caching mode page found
[  398.180000] sd 1:0:0:0: [sda] Assuming drive cache: write through
[  398.210000]  sda: sda1

A couple of differences:
1) I couldn't find usbutils anywhere in the menuconfig, I built without such I don't have lsusb, and probably others...not sure what this means exactly, do I really need this utils? If so, is there a way to add them without building again?
2) I didn't add ext2fs, instead I added vfat in menuconfig
2) I can see the device via dmesg, but I can't seem to mount it? I tried mount /dev/sda1 /mnt/usb and it says "invalid argument"
Am I missing something?

Thanks, Ivan

Hey wow, activity! Hi Ivan, well done on the hardware mod, I'd love to see pictures of your work. lsusb works on my system.

Symbol: DEFAULT_usbutils [=DEFAULT_usbutils]                                                                                                        │ 
  │ Type  : unknown                                                                                                                                     │ 
  │                                                                                                                                                     │ 
  │                                                                                                                                                     │ 
  │ Symbol: PACKAGE_usbutils [=y]                                                                                                                       │ 
  │ Type  : tristate                                                                                                                                    │ 
  │ Prompt: usbutils................................... USB devices listing utilities                                                                   │ 
  │   Defined at tmp/                                                                                                           │ 
  │   Location:                                                                                                                                         │ 
  │ (1) -> Utilities                                                                                                                                    │ 
  │   Selects: PACKAGE_libpthread [=y] && PACKAGE_libc [=y] && PACKAGE_zlib [=y] && PACKAGE_libpthread [=y] && PACKAGE_librt [=y] && PACKAGE_libusb-1.0 │ 

Also, for mounting, do you have busybox installed?:

If you don't know about busybox, it's like a swiss army knife of utilities, which includes dozens of useful commands, such as mount.

If you need more help I could probably post my menuconfig file or send it to you. Cheers!

(Last edited by lobonse on 25 Jan 2015, 20:33)


I do have busybox installed, the problem turned out to be the different language packs I needed to install for fat partitions I guess (codepage 437 and ISO something..). I can mount the usb drive now.

Sorry for the fuzziness, I'll try to get some better ones after. I used the existing component pads to make it cleaner, and I had the parts. 15k pulldowns on D+/D- and 0ohm series resistors. I put a 15uf 0603 cap on the pads for C178. Works well, but my USB Hard drive pulls too much power I think, when I plug it in it starts going through a reset loop as the HDD spins up and down...I think I need to provide more current on the 5V rail for that.

I'm happy with the mod and I notched out the cover accordingly so it kind of looks like it was meant to be...:)

Thanks, Ivan

(Last edited by iblackford on 26 Jan 2015, 20:21)

Nicely done, much better job on the hardware than mine. Those surface mount parts look much nicer ( and easier ) to use.

I'm trying to get my dlink 601 back to original firmware. Can someone please help me?
I have tried this guide but fail at the winscp part because I do not have the password and cannot log in.

"1. download latest firmware for your routers (makes it easy to rename it to something simple like tplink.bin)
2. download winscp (google it its FREE)
3. reset your router to default settings with a hard reset
4. login to your router with the SCP protocol
5. upload your firmware to the /tmp directory (do not change directory!)
6. push ctrl+t or click on commands menu than on open terminal
7. type this command in:"

The default address is

(Last edited by lobonse on 27 Apr 2015, 18:35)

Hi - what's the final word on this? Do we have a definite, 100% working firmware for this router yet?

A lot of links have been thrown around, 99% of them are dead, except for jay0lee's build here: … -601b1.bin

I have also found a few links here: … x/factory/

Which one shall we get?
- dir-601b1.bin
- openwrt-ar71xx-generic-dir-601-b1-squashfs-factory-NA.bin
- openwrt-ar71xx-generic-dir-601-b1-squashfs-factory.bin

A clarification would be greatly appreciated!

jay0lee's build works fine. No luci ( ie web interface ) on that one, dunno if luci will run properly without the added usb drive space I installed on the router. I guess it should, but I don't know how to pare the build down to run it.

Hi - thanks for the response. Do you know also if there is a web/GUI firmware for this router that is stable?

Not that I know of, without a usb port to expand memory there doesn't seem to be enough room for one.

(Last edited by lobonse on 9 Jun 2015, 18:48)

i am new to the site not even sure if i am posting the right place /  I have a d link dir 601B1 ROUTER last up date was 2011 is there any firmware to up date if so please  point me too or post an step by step how to  do

I upgraded flash to 8MB on the B1, the problem is that it still recognizes it as a 4MB flash. What do I need to do for it to recognize the whole 8megs?

Does this help? There's a list of compatible 8mb ram chips for the ar9331.

"If you want to use other type, please contact with me or add your flash chip into ar7240_flash.c file and compile the code."

Perhaps that would fix you up.

(Last edited by lobonse on 15 Jan 2016, 20:50)

Can anyone please tell me which is the lightest firmware? and i do wanna know hoe to build one?

Actually i wanna mod it for Usb option then use it as data card wifi router.

(Last edited by austonpramodh on 21 Jan 2016, 22:37)

Check out my Arduino YÚN! I hooked up a pro mini to the B1 via serial port. Total cost? less than 3 dollars.

(Last edited by lobonse on 21 Mar 2018, 14:01)

Perhaps someone in this thread can help me out here.

I've got a DIR-601 B1 that I'm trying to flash with openWRT using the recovery console, but it seems no matter what I do, the image doesn't actually flash, even though it says it was successful.

I'd started a separate thread on this issue at, but thought maybe someone who had had success might be able to tell me what I'm doing wrong.

I've also just tried applying the upgrade using IE6 from ievms.  Same result - the upload completes, the recovery console says "Upgrade successfully!", and after a reboot, I'm back in the stock firmware.

I also tried the earlier firmware built by Jalopicus and posted here back in December 2013, and that image also didn't flash, even though it says it was successfully upgraded.

As noted in the new thread I started, I have a fair bit of experience using openWRT on a number of devices (RPi, DIR-825, WNDR3800, x86 virtual machines) using my own builds, and have never run into a problem like this.  I'm hoping to use this DIR-601 as a wireless repeater (the RPi just couldn't manage the throughput).

Thanks for any assistance.

Only thing I can offer is solder up a serial console and use that route as per the process I've outlined. I would suspect the web browser is the problem, but I'm pretty noob.

I'm using Linux.  The last byte change sounded to me like changing an ASCII "0" to ASCII "2", which didn't match what I had.  If it was to replace 0x00 with 0x02, that's something I can try.

I also did boot up a Windows VM (courtesy of IEVMS) and try IE6 as well, as was recommended, but still no dice.

I'm less inclined to crack the case and solder, since I'd have to mess around with getting a USB-Serial converter working (no serial ports on any of my systems these days), so if I can't get it working, I'll either live with the slower speed for the next month or so (when I relocate and have control over the entire network again), or I'll pick up a different cheap router to use as an extender.