[LEDE-DEV] Adding support for dlink dwr-512

Giuseppe Lippolis giu.lippolis at gmail.com
Tue Oct 4 13:27:12 PDT 2016


Dear All,
Today I reach an important milestone in " Adding support for dlink dwr-512":

BusyBox v1.25.0 () built-in shell (ash)

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|
lede-project.org
 \        \   DE /
  \    LE  \    /
-----------------------------------------------------------
   \  DE    \  /    Reboot (HEAD, r1727)
    \________\/
-----------------------------------------------------------

root at lede:/#  

Here is the complete bootlog:

Starting kernel @80000000...
[    0.000000] Linux version 4.4.23 (lippo at nice) (gcc version 5.4.0 (LEDE
GCC 5.4.0 r1727) ) #0 Fri Sep 30 18:08:21 2016
[    0.000000] SoC Type: Ralink RT5350 id:1 rev:3
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)
[    0.000000] MIPS: machine is D-Link DWR-512
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 02000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Initmem setup node 0 [mem
0x0000000000000000-0x0000000001ffffff]
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32
bytes.
[    0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32
bytes
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total
pages: 8128
[    0.000000] Kernel command line: console=ttyS0,57600
rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Writing ErrCtl register=00008d10
[    0.000000] Readback ErrCtl register=00008d10
[    0.000000] Memory: 28496K/32768K available (2773K kernel code, 127K
rwdata, 648K rodata, 156K init, 191K bss, 4272K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:256
[    0.000000] CPU Clock: 360MHz
[    0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff,
max_idle_ns: 583261500 ns
[    0.000000] systick: running - mult: 214748, shift: 32
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff,
max_idle_ns: 10618113593 ns
[    0.000016] sched_clock: 32 bits at 180MHz, resolution 5ns, wraps every
11930464253ns
[    0.015668] Calibrating delay loop... 239.61 BogoMIPS (lpj=1198080)
[    0.090893] pid_max: default: 32768 minimum: 301
[    0.100347] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.113437] Mountpoint-cache hash table entries: 1024 (order: 0, 4096
bytes)
[    0.136931] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.156782] pinctrl core: initialized pinctrl subsystem
[    0.168534] NET: Registered protocol family 16
[    0.217394] rt2880_gpio 10000600.gpio: registering 22 gpios
[    0.228519] rt2880_gpio 10000600.gpio: registering 22 irq handlers
[    0.243616] clocksource: Switched to clocksource MIPS
[    0.256384] NET: Registered protocol family 2
[    0.266738] TCP established hash table entries: 1024 (order: 0, 4096
bytes)
[    0.280625] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.293209] TCP: Hash tables configured (established 1024 bind 1024)
[    0.306075] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.317698] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.330709] NET: Registered protocol family 1
[    0.349053] rt-timer 10000100.timer: maximum frequency is 3662Hz
[    0.362894] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.375205] Crashlog allocated RAM at address 0x1f00000
[    0.419466] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.431111] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME)
(CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.457061] io scheduler noop registered
[    0.464867] io scheduler deadline registered (default)
[    0.475467] ralink-usb-phy usbphy: invalid resource
[    0.486505] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.501454] console [ttyS0] disabled
[    0.508624] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20,
base_baud = 2500000) is a Palmchip BK-3103
[    0.528334] console [ttyS0] enabled
[    0.528334] console [ttyS0] enabled
[    0.542123] bootconsole [early0] disabled
[    0.542123] bootconsole [early0] disabled
[    0.568380] spi spi0.0: force spi mode3
[    0.576950] m25p80 spi0.0: mx25l6405d (8192 Kbytes)
[    0.586889] 6 ofpart partitions found on MTD device spi0.0
[    0.597884] Creating 6 MTD partitions on "spi0.0":
[    0.607508] 0x000000000000-0x000000010000 : "bootloader"
[    0.621807] 0x000000010000-0x000000150000 : "Kernel"
[    0.635788] 0x000000150000-0x000000330000 : "rootfs"
[    0.649501] mtd: device 2 (rootfs) set to be root filesystem
[    0.661044] 0x000000330000-0x000000710000 : "rootfs_data"
[    0.675774] 0x000000710000-0x0000007f0000 : "ui"
[    0.688954] 0x0000007f0000-0x000000800000 : "config"
[    0.708577] rt3050-esw 10110000.esw: link changed 0x00
[    0.721105] mtk_soc_eth 10100000.ethernet: generated random MAC address
c6:bd:a8:72:d7:a2
[    0.738908] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at
0xb0100000, irq 5
[    0.756589] rt2880_wdt 10000120.watchdog: Initialized
[    0.769623] NET: Registered protocol family 10
[    0.786898] NET: Registered protocol family 17
[    0.796143] bridge: automatic filtering via arp/ip/ip6tables has been
deprecated. Update your scripts to load br_netfilter if you need this.
[    0.821452] 8021q: 802.1Q VLAN Support v1.8
[    0.845658] VFS: Mounted root (squashfs filesystem) readonly on device
31:2.
[    0.861526] Freeing unused kernel memory: 156K (80379000 - 803a0000)
[    2.451549] init: Console is alive
[    2.459024] init: - watchdog -
[    3.703801] init: - preinit -
[    4.724641] rt3050-esw 10110000.esw: link changed 0x00
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    8.255055] jffs2: notice: (284) jffs2_build_xattr_subsystem: complete
building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref
(0 dead, 0 orphan) found.
[    8.289393] mount_root: switching to jffs2 overlay
[    8.315605] urandom-seed: Seeding with /etc/urandom.seed
[    8.401053] procd: - early -
[    8.407241] procd: - watchdog -
[    9.308977] procd: - ubus -
[    9.555120] random: ubusd: uninitialized urandom read (4 bytes read, 15
bits of entropy available)
[    9.574319] random: ubusd: uninitialized urandom read (4 bytes read, 15
bits of entropy available)
[    9.592475] random: ubusd: uninitialized urandom read (4 bytes read, 15
bits of entropy available)
[    9.611641] random: ubusd: uninitialized urandom read (4 bytes read, 15
bits of entropy available)
[    9.629788] random: ubusd: uninitialized urandom read (4 bytes read, 15
bits of entropy available)
[    9.648459] random: ubusd: uninitialized urandom read (4 bytes read, 15
bits of entropy available)
[    9.667156] random: ubusd: uninitialized urandom read (4 bytes read, 15
bits of entropy available)
[    9.686371] procd: - init -
Please press Enter to activate this console.
[   10.135943] ip6_tables: (C) 2000-2006 Netfilter Core Team
[   10.173158] Loading modules backported from Linux version
wt-2016-06-20-0-gbc17424
[   10.188390] Backport generated by backports.git
backports-20160216-7-g5735958
[   10.210948] ip_tables: (C) 2000-2006 Netfilter Core Team
[   10.240783] nf_conntrack version 0.5.0 (447 buckets, 1788 max)
[   10.325466] xt_time: kernel timezone is -0000
[   10.443111] PPP generic driver version 2.4.2
[   10.457193] NET: Registered protocol family 24
[   10.516693] rt2800_wmac 10180000.wmac: failed to load eeprom property
[   10.529706] ieee80211 phy0: rt2x00lib_request_eeprom_file: Info - Loading
EEPROM data from 'soc_wmac.eeprom'.
[   10.549890] rt2800_wmac 10180000.wmac: Direct firmware load for
soc_wmac.eeprom failed with error -2
[   10.568229] rt2800_wmac 10180000.wmac: Falling back to user helper
[   10.653813] firmware soc_wmac.eeprom: firmware_loading_store: map pages
failed
[   10.668689] ieee80211 phy0: rt2x00lib_request_eeprom_file: Error - Failed
to request EEPROM.
[   10.685757] rt2800_wmac: probe of 10180000.wmac failed with error -11
[   12.862054] random: jshn: uninitialized urandom read (4 bytes read, 20
bits of entropy available)
[   13.016911] random: ubusd: uninitialized urandom read (4 bytes read, 20
bits of entropy available)
[   13.035563] random: ubus: uninitialized urandom read (4 bytes read, 21
bits of entropy available)
[   21.334581] device eth0.1 entered promiscuous mode
[   21.344276] device eth0 entered promiscuous mode
[   21.386394] br-lan: port 1(eth0.1) entered forwarding state
[   21.397740] br-lan: port 1(eth0.1) entered forwarding state
[   21.550873] br-lan: port 2(eth0) entered forwarding state
[   21.561862] br-lan: port 2(eth0) entered forwarding state
[   23.393736] br-lan: port 1(eth0.1) entered forwarding state
[   23.553724] br-lan: port 2(eth0) entered forwarding state
[   79.853694] random: nonblocking pool is initialized


