Topic: support for DLINK DIR-615 Hw:D1

Hi,

I just aquired a DLINK DIR-615 confident to find it in the list of supported hardware.
However, I quickly discovered that the model is a new hardware revision D1,  firmware v4.00 upgraded to 4.10.

I found a 5 pin header on the board and luckily found that this is a serial ttl interface.
I'm wondering if someone can confirm if this hardware is supported for openwrt, or what effort is needed to support it.



Pascal,

For the specialists, you will find valuable info below the boot sequence, 
serial settings are 57600,N,8,1


U-Boot 1.1.3 (Oct 13 2008 - 23:20:00) (Alpha) - SVN revision : 94

Model: WRGN22 for DLINK

Board: RT2880 DRAM:  32 MB
twe0 set to <NULL>
toe0 set to <NULL>
============================================
Ralink UBoot Version: 3.1 Alpha
--------------------------------------------
ASIC 3052_MP2 (MAC to GigaMAC Mode)
DRAM COMPONENT: 128Mbits
DRAM BUS: 32BIT
Total memory: 32Mbytes
Date:Oct 13 2008  Time:23:20:00
============================================
icache: sets:256, ways:4, linesz:32 ,total:32768
dcache: sets:128, ways:4, linesz:32 ,total:16384

Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   9: Load Boot Loader code then write to Flash via TFTP.
  0 seconds ...

Eth0 (10/100-M) :  ethaddr = ("00:22:b0:89:99:80") 00 22 B0 89 99 80

3: System Boot system code via Flash.
## Powering down port 0 ~ 3.
## Booting image at bf050000 ...
   Image Name:   Linux Kernel Image
   Created:      2008-12-12   2:20:50 UTC

System Control Status = 0x00040000
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    879591 Bytes = 859 kB
   Load Address: 80000000
   Entry Point:  802b6000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.21 (kwest@enzo) (gcc version 3.3.5) #1 Fri Dec 12 10:14:11 CST 2008

The CPU feqenuce set to 384 MHz
CPU revision is: 0001964c
Determined physical RAM map:
memory: 02000000 @ 00000000 (usable)
Built 1 zonelists.  Total pages: 8128
Kernel command line: console=ttyS1,57600n8 root=/dev/mtdblock1 noinitrd
Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, linesize 32 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
Cache parity protection disabled
arch_init_irq: cause = a0800004, status = 1100ff00
PID hash table entries: 128 (order: 7, 512 bytes)
mips_time_init: calculating r4koff ... 0x00177000 (1536000)
CPU frequency 384.00 MHz
Using 192.000 MHz high precision timer.
Console: colour dummy device 80x25
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 29400k/32768k available (2280k kernel code, 3368k reserved, 492k data, 116k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
Time: MIPS clocksource has been installed.
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
squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher
squashfs: LZMA suppport for slax.org by jro
io scheduler noop registered
io scheduler deadline registered (default)
FLASH_API: MAN_ID=1 DEV_ID=22F9 SIZE=4MB
rt3052 access driver initialization.
Ralink gpio driver initialized
HDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096
N_HDLC line discipline registered.
Serial: 8250/16550 driver $Revision: 1.3 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A
ra2880_read_mac: 00:00:00:00:00:00
ra2880_read_mac: 00:00:00:00:00:00
Ralink APSoC Ethernet Driver Initilization. v1.60  256 rx/tx descriptors allocated, mtu = 1600!
NAPI enable, weight = 0, Tx Ring = 256, Rx Ring = 256
ra2880_read_mac: 00:00:00:00:00:00
ra2880_read_mac: 00:00:00:00:00:00
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
elbox physmap platform flash device: 00400000 at bfc00000
elbox-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
elbox-flash.0: squashfs filesystem found at offset 1245184
Creating 8 MTD partitions on "elbox-flash.0":
0x00130020-0x0034f020 : "rootfs"
0x00050000-0x003f0000 : "upgrade"
0x00040000-0x00050000 : "devconf"
0x00030000-0x00040000 : "devdata"
0x003f0000-0x00400000 : "langpack"
0x00000000-0x00400000 : "flash"
0x00000000-0x00030000 : "u-boot"
0x00030000-0x00038000 : "boot env"
u32 classifier
ip_conntrack version 2.4 (256 buckets, 2048 max) - 236 bytes per conntrack
ip_conntrack_pptp version 3.1 loaded
ip_nat_pptp version 3.0 loaded
ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Linux
ipt_time loading
arp_tables: (C) 2002 David S. Miller
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 116k freed
init started:  BusyBox v1.00 (2008.12.12-02:14+0000) multi-call binary
Starting pid 658, console /dev/tts/1: Algorithmics/MIPS FPU Emulator v1.5
'/etc/init.d/rcS'
[/etc/init.d/S03config.sh]
Mounting proc and var ...
Start xmldb ...
[/etc/scripts/misc/profile.sh] get ...
[/etc/scripts/misc/defnodes.sh] ...
[/etc/defnodes/S10setext.sh] ...
PHP [/etc/defnodes/S11setnodes.php] ...
PHP [/etc/defnodes/S12features.php] ...
PHP [/etc/defnodes/S13flashspeed.php] ...
PHP [/etc/defnodes/S20setnodes.php] ...
SQUASHFS error: Can't find a SQUASHFS superblock on mtdblock5
mount: Mounting /dev/mtdblock/5 on /www/locale/alt failed: Invalid argument
PHP [/etc/defnodes/S40brand.php] ...
[/etc/scripts/misc/defnodes.sh] Done !!
[/etc/templates/timezone.sh] ...
zone : 5
gen : PST+08:00
[/etc/templates/logs.sh] ...
[/var/run/logs_run.sh] ...
ra2880_read_mac: 00:22:b0:89:99:81
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
[/etc/templates/webs.sh] start ...
[/var/run/webs_start.sh] ...
Starting HTTPD ...
[/etc/init.d/S03config.sh] done!
[/etc/init.d/S10system.sh]
start fresetd ...
start scheduled ...
Factory reset time : 5 secs
WPS command : [/etc/templates/wps.sh pbc &]
[/etc/templates/scheduled.sh] start ...
[/var/run/scheduled_start.sh] ...
Start scheduled ...
setup layout ...
[/etc/scripts/layout.sh] start ...
[/var/run/layout_start.sh] ...
Start router layout ...
eth2.0: Setting MAC address to  00 22 b0 89 99 80.
device eth2 entered promiscuous mode
VLAN (eth2.0):  Setting underlying device (eth2) to promiscious mode.
eth2.2: Setting MAC address to  00 22 b0 89 99 81.
VLAN (eth2.2):  Underlying device (eth2) has same MAC, not checking promiscious mode.
eth2.0: dev_set_promiscuity(master, 1)
device eth2.0 entered promiscuous mode
br0: port 1(eth2.0) entering learning state
br0: topology change detected, propagating
br0: port 1(eth2.0) entering forwarding state
start LAN ...
[/etc/templates/lan.sh] ...
[/var/run/lan_start.sh] ...
Start LAN (br0/192.168.0.252/255.255.255.0)...
Start DHCP server (br0) ...
Start igmp ...
[/etc/templates/igmpproxy.sh] start ...
[/var/run/igmpproxy_start.sh] ...
Start IGMP proxy ...
[BR_IGMPP_PROC]->WARNING SETWL FAILURE-> ra0
enable LAN ports ...
start WLAN ...
[/etc/templates/wlan.sh] start ...
Hello from hostapd.conf
[/var/run/wlan_start.sh] ...
Start WLAN interface ra0 ...
restart WLAN driver ...
interface ra0 does not exist!
Using /lib/modules/rt2860v2_ap.ko
rt2860v2_ap: module license 'unspecified' taints kernel.
2860 version : 1.9.0.0 (Dec 12 2008)


=== pAd = c0403000, size = 413080 ===

<-- RTMPAllocAdapterBlock, Status=0
RX DESC a1f40000  size = 2048
<-- RTMPAllocTxRxRingMemory, Status=0
1. Phy Mode = 9
2. Phy Mode = 9
3. Phy Mode = 9
MCS Set = ff ff 00 00 01
Main bssid = 00:22:b0:89:99:80
<==== RTMPInitialize, Status=0
0x1300 = 00064380
device ra0 entered promiscuous mode
br0: port 2(ra0) entering learning state
br0: topology change detected, propagating
br0: port 2(ra0) entering forwarding state
br0: port 2(ra0) multicast bandwidth 900kbps
[/etc/templates/wps.sh] setie ...
Configuration file: /var/run/hostapd.ra0.conf
Using interface ra0 with hwaddr 00:22:b0:89:99:80 and ssid 'pico2'
hostapd_setup_interface: return 0
Start WLAN interface ra0 Done !!!
start Guest Zone
[/etc/templates/gzone.sh] ...
[/etc/templates/enable_gzone.sh] ...
start RG ...
[/etc/templates/rg.sh] start ...
[/var/run/rg_start.sh] ...
Using /lib/modules/ip_stun_func.ko
Register STUN module successes!
Using /lib/modules/sw_tcpip.ko
REDSonic turbo net initialized
Using /lib/modules/ifresetcnt.ko
Network interface reset count v1.0
insmod: /lib/modules/2.6.21: No such file or directory
insmod: ip_conntrack_ike_m.ko: no module by that name found
insmod: /lib/modules/2.6.21: No such file or directory
insmod: ip_conntrack_esp_m.ko: no module by that name found
insmod: /lib/modules/2.6.21: No such file or directory
insmod: ip_conntrack_proto_esp_m.ko: no module by that name found
insmod: /lib/modules/2.6.21: No such file or directory
insmod: ip_nat_proto_esp_m.ko: no module by that name found
sendto_unsock(/var/run/portt.unixsocket, flush)
/proc/sys/net/ipv4/arp_flood_burst: cannot create
/proc/sys/net/ipv4/arp_flood_cost: cannot create
start DNRD ...
[/etc/templates/dnrd.sh] ...
[/var/run/dnrd_start.sh] ...
Start DNRD ...
Notice: caching turned off
Start telnetd ...
start UPNPD ...
[/etc/templates/upnpd.sh] ...
[/var/run/upnpd_start.sh] ...
Starting UPnP ...
[/var/run/upnp_alive.sh] ...
start WAN ...
Set WAN port media type 0
[/etc/templates/wan.sh] start ...
[/var/run/wan_start.sh] ...
insmod: /lib/modules/2.6.21: No such file or directory
Using /lib/modules/sw_tcpip.ko
insmod: cannot insert `/lib/modules/sw_tcpip.ko': Invalid parameters (17): Invalid argument
It is the DHCP mod start!!
DHCP client on WAN(eth2.2) CloneMAC() ...
wireless_event_receive: Malformed netlink message: len=260 left=256 plen=244
start LLD2D ...
[/etc/templates/lld2d.sh] ...
[/var/run/lld2d_start.sh] ...
Start LLD2 daemon ...
start Neaps ...
[/etc/templates/neaps.sh] start ...
[/var/run/neaps_start.sh] ...
Start Neap Server ...
start igmpproxy ...
[/etc/templates/igmpproxy.sh] start ...
[/var/run/igmpproxy_stop.sh] ...
Stop IGMP proxy ...
[/etc/templates/igmpproxy_helper.sh] flush ...
[/var/run/igmpproxy_helper.sh] ...
[/etc/templates/rg.sh] misc ...
[/var/run/rg_misc.sh] ...
[/var/run/igmpproxy_start.sh] ...
Start IGMP proxy ...
Change the STATUS LED...
Starting pid 1403, console /dev/tts/1: '/bin/sh'


BusyBox v1.00 (2008.12.12-02:14+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.

Re: support for DLINK DIR-615 Hw:D1

For those interested:
DIR-615 Hw:D1 FCC ID: KA2DIR605B1
and GPL source code is available at: ftp://ftp.dlink.com/GPL/DIR-615_revD/

As the post by pascalbaerten above and http://www.fcc.gov/oet/ea/fccid/ shows, the device is Ralink based.

Re: support for DLINK DIR-615 Hw:D1

Hi,

I just bought an 615 D1 to be used as repeater (as it has AP) ... wrong number :-(

Any plan in the near futur for it?

Re: support for DLINK DIR-615 Hw:D1

The boot log looks like that of the Airlink AR680W router.

Re: support for DLINK DIR-615 Hw:D1

any news on this?

Re: support for DLINK DIR-615 Hw:D1

Still hope for this box to run openwrt in a not too distant future ?

Stock firmware allow telnet access from any lan port:

username: Alphanetworks
password: wrgn22_dlwbr_dir615

Re: support for DLINK DIR-615 Hw:D1

Well, I'm close enough.

I got it to this point, but after that it freezes.

 The CPU feqenuce set to 384 MHz                                                                                                                                            
CPU revision is: 0001964c                                                                                                                                                   
Determined physical RAM map:                                                                                                                                                
 memory: 02000000 @ 00000000 (usable)                                                                                                                                       
Built 1 zonelists.  Total pages: 8128                                                                                                                                       
Kernel command line: console=ttyS1,57600n8 root=/dev/mtdblock1 init=/etc/preinit                                                                                            
Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.                                                                                                
Primary data cache 16kB, 4-way, linesize 32 bytes.                                                                                                                          
Synthesized TLB refill handler (20 instructions).                                                                                                                           
Synthesized TLB load handler fastpath (32 instructions).                                                                                                                    
Synthesized TLB store handler fastpath (32 instructions).                                                                                                                   
Synthesized TLB modify handler fastpath (31 instructions).                                                                                                                  
Cache parity protection disabled                                                                                                                                            
arch_init_irq: cause = 10800060, status = 1100ff00                                                                                                                          
PID hash table entries: 128 (order: 7, 512 bytes)                                                                                                                           
mips_time_init: calculating r4koff ... 0x00177000 (1536000)                                                                                                                 
CPU frequency 384.00 MHz                                                                                                                                                    
Using 192.000 MHz high precision timer.                                                                                                                                     
Console: colour dummy device 80x25                                                                                                                                          
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)                                                                                                               
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)                                                                                                                 
Memory: 29472k/32768k available (2213k kernel code, 3296k reserved, 486k data, 116k init, 0k highmem)                                                                       
Mount-cache hash table entries: 512                                                                                                                                         
NET: Registered protocol family 16                                                                                                                                          
Time: MIPS clocksource has been installed.                                                                                                                                  
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                                                                                                                                                         
squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher                                                                                                                       
squashfs: LZMA suppport for slax.org by jro
io scheduler noop registered
io scheduler deadline registered (default)
FLASH_API: MAN_ID=1 DEV_ID=22F9 SIZE=4MB
rt3052 access driver initialization.
Ralink gpio driver initialized
HDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096
N_HDLC line discipline registered.
Serial: 8250/16550 driver $Revision: 1.3 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A
ra2880_read_mac: 00:00:00:00:00:00
ra2880_read_mac: 00:00:00:00:00:00
Ralink APSoC Ethernet Driver Initilization. v1.60  256 rx/tx descriptors allocated, mtu = 1600!
NAPI enable, weight = 0, Tx Ring = 256, Rx Ring = 256
ra2880_read_mac: 00:00:00:00:00:00
ra2880_read_mac: 00:00:00:00:00:00
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
elbox physmap platform flash device: 00400000 at bfc00000
elbox-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
elbox-flash.0: Packimg tag not found 110000
elbox-flash.0: Packimg tag not found 120000
Tag found: 71736873
elbox-flash.0: squashfs filesystem found at offset 1245184
Creating 8 MTD partitions on "elbox-flash.0":
0x00130020-0x001e7020 : "rootfs"
0x00050000-0x003f0000 : "upgrade"
0x00040000-0x00050000 : "devconf"
0x00030000-0x00040000 : "devdata"
0x003f0000-0x00400000 : "langpack"
0x00000000-0x00400000 : "flash"
0x00000000-0x00030000 : "u-boot"
0x00030000-0x00038000 : "boot env"
ip_conntrack version 2.4 (256 buckets, 2048 max) - 220 bytes per conntrack
ip_conntrack_pptp version 3.1 loaded
ip_nat_pptp version 3.0 loaded
ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Linux
ipt_time loading
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 116k freed
Warning: unable to open an initial console.
Algorithmics/MIPS FPU Emulator v1.5
- preinit -
Press CTRL-C for failsafe
- init -

8 (edited by GrosQuicK 2009-09-24 12:04:12)

Re: support for DLINK DIR-615 Hw:D1

Hi,

We are working on DIR-300 rev B1 support.
This revision got the same chipset (with Dlink-615)

I used openwrt-ramips-uImage-initramfs.bin

Would it be possible to share our .config? I have uploaded mine at http://olecam.online.fr/dir-300-b2/rt305x.config
I did not change anything in kernel_menuconfig.

Actually, my DIR-300/B1 just boots fine, but I'm still not able to get networking enabled.

Could you please provide me with your .config?

Here is my bootup log:

Automatic boot of image at addr 0x80800000 ...
## Booting image at 80800000 ...
   Image Name:   MIPS OpenWrt Linux-2.6.30.7
   Created:      2009-09-22   8:49:49 UTC

 System Control Status = 0x03400000
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    2154665 Bytes =  2.1 MB
   Load Address: 80000000
   Entry Point:  80000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.30.7 (olecam@getafix) (gcc version 4.1.2) #3 Tue Sep 22 10:49:
44 CEST 2009
console [early0] enabled
CPU revision is: 0001964c (MIPS 24Kc)
Ralink RT3052   id:1 rev:2 running at 320.00 MHz
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
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=ttyS1,57600 rootfstype=squashfs,jffs2
Primary instruction cache 16kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
Writing ErrCtl register=0006c8ff
Readback ErrCtl register=0006c8ff
NR_IRQS:48
PID hash table entries: 128 (order: 7, 512 bytes)
console handover: boot [early0] -> real [ttyS1]
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 28856k/32768k available (1697k kernel code, 3912k reserved, 365k data, 1
476k init, 0k highmem)
SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 212.99 BogoMIPS (lpj=1064960)
Mount-cache hash table entries: 512
net_namespace: 528 bytes
NET: Registered protocol family 16
MIPS: machine is Generic Ralink board
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
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 56
alg: No test for lzma (lzma-generic)
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x10000500 (irq = 13) is a 16550A
serial8250: ttyS1 at MMIO 0x10000c00 (irq = 20) is a 16550A
TCP westwood registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
Freeing unused kernel memory: 1476k freed
- preinit -
Press CTRL-C for failsafe

Please press Enter to activate this console. PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (512 buckets, 2048 max)

Thanks in anticipation.

--
Gq

Re: support for DLINK DIR-615 Hw:D1

There is basic support for the Ralink RT3050/3052 SoCs in trunk, though the ethernet driver, wireless driver, and USB driver are not present.

ramips support in trunk is using a 2.6.30 kernel and unfortunately I haven't been able to compile the ethernet or usb driver against it (Ralink SDK uses 2.6.21) though I'm working on it.

Re: support for DLINK DIR-615 Hw:D1

aport wrote:

ramips support in trunk is using a 2.6.30 kernel and unfortunately I haven't been able to compile the ethernet or usb driver against it (Ralink SDK uses 2.6.21) though I'm working on it.

I'm also working on that. I have a raether module compiled OK but there is still some symbols missing and the module doesn't load. I also compiled ra2880 (with the same symbols missing problem), but is this one helpful?

TBH, I'm not used with Kernel Hacking and I don't know really what drivers/modules are actually needed. Would it be possible to share our experience? Which drivers are mandatory in order to get ethernet supported?

Best regards,
--
Olivier

Re: support for DLINK DIR-615 Hw:D1

olecam wrote:
aport wrote:

ramips support in trunk is using a 2.6.30 kernel and unfortunately I haven't been able to compile the ethernet or usb driver against it (Ralink SDK uses 2.6.21) though I'm working on it.

I'm also working on that. I have a raether module compiled OK but there is still some symbols missing and the module doesn't load. I also compiled ra2880 (with the same symbols missing problem), but is this one helpful?

TBH, I'm not used with Kernel Hacking and I don't know really what drivers/modules are actually needed. Would it be possible to share our experience? Which drivers are mandatory in order to get ethernet supported?

Best regards,
--
Olivier

The symbols missing are probably from the ralink-flash mtd driver (ra_mtd_read and ra_mtd_write). The raeth module uses the ralink-flash driver to fetch the MAC address. I believe the wireless driver needs the same symbols.

Can you share your makefile for raeth? I'll make a patch to add the ralink-flash driver.

Re: support for DLINK DIR-615 Hw:D1

The symbols missing are probably from the ralink-flash mtd driver (ra_mtd_read and ra_mtd_write). The raeth module uses the ralink-flash driver to fetch the MAC address. I believe the wireless driver needs the same symbols.

Can you share your makefile for raeth? I'll make a patch to add the ralink-flash driver.

Actually, the missing symbol I have now here is just "get_surfboard_sysclk". But as I stated before, I'm a quite a newbie with kernel Hacking and there is probably some missing options around...

I don't know how to attach files on the forum, so I have uploaded the source with Makefiles here:
http://olecam.online.fr/dir-300-b2/raeth-olecam-1.tgz

To be uncompressed in the "package" directory. The raeth sources are straigh from the DIR-300-B1 GPL firmware. I have modified some parts of the code, all of them are marked with a comment containing "olecam".

13 (edited by aport 2009-10-09 02:05:17)

Re: support for DLINK DIR-615 Hw:D1

olecam wrote:

The symbols missing are probably from the ralink-flash mtd driver (ra_mtd_read and ra_mtd_write). The raeth module uses the ralink-flash driver to fetch the MAC address. I believe the wireless driver needs the same symbols.

Can you share your makefile for raeth? I'll make a patch to add the ralink-flash driver.

Actually, the missing symbol I have now here is just "get_surfboard_sysclk". But as I stated before, I'm a quite a newbie with kernel Hacking and there is probably some missing options around...

I don't know how to attach files on the forum, so I have uploaded the source with Makefiles here:
http://olecam.online.fr/dir-300-b2/raeth-olecam-1.tgz

To be uncompressed in the "package" directory. The raeth sources are straigh from the DIR-300-B1 GPL firmware. I have modified some parts of the code, all of them are marked with a comment containing "olecam".

get_surfboard_sysclock is from arch/mips/rt2880/time.c

Unfortunately that time.c is based on a very old arch/mips/kernel/time.c so it will need to be heavily modified to work with 2.6.30.

Re: support for DLINK DIR-615 Hw:D1

aport wrote:

get_surfboard_sysclock is from arch/mips/rt2880/time.c

Unfortunately that time.c is based on a very old arch/mips/kernel/time.c so it will need to be heavily modified to work with 2.6.30.

I can confirm that! I spent lots of time trying to deal with this. I have been able to make an rt2880 module with quick and dirty hacks but as it is build as a module, many kernel functions/symbols (which are not exported) are missing. Anyway, I ran for sure on the wrong way trying to make it as an 'external' module!

Even if I'm not a Kernel Guru, I still have some time to spend for. Could I do something in order help dealing with the time.c modifications or anything else? Actually, I would appreciate to have minimal instructions on how/where to start. After that, I hope I will be able to work by myself.

PS: In the meantime, I also played a bit with the fonera sources (for the fonera 2.0n unit) which is based on older kernel (2.6.21). I have been able to compile and I get my DIR-300 B1 flashed with it. Everything seems to work OK, but the rootfs is loaded in RAM and any mods on the filesystem are lost after a reboot.

Best regards,
--
Olivier

Re: support for DLINK DIR-615 Hw:D1

olecam wrote:
aport wrote:

get_surfboard_sysclock is from arch/mips/rt2880/time.c

Unfortunately that time.c is based on a very old arch/mips/kernel/time.c so it will need to be heavily modified to work with 2.6.30.

I can confirm that! I spent lots of time trying to deal with this. I have been able to make an rt2880 module with quick and dirty hacks but as it is build as a module, many kernel functions/symbols (which are not exported) are missing. Anyway, I ran for sure on the wrong way trying to make it as an 'external' module!

Even if I'm not a Kernel Guru, I still have some time to spend for. Could I do something in order help dealing with the time.c modifications or anything else? Actually, I would appreciate to have minimal instructions on how/where to start. After that, I hope I will be able to work by myself.

PS: In the meantime, I also played a bit with the fonera sources (for the fonera 2.0n unit) which is based on older kernel (2.6.21). I have been able to compile and I get my DIR-300 B1 flashed with it. Everything seems to work OK, but the rootfs is loaded in RAM and any mods on the filesystem are lost after a reboot.

Best regards,
--
Olivier

Yeah the fon sources are good. blogic did a great job with the ralink patch... it's a lot of stuff. Notice as well that the ra_eth driver in the fon sources is very different than the raeth driver you have. It's the same version I have in my Ralink SDK. Perhaps try building that module instead.

Re: support for DLINK DIR-615 Hw:D1

Can someone confirm that the fon-ng sources can be compiled to run on dlink dir-615 d1 ?

Re: support for DLINK DIR-615 Hw:D1

Hi -

Just to let you know that I have provided some small patches in order to get the fonera source compiling and working great with the DIR-300 rev B.

I'd like to thanks blogic who has done a fantastic job implementing the ralink drivers in fon. It was very easy to adapt his port for the DLink board, altouth I have spent a lot of time with a VLAN issue I reported before on the forum (I needed that for a specific application).

For some reason, the Wi-Fi driver shipped in fonera was not working with me in some situation: outgoing packets were lost somewhere in the nirvana with any 802.11n client. In addition, the front panel WLAN led was not working. By chance, I have been able to compile the driver available in the GPL source of the stock DLink firmware. If you face to any problems with wireless, feel free to give it a try (if so, take care to disable the ra_wifi package!).

I have provided an tgz including all the patches to be applyed to the fonera sources:
http://olecam.online.fr/dir-300-b/fon-dir300b1.tgz

You can step by step compile it kernel that way:
(see http://trac.fonosfera.org/fon-ng/wiki/build for more details)

$ svn co http://svn.fonosfera.org/fon-ng/trunk/
$ cd trunk
$ chmod +x install.sh
$ ./install.sh
$ tar xvfz fon-dir300b1.tgz
$ ./fon-dir300b1/install.sh  <-- this will install the packages and patches for the dir300 revB
$ cd openwrt
$ make menuconfig            <-- select DIR-300 as Target
$ make V=99

You can also get a pre-compiled (very minimalist) firmware here:
http://olecam.online.fr/dir-300-b/openwrt-dir300b1-squashfs.img

/!\ Take care not to include too much packages in your image. If the image size is over 3,8 MB, you will brick your router: there is no control and if the size is over to that limit it will overwrite some important things (trust me, I know what I am telling about!!)

HTH

Regards

Olivier

Re: support for DLINK DIR-615 Hw:D1

ooops, I forgot to include one patch which lets the raeth driver retrieving the router MAC address from the U-Boot env. variables.

Uploaded tgz and img are now up-to-date. Here are the md5sums:

87998397b6f3f7ed5199da7dc02fbf35  fon-dir300b1.tgz
08fcd4d390df57c4aa616e1406929f02  openwrt-dir300b1-squashfs.img

--
Olivier

19 (edited by jpp 2009-12-13 01:47:15)

Re: support for DLINK DIR-615 Hw:D1

Hi all,

Olivier, I want thank you very much for your effort! I had dd-wrt previously running on my DIR-615 rev D1. From dd-wrt, I've been able to successfully flash the router with your firmware. However, I'm afraid that may have been a bit reckless on my part...

The new firmware boots, hands out dhcp addresses, and the wireless works. It replies to pings on 192.168.1.1, and it generally appears to work fine. Except for one detail: I can't seem to log on the router. The web interface doesn't respond. Telnet and ssh appear to be dead also. When you said it was a very minimalistic image, did you mean it didn't have any remote access daemon? Or did anything went wrong when I flashed the router?

My question is basically this: is there any way to recover this router? Is using tftp a possibility? I've tried the usual methods of trying to connect to 192.168.1.1 through tftp, while the router is booting. Unfortunately, I had no luck with this approach. I also tried listening on udp port 4919 to see if openwrt rescue mode was available. I didn't receive any message on that port.

I'm not familiar with the process of building serial cables and adding serial ports to the router, but if that's the only way, would you kindly provide some reference?

Thank you.

JP

edit: Probably *everyone* knows this, but I'll leave the information as a reference to some newbie user that finds (him|her)self on my situation. I was able to restore Dlink's original firmware through "Emergency Room".

The procedure is the following:
use an ethernet cable to connect to a lan port on the switch;
set the ethernet port ip to 192.168.0.2;
disconnect the router's power cable;
press the reset button and keep pressing it;
connect the router's power cable;
wait about 20 seconds with the reset button still pressed; the power light should be orange and blinking;
release the reset button;
use a browser and go to http://192.168.0.1;
upload one of dlink's original images.

Please note that even though the emergency webserver will be listening at 192.168.0.1, the router won't respond to pings.

Re: support for DLINK DIR-615 Hw:D1

jpp wrote:

Olivier, I want thank you very much for your effort! I had dd-wrt previously running on my DIR-615 rev D1. From dd-wrt, I've been able to successfully flash the router with your firmware. However, I'm afraid that may have been a bit reckless on my part...

The new firmware boots, hands out dhcp addresses, and the wireless works. It replies to pings on 192.168.1.1, and it generally appears to work fine. Except for one detail: I can't seem to log on the router. The web interface doesn't respond. Telnet and ssh appear to be dead also. When you said it was a very minimalistic image, did you mean it didn't have any remote access daemon? Or did anything went wrong when I flashed the router?

Sorry for the delay in replying. Yes I'm afraid I didn't take care to integrate a telnet server. All of my tests with this image were done through a serial console wired to the router. The firmware image I have provided is definitively too minimalistic! sad

Anyway if you plan to give it again a try, you can compile it by yourself. Following the few steps described in my previous post this should be straighforward.

I have detected some minor problems since I have posted the firmware here, so feel free to ask if you face to any problems. I'll be glad to share my modest experience.

Regards,
--
Olivier

21

Re: support for DLINK DIR-615 Hw:D1

Thank you, Olivier.

When I have a little time, I'll give it a shot. I've built OpenWrt in the past a couple of times, so it shouldn't be too much of a hassle smile

Regards,
JP

22 (edited by jpp 2010-01-08 21:35:21)

Re: support for DLINK DIR-615 Hw:D1

Hi all,

So, I finally decided to recompile the image. Everything appeared to work well. I was careful enough to enable the ssh server (dropbear), and the telnet server.

To load openwrt, I first flashed the router with a dd-wrt image, and then flashed the openwrt image with the mtd tool. The router boots, and responds to pings. But the problem remains: there is no way to access it through the network. Both telnet and ssh ports are closed. Is this because we are using the Fon sources, and maybe all remote access daemons are shutdown by default? I don't have any experience with the Fon firmware at all.

How can we enable (at least) the telnet daemon when creating the image?

Thanks.

JP

Re: support for DLINK DIR-615 Hw:D1

Hi -

jpp wrote:

How can we enable (at least) the telnet daemon when creating the image?

There is probably something to do for having telnet responding but I don't have any router under hand at this time to take a look at the init sequence, sorry.

For my personnal needs I actually have dropbear (the one from "Base system") selected in menuconfig. I also have a custom "passwd" file with a password defined for root in. This file is located in ~/trunk/openwrt/files/etc/ in order to get the original /etc/passwd file replaced by mine in the image. That way I can SSH to the router straight after flashing.

HTH

--
Olivier

24 (edited by jpp 2010-01-09 13:58:35)

Re: support for DLINK DIR-615 Hw:D1

Hi!

olecam wrote:

Hi -


For my personnal needs I actually have dropbear (the one from "Base system") selected in menuconfig. I also have a custom "passwd" file with a password defined for root in. This file is located in ~/trunk/openwrt/files/etc/ in order to get the original /etc/passwd file replaced by mine in the image. That way I can SSH to the router straight after flashing.

Ok, thanks! Did that, and now I can access the router smile

Would it be too hard to integrate the changes of the Fon kernel back in OpenWRT? Is the patchset large and/or would it break many things?

Thanks for everything.

JP

Re: support for DLINK DIR-615 Hw:D1

Hi, pascalbaerten

How to connect the 5 pin header in DLINK DIR-615. Which pin is Tx, Rx and GND?