b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -8,7 +8,11 @@ ucidef_set_led_netdev() {
local name=$2
local sysfs=$3
local dev=$4
+ local mode="link tx rx"
+ if [ -n "$5" ]; then
+ mode=$5
+ fi
uci -q get system.$cfg && return 0
uci batch <<EOF
@@ -17,7 +21,7 @@ set system.$cfg.name='$name'
set system.$cfg.sysfs='$sysfs'
set system.$cfg.trigger='netdev'
set system.$cfg.dev='$dev'
-set system.$cfg.mode='link tx rx'
+set system.$cfg.mode='$mode'
EOF
UCIDEF_LEDS_CHANGED=1
}
b/package/network/config/firewall/files/firewall.config
@@ -1,177 +1,118 @@
-config defaults
- option syn_flood 1
- option input ACCEPT
- option output ACCEPT
- option forward REJECT
-# Uncomment this line to disable ipv6 rules
-# option disable_ipv6 1
-config zone
- option name lan
- list network 'lan'
- option input ACCEPT
- option output ACCEPT
- option forward ACCEPT
-
-config zone
- option name wan
- list network 'wan'
- list network 'wan6'
- option input REJECT
- option output ACCEPT
- option forward REJECT
- option masq 1
- option mtu_fix 1
-
-config forwarding
- option src lan
- option dest wan
-
-# We need to accept udp packets on port 68,
-# see https://dev.openwrt.org/ticket/4108
-config rule
- option name Allow-DHCP-Renew
- option src wan
- option proto udp
- option dest_port 68
- option target ACCEPT
- option family ipv4
-
-# Allow IPv4 ping
-config rule
- option name Allow-Ping
- option src wan
- option proto icmp
- option icmp_type echo-request
- option family ipv4
- option target ACCEPT
-
-# Allow DHCPv6 replies
-# see https://dev.openwrt.org/ticket/10381
-config rule
- option name Allow-DHCPv6
- option src wan
- option proto udp
- option src_ip fe80::/10
- option src_port 547
- option dest_ip fe80::/10
- option dest_port 546
- option family ipv6
- option target ACCEPT
-
-# Allow essential incoming IPv6 ICMP traffic
-config rule
- option name Allow-ICMPv6-Input
- option src wan
- option proto icmp
- list icmp_type echo-request
- list icmp_type echo-reply
- list icmp_type destination-unreachable
- list icmp_type packet-too-big
- list icmp_type time-exceeded
- list icmp_type bad-header
- list icmp_type unknown-header-type
- list icmp_type router-solicitation
- list icmp_type neighbour-solicitation
- list icmp_type router-advertisement
- list icmp_type neighbour-advertisement
- option limit 1000/sec
- option family ipv6
- option target ACCEPT
-
-# Allow essential forwarded IPv6 ICMP traffic
-config rule
- option name Allow-ICMPv6-Forward
- option src wan
- option dest *
- option proto icmp
- list icmp_type echo-request
- list icmp_type echo-reply
- list icmp_type destination-unreachable
- list icmp_type packet-too-big
- list icmp_type time-exceeded
- list icmp_type bad-header
- list icmp_type unknown-header-type
- option limit 1000/sec
- option family ipv6
- option target ACCEPT
-
-# include a file with users custom iptables rules
-config include
- option path /etc/firewall.user
-
-
-### EXAMPLE CONFIG SECTIONS
-# do not allow a specific ip to access wan
-#config rule
-# option src lan
-# option src_ip 192.168.45.2
-# option dest wan
-# option proto tcp
-# option target REJECT
-
-# block a specific mac on wan
-#config rule
-# option dest wan
-# option src_mac 00:11:22:33:44:66
-# option target REJECT
-
-# block incoming ICMP traffic on a zone
-#config rule
-# option src lan
-# option proto ICMP
-# option target DROP
-
-# port redirect port coming in on wan to lan
-#config redirect
-# option src wan
-# option src_dport 80
-# option dest lan
-# option dest_ip 192.168.16.235
-# option dest_port 80
-# option proto tcp
-
-# port redirect of remapped ssh port (22001) on wan
-#config redirect
-# option src wan
-# option src_dport 22001
-# option dest lan
-# option dest_port 22
-# option proto tcp
-
-# allow IPsec/ESP and ISAKMP passthrough
-#config rule
-# option src wan
-# option dest lan
-# option protocol esp
-# option target ACCEPT
-
-#config rule
-# option src wan
-# option dest lan
-# option src_port 500
-# option dest_port 500
-# option proto udp
-# option target ACCEPT
-
-### FULL CONFIG SECTIONS
-#config rule
-# option src lan
-# option src_ip 192.168.45.2
-# option src_mac 00:11:22:33:44:55
-# option src_port 80
-# option dest wan
-# option dest_ip 194.25.2.129
-# option dest_port 120
-# option proto tcp
-# option target REJECT
-
-#config redirect
-# option src lan
-# option src_ip 192.168.45.2
-# option src_mac 00:11:22:33:44:55
-# option src_port 1024
-# option src_dport 80
-# option dest_ip 194.25.2.129
-# option dest_port 120
-# option proto tcp
+config 'defaults'
+ option 'syn_flood' '1'
+ option 'input' 'ACCEPT'
+ option 'output' 'ACCEPT'
+ option 'forward' 'REJECT'
+
+config 'zone'
+ option 'name' 'lan'
+ option 'network' 'lan'
+ option 'input' 'ACCEPT'
+ option 'output' 'ACCEPT'
+ option 'forward' 'REJECT'
+
+config 'zone'
+ option 'name' 'wan'
+ option 'input' 'REJECT'
+ option 'output' 'ACCEPT'
+ option 'forward' 'REJECT'
+ option 'masq' '1'
+ option 'mtu_fix' '1'
+ option 'network' 'wan wwan'
+
+config 'forwarding'
+ option 'src' 'lan'
+ option 'dest' 'wan'
+
+config 'rule'
+ option 'name' 'Allow-DHCP-Renew'
+ option 'src' 'wan'
+ option 'proto' 'udp'
+ option 'dest_port' '68'
+ option 'target' 'ACCEPT'
+ option 'family' 'ipv4'
+
+config 'rule'
+ option 'name' 'Allow-Ping'
+ option 'src' 'wan'
+ option 'proto' 'icmp'
+ option 'icmp_type' 'echo-request'
+ option 'family' 'ipv4'
+ option 'target' 'ACCEPT'
+
+config 'rule'
+ option 'name' 'Allow-DHCPv6'
+ option 'src' 'wan'
+ option 'proto' 'udp'
+ option 'src_ip' 'fe80::/10'
+ option 'src_port' '547'
+ option 'dest_ip' 'fe80::/10'
+ option 'dest_port' '546'
+ option 'family' 'ipv6'
+ option 'target' 'ACCEPT'
+
+config 'rule'
+ option 'name' 'Allow-ICMPv6-Input'
+ option 'src' 'wan'
+ option 'proto' 'icmp'
+ list 'icmp_type' 'echo-request'
+ list 'icmp_type' 'destination-unreachable'
+ list 'icmp_type' 'packet-too-big'
+ list 'icmp_type' 'time-exceeded'
+ list 'icmp_type' 'bad-header'
+ list 'icmp_type' 'unknown-header-type'
+ list 'icmp_type' 'router-solicitation'
+ list 'icmp_type' 'neighbour-solicitation'
+ option 'limit' '1000/sec'
+ option 'family' 'ipv6'
+ option 'target' 'ACCEPT'
+
+config 'rule'
+ option 'name' 'Allow-ICMPv6-Forward'
+ option 'src' 'wan'
+ option 'dest' '*'
+ option 'proto' 'icmp'
+ list 'icmp_type' 'echo-request'
+ list 'icmp_type' 'destination-unreachable'
+ list 'icmp_type' 'packet-too-big'
+ list 'icmp_type' 'time-exceeded'
+ list 'icmp_type' 'bad-header'
+ list 'icmp_type' 'unknown-header-type'
+ option 'limit' '1000/sec'
+ option 'family' 'ipv6'
+ option 'target' 'ACCEPT'
+
+config 'include'
+ option 'path' '/etc/firewall.user'
+
+config 'zone'
+ option 'name' 'newzone'
+ option 'input' 'ACCEPT'
+ option 'forward' 'REJECT'
+ option 'network' ' '
+ option 'output' 'ACCEPT'
+
+config 'rule'
+ option 'target' 'ACCEPT'
+ option 'src' 'wan'
+ option 'dest_port' '22'
+ option 'name' 'ssh'
+ option 'family' 'ipv4'
+ option 'proto' 'tcp udp'
+
+config 'rule'
+ option 'target' 'ACCEPT'
+ option 'src' 'wan'
+ option 'dest_port' '80'
+ option 'name' 'web'
+ option 'family' 'ipv4'
+ option 'proto' 'tcp udp'
+
+config 'rule'
+ option 'target' 'ACCEPT'
+ option 'src' 'wan'
+ option 'dest_port' '4028'
+ option 'name' 'cgminer'
+ option 'family' 'ipv4'
+ option 'proto' 'tcp udp'
\ No newline at end of file
b/package/network/services/dnsmasq/files/dhcp.conf
@@ -1,32 +1,26 @@
+
config dnsmasq
- option domainneeded 1
- option boguspriv 1
- option filterwin2k 0 # enable for dial on demand
- option localise_queries 1
- option rebind_protection 1 # disable if upstream must serve RFC1918 addresses
- option rebind_localhost 1 # enable for RBL checking and similar services
- #list rebind_domain example.lan # whitelist RFC1918 responses for domains
- option local '/lan/'
- option domain 'lan'
- option expandhosts 1
- option nonegcache 0
- option authoritative 1
- option readethers 1
- option leasefile '/tmp/dhcp.leases'
- option resolvfile '/tmp/resolv.conf.auto'
- #list server '/mycompany.local/1.2.3.4'
- #option nonwildcard 1
- #list interface br-lan
- #list notinterface lo
- #list bogusnxdomain '64.94.110.11'
- option localservice 1 # disable to allow DNS requests from non-loclal subnets
+ option domainneeded '1'
+ option boguspriv '1'
+ option filterwin2k '0'
+ option localise_queries '1'
+ option rebind_protection '1'
+ option rebind_localhost '1'
+ option local '/lan/'
+ option domain 'lan'
+ option expandhosts '1'
+ option nonegcache '0'
+ option authoritative '1'
+ option readethers '1'
+ option leasefile '/tmp/dhcp.leases'
+ option resolvfile '/tmp/resolv.conf.auto'
-config dhcp lan
- option interface lan
- option start 100
- option limit 150
- option leasetime 12h
+config dhcp 'lan'
+ option interface 'lan'
+ option start '100'
+ option limit '150'
+ option leasetime '12h'
-config dhcp wan
- option interface wan
- option ignore 1
+config dhcp 'wan'
+ option interface 'wan'
+ option ignore '1'
b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
@@ -384,6 +384,16 @@ tl-wr741nd)
ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x10"
;;
+bitmain-antminer)
+ ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1" "link tx rx"
+ ucidef_set_led_netdev "wanl" "WANL" "tp-link:green:wan_link" "eth1" "link"
+ ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04"
+ ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
+ ucidef_set_led_switch "lan3" "LAN3" "tp-link:green:lan3" "switch0" "0x10"
+ ucidef_set_led_switch "lan4" "LAN4" "tp-link:green:lan4" "switch0" "0x02"
+ ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
+ ;;
+
tl-wr741nd-v4)
ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x04"
b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -134,8 +134,8 @@ tplink_board_detect() {
"074100"*)
model="TP-Link TL-WR741N/ND"
;;
- "074300"*)
- model="TP-Link TL-WR743N/ND"
+ "07430002")
+ model="BITMAIN ANTMINER"
;;
"075000"*)
model="TP-Link TL-WA750RE"
@@ -55,6 +55,7 @@ CONFIG_ATH79_MACH_DIR_825_C1=y
CONFIG_ATH79_MACH_DRAGINO2=y
CONFIG_ATH79_MACH_EAP300V2=y
CONFIG_ATH79_MACH_EAP7660D=y
+CONFIG_ATH79_MACH_BITMAIN_ANTMINER=y
CONFIG_ATH79_MACH_EL_M150=y
CONFIG_ATH79_MACH_EL_MINI=y
CONFIG_ATH79_MACH_ESR1750=y
b/target/linux/ar71xx/files/arch/mips/ath79/mach-bitmain-antminer.c
new file mode 100644
@@ -0,0 +1,209 @@
+/*
+ * TP-LINK TL-WR741ND v4/TL-MR3220 v2 board support
+ *
+ * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ */
+
+#include <linux/gpio.h>
+
+#include <asm/mach-ath79/ath79.h>
+#include <asm/mach-ath79/ar71xx_regs.h>
+
+#include "common.h"
+#include "dev-eth.h"
+#include "dev-gpio-buttons.h"
+#include "dev-leds-gpio.h"
+#include "dev-m25p80.h"
+#include "dev-usb.h"
+#include "dev-wmac.h"
+#include "machtypes.h"
+
+#define TL_WR741NDV4_GPIO_BTN_RESET 11
+#define TL_WR741NDV4_GPIO_BTN_WPS 26
+
+#define TL_WR741NDV4_GPIO_LED_WLAN 0
+#define TL_WR741NDV4_GPIO_LED_QSS 1
+#define TL_WR741NDV4_GPIO_LED_WAN 17
+#define TL_WR741NDV4_GPIO_LED_WANL 22
+#define TL_WR741NDV4_GPIO_LED_LAN1 13
+#define TL_WR741NDV4_GPIO_LED_LAN2 14
+#define TL_WR741NDV4_GPIO_LED_LAN3 15
+#define TL_WR741NDV4_GPIO_LED_LAN4 16
+#define TL_WR741NDV4_GPIO_LED_SYSTEM 23
+
+#define TL_MR3220V2_GPIO_BTN_WPS 11
+#define TL_MR3220V2_GPIO_BTN_WIFI 24
+
+#define TL_MR3220V2_GPIO_LED_3G 26
+#define TL_MR3220V2_GPIO_USB_POWER 8
+
+#define TL_WR741NDV4_KEYS_POLL_INTERVAL 20 /* msecs */
+#define TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL (3 *
TL_WR741NDV4_KEYS_POLL_INTERVAL)
+
+static const char *tl_wr741ndv4_part_probes[] = {
+ "tp-link",
+ NULL,
+};
+
+static struct flash_platform_data tl_wr741ndv4_flash_data = {
+ .part_probes = tl_wr741ndv4_part_probes,
+};
+
+static struct gpio_led tl_wr741ndv4_leds_gpio[] __initdata = {
+ {
+ .name = "tp-link:green:lan1",
+ .gpio = TL_WR741NDV4_GPIO_LED_LAN1,
+ .active_low = 0,
+ }, {
+ .name = "tp-link:green:lan2",
+ .gpio = TL_WR741NDV4_GPIO_LED_LAN2,
+ .active_low = 0,
+ }, {
+ .name = "tp-link:green:lan3",
+ .gpio = TL_WR741NDV4_GPIO_LED_LAN3,
+ .active_low = 0,
+ }, {
+ .name = "tp-link:green:lan4",
+ .gpio = TL_WR741NDV4_GPIO_LED_LAN4,
+ .active_low = 0,
+ }, {
+ .name = "tp-link:green:qss",
+ .gpio = TL_WR741NDV4_GPIO_LED_QSS,
+ .active_low = 0,
+ }, {
+ .name = "tp-link:green:system",
+ .gpio = TL_WR741NDV4_GPIO_LED_SYSTEM,
+ .active_low = 0,
+ }, {
+ .name = "tp-link:green:wan",
+ .gpio = TL_WR741NDV4_GPIO_LED_WAN,
+ .active_low = 0,
+ }, {
+ .name = "tp-link:green:wan_link",
+ .gpio = TL_WR741NDV4_GPIO_LED_WANL,
+ .active_low = 0,
+ }, {
+ .name = "tp-link:green:wlan",
+ .gpio = TL_WR741NDV4_GPIO_LED_WLAN,
+ .active_low = 0,
+ }, {
+ /* the 3G LED is only present on the MR3220 v2 */
+ .name = "tp-link:green:3g",
+ .gpio = TL_MR3220V2_GPIO_LED_3G,
+ .active_low = 0,
+ },
+};
+
+static struct gpio_keys_button tl_wr741ndv4_gpio_keys[] __initdata = {
+ {
+ .desc = "reset",
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL,
+ .gpio = TL_WR741NDV4_GPIO_BTN_RESET,
+ .active_low = 1,
+ }, {
+ .desc = "WPS",
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL,
+ .gpio = TL_WR741NDV4_GPIO_BTN_WPS,
+ .active_low = 0,
+ }
+};
+
+static struct gpio_keys_button tl_mr3220v2_gpio_keys[] __initdata = {
+ {
+ .desc = "WPS",
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL,
+ .gpio = TL_MR3220V2_GPIO_BTN_WPS,
+ .active_low = 0,
+ }, {
+ .desc = "WIFI button",
+ .type = EV_KEY,
+ .code = KEY_RFKILL,
+ .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL,
+ .gpio = TL_MR3220V2_GPIO_BTN_WIFI,
+ .active_low = 0,
+ }
+};
+
+static void __init tl_ap121_setup(void)
+{
+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
+ u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
+
+ if((mac[0] == 0xff) &&
+ (mac[1] == 0xff) &&
+ (mac[2] == 0xff) &&
+ (mac[3] == 0xff) &&
+ (mac[4] == 0xff) &&
+ (mac[5] == 0xff))
+ {
+ printk("MAC FF:FF:FF:FF:FF:FF\n");
+ memcpy(mac, ee+2, 6);
+ mac = ee+2;
+ printk("MAC %02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], mac[2],
mac[3], mac[4], mac[5]);
+ }
+ //ath79_setup_ar933x_phy4_switch(true, true);
+ ath79_setup_ar933x_phy4_switch(false, false);
+
+ ath79_gpio_function_disable(AR933X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
+ AR933X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
+ AR933X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
+ AR933X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
+ AR933X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
+
+ ath79_register_m25p80(&tl_wr741ndv4_flash_data);
+ ath79_init_mac(ath79_eth0_data.mac_addr, mac, 1);
+ ath79_init_mac(ath79_eth1_data.mac_addr, mac, -1);
+
+ ath79_register_mdio(0, 0x0);
+ ath79_register_eth(1);
+ ath79_register_eth(0);
+
+ ath79_register_wmac(ee, mac);
+}
+
+static void __init tl_wr741ndv4_setup(void)
+{
+ tl_ap121_setup();
+ gpio_request_one(TL_MR3220V2_GPIO_USB_POWER,
+ GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+ "USB power");
+ ath79_register_usb();
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr741ndv4_leds_gpio) - 1,
+ tl_wr741ndv4_leds_gpio);
+ ath79_register_gpio_keys_polled(1, TL_WR741NDV4_KEYS_POLL_INTERVAL,
+ ARRAY_SIZE(tl_wr741ndv4_gpio_keys),
+ tl_wr741ndv4_gpio_keys);
+}
+
+MIPS_MACHINE(ATH79_MACH_BITMAIN_ANTMINER, "BITMAIN-ANTMINER",
+ "Bitmain Antminer", tl_wr741ndv4_setup);
+
+static void __init tl_mr3220v2_setup(void)
+{
+ tl_ap121_setup();
+
+ gpio_request_one(TL_MR3220V2_GPIO_USB_POWER,
+ GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED,
+ "USB power");
+ ath79_register_usb();
+
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr741ndv4_leds_gpio),
+ tl_wr741ndv4_leds_gpio);
+ ath79_register_gpio_keys_polled(1, TL_WR741NDV4_KEYS_POLL_INTERVAL,
+ ARRAY_SIZE(tl_mr3220v2_gpio_keys),
+ tl_mr3220v2_gpio_keys);
+}
+
+MIPS_MACHINE(ATH79_MACH_TL_MR3220_V2, "TL-MR3220-v2",
+ "TP-LINK TL-MR3220 v2", tl_mr3220v2_setup);
b/target/linux/ar71xx/files/drivers/mtd/tplinkpart.c
@@ -149,7 +149,7 @@ static int tplink_parse_partitions(struct mtd_info *master,
parts[0].name = "u-boot";
parts[0].offset = 0;
parts[0].size = offset;
- parts[0].mask_flags = MTD_WRITEABLE;
+ //parts[0].mask_flags = MTD_WRITEABLE;
parts[1].name = "kernel";
parts[1].offset = offset;
@@ -159,15 +159,24 @@ static int tplink_parse_partitions(struct
mtd_info *master,
parts[2].offset = rootfs_offset;
parts[2].size = art_offset - rootfs_offset;
+ parts[4].name = "art";
+ parts[4].offset = art_offset;
+ parts[4].size = TPLINK_ART_LEN;
+ //part4[3].mask_flags = MTD_WRITEABLE;
+
+ parts[3].name = "firmware";
+ parts[3].offset = offset;
+ parts[3].size = art_offset - offset;
+ #if 0
parts[3].name = "art";
parts[3].offset = art_offset;
parts[3].size = TPLINK_ART_LEN;
- parts[3].mask_flags = MTD_WRITEABLE;
+ //parts[3].mask_flags = MTD_WRITEABLE;
parts[4].name = "firmware";
parts[4].offset = offset;
parts[4].size = art_offset - offset;
-
+ #endif
vfree(header);
*pparts = parts;
b/target/linux/ar71xx/generic/profiles/bitmain.mk
new file mode 100644
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/ANTMINER
+ NAME:=BITMAIN ANTMINER
+ PACKAGES:=
+endef
+
+define Profile/ANTMINER/Description
+ Package set optimized for BITMAIN ANTMINER S1/S3.
+endef
+$(eval $(call Profile,ANTMINER))
b/target/linux/ar71xx/image/Makefile
@@ -1476,6 +1476,7 @@ $(eval $(call
SingleProfile,TPLINK,64kraw,TLWR1043V1,tl-wr1043nd-v1,TL-WR1043ND,
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC5,archer-c5,ARCHER-C5,ttyS0,115200,0xc5000001,1,16Mlzma))
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7V1,archer-c7-v1,ARCHER-C7,ttyS0,115200,0x75000001,1,8Mlzma))
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ARCHERC7V2,archer-c7-v2,ARCHER-C7,ttyS0,115200,0xc7000002,1,16Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ANTMINER,bitmain-antminer,TL-WR741ND-v4,ttyATH0,115200,0x07430002,1,8Mlzma))
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ELM150,el-m150,EL-M150,ttyATH0,115200,0x01500101,1,8Mlzma))
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,ELMINI,el-mini,EL-MINI,ttyATH0,115200,0x01530001,1,8Mlzma))
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,GLINET6408A,gl-inet-6408A-v1,GL-INET,ttyATH0,115200,0x08000001,1,8Mlzma))
b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch
@@ -44,6 +44,7 @@
+ ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
+ ATH79_MACH_EAP300V2, /* EnGenius EAP300 v2 */
+ ATH79_MACH_EAP7660D, /* Senao EAP7660D */
++ ATH79_MACH_BITMAIN_ANTMINER, /* Bitmain Antminer */
+ ATH79_MACH_EL_M150, /* EasyLink EL-M150 */
+ ATH79_MACH_EL_MINI, /* EasyLink EL-MINI */
+ ATH79_MACH_ESR1750, /* EnGenius ESR1750 */
@@ -624,6 +625,16 @@
+ Say 'Y' here if you want your kernel to support the
+ Dorin Platform from www.80211.de .
+
++config ATH79_MACH_BITMAIN_ANTMINER
++ bool "Bitmain Antminer support"
++ select SOC_AR933X
++ select ATH79_DEV_ETH
++ select ATH79_DEV_GPIO_BUTTONS
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_USB
++ select ATH79_DEV_WMAC
++
+config ATH79_MACH_EL_M150
+ bool "EasyLink EL-M150 support"
+ select SOC_AR933X
@@ -1437,6 +1448,7 @@
+obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
+obj-$(CONFIG_ATH79_MACH_EAP300V2) += mach-eap300v2.o
+obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
++obj-$(CONFIG_ATH79_MACH_BITMAIN_ANTMINER) += mach-bitmain-antminer.o
+obj-$(CONFIG_ATH79_MACH_EL_M150) += mach-el-m150.o
+obj-$(CONFIG_ATH79_MACH_EL_MINI) += mach-el-mini.o
+obj-$(CONFIG_ATH79_MACH_ESR1750) += mach-esr1750.o
b/tools/firmware-utils/src/mktplinkfw.c
@@ -58,7 +58,7 @@
#define HWID_TL_WR740N_V1 0x07400001
#define HWID_TL_WR740N_V3 0x07400003
#define HWID_TL_WR743ND_V1 0x07430001
-#define HWID_TL_WR743ND_V2 0x07430002
+#define HWID_BITMAIN_ANTMINER 0x07430002
#define HWID_TL_WR841N_V1_5 0x08410002
#define HWID_TL_WR841ND_V3 0x08410003
#define HWID_TL_WR841ND_V5 0x08410005
@@ -336,11 +336,6 @@ static struct board_info boards[] = {
.hw_rev = 1,
.layout_id = "4M",
}, {
- .id = "TL-WR743NDv2",
- .hw_id = HWID_TL_WR743ND_V2,
- .hw_rev = 1,
- .layout_id = "4Mlzma",
- }, {
.id = "TL-WR841Nv1.5",
.hw_id = HWID_TL_WR841N_V1_5,
.hw_rev = 2,
@@ -411,6 +406,11 @@ static struct board_info boards[] = {
.hw_rev = 1,
.layout_id = "16Mlzma",
}, {
+ .id = "BITMAIN-ANTMINER",
+ .hw_id = HWID_BITMAIN_ANTMINER,
+ .hw_rev = 1,
+ .layout_id = "8Mlzma",
+ }, {
/* terminating entry */
}
};