Mathias,
Thanks for the tips.
I'm going to work on it.

Bye.

> -----Urspr√ľngliche Nachricht-----
> Von: Mathias Kresin [mailto:d...@kresin.me]
> Gesendet: Sonntag, 16. Oktober 2016 09:54
> An: Giuseppe Lippolis <giu.lippo...@gmail.com>; lede-
> d...@lists.infradead.org
> Betreff: Re: [LEDE-DEV] Adding support for dlink dwr-512
> 
> Hi Giuseppe,
> 
> find a few remarks inline.
> 
> 16.10.2016 00:03, Giuseppe Lippolis:
> > Hi all,
> > I'm proceeding to finalize the support:
> > Now the wifi is enabled, the LEDs and the buttons are supported.
> >
> > To complete the device support I need to:
> >     1. enable the 3G modem
> >     2. crack the header file to generate the factory image
> 
> Run the strings command on the binboy binary. The binary includes some
> text which looks to me like the description of different headers.
> 
> It might be possible that there is already a tool for writing the binboy
header
> in tools/firmware-utils.
> 
> >
> > Will take some time.
> >
> > In the meantime, here the 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/dts/DWR-512-B.dts
> > b/target/linux/ramips/dts/DWR-512-B.dts
> > index e69de29..2a69ce7 100644
> > --- a/target/linux/ramips/dts/DWR-512-B.dts
> > +++ b/target/linux/ramips/dts/DWR-512-B.dts
> > @@ -0,0 +1,109 @@
> > +/dts-v1/;
> > +
> > +/include/ "rt5350.dtsi"
> > +
> > +/ {
> > +   compatible = "ralink,rt5350-soc";
> > +   model = "D-Link DWR-512 B";
> > +
> > +   gpio-keys-polled {
> > +           compatible = "gpio-keys-polled";
> > +           #address-cells = <1>;
> > +           #size-cells = <0>;
> > +           poll-interval = <20>;
> > +
> > +           wps {
> > +                   label = "wps";
> > +                   gpios = <&gpio0 0 1>;
> > +                   linux,code = <0x211>;
> > +           };
> > +   };
> > +
> > +   gpio-leds {
> > +           compatible = "gpio-leds";
> > +
> > +           sms {
> > +                   label = "dwr-512-b:green:sms";
> > +                   gpios = <&gpio0 8 1>;
> > +           };
> > +           status {
> > +                   label = "dwr-512-b:green:status";
> > +                   gpios = <&gpio0 9 1>;
> > +           };
> > +           2g {
> > +                   label = "dwr-512-b:green:2g";
> > +                   gpios = <&gpio0 17 1>;
> > +           };
> > +           3g {
> > +                   label = "dwr-512-b:green:3g";
> > +                   gpios = <&gpio0 19 1>;
> > +           };
> > +           sstrengthr {
> > +                   label = "dwr-512-b:red:sigstrength";
> > +                   gpios = <&gpio0 20 1>;
> > +           };
> > +           sstrengthg {
> > +                   label = "dwr-512-b:green:sigstrength";
> > +                   gpios = <&gpio0 21 1>;
> > +           };
> > +   };
> > +};
> > +
> > +&spi0 {
> > +   status = "okay";
> > +
> > +   mx25l6405d@0 {
> > +           #address-cells = <1>;
> > +           #size-cells = <1>;
> > +           compatible = "macronix,mx25l6405d", "jedec,spi-nor";
> > +           reg = <0>;
> > +           spi-max-frequency = <30000000>;
> > +           fast-read;
> > +
> > +           partition@0 {
> > +                   label = "bootloader";
> > +                   reg = <0x0 0x10000>;
> > +                   read-only;
> > +           };
> > +
> > +           partition@10000 {
> > +                   label = "Kernel";
> > +                   reg = <0x10000 0x140000>;
> > +                   read-only;
> > +           };
> > +
> > +           partition@150000 {
> > +                   label = "rootfs";
> > +                   reg = <0x150000 0x200000>;
> > +                   read-only;
> > +           };
> > +
> > +           partition@350000 {
> > +                   label = "rootfs_data";
> > +                   reg = <0x350000 0x3c0000>;
> > +           };
> 
> Use only one big "firmware" partition instead of a fixed size Kernel,
rootfs,
> rootfs_data partition. Write a mtd_splitter which gets the rootfs offset
from
> the binboy header to setup the rootfs and rootfs_data on boot. Have a look
> at target/linux/generic/files/drivers/mtd/mtdsplit/
> how it is done for other image/header types.
> 
> Your changes to the kernel config shouldn't be required any longer after
this
> change, since the available flash space is used more efficient.
> 
> > +
> > +           partition@710010 {
> > +                   label = "ui";
> > +                   reg = <0x710000 0xe0000>;
> > +           };
> > +
> > +           config: partition@7f0000 {
> > +                   label = "config";
> > +                   reg = <0x7f0000 0x10000>;
> > +           };
> > +   };
> > +};
> > +
> > +&pinctrl {
> > +   state_default: pinctrl0 {
> > +           gpio {
> > +                   ralink,group = "i2c", "jtag", "uartf";
> > +                   ralink,function = "gpio";
> > +           };
> > +   };
> > +};
> > +
> > +&wmac {
> > +   ralink,mtd-eeprom = <&config 0xe07a>; };
> > diff --git a/target/linux/ramips/image/rt305x.mk
> > b/target/linux/ramips/image/rt305x.mk
> > index be21ac4..fbbabdb 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
> >
> > Bye.
> >



_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to