Re: [OpenWrt-Devel] [PATCH] proc: cancel script killing only if process ends

2019-10-10 Thread SAn via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Hi! I forgot to mention that this patch is for uhttpd.

Best!
SAn

--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] proc: cancel script killing only if process ends

2019-10-10 Thread Santiago Piccinini via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Before this change if the cgi script hangs after writing headers
then the process will never be killed. Let's only cancel the timeout
if the process ends.

Signed-off-by: Santiago Piccinini 
---
 proc.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/proc.c b/proc.c
index 1d63d86..2b69703 100644
--- a/proc.c
+++ b/proc.c
@@ -225,11 +225,9 @@ static void proc_handle_header(struct relay *r, const char 
*name, const char *va
 static void proc_handle_header_end(struct relay *r)
 {
struct client *cl = r->cl;
-   struct dispatch_proc *p = >dispatch.proc;
struct blob_attr *cur;
int rem;
 
-   uloop_timeout_cancel(>timeout);
uh_http_header(cl, cl->dispatch.proc.status_code, 
cl->dispatch.proc.status_msg);
blob_for_each_attr(cur, cl->dispatch.proc.hdr.head, rem)
ustream_printf(cl->us, "%s: %s\r\n", blobmsg_name(cur),
-- 
2.23.0


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] Ruckus Networks Users Contact List

2019-10-10 Thread Rachel Wheeler
Hello,

I would like to know if you are interested in acquiring Ruckus Networks Users 
Contact List.

Information fields: Names, Title, Email, Phone, Company Name, Company URL, 
Company physical address, SIC Code, Industry and Specialty (Revenue and 
Employee).

Let me know if you are interested and I will get back to you with the counts 
and pricing.

Regards,

Rachel Wheeler
Marketing Executive

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] Donation for GitHub Openwrt

2019-10-10 Thread Alex Bill

Hello Openwrt,

We are a small business impressed by your open source initiative on 
https://github.com/openwrt. Our management support different open-source 
projects under a limited budget on a regular basis. You have made the final 
list.We are looking forward to supporting you for the year ahead-either through 
monthly or quarterly donations. Depending on what you prefer.Please let us know 
the payment mode that will work for you, so we may proceed. We are hoping you 
will accept our humble gesture.   
Alex Bill
Blogger | Internet Marketing

e:  
[http://amsofttech.fstracker.io/email/track/click?hash=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7Im11c3RoIjoiaHR0cDovL2FwcHJveGVuLmZzdHJhY2tlci5pby9lbWFpbC90cmFjay9jbGljaz9oYXNoPWV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSklVekkxTmlKOS5leUprWVhSaElqcDdJbTExYzNSb0lqb2liV0ZwYkhSdk9tRnNaWGhpYVd4c09UUTBRR2R0WVdsc0xtTnZiU0lzSW14cGIyNGlPaUl5TlRBelppSXNJbWR2Y21sc2JHRWlPaUl5TVRnM05XRTBPV1lpTENKa1pXVnlJam9pTWpFNE56Y3haVFpoSW4wc0ltbGhkQ0k2TVRVMk56WXdPVFE0TVgwLm0zYlZhelhCMUEyTUFtT0NaN2pxOFdCNjVHcHFYX3hrX1VIZjZLRzVNa01-ZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SmtZWFJoSWpwN0ltaHZjbk5sSWpvaWRHOWphSFZyZDNWdWQyRjZiM0pBWjIxaGFXd3VZMjl0SWl3aVkyRnRaV3dpT2lJeU1UZzNaV0V6WkRraWZTd2lhV0YwSWpveE5UWTNOakE1TkRneGZRLm11TEJQNmgzZnR6bzdDU21qMThvT3hYbmJ2VGxlYWZGMTAtMFB2S3RkbVkiLCJsaW9uIjoiMjc0NDgiLCJnb3JpbGxhIjoiMjE4N2YzYmI5IiwiZGVlciI6IjIxODhhZjM0MCJ9LCJpYXQiOjE1NzA3MjA1NTB9.l8S_KPyr8UTRgMH3lpfoS_f5z8qjT7A0ZsDjSUogzNQ~eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImhvcnNlIjoib3BlbndydC1kZXZlbEBsaXN0cy5vcGVud3J0Lm9yZyIsImNhbWVsIjoiMjE4OWQ3YWEzIn0sImlhdCI6MTU3MDcyMDU1MH0.0f2wcfKXZOrNyXGryLYvl1xkxzh4YvvBS_DmAN87w9I]alexbill...@gmail.com
 
[http://amsofttech.fstracker.io/email/track/click?hash=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7Im11c3RoIjoibWFpbHRvOmFsZXhiaWxsOTQ0QGdtYWlsLmNvbSIsImxpb24iOiIyNzQ0OCIsImdvcmlsbGEiOiIyMTg3ZjNiYjkiLCJkZWVyIjoiMjE4OGFmMzQxIn0sImlhdCI6MTU3MDcyMDU1MH0.ClPKac2VCLvkUKwjNEiOlrRM42EeWB-6dR4j6g9hL9w~eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImhvcnNlIjoib3BlbndydC1kZXZlbEBsaXN0cy5vcGVud3J0Lm9yZyIsImNhbWVsIjoiMjE4OWQ3YWEzIn0sImlhdCI6MTU3MDcyMDU1MH0.0f2wcfKXZOrNyXGryLYvl1xkxzh4YvvBS_DmAN87w9I]


w: NamoBOT.com



 Unsubscribe 
[http://amsofttech.fstracker.io/email/track/unsubscribe?hash=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7Imxpb24iOiIyNzQ0OCIsImdvcmlsbGEiOiIyMTg3ZjNiYjkiLCJob3JzZSI6Im9wZW53cnQtZGV2ZWxAbGlzdHMub3BlbndydC5vcmciLCJjYW1lbCI6IjIxODlkN2FhMyJ9LCJpYXQiOjE1NzA3MjA1NTB9.hO30N7BI2zOvbQWvhZAULiBn0QIoyAUhh0RpCtO0zyc]

 

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH v2] ramips: add support for Asus RT-AC65P

2019-10-10 Thread vargagab
From: Gabor Varga 

The Asus RT-AC65P router is identical with the RT-AC85P, but better to make 
separate images for it.

On both routers the installation can be done also via SSH:

Note: The user/password for SSH is identical with the one used in the
Web-interface.

1. Complete the initial setup wizard.
2. Activate SSH under "Administration" -> "System".
3. Transfer the OpenWrt factory image via scp:
 > scp openwrt-ramips-mt7621-asus_rt-ac65p-squashfs-factory.bin 
 > admin@192.168.50.1:/tmp
4. Connect via SSH to the router.
 > ssh admin@192.168.50.1
5. Write the OpenWrt image to flash.
 > mtd-write -i
/tmp/openwrt-ramips-mt7621-asus_rt-ac65p-squashfs-factory.bin -d linux
6. Reboot the router
 > reboot

Changelog:

v2: Rebased to latest master
v1: Initial release

Signed-off-by: Gabor Varga 
---
 .../ramips/base-files/etc/board.d/02_network  |   2 +
 .../ramips/base-files/lib/upgrade/platform.sh |   2 +
 .../linux/ramips/dts/mt7621_asus_rt-ac65p.dts |   9 +
 .../linux/ramips/dts/mt7621_asus_rt-ac85p.dts | 157 +
 .../ramips/dts/mt7621_asus_rt-ac[68]5p.dtsi   | 159 ++
 target/linux/ramips/image/mt7621.mk   |  16 ++
 6 files changed, 190 insertions(+), 155 deletions(-)
 create mode 100644 target/linux/ramips/dts/mt7621_asus_rt-ac65p.dts
 create mode 100644 target/linux/ramips/dts/mt7621_asus_rt-ac[68]5p.dtsi

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 25aa075093..f5b030c908 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -234,6 +234,7 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"0:lan" "1:wan" "6@eth0"
;;
+   asus,rt-ac65p|\
asus,rt-ac85p|\
dlink,dir-860l-b1|\
elecom,wrc-1167ghbk2-s|\
@@ -562,6 +563,7 @@ ramips_setup_macs()
zbtlink,zbt-we3526)
wan_mac=$(mtd_get_mac_binary factory 0xe006)
;;
+   asus,rt-ac65p|\
asus,rt-ac85p)
wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh 
b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index a62ded4b9d..03e994dfa4 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -18,6 +18,7 @@ platform_do_upgrade() {
mikrotik,rbm33g)
[ -z "$(rootfs_type)" ] && mtd erase firmware
;;
+   asus,rt-ac65p|\
asus,rt-ac85p)
echo "Backing up firmware"
dd if=/dev/mtd4 bs=1024 count=4096  > /tmp/backup_firmware.bin
@@ -27,6 +28,7 @@ platform_do_upgrade() {
esac
 
case "$board" in
+   asus,rt-ac65p|\
asus,rt-ac85p|\
hiwifi,hc5962|\
netgear,r6220|\
diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ac65p.dts 
b/target/linux/ramips/dts/mt7621_asus_rt-ac65p.dts
new file mode 100644
index 00..261839a6ea
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_asus_rt-ac65p.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7621_asus_rt-ac[68]5p.dtsi"
+
+/ {
+   compatible = "asus,rt-ac65p", "mediatek,mt7621-soc";
+   model = "ASUS RT-AC65P";
+};
\ No newline at end of file
diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts 
b/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
index 3ddbfcfb7c..35103a0c24 100644
--- a/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
+++ b/target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
@@ -1,162 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "mt7621.dtsi"
-
-#include 
-#include 
+#include "mt7621_asus_rt-ac[68]5p.dtsi"
 
 / {
compatible = "asus,rt-ac85p", "mediatek,mt7621-soc";
model = "ASUS RT-AC85P";
-
-   aliases {
-   led-boot = _power;
-   led-failsafe = _power;
-   led-running = _power;
-   led-upgrade = _power;
-   };
-
-   chosen {
-   bootargs = "console=ttyS0,57600";
-   };
-
-   palmbus: palmbus@1E00 {
-   i2c@900 {
-   status = "okay";
-   };
-   };
-
-   keys {
-   compatible = "gpio-keys";
-
-   reset {
-   label = "reset";
-   gpios = < 3 GPIO_ACTIVE_LOW>;
-   linux,code = ;
-   };
-
-   wps {
-   label = "wps";
-   gpios = < 6 GPIO_ACTIVE_LOW>;
-   linux,code = ;
-   };
-   };
-
-   leds {
-   compatible = "gpio-leds";
-
-   led_power: power {
-   label = 

Re: [OpenWrt-Devel] [PATCH v3] ramips: add support for JS76x8 series DEV boards

2019-10-10 Thread Adrian Schmutzler
Hi again,

> @@ -543,7 +546,10 @@ ramips_setup_macs()
>   hilink,hlk-rm04|\
>   nexaira,bc2|\
>   petatel,psr-680w|\
> - skyline,sl-r7205)
> + skyline,sl-r7205|\
> + zhuotk,js76x8-16m|\
> + zhuotk,js76x8-32m|\
> + zhuotk,js76x8-8m)
>   lan_mac=$(macaddr_setbit_la "$(cat 
> /sys/class/net/eth0/address)")
>   wan_mac=$(macaddr_add "$lan_mac" 1)
>   ;;

for a long time already I'm looking for someone to explain to me why this is 
used. Now you volunteered for that job ;-)

You set the ethernet address in DTS, to a real MAC address, determining eth0.
Now you set lan_mac to a local address, having all LAN ports use them.
And you set wan_mac to a another address, calculated from lan_mac, so also with 
local bit set, and have WAN ports use that.

So, all your ports will have local addresses, while the real non-local MAC 
address isn't used at all.

Is there a reason for that I just don't see or is this a mistake?

Despite, I assume this means that there is no WAN MAC address in flash, e.g. at 
0x2e?

Best

Adrian


openpgp-digital-signature.asc
Description: PGP signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] fstools: add a hook before mounting the overlay