And here the temporary patch:

diff --git a/target/linux/ramips/base-files/etc/board.d/02_network
b/target/linux/ramips/base-files/etc/board.d/02_network
index c8b57ca..719078c 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -71,6 +71,7 @@ ramips_setup_interfaces()
        dir-320-b1|\
        dir-610-a1|\
        dir-615-h1|\
+       dwr-512-b|\
        firewrt|\
        hlk-rm04|\
        mac1200rv2|\
diff --git a/target/linux/ramips/base-files/lib/ramips.sh
b/target/linux/ramips/base-files/lib/ramips.sh
index bb379f7..a0f041e 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -154,6 +154,9 @@ ramips_board_detect() {
        *"DIR-860L B1")
                name="dir-860l-b1"
                ;;
+       *"DWR-512 B")
+               name="dwr-512-b"
+               ;;
        *"Dovado Tiny AC")
                name="tiny-ac"
                ;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh
b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 0ef2308..36ea469 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -50,6 +50,7 @@ platform_check_image() {
        dir-620-a1|\
        dir-620-d1|\
        dir-810l|\
+       dwr-512-b|\
        duzun-dm06|\
        e1700|\
        esr-9753|\
diff --git a/target/linux/ramips/image/rt305x.mk
b/target/linux/ramips/image/rt305x.mk
index be21ac4..529727a 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -168,6 +168,17 @@ endef
 TARGET_DEVICES += dir-620-d1


+define Device/dwr-512-b
+  DTS := DWR-512-B
+  KERNEL := kernel-bin | patch-dtb | lzma
+  IMAGES := factory.bin
+  IMAGE/factory.bin := \
+       append-kernel
+  DEVICE_TITLE := D-Link DWR-512 B
+endef
+TARGET_DEVICES += dwr-512-b
+
+
 define Device/esr-9753
   DTS := ESR-9753
   BLOCKSIZE := 64k
diff --git a/target/linux/ramips/rt305x/config-4.4
b/target/linux/ramips/rt305x/config-4.4
index b8f6cda..dcf318f 100644
--- a/target/linux/ramips/rt305x/config-4.4
+++ b/target/linux/ramips/rt305x/config-4.4
@@ -132,9 +132,8 @@ CONFIG_MTD_M25P80=y
 CONFIG_MTD_PHYSMAP=y
 CONFIG_MTD_SPI_NOR=y
 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
-CONFIG_MTD_SPLIT_FIRMWARE=y
-CONFIG_MTD_SPLIT_SEAMA_FW=y
-CONFIG_MTD_SPLIT_UIMAGE_FW=y
+# CONFIG_MTD_SPLIT is not set
+# CONFIG_MTD_SPLIT_SQUASHFS_ROOT is not set
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEED_PER_CPU_KM=y
 CONFIG_NET_MEDIATEK_ESW_RT3050=y
@@ -158,6 +157,7 @@ CONFIG_PHY_RALINK_USB=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_RT2880=y
 # CONFIG_PINCTRL_SINGLE is not set
+CONFIG_PRINTK_TIME=y
 CONFIG_RALINK=y
 # CONFIG_RALINK_ILL_ACC is not set
 CONFIG_RALINK_WDT=y

And here the temporary device tree:

/dts-v1/;

/include/ "rt5350.dtsi"

/ {
        compatible = "ralink,rt5350-soc";
        model = "D-Link DWR-512";
};

&spi0 {
        status = "okay";

        mx25l6405d at 0 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "macronix,mx25l6405d", "jedec,spi-nor";
                reg = <0>;
                spi-max-frequency = <30000000>;
                fast-read;

                partition at 0 {
                        label = "bootloader";
                        reg = <0x0 0x10000>;
                        read-only;
                };

                partition at 10000 {
                        label = "Kernel";
                        reg = <0x10000 0x140000>;
                        read-only;
                };

                partition at 150000 {
                        label = "rootfs";
                        reg = <0x150000 0x1e0000>;
                        read-only;
                };

                partition at 330000 {
                        label = "rootfs_data";
                        reg = <0x330000 0x3e0000>;
                };

                partition at 710010 {
                        label = "ui";
                        reg = <0x710000 0xe0000>;
                };

                partition at 7f0000 {
                        label = "config";
                        reg = <0x7f0000 0x10000>;
                };
        };
};

&pinctrl {
        state_default: pinctrl0 {
                gpio {
                        ralink,group = "i2c", "jtag", "uartf";
                        ralink,function = "gpio";
                };
        };
};


For sure I need to found the wmac.eeprom
dd if=/dev/mtdx of=soc_wmac.eeprom count=1

to fix the wifi and then I will slowly check the whole system.

Bye.





More information about the Lede-dev mailing list