DAP-1305: http://www.dlink.ca/products/?pid=753
First of all, the DAP-1305 is meant for people who travel a lot.. even has a faux-leather travelling case, USB to DC-AC adapter, USB-A to USB-A for power and host (..untested).
The device has a small "mode" switch, AP/RT/CL, for Access point (bridge), Router or Client.
I got this device a little while ago to work around some of the current limitations of OpenBSD's 802.11 stack, mainly, HostAP support is incomplete and a lot of portable devices don't play well with it.. due to lack of Wifi power saving features.
While unpacking it a GPL notice slip fell out, I had hoped there was already some sort of community support for custom firmware on this particular device from 2010.. however, all that exists is two source tarballs on dlinks ftp server.
I spent a few days installing a distribution of Linux on my laptop to sort through the source dump and try to see if it included everything needed to build a firmware. The good news is, yes, it does. Unfortunately a lot of modifications are needed to get the build system to play nice, it assumes root permissions.. and bails trying to build the bundled applications.
The really good news is it includes a copy of the rootfs image as a tarball, all firmware modules (..blobs/cgi/http docs) are in the image, and the included kernel does compile.
Once I extracted that, I had to modify a few build scripts, fix up permissions and create a suitable image that can be flashed via the HTTP interface.
So far all I've changed on the firmware other than the kernel is rc.d/rcS (..to start telnetd), add a few iptables rules and add a dmesg binary so I could include it with my post:
<5>Linux version 2.6.21 (brynet@xxxx) (gcc version 3.4.2) #423 Thu Sep 8 19:35:30 EDT 2011
<4>
<4> The CPU feqenuce set to 384 MHz
<4>CPU revision is: 0001964c
<4>Determined physical RAM map:
<4> memory: 02000000 @ 00000000 (usable)
<7>On node 0 totalpages: 8192
<7> DMA zone: 64 pages used for memmap
<7> DMA zone: 0 pages reserved
<7> DMA zone: 8128 pages, LIFO batch:0
<7> Normal zone: 0 pages used for memmap
<4>Built 1 zonelists. Total pages: 8128
<5>Kernel command line: console=ttyS1,115200 root=/dev/mtdblock5 init=/sbin/init
<4>Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.
<4>Primary data cache 16kB, 4-way, linesize 32 bytes.
<6>Synthesized TLB refill handler (20 instructions).
<6>Synthesized TLB load handler fastpath (32 instructions).
<6>Synthesized TLB store handler fastpath (32 instructions).
<6>Synthesized TLB modify handler fastpath (31 instructions).
<6>Cache parity protection disabled
<4>cause = 800008, status = 1100ff00
<4>PID hash table entries: 128 (order: 7, 512 bytes)
<4>calculating r4koff... 00177000(1536000)
<4>CPU frequency 384.00 MHz
<4>Using 192.000 MHz high precision timer.
<4>Console: colour dummy device 80x25
<4>Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
<4>Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
<6>Memory: 28988k/32768k available (2720k kernel code, 3780k reserved, 511k data, 136k init, 0k highmem)
<7>Calibrating delay loop... 255.48 BogoMIPS (lpj=510976)
<4>Mount-cache hash table entries: 512
<6>NET: Registered protocol family 16
<5>SCSI subsystem initialized
<6>usbcore: registered new interface driver usbfs
<6>usbcore: registered new interface driver hub
<6>usbcore: registered new device driver usb
<6>NET: Registered protocol family 2
<6>Time: MIPS clocksource has been installed.
<4>IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
<4>TCP established hash table entries: 1024 (order: 1, 8192 bytes)
<4>TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
<6>TCP: Hash tables configured (established 1024 bind 1024)
<6>TCP reno registered
<4>Load RT2880 Timer Module(Wdg/Soft)
<6>squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher
<4>squashfs: LZMA suppport for slax.org by jro
<6>io scheduler noop registered (default)
<4>Ralink gpio driver initialized
<6>HDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096
<6>N_HDLC line discipline registered.
<6>Serial: 8250/16550 driver $Revision: 1.3 $ 2 ports, IRQ sharing disabled
<6>serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A
<6>serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A
<4>rdm_major = 254
<6>PPP generic driver version 2.4.2
<6>PPP Deflate Compression module registered
<6>PPP BSD Compression module registered
<6>PPP MPPE Compression module registered
<6>NET: Registered protocol family 24
<6>PPTP driver version 0.7.12
<5>ralink flash device: 0x800000 at 0x1f000000
<6>Ralink SoC physically mapped flash: Found 1 x16 devices at 0x0 in 16-bit bank
<4> Amd/Fujitsu Extended Query Table at 0x0040
<5>number of CFI chips: 1
<5>cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
<5>Creating 6 MTD partitions on "Ralink SoC physically mapped flash":
<5>0x00000000-0x00030000 : "Bootloader"
<5>0x00030000-0x00040000 : "Factory"
<5>0x00040000-0x00070000 : "Config"
<5>0x00070000-0x000b0000 : "Language"
<5>0x000b0000-0x001c0000 : "Kernel"
<5>0x001c0000-0x00800000 : "RootFS"
<6>block2mtd: version $Revision: 1.1.1.1 $
<4>nf_conntrack version 0.5.0 (256 buckets, 2048 max)
<4>ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Linux
<5>ClusterIP Version 0.8 loaded successfully
<6>TCP cubic registered
<6>NET: Registered protocol family 1
<6>NET: Registered protocol family 10
<6>lo: Disabled Privacy Extensions
<4>ip6_tables: (C) 2000-2006 Netfilter Core Team
<6>IPv6 over IPv4 tunneling driver
<6>sit0: Disabled Privacy Extensions
<6>NET: Registered protocol family 17
<5>Bridge firewalling registered
<6>802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
<6>All bugs added by David S. Miller <davem@redhat.com>
<4>GDMA1_MAC_ADRH -- : 0x00000000
<4>GDMA1_MAC_ADRL -- : 0x00000000
<4>Ralink APSoC Ethernet Driver Initilization. v2.00 256 rx/tx descriptors allocated, mtu = 1500!
<4>GDMA1_MAC_ADRH -- : 0x00000018
<4>GDMA1_MAC_ADRL -- : 0xe7d6aa9c
<1>PROC INIT OK!
<4>VFS: Mounted root (squashfs filesystem) readonly.
<6>Freeing unused kernel memory: 136k freed
<4>Algorithmics/MIPS FPU Emulator v1.5
<4>physdev match: using --physdev-out in the OUTPUT, FORWARD and POSTROUTING chains for non-bridged traffic is not supported anymore.
<4>physdev match: using --physdev-out in the OUTPUT, FORWARD and POSTROUTING chains for non-bridged traffic is not supported anymore.
<4>physdev match: using --physdev-out in the OUTPUT, FORWARD and POSTROUTING chains for non-bridged traffic is not supported anymore.
<4>module info: clear_dev_counters init - debug mode is disabled
<4>rt2860v2_ap: module license 'unspecified' taints kernel.
<4>
<4>
<4>=== pAd = c001c000, size = 506960 ===
<4>
<4><-- RTMPAllocAdapterBlock, Status=0
<4>RX DESC a189e000 size = 2048
<4><-- RTMPAllocTxRxRingMemory, Status=0
<4>Key1Str is Invalid key length(0) or Type(0)
<4>Key2Str is Invalid key length(0) or Type(0)
<4>Key3Str is Invalid key length(0) or Type(0)
<4>Key4Str is Invalid key length(0) or Type(0)
<4>1. Phy Mode = 0
<4>2. Phy Mode = 0
<4>3. Phy Mode = 0
<4>MCS Set = 00 00 00 00 00
<4>SYNC - BBP R4 to 20MHz.l
<4>Main bssid = [omit]
<4><==== rt28xx_init, Status=0
<4>0x1300 = 00064300
<4>
<4>phy_tx_ring = 0x0143c000, tx_ring = 0xa143c000
<4>
<4>phy_rx_ring = 0x00000000, rx_ring = 0x00000000
<4>CDMA_CSG_CFG = 81000000
<4>GDMA1_FWD_CFG = 10000
<6>device ra0 entered promiscuous mode
<4>ra2880stop()...Done
<4>Free TX/RX Ring Memory!
<4>GDMA1_MAC_ADRH -- : 0x00000018
<4>GDMA1_MAC_ADRL -- : 0xe7d6aa9c
<4>
<4>phy_tx_ring = 0x01840000, tx_ring = 0xa1840000
<4>
<4>phy_rx_ring = 0x0143d000, rx_ring = 0xa143d000
<4>CDMA_CSG_CFG = 81000000
<4>GDMA1_FWD_CFG = 10000
<6>device eth2 entered promiscuous mode
<6>eth2: duplicate address detected!
<6>br0: port 2(eth2) entering learning state
<6>br0: port 1(ra0) entering learning state
<6>br0: duplicate address detected!
<6>br0: topology change detected, propagating
<6>br0: port 2(eth2) entering forwarding state
<6>br0: topology change detected, propagating
<6>br0: port 1(ra0) entering forwarding state
<7>br0: no IPv6 routers present
<6>dwc_otg: version 2.72a 24-JUN-2008
<6>DWC_otg: Core Release: 2.66a
<6>DWC_otg: Periodic Transfer Interrupt Enhancement - disabled
<6>DWC_otg: Multiprocessor Interrupt Enhancement - disabled
<6>DWC_otg: Using DMA mode
<6>DWC_otg: Device using Buffer DMA mode
<6>dwc_otg lm0: DWC OTG Controller
<6>dwc_otg lm0: new USB bus registered, assigned bus number 1
<6>dwc_otg lm0: irq 18, io mem 0x00000000
<6>DWC_otg: Init: Port Power? op_state=1
<6>DWC_otg: Init: Power Port (0)
<6>usb usb1: configuration #1 chosen from 1 choice
<6>hub 1-0:1.0: USB hub found
<6>hub 1-0:1.0: 1 port detected
<3>DWC_otg: Device Not Supported
<3>hub 1-0:1.0: over-current change on port 1
<7>jcpcore: start
<7>sxuptp_keepalive_thread: start
<7>jcp_command_register: new command registered GET USB_PORT_NAME
<7>jcp_command_register: new command registered GET SCANNER PORT_NAME
<7>jcp_command_register: new command registered GET SCANNER_STATUS
<7>jcp_command_register: new command registered GET USB_DEVICE_LIST
<7>jcp_command_register: new command registered EXEC SCANNER CONNECT
<7>jcp_command_register: new command registered EXEC SCANNER DISCONNECT
<6>usbcore: registered new interface driver sxuptp_generic
<7>br0: no IPv6 routers present
Anyone else playing with one of these devices? any write-up on getting the OpenWrt firmware on it?
(Last edited by brynet on 28 Sep 2011, 19:51)