forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit adds support for netis N6 WiFi 6 router. Specification ------------- - SoC : MediaTek MT7621AT, MIPS, 880 MHz - RAM : 256 MiB - Flash : NAND 128 MiB (ESMT PSU1GA30DT) - WLAN : MT7905DAN + MT7975DN - 2.4 GHz : b/g/n/ax, 574 Mbps, MIMO 2x2 - 5 GHz : a/n/ac/ax, 1201 Mbps, MIMO 2x2 - Ethernet : 10/100/1000 Mbps x5 (1x WAN, 4x LAN) - USB : 1x 3.0 - UART : 3.3V, 115200n8 - Buttons : 1x Reset 1x WPS - LEDs : 1x Power (green) 1x System (green) 1x WAN (green) 1x WiFi 2.4 GHz (green), controlled by phy 1x WiFi 5 GHz (green), controlled by phy 1x WPS (green) 1x USB (green) 5x ethernet leds (green), controlled by switch - Power : 12 VDC, 1.5 A Installation ------------ 1. Update the router using stock firmware web interface and OpenWrt factory.bin image. Recovery and return to stock ---------------------------- 1. Assign your PC a static IP 192.168.1.2 and connect to the router using the ethernet cable; 2. Power off the router; 3. Press Reset button, power on the router and wait until ethernet led start blinking; 4. Release the button; 5. Open http://192.168.1.1/ (N6 System Recovery Mode) in your browser; 6. Upload OpenWrt factory.bin (or stock firmware *.bin) image and proceed with upgrade. MAC addresses ------------- +---------+-------------------+ | | MAC example | +---------+-------------------+ | LAN | dc:xx:xx:49:xx:04 | | WAN | dc:xx:xx:49:xx:05 | | WLAN 2g | dc:xx:xx:19:xx:06 | | WLAN 5g | dc:xx:xx:79:xx:06 | +---------+-------------------+ The WLAN MAC prototype was found in 'Factory', 0x4 The LAN MAC was found in 'Factory', 0x7ef20 The WAN MAC was found in 'Factory', 0x7ef26 Known issue ----------- 2.4 GHz WLAN doesn't start with mt76 driver. Probable reason: Original Netis N6 EEPROM contains wrong MT_EE_WIFI_CONF value (0xd2). Other routers with the same WLAN hardware (e.g., Routerich AX1800) have MT_EE_WIFI_CONF = 0x92. Workaround (already included in this commit): Extract EEPROM to a file at the first time boot and change MT_EE_WIFI_CONF (offset 0x190) value from 0xd2 to 0x92. See /etc/hotplug.d/firmware/11-mt76-caldata for details. Signed-off-by: Mikhail Zhilkin <[email protected]>
- Loading branch information
1 parent
4e204c7
commit b3988f1
Showing
7 changed files
with
293 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,227 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||
|
||
#include "mt7621.dtsi" | ||
|
||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/input/input.h> | ||
#include <dt-bindings/leds/common.h> | ||
|
||
/ { | ||
compatible = "netis,n6", "mediatek,mt7621-soc"; | ||
model = "netis N6"; | ||
|
||
aliases { | ||
label-mac-device = &gmac0; | ||
|
||
led-boot = &led_power_green; | ||
led-failsafe = &led_system_green; | ||
led-running = &led_power_green; | ||
led-upgrade = &led_system_green; | ||
}; | ||
|
||
chosen { | ||
bootargs = "console=ttyS0,115200"; | ||
}; | ||
|
||
keys { | ||
compatible = "gpio-keys"; | ||
|
||
key-0 { | ||
label = "wps"; | ||
gpios = <&gpio 15 GPIO_ACTIVE_LOW>; | ||
linux,code = <KEY_WPS_BUTTON>; | ||
debounce-interval = <60>; | ||
}; | ||
|
||
key-1 { | ||
label = "reset"; | ||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>; | ||
linux,code = <KEY_RESTART>; | ||
debounce-interval = <60>; | ||
}; | ||
}; | ||
|
||
leds { | ||
compatible = "gpio-leds"; | ||
|
||
led-0 { | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_USB; | ||
gpios = <&gpio 4 GPIO_ACTIVE_LOW>; | ||
trigger-sources = <&xhci_ehci_port1>; | ||
linux,default-trigger = "usbport"; | ||
}; | ||
|
||
led-1 { | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_WPS; | ||
gpios = <&gpio 13 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led_system_green: led-2 { | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_INDICATOR; | ||
gpios = <&gpio 14 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-3 { | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_WAN; | ||
gpios = <&gpio 16 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led_power_green: led-4 { | ||
color = <LED_COLOR_ID_GREEN>; | ||
function = LED_FUNCTION_POWER; | ||
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; | ||
}; | ||
}; | ||
}; | ||
|
||
&gmac0 { | ||
nvmem-cells = <&macaddr_factory_7ef20 0>; | ||
nvmem-cell-names = "mac-address"; | ||
}; | ||
|
||
&gmac1 { | ||
status = "okay"; | ||
label = "wan"; | ||
phy-handle = <ðphy4>; | ||
|
||
nvmem-cells = <&macaddr_factory_7ef26 0>; | ||
nvmem-cell-names = "mac-address"; | ||
}; | ||
|
||
ðphy4 { | ||
/delete-property/ interrupts; | ||
}; | ||
|
||
&nand { | ||
status = "okay"; | ||
|
||
mediatek,nmbm; | ||
mediatek,bmt-remap-range = <0x000000 0x580000>; | ||
|
||
partitions { | ||
compatible = "fixed-partitions"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
partition@0 { | ||
label = "u-boot"; | ||
reg = <0x0 0x80000>; | ||
read-only; | ||
}; | ||
|
||
partition@80000 { | ||
label = "Config"; | ||
reg = <0x80000 0x80000>; | ||
}; | ||
|
||
partition@100000 { | ||
label = "Factory"; | ||
reg = <0x100000 0x80000>; | ||
read-only; | ||
|
||
nvmem-layout { | ||
compatible = "fixed-layout"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
eeprom_factory_0: eeprom@0 { | ||
reg = <0x0 0xe00>; | ||
}; | ||
|
||
macaddr_factory_7ef20: macaddr@7ef20 { | ||
reg = <0x7ef20 0x6>; | ||
}; | ||
|
||
macaddr_factory_7ef26: macaddr@7ef26 { | ||
reg = <0x7ef26 0x6>; | ||
}; | ||
}; | ||
}; | ||
|
||
partition@180000 { | ||
label = "firmware"; | ||
reg = <0x180000 0x7680000>; | ||
|
||
compatible = "fixed-partitions"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
partition@0 { | ||
label = "kernel"; | ||
reg = <0x0 0x400000>; | ||
}; | ||
|
||
partition@400000 { | ||
label = "ubi"; | ||
reg = <0x400000 0x7280000>; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
&pcie { | ||
status = "okay"; | ||
}; | ||
|
||
&pcie1 { | ||
wifi@0,0 { | ||
compatible = "mediatek,mt76"; | ||
reg = <0x0000 0 0 0 0>; | ||
|
||
/* | ||
* *** The code block below is commented out *** | ||
* Reason: Probably, original Netis N6 EEPROM has wrong | ||
* MT_EE_WIFI_CONF value 0xd2. As a result 2.4 GHz | ||
* doesn't start with mt76 driver. Other routers | ||
* with the same WLAN chips (e.g., Routerich | ||
* AX1800) have MT_EE_WIFI_CONF = 0x92. | ||
* Workaround: Extract EEPROM to a file at the first time | ||
* boot and change MT_EE_WIFI_CONF (offset | ||
* 0x190) value from 0xd2 to 0x92. See | ||
* /etc/hotplug.d/firmware/11-mt76-caldata for | ||
* details. | ||
*/ | ||
|
||
/* | ||
nvmem-cells = <&eeprom_factory_0>; | ||
nvmem-cell-names = "eeprom"; | ||
*/ | ||
|
||
mediatek,disable-radar-background; | ||
}; | ||
}; | ||
|
||
&state_default { | ||
gpio { | ||
groups = "i2c", "jtag", "wdt"; | ||
function = "gpio"; | ||
}; | ||
}; | ||
|
||
&switch0 { | ||
ports { | ||
port@0 { | ||
status = "okay"; | ||
label = "lan4"; | ||
}; | ||
|
||
port@1 { | ||
status = "okay"; | ||
label = "lan3"; | ||
}; | ||
|
||
port@2 { | ||
status = "okay"; | ||
label = "lan2"; | ||
}; | ||
|
||
port@3 { | ||
status = "okay"; | ||
label = "lan1"; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
target/linux/ramips/mt7621/base-files/etc/hotplug.d/firmware/11-mt76-caldata
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/bin/sh | ||
|
||
[ -e /lib/firmware/$FIRMWARE ] && exit 0 | ||
|
||
. /lib/functions/caldata.sh | ||
|
||
board=$(board_name) | ||
|
||
case "$FIRMWARE" in | ||
"mediatek/mt7915_eeprom_dbdc.bin") | ||
case "$board" in | ||
netis,n6) | ||
EEPROM=/lib/firmware/$FIRMWARE | ||
head -c $((0xe00)) /dev/mtd2 > $EEPROM | ||
printf "\x92" | \ | ||
dd of=$EEPROM seek=$((0x190)) bs=1 conv=notrunc \ | ||
2>/dev/null | ||
;; | ||
esac | ||
;; | ||
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters