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.

DIR-601 B! This is a new Hardware version with a single Atheros AR9331 chip replacing two chips on the A1 board.

I tried flashing it with openwrt-ar71xxgeneric-dir-601-a1-squashfs-factory which wouldn't load

I also tried firmware for a T-link wireless router with the same chipset which also wouldn't load

I am unable to find anything useful online, probably because it is new, but the D-Link firmware is 3.58 MB's, so I assume it must have at least 4 MB of flash memory.

Does anybody have anything useful to offer on this?  I live in Canada, so not sure if it is the same as elsewhere.

Thanks!

The serial port output for the DIR601 B1

U-Boot 1.1.4 (Mar 25 2011 - 14:55:56)

AP121-2MB (ar9330) U-boot

DRAM:  32 MB
Top of RAM usable for U-Boot at: 82000000
Reserving 161k for U-Boot at: 81fd4000
Reserving 192k for malloc() at: 81fa4000
Reserving 44 Bytes for Board Info at: 81fa3fd4                                 
Reserving 36 Bytes for Global Data at: 81fa3fb0                                 
Reserving 128k for boot params() at: 81f83fb0                                   
Stack Pointer at: 81f83f98                                                     
Now running in RAM - U-Boot at: 81fd4000                                       
============================================                                   
Date:Mar 25 2011  Time:14:55:56                                                 
Cameo Version: v1.00 Build:06                                                   
Module Name: D-Link DIR-601B1                                                   
============================================                                   
id read 0x100000ff                                                             
flash size 4194304, sector count = 64                                           
Flash:  4 MB                                                                   
Using default environment                                                       
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                                                                                                   
Net:   ag7240_enet_initialize...                                               
: cfg1 0x5 cfg2 0x7114                                                         
eth0: 84:c9:b2:51:bd:90                                                         
eth0 up                                                                         
: cfg1 0xf cfg2 0x7214                                                         
eth1: 84:c9:b2:51:bd:8f                                                         
athrs26_reg_init_lan                                                           
ATHRS26: resetting s26                                                         
ATHRS26: s26 reset done                                                         
eth1 up                                                                         
eth0, eth1                                                                     
Hit any key to stop autoboot:  0                                               
## Booting image at 9f070000 ...                                               
   Image Name:   Linux Kernel Image                                             
   Created:      2011-07-01   7:33:22 UTC                                       
   Image Type:   MIPS Linux Kernel Image (lzma compressed)                     
   Data Size:    819855 Bytes = 800.6 kB                                       
   Load Address: 80002000                                                       
   Entry Point:  801ac9f0                                                       
   Verifying Checksum at 0x9f070040 ...OK                                       
   Uncompressing Kernel Image ... OK                                           
No initrd                                                                       
## Transferring control to Linux (at address 801ac9f0) ...                     
## Giving linux memsize in bytes, 33554432                                     
                                                                               
Starting kernel ...                                                             
                                                                               
