On Wed, Sep 6, 2017 at 10:35 AM, Kristian Evensen <kristian.even...@gmail.com> wrote: > The HNET C108 > (http://www.szhwtech88.com/Product-product-cid-100-id-4374.html) is a > mifi based on MT7602A, which has the following specifications: > > * CPU: MT7620A > * 1x 10/100Mbps Ethernet. > * 16 MB Flash. > * 64 MB RAM. > * 1x USB 2.0 port. Only power is connected, this port is meant for > charging other devices. > * 1x mini-PCIe slots. > * 1x SIM slots. > * 1x 2.4Ghz WIFI. > * 1x button. > * 6000 mAh battery. > * 5x controllable LEDs. > > Works: > * Wifi. > * Switch. > * mini-PCIe slot. Only tested with a USB device (a modem). > * SIM slot. > * Sysupgrade. > * Button (reset). > > Not working (also applies to the factory firmware): > * Wifi LED. It is always switched on, there is no relation to the > up/down state or activity of the wireless interface. > > Not tested: > * SD card reader. > > Notes: > * The C108 has no dedicated status LED. I therefore set the LAN LED as > status LED. > > Installation: > The router comes pre-installed with OpenWRT, including a variant of > Luci. The initial firmware install can be done through this UI, > following normal procedure. I.e., access the UI and update the firmware > using the sysupgrade-image. Remember to select that you do not want to > keep existing settings. > > Recovery: > If you brick the device, the C108 supports recovery using TFTP. Keep the > reset button pressed for ~5sec when booting to trigger TFTP. Set the > address of the network interface on your machine to 10.10.10.3/24, and > rename your image file to Kernal.bin. > > v2->v3: > * Update description of USB port after discussing with factory. > * Updated Wifi LED description (thanks Mathias Kresin). > * Removed non-used GPIO bank and invalid portmap from dts, as well as > using absolute value for the gpio output value (thanks Mathias Kresin). > * Update size of firmware parition in Makefile to match factory firmware > (thanks Mathias Kresin). > * Respect ordering in diag.sh (thanks Mathias Kresin). > > v1->v2: > * Update "Not working" based on more testing with factory firmware. > * Changed offset of LAN MAC address. > > Signed-off-by: Kristian Evensen <kristian.even...@gmail.com> > --- > target/linux/ramips/base-files/etc/board.d/01_leds | 4 + > .../linux/ramips/base-files/etc/board.d/02_network | 1 + > target/linux/ramips/base-files/etc/diag.sh | 3 + > target/linux/ramips/base-files/lib/ramips.sh | 3 + > .../ramips/base-files/lib/upgrade/platform.sh | 1 + > target/linux/ramips/dts/C108.dts | 177 > +++++++++++++++++++++ > target/linux/ramips/image/mt7620.mk | 8 + > 7 files changed, 197 insertions(+) > create mode 100644 target/linux/ramips/dts/C108.dts > > diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds > b/target/linux/ramips/base-files/etc/board.d/01_leds > index ff5d156f2c..83e1a94000 100755 > --- a/target/linux/ramips/base-files/etc/board.d/01_leds > +++ b/target/linux/ramips/base-files/etc/board.d/01_leds > @@ -82,6 +82,10 @@ broadway) > set_usb_led "$board:red:diskmounted" > set_wifi_led "$board:red:wps_active" > ;; > +c108) > + ucidef_set_led_netdev "lan" "lan" "$board:green:lan" "eth0" > + ucidef_set_led_netdev "modem" "modem" "$board:green:modem" "wwan0" > + ;; > c20i) > ucidef_set_led_switch "lan" "lan" "$board:blue:lan" "switch0" "0x1e" > ucidef_set_led_switch "wan" "wan" "$board:blue:wan" "switch0" "0x01" > 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 df70a8b2ec..9284b1812f 100755 > --- a/target/linux/ramips/base-files/etc/board.d/02_network > +++ b/target/linux/ramips/base-files/etc/board.d/02_network > @@ -217,6 +217,7 @@ ramips_setup_interfaces() > ucidef_add_switch "switch0" \ > "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0" > ;; > + c108|\ > cf-wr800n) > ucidef_add_switch "switch0" \ > "4:lan" "6t@eth0" > diff --git a/target/linux/ramips/base-files/etc/diag.sh > b/target/linux/ramips/base-files/etc/diag.sh > index 960e189283..74352530b0 100644 > --- a/target/linux/ramips/base-files/etc/diag.sh > +++ b/target/linux/ramips/base-files/etc/diag.sh > @@ -103,6 +103,9 @@ get_status_led() { > wrh-300cr) > status_led="$board:green:wps" > ;; > + c108) > + status_len="$board:green:lan"
Forgot to commit fix for this typo. Will send a v4. -Kristian > + ;; > cf-wr800n|\ > psg1208) > status_led="$board:white:wps" > diff --git a/target/linux/ramips/base-files/lib/ramips.sh > b/target/linux/ramips/base-files/lib/ramips.sh > index fe66a87c2e..174e29e434 100755 > --- a/target/linux/ramips/base-files/lib/ramips.sh > +++ b/target/linux/ramips/base-files/lib/ramips.sh > @@ -85,6 +85,9 @@ ramips_board_detect() { > *"Broadway") > name="broadway" > ;; > + *"C108") > + name="c108" > + ;; > *"C20i") > name="c20i" > ;; > diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh > b/target/linux/ramips/base-files/lib/upgrade/platform.sh > index 3cb1d19a28..5cfca52ab1 100755 > --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh > +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh > @@ -29,6 +29,7 @@ platform_check_image() { > awm002-evb-8M|\ > bc2|\ > broadway|\ > + c108|\ > carambola|\ > cf-wr800n|\ > cs-qr10|\ > diff --git a/target/linux/ramips/dts/C108.dts > b/target/linux/ramips/dts/C108.dts > new file mode 100644 > index 0000000000..c449a36fc7 > --- /dev/null > +++ b/target/linux/ramips/dts/C108.dts > @@ -0,0 +1,177 @@ > +/* > + * BSD LICENSE > + * > + * Copyright(c) 2017 Kristian Evensen <kristian.even...@gmail.com>. > + * All rights reserved. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * > + * * Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * * Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in > + * the documentation and/or other materials provided with the > + * distribution. > + * * Neither the name of Broadcom Corporation nor the names of its > + * contributors may be used to endorse or promote products derived > + * from this software without specific prior written permission. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR > + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT > + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE > + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + */ > + > +/dts-v1/; > + > +#include "mt7620a.dtsi" > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > + > +/ { > + compatible = "hnet,c108", "ralink,mt7620a-soc"; > + model = "HNET C108"; > + > + chosen { > + bootargs = "console=ttyS0,115200"; > + }; > + > + gpio-export { > + compatible = "gpio-export"; > + #size-cells = <0>; > + > + power_modem { > + gpio-export,name = "power_modem"; > + gpio-export,output = <1>; > + gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; > + }; > + }; > + > + gpio-leds { > + compatible = "gpio-leds"; > + > + sdcard { > + label = "c108:green:sdcard"; > + gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; > + }; > + > + modem_green { > + label = "c108:green:modem"; > + gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; > + }; > + > + modem_red { > + label = "c108:red:modem"; > + gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; > + }; > + > + lan_red { > + label = "c108:red:lan"; > + gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; > + }; > + > + lan_green { > + label = "c108:green:lan"; > + gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; > + }; > + }; > + > + gpio-keys-polled { > + compatible = "gpio-keys-polled"; > + #address-cells = <1>; > + #size-cells = <0>; > + poll-interval = <20>; > + > + reset { > + label = "reset"; > + gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_RESTART>; > + }; > + }; > +}; > + > +&gpio1 { > + status = "okay"; > +}; > + > +&gpio2 { > + status = "okay"; > +}; > + > +&spi0 { > + status = "okay"; > + > + en25q128@0 { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "jedec,spi-nor"; > + reg = <0>; > + spi-max-frequency = <10000000>; > + > + partition@0 { > + label = "u-boot"; > + reg = <0x0 0x30000>; > + read-only; > + }; > + > + partition@30000 { > + label = "u-boot-env"; > + reg = <0x30000 0x10000>; > + read-only; > + }; > + > + factory: partition@40000 { > + label = "factory"; > + reg = <0x40000 0x10000>; > + read-only; > + }; > + > + partition@50000 { > + label = "firmware"; > + reg = <0x50000 0xfb0000>; > + }; > + }; > +}; > + > +&sdhci { > + status = "okay"; > +}; > + > +&ehci { > + status = "okay"; > +}; > + > +&ohci { > + status = "okay"; > +}; > + > +ðernet { > + mtd-mac-address = <&factory 0x28>; > +}; > + > +&wmac { > + ralink,mtd-eeprom = <&factory 0>; > +}; > + > +&pinctrl { > + state_default: pinctrl0 { > + default { > + ralink,group = "i2c", "uartf", "spi refclk", "ephy"; > + ralink,function = "gpio"; > + }; > + }; > +}; > + > +&pcie { > + status = "okay"; > +}; > diff --git a/target/linux/ramips/image/mt7620.mk > b/target/linux/ramips/image/mt7620.mk > index f9a9fdb84c..b0eb337a47 100644 > --- a/target/linux/ramips/image/mt7620.mk > +++ b/target/linux/ramips/image/mt7620.mk > @@ -62,6 +62,14 @@ define Device/ArcherMR200 > endef > TARGET_DEVICES += ArcherMR200 > > +define Device/c108 > + DTS := C108 > + IMAGE_SIZE := 16777216 > + DEVICE_TITLE := HNET C108 > + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 > +endef > +TARGET_DEVICES += c108 > + > define Device/cf-wr800n > DTS := CF-WR800N > DEVICE_TITLE := Comfast CF-WR800N > -- > 2.11.0 > _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev