openwrt/target/linux
David Yang b00a02aaa0 ramips: add support for Netgear PR2000
This patch adds support for Netgear PR2000, sold as "Travel Router and
Range Extender".

Specifications:
--------------

* SoC: Mediatek MT7620N
* RAM: 64MB DDR2
* Flash: 16MB SPI NOR flash (Macronix MX25L12805D)
* WiFi 2.4GHz: builtin
* Ethernet: builtin
* LED: Power, Internet, WiFi, USB
* Buttons: Reset (GPIO 1/2)
* UART: Serial console (57600 8n1)
* USB: 1 x USB2

SPECIAL NOTES:
-------------

Problem: WiFi is super weak, but SSID beacons seems to be right.

Solve: Change 36h in factory partition (namely 0xf60036) to be 0x0.

Explain: Clearly Netgear have different ideas on how EEPROM is used. Bit 2
of 36h indicates the presence of External LNA for 11g (2.4 GHz) band,
which seems to be incorrectly set by Netgear (originally 0x04). Lifting it
solves the problem of weak RX signal.

Installation:
------------

There are two possible ways to install the firmware. Flashing via web
interface of original firmware is not tested due to a broken firmware.

1) Open the shell and use a UART2USB convert to gain TTY access (TP7: RXD,
   TP9: TXD, TP10: GND). Please notice you have to remove resistance R54
   next to TP7 otherwise you won't be able to input anything.
2) Use well-known Netgear debug switch. Access
   http://192.168.168.1/setup.cgi?todo=debug to start telnet service
   (username: root, password: <none>).

Please back up firmware if you want to go back to the original.

After you can control the device, flash the firmware as usual. Here are
some hints for that.

Option 1 (via nmrpflash):

1) Download nmrpflash from https://github.com/jclehner/nmrpflash
2) Use *-factory.img and flash:
     nmrpflash -L
     nmrpflash -i net* -f <your-firmware-name>
3) Turn off then turn on the device, wait it finishing flash.

Option 2 (replacing u-boot via breed):

1) Download breed-mt7620-reset1.bin from https://breed.hackpascal.net/
2) Setup HTTP server on your computer, for example:
     python3 -m http.server
   You can skip this step if your breed is already accessible from HTTP,
   since the original wget does not support HTTPS.
3) Connect to the route and flash breed:
     cd /tmp
     wget http://<your-computer-host>/breed-mt7620-reset1.bin
     dd if=breed-mt7620-reset1.bin of=/dev/mtdblock0 bs=64k
4) Reboot. Hold reset key or press any key in TTY to enter breed.
5) Access breed web interface (http://192.168.1.1/). Choose memory layout
   to be 0x40000 and flash new firmware.

Remark:
------

As a "Range Extender", it has a switch to switch between Wired mode (GPIO
21 low) and Wireless mode (GPIO 20 low), which is not implemented in this
patch. However, the router will be turned off when it switches to the
middle, which makes this switch much less useful.

MAC addresses:
-------------

The OEM firmware uses one single MAC for all interfaces, located at
0xf700b0.

Signed-off-by: David Yang <mmyangfl@gmail.com>
2022-08-06 19:58:46 +02:00
..
apm821xx kernel: bump 5.10 to 5.10.127 2022-06-29 23:38:47 +02:00
archs38 generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
armvirt generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
at91 kernel: bump 5.10 to 5.10.130 2022-07-18 23:14:30 +02:00
ath25 generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
ath79 kernel: bump 5.10 to 5.10.135 2022-08-06 19:58:46 +02:00
bcm27xx kernel: bump 5.15 to 5.15.58 2022-07-31 18:55:22 +02:00
bcm47xx kernel: bump 5.10 to 5.10.124 2022-06-27 00:57:15 +02:00
bcm53xx kernel: bump 5.15 to 5.15.56 2022-07-31 18:55:22 +02:00
bcm63xx kernel: backport LEDs driver for BCMBCA devices 2022-07-17 18:44:41 +02:00
bcm4908 kernel: bump 5.10 to 5.10.132 2022-07-29 23:03:41 +02:00
bmips generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
gemini generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
generic kernel: bump 5.10 to 5.10.135 2022-08-06 19:58:46 +02:00
imx imx: keep common kernel symbols in target's config 2022-07-11 14:28:09 +02:00
ipq40xx ipq40xx: add MikroTik wAP ac (RBwAPG-5HacD2HnD) support 2022-07-18 01:45:47 +02:00
ipq806x kernel: bump 5.15 to 5.15.54 2022-07-31 18:55:22 +02:00
kirkwood generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
lantiq lantiq: fix lan port 3+4 phy-mode settings for Fritzbox 3390 2022-08-05 14:10:42 +02:00
layerscape kernel: cut broken SPI_NOR 4K eraseblock LIMIT patch 2022-06-29 12:34:49 +02:00
malta generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
mediatek mt7622: remove 300 MHz from dts 2022-07-19 14:26:30 +02:00
mpc85xx kernel: bump 5.10 to 5.10.122 2022-06-27 00:57:15 +02:00
mvebu mvebu: cortexa72: fix ImageBuilder for IEI Puzzle devices 2022-07-04 18:36:09 +01:00
mxs generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
octeon octeon: add support for Ubiquiti UniFi Security Gateway 2022-06-24 23:59:14 +02:00
octeontx generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
omap generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
oxnas kernel: bump 5.10 to 5.10.121 2022-06-27 00:57:15 +02:00
pistachio kernel: backport mtd dynamic partition patch 2022-07-08 10:19:58 +02:00
qoriq qoriq: enable Book-E Watchdog Timer 2022-07-01 16:26:51 +03:00
ramips ramips: add support for Netgear PR2000 2022-08-06 19:58:46 +02:00
realtek realtek: add support for Panasonic Switch-M48eG PN28480K 2022-08-06 14:39:57 +02:00
rockchip rockchip: reliably distribute net interrupts 2022-07-07 13:13:26 +02:00
sunxi generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
tegra kernel: bump 5.10 to 5.10.132 2022-07-29 23:03:41 +02:00
uml generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
x86 x86: add missing Lex 3I380NX network detection 2022-08-05 14:10:11 +02:00
zynq generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-24 17:10:24 +02:00
Makefile