Booting AR9330(Hornet)...                                                       
Linux version 2.6.31--LSDK-9.2.0.312 (root@pin-laptop) (gcc version 4.3.3 (GCC)1
flash_size passed from bootloader = 4                                           
arg 1: console=ttyS0,115200                                                     
arg 2: root=31:06                                                               
arg 3: rootfstype=squashfs                                                     
arg 4: init=/sbin/init                                                         
arg 5: mtdparts=ar7240-nor0:64k(u-boot),64k(ART),64k(mac),64k(nvram),192k(langu)
arg 6: mem=32M                                                                 
CPU revision is: 00019374 (MIPS 24Kc)                                           
Determined physical RAM map:                                                   
memory: 02000000 @ 00000000 (usable)                                           
User-defined physical RAM map:                                                 
memory: 02000000 @ 00000000 (usable)                                           
Zone PFN ranges:                                                               
  Normal   0x00000000 -> 0x00002000                                             
Movable zone start PFN for each node                                           
early_node_map[1] active PFN ranges                                             
    0: 0x00000000 -> 0x00002000                                                 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128       
Kernel command line: console=ttyS0,115200 root=31:06 rootfstype=squashfs init=/
PID hash table entries: 128 (order: 7, 512 bytes)                               
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)                   
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)                     
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.                 
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes         
Writing ErrCtl register=00000000                                               
Readback ErrCtl register=00000000                                               
Memory: 30052k/32768k available (1720k kernel code, 2716k reserved, 493k data, )
NR_IRQS:128                                                                     
plat_time_init: plat time init done                                             
Calibrating delay loop... 266.24 BogoMIPS (lpj=532480)                         
Mount-cache hash table entries: 512                                             
NET: Registered protocol family 16                                             
===== ar7240_platform_init: 0                                                   
bio: create slab <bio-0> at 0                                                   
NET: Registered protocol family 2                                               
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)                 
TCP established hash table entries: 1024 (order: 1, 8192 bytes)                 
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)                       
TCP: Hash tables configured (established 1024 bind 1024)                       
TCP reno registered                                                             
NET: Registered protocol family 1                                               
AR7240 GPIOC major 0                                                           
squashfs: version 4.0 (2009/01/31) Phillip Lougher                             
msgmni has been set to 58                                                       
alg: No test for lzma (lzma-generic)                                           
alg: No test for stdrng (krng)                                                 
io scheduler noop registered (default)                                         
HDLC line discipline maxframe=4096                                             
N_HDLC line discipline registered.                                             
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled                       
ttyS0: detected caps 00000000 should be 00000100                               
serial8250.0: ttyS0 at MMIO 0xb8020000 (irq = 19) is a 16550A                   
console [ttyS0] enabled                                                         
PPP generic driver version 2.4.2                                               
NET: Registered protocol family 24                                             
PPTP driver version 0.8.5                                                       
PPPoL2TP kernel driver, V1.0                                                   
7 cmdlinepart partitions found on MTD device ar7240-nor0                       
Creating 7 MTD partitions on "ar7240-nor0":                                     
0x000000000000-0x000000010000 : "u-boot"                                       
0x000000010000-0x000000020000 : "ART"                                           
0x000000020000-0x000000030000 : "mac"                                           
0x000000030000-0x000000040000 : "nvram"                                         
0x000000040000-0x000000070000 : "language"                                     
0x000000070000-0x000000150000 : "uImage"                                       
0x000000150000-0x000000400000 : "rootfs"                                       
u32 classifier                                                                 
nf_conntrack version 0.5.0 (512 buckets, 2048 max)                             
CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use           
nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or     
sysctl net.netfilter.nf_conntrack_acct=1 to enable it.                         
xt_time: kernel timezone is -0000                                               
nf_conntrack_rtsp v0.6.21 loading                                               
IPv4 over IPv4 tunneling driver                                                 
ip_tables: (C) 2000-2006 Netfilter Core Team                                   
nf_nat_rtsp v0.6.21 loading                                                     
TCP cubic registered                                                           
NET: Registered protocol family 17                                             
Bridge firewalling registered                                                   
arch/mips/ar7240/gpio.c (ar7240_simple_config_init) AP_RESET_GPIO: 12           
ar7240wdt_init: Registering WDT success                                         
VFS: Mounted root (squashfs filesystem) readonly on device 31:6.               
Freeing unused kernel memory: 116k freed                                       
init started:  BusyBox v1.01 (2011.07.01-07:31+0000) multi-call binary         
TFTP main                                                                       
standard_tftp_server launched on port 69.                                       
                                                                               
Please press Enter to activate this console. init NVRAM_SPACE from mtdblock size
init nvram memory map size: 0x10000 order of pages: 0x4                         
nvram module init:                                                             
        /dev/nvram major number 225 glues to mtd: "nvram" size: 0x00010000     
        nvram_space: 0x00010000 mapped via mmap(2)                             