2019-10-10 Thread Alin Năstac
On Wed, Oct 9, 2019 at 4:52 PM Alin Năstac  wrote:
>
> On Wed, Oct 9, 2019 at 4:41 PM John Crispin  wrote:
> >
> >
> > On 09/10/2019 16:34, Alin Năstac wrote:
> > > On Wed, Oct 9, 2019 at 2:59 PM John Crispin  wrote:
> > >>
> > >> On 09/10/2019 14:41, Alin Nastac wrote:
> > >>> Scripts located in the directory /lib/mount_root will be executed
> > >>> before mounting the overlay.
> > >>>
> > >>> Signed-off-by: Alin Nastac 
> > >> Hi,
> > >>
> > >> should it not be /etc/mount_root.d/ ? what do you need this for if I may
> > >> ask ?
> > >>
> > >> further comments inline ...
> > >>
> > >>   John
> > >>
> > > Hi John,
> > >
> > > My target is dual bank and I need to copy parts of the customization
> > > from the old bank after upgrade.
> >
> > please dont remove the CC tot he mailing list
> Sorry, I pushed the wrong reply button.
>
> > I dont understamd this part, should sysupgrade not be able to handle
> > this for you ?
>
> Well, it is not that straightforward as saving & restoring the old
> configuration files. Only parts of the UCI configuration must be
> migrated. For instance, UCI option a.b.c must be copied from the old
> image, but a.b.d must be reset to the value found in the new image.
>

Is this use case a good enough reason to implement this feature?

> > > To resume your observations:
> > >   - scripts must be relocated to /etc/mount_root.d/
> > >   - use runqueue API
> > >   - implement the necessary functions in overlay.c
> > > Would that be OK? If so, I will be back with a 2nd version of this patch.
> >
> > I would first like to understand the use-case
> >
> >  John

I've tried to use runqueue API... This API is designed to be used in
conjunction with uloop, which is designed to be used within daemons.
mount_root is not a daemon and it does not have a main loop, so IMHO
it does not fit well in this place.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH v3] ramips: add support for JS76x8 series DEV boards

2019-10-10 Thread Robinson Wu
This commit adds support for the ZhuoTK JS76x8 series development boards.
These devices have the following specifications:

- SOC: MT7628AN/NN, MT7688AN, MT7628DAN
- RAM of MT7628AN/NN and MT7688AN: 64/128/256 MB (DDR2)
- RAM of MT7628DAN: 64 MB (DDR2)
- FLASH:8/16/32 MB (SPI NOR)
- Ethernet:3x 10/100 Mbps ethernet ports (MT76x8 built-in switch)
- WIFI:1x 2T2R 2.4 GHz Wi-Fi
- LEDs:1x system status green LED, 1x wifi green LED,
   3x ethernet green LED
