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. 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 initramfs-kernel.bin image and start upgrade; 7. Connect to the 192.168.1.1 using scp (root with no password) and upload OpenWrt sysupgrade.bin image to the /tmp dir; 8. Connect to the 192.168.1.1 using ssh shell (root with no password) and run: sysupgrade -n /tmp/sysupgrade.bin Recovery and return to stock ---------------------------- Repeat installation steps 1-6 and use stock firmware image in the step 6. 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 boot time using preinit script '09_prepare_eeprom' and change MT_EE_WIFI_CONF (offset 0x190) value from 0xd2 to 0x92. Signed-off-by: Mikhail Zhilkin <[email protected]>
- Loading branch information
1 parent
4e204c7
commit 0d6a7f5
Showing
8 changed files
with
286 additions
and
0 deletions.
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,226 @@ | ||
// 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 boot time | ||
* using preinit script '09_prepare_eeprom' and | ||
* change MT_EE_WIFI_CONF (offset 0x190) value | ||
* from 0xd2 to 0x92. | ||
*/ | ||
|
||
/* | ||
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
17 changes: 17 additions & 0 deletions
17
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,17 @@ | ||
#!/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) | ||
ln -sf /tmp/mt7915_eeprom_dbdc.bin /lib/firmware/$FIRMWARE | ||
;; | ||
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
17 changes: 17 additions & 0 deletions
17
target/linux/ramips/mt7621/base-files/lib/preinit/09_prepare_eeprom
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,17 @@ | ||
. /lib/functions/system.sh | ||
|
||
preinit_prepare_eeprom() { | ||
case $(board_name) in | ||
netis,n6) | ||
EEPROM="/tmp/mt7915_eeprom_dbdc.bin" | ||
head -c $((0xe00)) /dev/mtd2 > $EEPROM | ||
printf "\x92" | \ | ||
dd of=$EEPROM seek=$((0x190)) bs=1 conv=notrunc \ | ||
2>/dev/null | ||
;; | ||
*) | ||
;; | ||
esac | ||
} | ||
|
||
boot_hook_add preinit_main preinit_prepare_eeprom |
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