openfile :/var/etc/nvram.default                                               
gpio_module: module license 'unspecified' taints kernel.                       
Disabling lock debugging due to kernel taint                                   
ATHR_GMAC: Length per segment 1536                                             
ATHR_GMAC: fifo cfg 3 01f00140                                                 
ATHR_GMAC: unit 0 --> 84:c9:b2:51:bd:90                                         
ATHR_GMAC: Max segments per packet :   1                                       
ATHR_GMAC: Max tx descriptor count :   40                                       
ATHR_GMAC: Max rx descriptor count :   252                                     
ATHR_GMAC: Mac capability flags    :   5403                                     
ATHR_GMAC: unit 1 --> 84:c9:b2:51:bd:8f                                         
ATHR_GMAC: Max segments per packet :   1                                       
ATHR_GMAC: Max tx descriptor count :   40                                       
ATHR_GMAC: Max rx descriptor count :   96                                       
ATHR_GMAC: Mac capability flags    :   25D93                                   
athr_gmac_ring_alloc Allocated 640 at 0x81e1fc00                               
athr_gmac_ring_alloc Allocated 1536 at 0x81e06800                               
Setting Drop CRC Errors, Pause Frames and Length Error frames                   
ATHRS26: resetting s26                                                         
ATHRS26: s26 reset done                                                         
Setting PHY...                                                                 
athr_gmac_ring_alloc Allocated 640 at 0x81e1f800                               
athr_gmac_ring_alloc Allocated 4032 at 0x81d2a000                               
Setting Drop CRC Errors, Pause Frames and Length Error frames                   
Setting PHY...                                                                 
device eth1 entered promiscuous mode                                           
killall: netbios_checker: no process killed                                     
Enabling Auto Neg on port:4                                                     
Phy status:1000                                                                 
killall: klogd: no process killed                                               
killall: syslogd: no process killed                                             
killall: udhcpd: no process killed                                             
killall: timer: no process killed                                               
Sat Jan  1 00:00:00 UTC 2011                                                   
killall: inadyn: no process killed                                             
domain empty                                                                   
DHCP server start.                                                             
device_lan_ip=192.168.0.1 , device_lan_subnet_mask=255.255.255.0               
killall: lighttpd: no process killed                                           
killall: ip_lookup: no process killed                                           
killall: lighttpd: no process killed                                           
killall: dnsmasq: no process killed                                             
384+0 records in                                                               
384+0 records out                                                               
tar: Invalid tar magic                                                         
rm: cannot remove `/tmp/lang_ver.txt': No such file or directory               
rm: cannot remove `/tmp/*.xml': No such file or directory                       
ath_hal: 0.9.17.1 (AR9380, REGOPS_FUNC, WRITE_EEPROM, 11D)                     
killall: udhcpc: no process killed                                             
killall: pppd: no process killed                                               
ath_rate_atheros: Copyright (c) 2001-2005 Atheros Communications, Inc, All Righd
killall: miniupnpd: no process killed                                           
killall: pppd: no process killed                                               
killall: ppp_redial: no process killed                                         
killall: openl2tpd: no process killed                                           
killall: ppp_monitor: no process killed                                         
killall: wan_timer: no process killed                                           
killall: lld2d: no process killed                                               
killall: inadyn: no process killed                                             
route: SIOC[ADD|DEL]RT: No such process                                         
ath_dev: Copyright (c) 2001-2007 Atheros Communications, Inc, All Rights Reservd
wlanconfig: unable to get station information                                   
ath_ahb: 9.2.0.312 (Atheros/multi-bss)                                         
Restoring Cal data from Flash                                                   
ath_get_caps[4691] rx chainmask mismatch actual 1 sc_chainmak 0                 
ath_get_caps[4666] tx chainmask mismatch actual 1 sc_chainmak 0                 
wifi0: Atheros 9380: mem=0xb8100000, irq=2                                     
wlan_vap_create : enter. devhandle=0x80e502c0, opmode=IEEE80211_M_HOSTAP, flags1
wlan_vap_create : exit. devhandle=0x80e502c0, opmode=IEEE80211_M_HOSTAP, flags=.
VAP device ath0 created                                                         
ath0                                                                           
Interface doesn't accept private ioctl...                                       
HALDbg (8BE0): Operation not permitted                                         
device ath0 entered promiscuous mode                                           
ieee80211_ioctl_siwmode: imr.ifm_active=131712, new mode=3, valid=1           
vap-0: [84:c9:b2:51:bd:8f]ieee80211_node_saveq_cleanup 0 sta's in ps mode       
vap-0: [84:c9:b2:51:bd:8f]ieee80211_node_saveq_cleanup 0 sta's in ps mode       
br0: port 2(ath0) entering learning state                                       
killall: wlan_schedule: no process killed                                       
Reading topology file /var/tmp/to ieee80211_ioctl_siwmode: imr.ifm_active=39385
vap-0: [84:c9:b2:51:bd:8f]ieee80211_node_saveq_cleanup 0 sta's in ps mode       
pology.conf ...                                                                 
br0: port 2(ath0) entering disabled state                                       
ath0: IEEE 802.11 Fetching harvap-0: [84:c9:b2:51:bd:8f]ieee80211_node_saveq_cl
dware channel/rvap-0: [84:c9:b2:51:bd:8f]ieee80211_node_saveq_cleanup 0 sta's i
ate support not supported.                                                     
Using interface ath0 with hwaddr 84:c9:b2:51:bd:8f and ssid 'dlink'             
br0: port 2(ath0) entering learning state                                       
l2_packet_receive - recvfrom: Network is down                                   
br0: port 2(ath0) entering forwarding state

(Last edited by uvray313 on 8 Dec 2011, 22:32)

Has anybody found a third-party firmware for this yet? I am unable to upload DDwrt or open WRT to this router and am anxiously awaiting a port for it.

I haven't seen any other activity on this firmware version yet.  I did download the source code from the D-Link site and have done some additional research on it.

The first roadblock is the model/hardware check that the OEM firmware does when uploading new firmware.  It exits immediately if it does not see this information in the firmware header.  I am still working the work around.

Otherwise it would appear that the hardware is adequate to support Open-WRT and that there is hardware support available with the correct build of Open-WRT.

how you load the open wrt firm ware as i am having bad crc image error while loading kernel.
there is no other option of transfering inage since it does not have support of tftp
and my web gui is also not working

If connected via the serial console, is the filesystem writable?  I'm wondering if dropbear can be installed on top of the factory firmware while work is ongoing for proper OpenWRT support.

I just picked up this router, too, not realizing that there was a B1 hardware revision.  I ran into the same problem trying to get images to flash - both with the standard Admin UI and the Emergency Room UI.

Though I'd much rather have full OpenWRT running, at least dropbear would be a big step forward.

Did anyone ever figure out how to flash openwrt or any other 3rd party firmware to this router?  I just ordered one not knowing about the multiple hardware versions (DOH!).  The stock firmware really isn't that bad, I just really need wireless bridge mode.  I've tried multiple images of every third party firmware out there and none of them will flash.

Any help is most appreciated.

I just bought three of these things thinking they were likely "dd-wrt compatible".  So, I too await developments of getting a good image flashed.  I am willing to donate one to anyone who wants to work on it.

(Last edited by mckemie on 7 Aug 2012, 22:16)

Wheres the pinout for the serial located on the Dir-601 B1?

(Last edited by pacman366 on 10 Sep 2012, 03:49)

pacman366 wrote:

Wheres the pinout for the serial located on the Dir-601 B1?

@uvray313: I have the same question.  You already generated the serial output so you must know.  Can you share with us?

I just dug it out from storage. The serial port is the 3 inline, unused solder pads behind the Jumpstart button.  Looking at the board from above, on the right side there is an LED, a push-button switch and behind that 4 solder pads.  The square solder pad is unused. The front pad is TX, the middle ground, and the rear (next to the square pad) is RX.  Remember of course this is a TTL connection and requires a TTL to serial converter.

I am most interested in this also. I have a Dir-601 A1 with ddwrt that works great. I have a Dir-601 B1 with the factory firmware that often requires rebooting.

I've recently acquired one of these routers and found out that openWRT has yet to be compatible with it. Not being the kind of person to to idly sit and wait I decided to do a little digging of my own to find out why it might not be taking openWRT or ddwrt firmwares.

Dlink has released one firmware for this device which has shed some light on the issue. It would appear the firmware is a Linux Image and follows the same structure as version A1 however there is 83 bytes at the very beginning of the firmware which describes things such as firmware number device model board type etc.

From what I can gather the very first 6 bytes in the firmware need to be set precisely to describe the image which is being flashed. I had tried copy pasting the first 83 bytes into a known working A1 openWRT firmware but the router complained about an invalid configuration. When I set the first 6 bytes all 0 the router appears to accept the image but doesn't actually flash anything.

I am posting this information here in hopes that someone can use it and make further progress on what I've found. I am perfectly willing to try and flash an image onto my router at the risk of a brick if anyone has any ideas of how to make this work.

Well I got bored today so I opened up my dlink router to see what I might see. It is indeed an AR9331. Noticed that the thing has a whole bunch of extra traces and pinouts I suppose for different revisions. Probably can do a lot of interesting hardware mods with this.

The thing that caught my attention was at the front of the board there appears to be a pinout for a USB port, however its obviously not connected and is missing parts like resistors.

Another thing I noticed although once again missing parts the pads are on this board for a second antenna... probably wouldn't be too difficult to soldering the right parts in place with the right tools.

Kinda wish I knew more about the software side of things because I would be busy trying to get openWRT on this.

nedemai wrote:

.......................................
From what I can gather the very first 6 bytes in the firmware need to be set precisely to describe the image which is being flashed. I had tried copy pasting the first 83 bytes into a known working A1 openWRT firmware but the router complained about an invalid configuration. When I set the first 6 bytes all 0 the router appears to accept the image but doesn't actually flash anything.
........................................

This approach will not work is because you also has CRC values computed from the entire file.  You might want to try this one (http://www.right.com.cn/forum/forum.php … ;tid=47903) to see if can help.  It was originally designed for TP Link routers so I don't know if it will work for D-Link router or not.
I actually got a A1 version so I don't need to concern about B1 anymore.

I would like to now if you find a way to log into the router that is easier than making a serial connection. A usb port would be interesting. Better would be a ssh or telnet server.

twinclouds wrote:

This approach will not work is because you also has CRC values computed from the entire file.  You might want to try this one (http://www.right.com.cn/forum/forum.php … ;tid=47903) to see if can help.  It was originally designed for TP Link routers so I don't know if it will work for D-Link router or not.
I actually got a A1 version so I don't need to concern about B1 anymore.

Unfortunately the download link that directs to is no longer active. I don't see why it couldn't work if the CRC was taken into account as well.

I have been trying for days to get an account on the dlink forums to ask a question, http://forums.dlink.com/. I get an automated response saying that my account must be approved, but apparently it never happens. Does anyone know the secret?

I have a couple of functional Dir 601 B1 routers for any developers who would like to take a shot at developing OpenWRT firmware for it.  Let me know so I can ship.  I have also downloaded the GPL source code for this unit from the Dlink site.

(Last edited by uvray313 on 8 Apr 2013, 16:46)

I also downloaded the GPL source code. It includes the tool chain for compiling and scripts that make the build process easy. I was able to build the firmware from source and load it onto the router.

The web inteface works through a cgi program named system_manager. There is no source for system_manager so it is difficult to tell how to use it to add capability through the web interface.

I was unsuccessful getting a serial connection to work, but I hope to build the firmware with a telnet daemon running so I can telnet into the router and see what is going on when it stops responding.

I bought three of those routers.

The device seem to use same chipset with several tp-link devices.
http://wiki.openwrt.org/toh/tp-link/tl-wr703n

Are there any possibilities of making it work with one of those?

ps: As you might have guessed, I am a noob

(Last edited by kolpa06 on 8 May 2013, 18:23)

Considering how old is this device and fact it's hard to even get it now I really doubt this will be done...
Unless (considering you have 3) you want to start your adventure with openWRT and port it smile

I shipped a router to one of the developers who has ported other devices with the same chipset to OpenWRT.  No guarantees, but at least someone is taking a shot at it. big_smile

jaceq wrote:

Considering how old is this device and fact it's hard to even get it now I really doubt this will be done...
Unless (considering you have 3) you want to start your adventure with openWRT and port it smile

I am actually looking into it smile

uvray313 wrote:

I shipped a router to one of the developers who has ported other devices with the same chipset to OpenWRT.  No guarantees, but at least someone is taking a shot at it.

Awesome. I can also ship one of mine if more developers are interested.