D-Link DIR-615 rev A1
D-Link DIR-615 A1
Availability: common
Manuf (OEM/ODM): Cameo
FCC approval date: 14 February 2007
Country of manuf.: China
Type: wireless router
FCC ID: KA2DIR615A1
IC ID: 4216A-IR615
Power: 5 VDC, 3 A
Connector type: barrel
Conn. measurements: 5.5 mm (OD), 2.2 mm (ID), 10 mm (LEN)
CPU1: Marvell 88F5180NB1 (500 MHz)
FLA1: 8 MiB8,388,608 B <br />65,536 Kib <br />8,192 KiB <br />64 Mib <br />0.00781 GiB <br /> (Intel JS28F640J3D75)
RAM1: 32 MiB33,554,432 B <br />262,144 Kib <br />32,768 KiB <br />256 Mib <br />0.0313 GiB <br /> (PSC A2S28D40CTP-G5 × 2)
Expansion IFs: Mini PCI
Mini PCI slots: 1
Serial: yes, internal, 4-pin header, (115200,8,N,1), unpopulated, 3.3V TTL
WI1 module: Cameo WLN-1307
WI1 module IF: Mini PCI
WI1 chip1: Marvell 88W8361P
WI1 chip2: Marvell 88W8060
WI1 802dot11 protocols: bgn
WI1 MIMO config: 2x3:2
WI1 antenna connector: U.FL, RP-SMA
ETH chip1: Marvell 88F5180NB1
Switch: Marvell 88E6061
LAN speed: 100M
LAN ports: 4
WAN speed: 100M
WAN ports: 1
bgn
Stock bootloader: U-Boot 1.1.1 vendor modified
Stock FW OS: Linux 2.4.27 -vrs1
Flags: boot log
Default SSID: dlink (38 addl. devices)
, MarvellAP8x
Default IP address: 192.168.0.1
the IP 192.168.0.1 is used by 785 additional devices
of which 220 are D-Link devices
Default login user: admin
Default login password: blank
admin:blank credentials used by 344 additional devices
of which 180 are D-Link devices
802dot11 OUI: 00:1B:11 (7 E, 16 W), 00:1C:F0 (12 E, 19 W), 00:1E:58 (11 E, 12 W)
Ethernet OUI: 00:1B:11 (7 E, 16 W), 00:1C:F0 (12 E, 19 W), 00:1E:58 (11 E, 12 W)
FCC ID | |
---|---|
Cameo WLN-1307 | KA2DIR615A1 |
CPU1 brand | WI1 chip1 brand | WI1 chip2 brand | |
---|---|---|---|
D-Link DIR-615 rev A1 | Marvell | Marvell | Marvell |
D-Link DIR-615 rev B2 | Ubicom | Atheros | Atheros |
D-Link DIR-615 rev C1 | Atheros | Atheros | Atheros |
D-Link DIR-615 rev D | Ralink | Ralink | |
D-Link DIR-615 rev E1 | Atheros | Atheros | |
D-Link DIR-615 rev E3 / E4 | Atheros | Atheros | |
D-Link DIR-615 rev E5 | Atheros | Atheros | |
D-Link DIR-615 rev F3 | Realtek | Realtek | |
D-Link DIR-615 rev G1 | Ralink | Ralink | |
D-Link DIR-615 rev H1 | Ralink | Ralink | |
D-Link DIR-615 rev I1 | Atheros | Atheros | |
D-Link DIR-615 rev I3 | Atheros | Atheros | |
D-Link DIR-615 rev K1 | Broadcom | Broadcom | |
D-Link DIR-615 rev K2 | Broadcom | Broadcom | |
D-Link DIR-615 rev M1 | Realtek | Realtek | |
D-Link DIR-615 rev N1 | Realtek | Realtek | |
D-Link DIR-615 rev Q2 | Realtek | Realtek | |
D-Link DIR-615 rev R1 | Broadcom | Broadcom | |
D-Link DIR-615 rev S1 | Realtek | Realtek | |
D-Link DIR-615 rev T1 | Realtek | Realtek | |
D-Link DIR-615 rev T3 | Realtek | Realtek | |
D-Link DIR-615 rev X1 | Realtek | Realtek | |
D-Link DIR-615S rev A1 | Realtek | Realtek |
For a list of all currently documented Marvell chipsets with specifications, see Marvell.
"21514DR635B11A1" and "DIR-635B1 VER:A1" is silkscreened on the board.
The wireless module has PCI ID: 11ab:2a02 (07d1:3b02).
Blogs
See also Warner's Random Hacking Blog here and here
- (boot log, there is a serial port under the internal antenna).
This board has been assigned ARM Linux Board ID# 4262.
To recover a soft-bricked unit without use of the serial console..
- Under Linux,
curl -0F files=@dir615_firmware_110.bin http://192.168.0.1/cgi/index
When booting, the AP assumes the SSID of MarvellAP8x.
- The default SSID is dlink.
Serial
The pinout for the serial connection is labelled on the board's silkscreen.
Logs + info dump
• boot log from a non-working unit |
---|
U-Boot 1.1.1 (Jan 19 2007 - 11:08:07) CAMEO uBoot Linux Loader version: 1.3.0.0 DRAM CS[0] base 0x00000000 size 32MB DRAM Total size 32MB before entry mvFlashInit Flash: flashStructGet manu 0x89 id 0x17 INTEL 28F640J3A (64 Mbit) Size: 8 MB,Bus Width: 1, device Width: 1. Flash base: 0xff800000,Number of Sectors: 64 Type: REGULAR. Sector Start Addresses: 00000000 00020000 00040000 00060000 00080000 000a0000 000c0000 000e0000 00100000 00120000 00140000 00160000 00180000 001a0000 001c0000 001e0000 00200000 00220000 00240000 00260000 00280000 002a0000 002c0000 002e0000 00300000 00320000 00340000 00360000 00380000 003a0000 003c0000 003e0000 00400000 00420000 00440000 00460000 00480000 004a0000 004c0000 004e0000 00500000 00520000 00540000 00560000 00580000 005a0000 005c0000 005e0000 00600000 00620000 00640000 00660000 00680000 006a0000 006c0000 006e0000 00700000 00720000 00740000 00760000 (RO) 00780000 (RO) 007a0000 (RO) 007c0000 (RO) 007e0000 (RO) [8192kB@ff800000] Flash: 8 MB Addresses 20M - 0M are saved for the U-Boot usage. Mem malloc Initialization (20M - 16M): Done *** Warning - bad CRC, using default environment Soc: 88F5181 B1 CPU: ARM926 (Rev 0) running @ 500Mhz SysClock = 166Mhz , TClock = 166Mhz USB 0: host mode PCI 0: PCI Express Root Complex Interface PCI 1: Conventional PCI, speed = 33000000 Net: egiga0 [PRIME] Hit any key to stop autoboot: 0 ### JFFS2 loading 'uImage' to 0x400000 Scanning JFFS2 FS: ..... done. ### JFFS2 load complete: 1099492 bytes loaded to 0x400000 ## Booting image at 00400000 ... Image Name: Linux-2.4.27-vrs1 Created: 2007-07-26 6:29:23 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1099428 Bytes = 1 MB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK OK Starting kernel ... Uncompressing Linux...done, booting the kernel. ZLinux version 2.4.27-vrs1 (root@localhost.localdomain) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-1)) #2 Thu Jul 26 14:28:55 CST 2007 CPU: ARM926EJ-Sid(wb) revision 0 Machine: MV-88fxx81 Using UBoot passing parameters structure Sys Clk = 166000000, Tclk = 166000000 - Warning - This LSP release was tested only with U-Boot release 1.7.0 On node 0 totalpages: 8192 zone(0): 8192 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: console=ttyS0,115200 mtdparts=phys_mapped_flash:6m(root),1m@6m(nvram), 1m@7m(uboot)ro root=/dev/mtdblock1 rw ip=192.168.0.1:192.168.0.100:::DB88FXX81:eth0:none Calibrating delay loop... 331.77 BogoMIPS Memory: 32MB 0MB 0MB 0MB = 32MB total Memory: 29884KB available (2034K code, 366K data, 88K init) Dentry cache hash table entries: 4096 (order: 3, 32768 bytes) Inode cache hash table entries: 2048 (order: 2, 16384 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 8192 (order: 3, 32768 bytes) CPU: Testing write buffer: pass POSIX conformance testing by UNIFIX init hw started. CPU Interface ------------- SDRAM_CS0 ....base 00000000, size 32MB SDRAM_CS1 ....disable SDRAM_CS2 ....disable SDRAM_CS3 ....disable PEX0_MEM ....base e0000000, size 128MB PEX0_IO ....base f2000000, size 1MB PCI0_MEM ....base e8000000, size 128MB PCI0_IO ....base f2100000, size 1MB INTER_REGS ....base f1000000, size 1MB DEVICE_CS0 ....no such DEVICE_CS1 ....no such DEVICE_CS2 ....no such DEV_BOOCS ....base f4000000, size 16MB PCI: bus0: Fast back to back transfers enabled HW already initialized. PCI: bus1: Fast back to back transfers enabled Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket bankwidth 1, base f4000000, size 1000000 Marvell Development Board (LSP Version 0.0.102)-- RD-88F5181L-VOIP-FE Detected Tclk 166000000 and SysClk 166000000 Starting kswapd Journalled Block Device driver loaded NTFS driver v1.1.22 [Flags: R/O] JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB. pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0xf1012000 (irq = 3) is a 16550A HDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096 N_HDLC line discipline registered. Marvell Gigabit Ethernet Driver 'egiga': o Ethernet descriptors in DRAM o DRAM SW cache-coherency o Loading network interface o Using switch header mode qdInit qdStart: CPU port 0x5 Switch driver initialized Can't get netConfig: Use default UNM is not initialized yet 2 VLANs created: CpuPortMask = 0x1f vid=0: DISABLED(0), portMask=0x7c0, portNum=5 vid=1: VLAN_1, portMask=0x10, portNum=1 vid=2: VLAN_2, portMask=0x0f, portNum=4 vid=12: ISOLATED(12), portMask=0x00, portNum=0 Port - Vlan 0 - VLAN_2 1 - VLAN_2 2 - VLAN_2 3 - VLAN_2 4 - VLAN_1 5 - VLAN_ALL load virtual interface vid = 1 register if with name Init the hal : Ilegal MTU value 1500, rounding MTU to: 1506 if eth0 registered load virtual interface vid = 2 register if with name if eth1 registered PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered SCSI subsystem driver Revision: 1.00 physmap flash device: 1000000 at f4000000 cfi_cmdset_0001: Erase suspend on write enabled Using buffer write method Using command line partition definition Creating 3 MTD partitions on "Physically mapped flash": 0x00000000-0x00600000 : "root" 0x00600000-0x00700000 : "nvram" 0x00700000-0x00800000 : "uboot" usb.c: registered new driver hub EHCI Marvell Init ehci_marvell_probe: driver=c01ecc40 hcd allocated: marvell_hcd=c02ee664 mv_ehci_0: IRQ=17, Regs=f1050100 mv_ehci - Bus allocated: bus=c035a1e0 usb.c: new USB bus registered, assigned bus number 1 mv_ehci - Bus registered: bus=c035a1e0 ehci_hcd <NULL>: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4 hub.c: USB hub found ehci_hub_descriptor: hcs_params=0x10011, ports=1, Characteristics=0x0089 hub.c: 1 port detected mv_ehci - Started host/usb-uhci.c: $Revision: 1.1.1.1 $ time 14:28:59 Jul 26 2007 host/usb-uhci.c: High bandwidth mode enabled host/usb-uhci.c: v1.275:USB Universal Host Controller Interface driver usb.c: registered new driver hiddev usb.c: registered new driver hid hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz> hid-core.c: USB HID support drivers pegasus.c: v0.4.32 (2003/06/06):Pegasus/Pegasus II USB Ethernet driver usb.c: registered new driver pegasus rtl8150.c: rtl8150 based usb-ethernet driver v0.4.3 (2002/12/31) usb.c: registered new driver rtl8150 Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. Initializing Cryptographic API NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 2048 bind 4096) GRE over IPv4 tunneling driver Linux IP multicast router 0.06 plus PIM-SM vid = 1 mvBindings[priv->vid]->header[0] = 24 IP-Config: Guessing netmask 255.255.255.0 IP-Config: Complete: device=eth0, addr=192.168.0.1, mask=255.255.255.0, gw=255.255.255.255, host=DB88FXX81, domain=, nis-domain=(none), bootserver=192.168.0.100, rootserver=192.168.0.100, rootpath= ip_conntrack version 2.1 (256 buckets, 2048 max) - 308 bytes per conntrack ip_conntrack_rtsp v0.01 loading ip_nat_rtsp v0.01 loading ip_conntrack_pptp version 1.9 loaded ip_nat_pptp version 1.5 loaded ip_tables: (C) 2000-2002 Netfilter core team ipt_time loading NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NET4: Ethernet Bridge 008 for NET4.0 Fast Floating Point Emulator V0.94M by Peter Teichmann. cramfs: wrong magic FAT: bogus logical sector size 34276 UMSDOS: msdos_read_super failed, mount aborted. FAT: bogus logical sector size 34276 FAT: bogus logical sector size 34276 CLEANMARKER node found at 0x00010000, not first node in block (0x00000000) CLEANMARKER node found at 0x00030000, not first node in block (0x00020000) CLEANMARKER node found at 0x00050000, not first node in block (0x00040000) CLEANMARKER node found at 0x00070000, not first node in block (0x00060000) CLEANMARKER node found at 0x00090000, not first node in block (0x00080000) CLEANMARKER node found at 0x000b0000, not first node in block (0x000a0000) CLEANMARKER node found at 0x000d0000, not first node in block (0x000c0000) CLEANMARKER node found at 0x000f0000, not first node in block (0x000e0000) CLEANMARKER node found at 0x00110000, not first node in block (0x00100000) CLEANMARKER node found at 0x00130000, not first node in block (0x00120000) CLEANMARKER node found at 0x00150000, not first node in block (0x00140000) CLEANMARKER node found at 0x00170000, not first node in block (0x00160000) CLEANMARKER node found at 0x00190000, not first node in block (0x00180000) CLEANMARKER node found at 0x001b0000, not first node in block (0x001a0000) CLEANMARKER node found at 0x001d0000, not first node in block (0x001c0000) CLEANMARKER node found at 0x001f0000, not first node in block (0x001e0000) CLEANMARKER node found at 0x00210000, not first node in block (0x00200000) CLEANMARKER node found at 0x00230000, not first node in block (0x00220000) CLEANMARKER node found at 0x00250000, not first node in block (0x00240000) CLEANMARKER node found at 0x00270000, not first node in block (0x00260000) CLEANMARKER node found at 0x00290000, not first node in block (0x00280000) CLEANMARKER node found at 0x002b0000, not first node in block (0x002a0000) CLEANMARKER node found at 0x002d0000, not first node in block (0x002c0000) CLEANMARKER node found at 0x002f0000, not first node in block (0x002e0000) CLEANMARKER node found at 0x00310000, not first node in block (0x00300000) CLEANMARKER node found at 0x00330000, not first node in block (0x00320000) CLEANMARKER node found at 0x00350000, not first node in block (0x00340000) CLEANMARKER node found at 0x00370000, not first node in block (0x00360000) CLEANMARKER node found at 0x00390000, not first node in block (0x00380000) CLEANMARKER node found at 0x003b0000, not first node in block (0x003a0000) CLEANMARKER node found at 0x003d0000, not first node in block (0x003c0000) CLEANMARKER node found at 0x003f0000, not first node in block (0x003e0000) CLEANMARKER node found at 0x00410000, not first node in block (0x00400000) CLEANMARKER node found at 0x00430000, not first node in block (0x00420000) CLEANMARKER node found at 0x00450000, not first node in block (0x00440000) VFS: Mounted root (jffs2 filesystem). Freeing init memory: 88K 8ZZZZ BusyBox v1.1.0 (2007.07.26-06:29+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. / # pc : [<40146968>] lr : [<400ca0b8>] Not tainted sp : befaf8a0 ip : 00000001 fp : 40079bf8 r10: 00000003 r9 : 40079bb8 r8 : 00050500 r7 : befb4cc7 r6 : 00026740 r5 : befb4cc6 r4 : 00026744 r3 : 00000072 r2 : 00000004 r1 : 00026741 r0 : 400ca0b7 Flags: nzCv IRQs on FIQs on Mode USER_32 Segment user Control: A005317F Table: 01DF0000 DAC: 00000015 cat /proc/version/proc # cat version Linux version 2.4.27-vrs1 (root@localhost.localdomain) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-1)) #2 Thu Jul 26 14:28:55 CST 2007 cat /proc/mtd/proc # cat mtd dev: size erasesize name mtd0: 00800000 00020000 "Physically mapped flash" mtd1: 00600000 00020000 "root" mtd2: 00100000 00020000 "nvram" mtd3: 00100000 00020000 "uboot" lsmod/ # lsmod Module Size Used by Tainted: P ap8x 775272 1 gpio 1184 4 netstat -l/ # netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:80 *:* LISTEN udp 0 0 *:67 *:* udp 0 0 *:69 *:* udp 0 0 *:2003 *:* Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path ps/ # ps PID Uid VmSize Stat Command 1 0 548 S init 2 0 SW [keventd] 3 0 SWN [ksoftirqd_CPU0] 4 0 SW [kswapd] 5 0 SW [bdflush] 6 0 SW [kupdated] 7 0 SW [mtdblockd] 8 0 SW [khubd] 9 0 SWN [jffs2_gcd_mtd1] 14 0 1376 S rc init 16 0 788 S /bin/sh 49 0 548 S syslogd 54 0 536 S klogd 57 0 448 S httpd 59 0 404 S wcnd 61 0 868 S dcc 67 0 452 S lld2d br0 74 0 988 S wanmonitor 96 0 388 S /sbin/gpio SYSTEM check 98 0 372 S /sbin/gpio STATUS_LED blink 100 0 932 S /sbin/gpio TC on 102 0 420 S gpio WLAN_LED blink 122 0 352 S tftpd 128 0 392 S wantimer 146 0 508 S udhcpc -i eth0 -H DIR-615 -s /usr/share/udhcpc/defaul 160 0 1080 S udhcpd 482 0 640 R ps |
bootloader stuff
• help |
---|
Marvell>> ? ? - alias for 'help' FSdel - del a file from the Flash MV FS FSdir - ls the Flash MV FS FSformat- format the Flash MV FS FSlef - Load an exe file to the Flash MV FS FSlf - Load a file to the Flash MV FS FSrun - Load an exe file from the Flash MV FS and run it FStftp - tftp a file to the Flash MV FS FStftpe - tftp an exe file to the Flash MV FS FStype - cat file from the Flash MV FS base - print or set address offset boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootelf - Boot from an ELF image in memory bootext2 dev:boot_part1,boot_part2 addr boot_image linux_dev_name bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol bootvx - Boot vxWorks from an ELF image bubt - Burn an image on the Boot Flash. chpart - change active partition cmp - memory compare cmpm - Compare Memory cp - memory copy cpumap - Display CPU memory mapping settings. crc32 - checksum calculation date - get/set/reset date & time dclk - Display the MV device CLKs. ddimm - Display SPD Dimm Info dhcp - invoke DHCP client to obtain IP/boot params diskboot- boot from IDE device dma - Perform DMA echo - echo args to console eeprom - EEPROM sub-system erase - erase FLASH memory ext2load- load binary file from a Ext2 filesystem ext2ls- list files in a directory (default /) fi - Find value in the memory. flinfo - print FLASH memory information fsinfo - print information about filesystems fsload - load binary file from a filesystem image g - start application at cached address 'addr'(default addr 0x40000) go - start application at address 'addr' help - print online help icrc32 - checksum calculation ide - IDE sub-system iloop - infinite loop on address range imd - i2c memory display imm - i2c memory modify (auto-incrementing) imw - memory write (fill) inm - memory modify (constant address) iprobe - probe to discover valid I2C chip addresses ir - reading and changing MV internal register values. ln - Load S-Record executable file through the network interface. loop - infinite loop on address range ls - list files in a directory (default /) map - Diasplay address decode windows md - memory display me - PCI master enable mm - memory modify (auto-incrementing) mp - map PCI BAR mtest - simple RAM test mw - memory write (fill) nm - memory modify (constant address) pci - list and access PCI Configuraton Space phyRead - Read Phy register phyWrite - Write Phy register ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection rarpboot- boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU resetenv - Return all environment variable to default. run - run commands in an environment variable saveenv - save environment variables to persistent storage se - PCI Slave enable setenv - set environment variables sg - scanning the PHYs status sleep - delay execution for some time sp - Scan PCI bus. tftpboot- boot image via network using TFTP protocol version - print monitor version |
• environment variables |
---|
Marvell>> printenv bootargs=console=ttyS0,115200 mtdparts=phys_mapped_flash:6m(root),1m@6m(nvram),1m@7m(uboot)ro bootcmd=fsload 0x400000 $(image_name);setenv bootargs $(bootargs) root=/dev/mtdblock1 rw ip=$(ipaddr):$(serverip)$(bootargs_end); bootm 0x400000; baudrate=115200 loads_echo=0 ipaddr=192.168.0.1 serverip=192.168.0.100 rootpath=/mnt/ARM_FS/ stdin=serial stdout=serial stderr=serial cpuName=926 CASset=min enaMonExt=no enaFlashBuf=yes enaCpuStream=no MALLOC_len=4 ethprime=egiga0 bootargs_root=root=/dev/nfs rw bootargs_end=:::DB88FXX81:eth0:none image_name=uImage standalone=fsload 0x400000 $(image_name);setenv bootargs $(bootargs) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end); bootm 0x400000; bootdelay=3 disaMvPnp=no ethaddr=00:00:00:00:51:81 overEthAddr=no usb0Mode=host ethact=egiga0 Environment size: 799/40956 bytes |
Images