- Buttons:1x reset button, 2x user defined button
- 1x microSD slot
- 4x USB 2.0 port
- 1x mini-usb debug UART
- 1x DC jack for main power (DC 5V)
- 1x TTL/RS232 UART
- 1x TTL/RS485 UART
- 13x GPIO header
- 1x audio codec(wm8960)

Installation via OpenWrt:

The original firmware is OpenWrt, so both LuCI or sysupgrade can be used.

Installation via U-boot web:

1. Power on board with reset button pressed, release it
   after wifi led start blinking.
2. Setup static IP 192.168.1.123/4 on your PC.
3. Go to 192.168.1.8 in browser and upload "sysupgrade" image.

Installation via U-boot tftp:
1. Connect to serial console at the mini usb, which has been connected to UART0
   on board (115200 8N1)
2. Setup static IP 192.168.1.123/4 on your PC.
3. Place openwrt-firmware.bin on your PC tftp server (192.168.1.123).
3. Connect one of LAN ports on board to your PC.
4. Start terminal software (e.g. screen /dev/ttyUSB0 115200) on PC.
5. Apply power to board.
6. Interrupt U-boot with keypress of "2".
7. At u-boot prompts:
   Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y
   Input device IP (192.168.1.8) ==:192.168.1.8
   Input server IP (192.168.1.123) ==:192.168.1.123
   Input Linux Kernel filename (root_uImage) ==:openwrt-firmware.bin
8. board will download file from tftp server, write it to flash and reboot.

Other notes:

Vist www.zhuotk.com for further information.

