Message ID | 20190516130231.31513-1-kristian.evensen@gmail.com |
---|---|
State | Deferred |
Delegated to: | Petr Štetiar |
Headers | show |
Series | [OpenWrt-Devel,v2] ramips: Add support for ZBT WE826-E | expand |
Kristian Evensen <kristian.evensen@gmail.com> [2019-05-16 15:02:31]: Hi, > The router ships with an older version of OpenWRT, but with a broken web > user interface. In order to install the image, you need to SSH into the > router and run sysupgrade. The default address of the router is > 192.168.1.1, user is root and password admin. Once you are in, run the > following command: > > sysupgrade -n -F > openwrt-ramips-mt7620-zbtlink_zbt-we826-e-squashfs-sysupgrade.bin > > Recovery: > > The router ships with a web-based recovery system. If you need to > recover the router, keep the reset button pressed during boot and access > 192.168.1.1 in your browser when your machine obtains an IP address. > Upload the firmware to start the recovery process. it's not mandatory, so you're not obliged to do so, but it makes me wonder if it would be possible to generate factory image which could be flashed with the same recovery mechanism, thus avoiding the -F in the sysupgrade above (considered dangerous). > +++ b/target/linux/ramips/dts/ZBT-WE826-E.dts > @@ -0,0 +1,83 @@ > +/dts-v1/; Please can you consider adding `SPDX-License-Identifier: GPL-2.0-or-later OR MIT` ? Otherwise LGTM. -- ynezz
Hi, On Thu, May 16, 2019 at 3:17 PM Petr Štetiar <ynezz@true.cz> wrote: > it's not mandatory, so you're not obliged to do so, but it makes me wonder if > it would be possible to generate factory image which could be flashed with the > same recovery mechanism, thus avoiding the -F in the sysupgrade above > (considered dangerous). If my memory serves me right, then it is possible to use the sysupgrade-images with the recovery mechanism. I will test again and then update the commit message if so. > > > +++ b/target/linux/ramips/dts/ZBT-WE826-E.dts > > @@ -0,0 +1,83 @@ > > +/dts-v1/; > > Please can you consider adding `SPDX-License-Identifier: GPL-2.0-or-later OR > MIT` ? And I thought I had remembered to incorporate all the comments from adding the HDRM200 .... :) BR, Kristian
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 fa20ab0714..941b4b109b 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -251,7 +251,8 @@ mr200) mtc,wr1201) ucidef_set_led_switch "eth_link" "LAN link" "$boardname:green:eth_link" "switch0" "0x0f" ;; -mzk-ex750np) +mzk-ex750np|\ +zbtlink,zbt-we826-e) set_wifi_led "$boardname:red:wifi" ;; netgear,r6120) 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 c2646876a2..63bfab2486 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -133,6 +133,7 @@ ramips_setup_interfaces() youku,yk-l2|\ zbt-ape522ii|\ zbt-we1326|\ + zbtlink,zbt-we826-e|\ zbtlink,zbt-we3526|\ zbt-we826-16M|\ zbt-we826-32M|\ diff --git a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches index 80e3c4c41f..6119d7c485 100755 --- a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches @@ -24,6 +24,10 @@ ubnt-erx-sfp) ucidef_add_gpio_switch "poe_power_port3" "PoE Power Port3" "499" ucidef_add_gpio_switch "poe_power_port4" "PoE Power Port4" "500" ;; +zbtlink,zbt-we826-e) + ucidef_add_gpio_switch "sim_switch" "SIM slot switch" "13" + ucidef_add_gpio_switch "power_mpcie" "mPCIe power" "14" "1" + ;; esac board_config_flush diff --git a/target/linux/ramips/dts/ZBT-WE826-E.dts b/target/linux/ramips/dts/ZBT-WE826-E.dts new file mode 100644 index 0000000000..a1f71c7144 --- /dev/null +++ b/target/linux/ramips/dts/ZBT-WE826-E.dts @@ -0,0 +1,83 @@ +/dts-v1/; + +#include "ZBT-WE826.dtsi" + +/ { + compatible = "zbtlink,zbt-we826-e", "zbtlink,zbt-we826", "ralink,mt7620a-soc"; + model = "ZBT-WE826-E"; + + /delete-node/ leds; + + leds { + compatible = "gpio-leds"; + + led_power: gsm { + label = "zbt-we826-e:blue:gsm"; + gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; + }; + + signal { + label = "zbt-we826-e:green:signal"; + gpios = <&gpio0 11 GPIO_ACTIVE_LOW>; + }; + + sim { + label = "zbt-we826-e:red:sim"; + gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; + }; + + air { + label = "zbt-we826-e:red:wifi"; + gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + 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; + }; + + firmware: partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0x1fb0000>; + }; + }; + }; +}; + +&pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "i2c", "uartf", "wled"; + ralink,function = "gpio"; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index da90568df0..35fecb9ac6 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -809,6 +809,15 @@ define Device/zbt-we826-32M endef TARGET_DEVICES += zbt-we826-32M +define Device/zbtlink_zbt-we826-e + DTS := ZBT-WE826-E + IMAGE_SIZE := 32448k + DEVICE_TITLE := Zbtlink ZBT-WE826-E + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 uqmi \ + kmod-usb-serial kmod-usb-serial-option +endef +TARGET_DEVICES += zbtlink_zbt-we826-e + define Device/zbt-wr8305rt DTS := ZBT-WR8305RT DEVICE_TITLE := Zbtlink ZBT-WR8305RT
ZBT WE826-E is a dual-SIM version of the ZBT WE826. The router has the following specifications: - MT7620A (580 MHz) - 128MB RAM - 32MB of flash (SPI NOR) - 5x 10/100Mbps Ethernet (MT7620A built-in switch) - 1x microSD slot - 1x miniPCIe slot (only USB2.0 bus) - 2x SIM card slots (standard size) - 1x USB2.0 port - 1x 2.4GHz wifi (rt2800) - 10x LEDs (4 GPIO-controlled) - 1x reset button The following have been tested and working: - Ethernet switch - wifi - miniPCIe slot - USB port - microSD slot - sysupgrade - reset button Installation: The router ships with an older version of OpenWRT, but with a broken web user interface. In order to install the image, you need to SSH into the router and run sysupgrade. The default address of the router is 192.168.1.1, user is root and password admin. Once you are in, run the following command: sysupgrade -n -F openwrt-ramips-mt7620-zbtlink_zbt-we826-e-squashfs-sysupgrade.bin Recovery: The router ships with a web-based recovery system. If you need to recover the router, keep the reset button pressed during boot and access 192.168.1.1 in your browser when your machine obtains an IP address. Upload the firmware to start the recovery process. How to swap SIMs: You control which SIM slot to use by writing 0/1 to /sys/class/gpio/gpio13/value. In order for the change to take effect, you can either use AT-commands (AT+CFUN) or power-cycle the modem (write 0/1 to /sys/class/gpio/gpio14/value). Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com> --- v1->v2: * Use generic board/model detection, updated the match in 01_leds and 02_network (thanks Petr Štetiar). * Changed the device/target device in the Makefile to match the compatible-string in the DTS (thanks Petr Štetiar). * Use the user-space gpio-switch alternative instead of gpio-export in the DTS (thanks Petr Štetiar). * Update name of flash node in DTS to the more generic "flash0" (thanks Petr Štetiar). * Fix image size in the Makefile (thanks Petr Štetiar). * Group the wifi-LED together with other devices (thanks Petr Štetiar). * Updated commit message. * While the device can be ordered without a modem, I imagine most devices will be delivered with a modem. I have therefore enabled support for QMI and Option, so that most modems can be used out of the box. --- .../ramips/base-files/etc/board.d/01_leds | 3 +- .../ramips/base-files/etc/board.d/02_network | 1 + .../base-files/etc/board.d/03_gpio_switches | 4 + target/linux/ramips/dts/ZBT-WE826-E.dts | 83 +++++++++++++++++++ target/linux/ramips/image/mt7620.mk | 9 ++ 5 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/ZBT-WE826-E.dts