Signed-off-by: Robinson Wu 
---
 target/linux/ramips/base-files/etc/board.d/01_leds |   6 ++
 .../linux/ramips/base-files/etc/board.d/02_network |   8 +-
 .../ramips/dts/mt7628an_zhuotk_js76x8-16m.dts  |  60 
 .../ramips/dts/mt7628an_zhuotk_js76x8-32m.dts  |  60 
 .../linux/ramips/dts/mt7628an_zhuotk_js76x8-8m.dts |  60 
 .../linux/ramips/dts/mt7628an_zhuotk_js76x8.dtsi   | 105 +
 target/linux/ramips/image/mt76x8.mk|  30 ++
 7 files changed, 328 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/ramips/dts/mt7628an_zhuotk_js76x8-16m.dts
 create mode 100644 target/linux/ramips/dts/mt7628an_zhuotk_js76x8-32m.dts
 create mode 100644 target/linux/ramips/dts/mt7628an_zhuotk_js76x8-8m.dts
 create mode 100644 target/linux/ramips/dts/mt7628an_zhuotk_js76x8.dtsi

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 f8a270b..c742dbd 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -467,6 +467,12 @@ zbtlink,zbt-we1226)
ucidef_set_led_switch "lan2" "LAN2" "$boardname:green:lan2" "switch0" 
"0x02"
ucidef_set_led_switch "wan" "WAN" "$boardname:green:wan" "switch0" 
"0x10"
;;
+zhuotk,js76x8-16m|\
+zhuotk,js76x8-32m|\
+zhuotk,js76x8-8m)
+   ucidef_set_led_timer "system" "system" "js76x8:green:system" "1000" 
"1000"
+   set_wifi_led "js76x8:green:wifi"
+   ;;
 zorlik,zl5900v2)
ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0
;;
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 25aa075..73d7c32 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -102,6 +102,9 @@ ramips_setup_interfaces()
zbtlink,zbt-wg3526-16m|\
zbtlink,zbt-wg3526-32m|\
zbtlink,zbt-wr8305rt|\
+   zhuotk,js76x8-16m|\
+   zhuotk,js76x8-32m|\
+   zhuotk,js76x8-8m|\
zyxel,keenetic|\
zyxel,keenetic-omni)
ucidef_add_switch "switch0" \
@@ -543,7 +546,10 @@ ramips_setup_macs()
hilink,hlk-rm04|\
nexaira,bc2|\
petatel,psr-680w|\
-   skyline,sl-r7205)
+   skyline,sl-r7205|\
+   zhuotk,js76x8-16m|\
+   zhuotk,js76x8-32m|\
+   zhuotk,js76x8-8m)
lan_mac=$(macaddr_setbit_la "$(cat 
/sys/class/net/eth0/address)")
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
diff --git a/target/linux/ramips/dts/mt7628an_zhuotk_js76x8-16m.dts 
b/target/linux/ramips/dts/mt7628an_zhuotk_js76x8-16m.dts
new file mode 100644
index 000..7123e63
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_zhuotk_js76x8-16m.dts
@@ -0,0 +1,60 @@
+/dts-v1/;
+
+#include "mt7628an_zhuotk_js76x8.dtsi"
+
+/ {
+   compatible = "zhuotk,js76x8-16m", "zhuotk,js76x8", 
"mediatek,mt7628an-soc";
+   model = "ZhuoTK JS76x8 (16M)";
+};
+
+ {
+   status = "okay";
+
+   

[OpenWrt-Devel] [PATCH v2] ramips: add support for JS76x8 series DEV boards

2019-10-10 Thread Robinson Wu
This commit adds support for the ZhuoTK JS76x8 series development boards.
These devices has the following specifications:

- SOC: MT7628AN/NN, MT7688AN, MT7628DAN
- RAM of MT7628AN/NN and MT7688AN: 64/128/256 MB (DDR2)
- RAM of MT7628DAN: 64 MB (DDR2)
- FLASH:8/16/32 MB (SPI NOR)
- Ethernet:3x 10/100 Mbps ethernet ports (MT76x8 built-in switch)
- WIFI:1x 2T2R 2.4 GHz Wi-Fi
- LEDs:1x system status green LED, 1x wifi green LED,
   3x ethernet green LED
- Buttons:1x reset button, 2x user defined button
- 1x microSD slot
- 4x USB 2.0 port
- 1x mini-usb debug UART
- 1x DC jack for main power (DC 5V)
- 1x TTL/RS232 UART
- 1x TTL/RS485 UART
- 13x GPIO header
- 1x audio codec(wm8960)

Installation via OpenWrt:

The original firmware is OpenWrt, so both LuCI or sysupgrade can be used.

Installation via U-boot web:

1. Power on board with reset button pressed, release it
   after wifi led start blinking.
2. Setup static IP 192.168.1.123/4 on your PC.
3. Go to 192.168.1.8 in browser and upload "sysupgrade" image.

Installation via U-boot tftp:
1. Connect to serial console at the mini usb, which has been connected to UART0
   on board (115200 8N1)
2. Setup static IP 192.168.1.123/4 on your PC.
3. Place openwrt-firmware.bin on your PC tftp server (192.168.1.123).
3. Connect one of LAN ports on board to your PC.
4. Start terminal software (e.g. screen /dev/ttyUSB0 115200) on PC.
5. Apply power to board.
6. Interrupt U-boot with keypress of "2".
7. At u-boot prompts:
   Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y
   Input device IP (192.168.1.8) ==:192.168.1.8
   Input server IP (192.168.1.123) ==:192.168.1.123
   Input Linux Kernel filename (root_uImage) ==:openwrt-firmware.bin
8. board will download file from tftp server, write it to flash and reboot.

Other notes:

Vist www.zhuotk.com for further information.

Signed-off-by: Robinson Wu 
---
 target/linux/ramips/base-files/etc/board.d/01_leds |   6 ++
 .../linux/ramips/base-files/etc/board.d/02_network |   8 +-
 .../ramips/dts/mt7628an_zhuotk_js76x8-16m.dts  |  60 
 .../ramips/dts/mt7628an_zhuotk_js76x8-32m.dts  |  60 
 .../linux/ramips/dts/mt7628an_zhuotk_js76x8-8m.dts |  60 
 .../linux/ramips/dts/mt7628an_zhuotk_js76x8.dtsi   | 105 +
 target/linux/ramips/image/mt76x8.mk|  30 ++
 7 files changed, 328 insertions(+), 1 deletion(-)
 create mode 100644 target/linux/ramips/dts/mt7628an_zhuotk_js76x8-16m.dts
 create mode 100644 target/linux/ramips/dts/mt7628an_zhuotk_js76x8-32m.dts
 create mode 100644 target/linux/ramips/dts/mt7628an_zhuotk_js76x8-8m.dts
 create mode 100644 target/linux/ramips/dts/mt7628an_zhuotk_js76x8.dtsi

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 f8a270b..c742dbd 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -467,6 +467,12 @@ zbtlink,zbt-we1226)
ucidef_set_led_switch "lan2" "LAN2" "$boardname:green:lan2" "switch0" 
"0x02"
ucidef_set_led_switch "wan" "WAN" "$boardname:green:wan" "switch0" 
"0x10"
;;
+zhuotk,js76x8-16m|\
+zhuotk,js76x8-32m|\
+zhuotk,js76x8-8m)
+   ucidef_set_led_timer "system" "system" "js76x8:green:system" "1000" 
"1000"
+   set_wifi_led "js76x8:green:wifi"
+   ;;
 zorlik,zl5900v2)
ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0
;;
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 25aa075..73d7c32 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -102,6 +102,9 @@ ramips_setup_interfaces()
zbtlink,zbt-wg3526-16m|\
zbtlink,zbt-wg3526-32m|\
zbtlink,zbt-wr8305rt|\
+   zhuotk,js76x8-16m|\
+   zhuotk,js76x8-32m|\
+   zhuotk,js76x8-8m|\
zyxel,keenetic|\
zyxel,keenetic-omni)
ucidef_add_switch "switch0" \
@@ -543,7 +546,10 @@ ramips_setup_macs()
hilink,hlk-rm04|\
nexaira,bc2|\
petatel,psr-680w|\
-   skyline,sl-r7205)
+   skyline,sl-r7205|\
+   zhuotk,js76x8-16m|\
+   zhuotk,js76x8-32m|\
+   zhuotk,js76x8-8m)
lan_mac=$(macaddr_setbit_la "$(cat 
/sys/class/net/eth0/address)")
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
diff --git a/target/linux/ramips/dts/mt7628an_zhuotk_js76x8-16m.dts 
b/target/linux/ramips/dts/mt7628an_zhuotk_js76x8-16m.dts
new file mode 100644
index 000..7123e63
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_zhuotk_js76x8-16m.dts
@@ -0,0 +1,60 @@
+/dts-v1/;
+
+#include "mt7628an_zhuotk_js76x8.dtsi"
+
+/ {
+   compatible = "zhuotk,js76x8-16m", "zhuotk,js76x8", 
"mediatek,mt7628an-soc";
+   model = "ZhuoTK JS76x8 (16M)";
+};
+
+ {
+   status = "okay";
+
+