Commit Graph

1405 Commits

Author SHA1 Message Date
Shiji Yang
6f31941d38 Revert "ramips: convert MT7915 EEPROM to NVMEM format"
Some MT7915 devices need to load the second part of the eeprom to
work properly. The mt76 driver is not yet ready to read the pre-cal
data via the NVMEM cell. Therefore, partially revert commit to fix
the device probe issue on some devices.

P.S.
Except for D-Link and Ubnt devices, It is still uncertain whether
pre-cal data is required for other devices in the patch.

This partially reverts commit 9ac891f8c4.

Fixes: https://github.com/openwrt/openwrt/issues/13700
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 20:57:07 +08:00
Shiji Yang
366ffa53bd
ramips: fix factory partition size for SNR-CPE-W4N
The starting address of 'factory' partition is 0x40000, and the
starting address of the next partition is 0x50000. It's obvious
that the correct size for the 'factory' is 0x10000, just like
other MT7620 devices.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:28 +02:00
Shiji Yang
b5d059d677
ramips: fix frequency limit property for some Edimax devices
These three devices uses MT7612E PCIe NIC and supported by the
'mt76' driver. So the right frequency limit property should be
`ieee80211-freq-limit`.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:27 +02:00
Shiji Yang
95e241d2af
ramips: remove useless status property from wmac dts node
On the ramips target, all 'wmac' nodes in SoC dtsi are enabled by
default except mt7628. There is no need to mark them as 'okay'
again. So these useless properties can be removed.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:27 +02:00
Shiji Yang
f53fa2a0cb
ramips: convert mt76 PCIe NIC EEPROM to NVMEM format for legacy SoCs
This patch converts MT761{0,2,3} PCIe WiFi calibration data to NVMEM
format for legacy Ralink SoCs (MT7620 and Mt7628). The EEPROM size of
the MT7610 and MT7612 is 0x200. there are only three devices uses
MT7613 NIC, ASUS RT-AC1200 V2, COMFAST CF-WR758AC V2 and Keenetic
KN-1613. The EEPROM size of them is 0x4da8.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:27 +02:00
Shiji Yang
e93f41adee
ramips: convert MT7628 EEPROM to NVMEM format
This patch converts MT7628 WiFi calibration data to NVMEM format. The
EEPROM size is 0x400.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:26 +02:00
Shiji Yang
da42c329c6
ramips: convert rt2x00 EEPROM to NVMEM format
This patch converts legacy Ralink SoCs and MT7620 WiFi calibration
data to NVMEM format. The EEPROM size is 0x200.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:26 +02:00
Shiji Yang
f35ddef268
ramips: fix mtd partition node names for Phicomm PSG1208
The mtd partition node name should be "partition@${offset}".
However, the offsets of the PSG1208 don't match the partition
'reg' properties. This patch correct the wrong offsets.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:26 +02:00
Shiji Yang
7668fc8112
ramips: fix DTS EEPROM property for some MT7628 devices
The MT7628 integrated wireless is driven by `mt76`, so the right
EEPROM property name is `mediatek,mtd-eeprom`.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:26 +02:00
Shiji Yang
58502650e1
ramips: convert the remaining mtd-mac-address to NVMEM format
`mtd-mac-address` has been abandoned. Therefore, convert them to
NVMEM format. This patch also removes some useless mtd-mac-address
properties.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-17 12:07:22 +02:00
Shiji Yang
9ac891f8c4
ramips: convert MT7915 EEPROM to NVMEM format
This patch converts MT7915 WiFi calibration data to NVMEM format. The
EEPROM size is 0xe00.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-09 11:15:52 +02:00
Shiji Yang
65cd6a6fec
ramips: convert MT7613 and MT7615 EEPROM to NVMEM format for MT7621
This patch converts MT7613 and MT7615 WiFi calibration data to NVMEM
format. The EEPROM size is 0x4da8.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-09 11:15:52 +02:00
Shiji Yang
2c02a9b9e4
ramips: convert MT7610 and MT7612 EEPROM to NVMEM format for MT7621
This patch converts MT7610 and MT7612 WiFi calibration data to NVMEM
format. The EEPROM size is 0x200.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-09 11:15:52 +02:00
Shiji Yang
fb4cea45ec
ramips: convert MT7603 EEPROM to NVMEM format
This patch converts MT7603 WiFi calibration data to NVMEM format. The
EEPROM size is 0x400.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-09 11:15:52 +02:00
Shiji Yang
230d5de707
ramips: correct NVMEM MAC address node name and label for Bolt Arion
The node name&label should match the address in the 'reg' property,
so it's better to change the incorrect offset to the 0x28.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-09 11:15:51 +02:00
Shiji Yang
22b0c36ae7
ramips: fix EEPROM size for I-O DATA WN-DEAX1800GR
I-O DATA WN-DEAX1800GR uses MT7915 PCIe NIC. The correct EEPROM
size is 0xe00.

Fixes: ac68fbf526 ("ramips: add support for I-O DATA WN-DEAX1800GR")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-09 11:15:51 +02:00
Alexey D. Filimonov
ff95f859eb ramips: cf-ew72-v2: Add support for COMFAST CF-EW72 V2
Add support for COMFAST CF-EW72 V2

Hardware:
-   SoC: Mediatek MT7621 (MT7621DAT or MT7621AT)
-   Flash: 16 MiB NOR
-   RAM: 128 MiB
-   Ethernet: Built-in, 2 x 1GbE
-   Power: only 802.3af PD on any port, injector supplied in the box
-   PoE passthrough: No
-   Wifi 2.4GHz: Mediatek MT7603BE 802.11b/g/b
-   Wifi 5GHz: Mediatek MT7613BEN 802.11ac/n/a
-   LEDs: 8x (only 1 is both visible and controllable, see below)
-   Buttons: 1x (RESET)

Installing OpenWrt:
Flashing is done using Mediatek U-Boot System Recovery Mode
-   make wired connection with 2 cables like this:
-     -   PC (LAN) <-> PoE Injector (LAN)
-     -   PoE Injector (POE) <-> CF-EW72 V2 (LAN). Leave unconnected to CF-EW72 V2 yet.
-   configure 192.168.1.(2-254)/24 static ip address on your PC LAN
-   press and keep pressed RESET button on device
-   power the device by plugging PoE Injector (POE) <-> CF-EW72 V2 (LAN) cable
-   wait for about 10 seconds until wifi led stops blinking and release RESET button
-   navigate from your PC to http://192.168.1.1 and upload OpenWrt *-factory.bin firmware file
-   proceed until router starts blinking with wifi led again (flashing) and stops (rebooting to OpenWrt)

MAC addresses as verified by OEM firmware:
  vendor OpenWrt  address
  LAN    lan\eth0 label
  WAN    wan     label + 1
  2g     phy0    label + 2
  5g     phy1    label + 3

  The label MAC address was found in 0xe000.

LEDs detailed:
  The only both visible and controllable indicator is blue:wlan LED.
  It is not bound by default to indicate activity of any wireless interfaces.

  Place (WAN->ANT) | Num | GPIO | LED name (LuCI)   | Note
  -----------------|-----|-----------------------------------------------------------------------------------------
             power | 1   |      |                   | POWER LED. Not controlled with GPIO.
      hidden_led_2 | 2   | 13   | blue:hidden_led_2 | This LED does not have proper hole in shell.
               wan | 3   |      |                   | WAN LED. Not controlled with GPIO.
      hidden_led_4 | 4   | 16   | blue:hidden_led_4 | This LED does not have proper hole in shell.
               lan | 5   |      |                   | LAN LED. Not controlled with GPIO.
      noconn_led_6 | 6   |      |                   | Not controlled with GPIO, possibly not connected
              wlan | 7   | 15   | blue:wlan         | WLAN LED. Wireless indicator.
      noconn_led_8 | 8   |      |                   | Not controlled with GPIO, possibly not connected

  mt76-phy0 and mt76-phy1 leds also exist in OpenWrt, but do not exist on board.

Signed-off-by: Alexey D. Filimonov <alexey@filimonic.net>
2023-09-27 00:10:16 +02:00
Sijia Huang
ab12a01cd7 ramips: add support for WAVLINK WL-WN573HX1
Hardware
--------

Specifications:
- Device: WAVLINK WL-WN573HX1 Outdoor AP
- SoC: MT7621AT
- Flash: 16MB
- RAM: 256MB
- Switch:1 LAN (10/100/1000 Mbps)
- WiFi: MT7905 2x2 2.4G + MT7975 2x2 5G
- LEDs: 1x STATUS (blue, configurable)
		1x LAN (green)

Product link:
https://www.wavlink.com/en_us/product/WL-WN573HX1.html

Signed-off-by: Sijia Huang <engineer31@win-star.com>
2023-09-24 12:36:52 +02:00
Aviana Cruz
46d673033b
ramips: add support for mtk eip93 crypto engine
Mediatek EIP93 Crypto engine is a crypto accelerator which
is available in the Mediatek MT7621 SoC.

Signed-off-by: Aviana Cruz <gwencroft@proton.me>
Co-authored-by: Richard van Schagen <vschagen@icloud.com>
Co-authored-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-09-12 14:57:54 +02:00
Piotr Dymacz
f1aaa267f0 ramips: add support for ALFA Network AX1800RM
ALFA Network AX1800RM (FCC ID: 2AB877621) is a dual-band Wi-Fi 6
(AX1800) router, based on MediaTek MT7621A + MT79x5D platform.

Specifications:

- SOC:      MT7621A (880 MHz)
- DRAM:     DDR3 256 MiB (Nanya NT5CC128M16JR-EK)
- Flash:    16 MiB SPI NOR (EN25QH128A-104HIP)
- Ethernet: 4x 10/100/1000 Mbps (SOC's built-in switch)
- Wi-Fi:    2x2:2 2.4/5 GHz (MT7905DAN + MT7975DN)
            (MT7905DAN doesn't support background DFS scan/BT)
- LED:      6x green, 1x green/red
- Buttons:  2x (reset, WPS)
- Antenna:  4x external, non-detachable omnidirectional
- UART:     1x 4-pin (2.54 mm pitch, J4, not populated)
- Power:    12 V DC/1 A (DC jack)

MAC addresses:

LAN:     00:c0:ca:xx:xx:4e (factory 0x4, +2)
WAN:     00:c0:ca:xx:xx:4f (factory 0x4, +3)
2.4 GHz: 00:c0:ca:xx:xx:4c (factory 0x4, device's label)
5 GHz:   00:c0:ca:xx:xx:4c (factory 0xa)

Flash instructions for web-based U-Boot recovery:

1. Power the device with WPS button pressed and wait around 10 seconds.
2. Setup static IP 192.168.1.2/24 on your PC.
3. Go to 192.168.1.1 in browser and upload 'recovery' image.

The device runs LEDE 17.01 (kernel 4.4.x) based firmware with 'failsafe'
mode available which allows alternative upgrade method:

1. Run device in 'failsafe' mode and change password for default user.
2. SSH to the device, transfer 'sysupgrade' image and perform upgrade
   in forced mode, without preserving settings: 'sysupgrade -n -F ...'.

Other notes:

If you own early version of this device, the vendor firmware might
refuse OpenWrt image because of missing custom header. In that case,
ask vendor's customer support for stock firmware without custom header
support/requirement.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2023-09-11 11:41:57 +02:00
Rani Hod
a4eb1ea331 ramips: add support for D-Link DRA-1360
The DRA-1360 rev A is a wall-plug AC1300 repeater.
Hardware is identical (same FCC ID, black case instead of white)
to D-Link DAP-1620 rev B, which is already supported, but a
different model name, revision, and hardware ID are needed.
Thus, the bulk of the DAP-1620 device tree is extracted to a
common dtsi included by the two models' device trees.

Repeating specs and installation instructions from e4c7703:
(note that the RAM size mentioned there was incorrect, oops)

Specs:
- SoC: MT7621AT (880MHz dual-core MIPS1004Kc)
- Memory: 128 MiB RAM, 16 MiB NOR SPI
- WiFi: MT7615DN 2x2 802.11n + 2x2 802.11ac (DBDC)
- Ethernet: 1 RJ45 port 10/100/1000
- Power/status LED: red+green
- LED RSSI bargraph: 2x green, 1x red+green

Installation:
- Keep reset button pressed during plug-in
- Web Recovery Updater is at 192.168.0.50
  (pings are ignored, it listens only for http)
- Upload factory.bin, confirm flashing
  (seems to work best with Chromium-based browsers)

Revert to OEM firmware:
- tail -c+117 DRA1360A1_FW112B03.bin | \
  openssl aes-256-cbc -d -md md5 -out decrypted.bin \
  -k c471706398cb147c6619f8a04a18d53e9c17ede8
- flash decrypted.bin via D-Link Web Recovery

Signed-off-by: Rani Hod <rani.hod@gmail.com>
2023-08-27 19:13:36 +02:00
INAGAKI Hiroshi
ac68fbf526 ramips: add support for I-O DATA WN-DEAX1800GR
I-O DATA WN-DEAX1800GR is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based
on MT7621A.

Specification:

- SoC         : MediaTek MT7621A
- RAM         : DDR3 256 MiB (Nanya NT5CC128M16JR-EK)
- Flash       : RAW NAND 128 MiB (Winbond W29N01HVSINF)
- WLAN        : 2.4/5 GHz (MediaTek MT7915)
- Ethernet    : 5x 10/100/1000 Mbps
  - Switch    : MT7530 (SoC)
- LEDs/Keys   : 6x/3x
- UART        : through-hole on PCB (J2)
  - assignment: 3.3V, GND, TX, RX from "1" marking
  - settings  : 115200n8
- Power       : 12 VDC, 1 A

Flash instruction using initramfs-factory image:

1. Boot WN-DEAX1800GR normally
2. Access to "http://192.168.0.1/" and open firmware update page
   ("ファームウェア")
3. Select the OpenWrt initramfs-factory.bin image and click update
   ("更新") button to perform firmware update
4. On the initramfs image, perform sysupgrade with the
   squashfs-sysupgrade.bin image
5. Wait ~120 seconds to complete flashing

Note:

- This device has 2x OS images on the flash storage. In this support,
  the first one will be used.

Warning:

- Do not use "saveenv" command on U-Boot CLI.
  This device has wrong u-boot-env data. The actual length of individual
  env data installed to the device is 0x1000 (4 KiB), but installed
  U-Boot requires 0x20000 (128 KiB). So U-Boot determines the data is
  invalid. Then, if you perform saving environment data with saveenv on
  U-Boot CLI, installed env data will be overwritten with too few
  default values without individual values (SSID, password, MAC
  addresses, etc...).

MAC addresses:

LAN    : 50:41:B9:xx:xx:F4 (Config, ethaddr (text))
WAN    : 50:41:B9:xx:xx:F6 (Config, wanaddr (text))
2.4 GHz: 50:41:B9:xx:xx:F4 (Config, rmac (text) / Factory, 0x4 (hex))
5 GHz  : 50:41:B9:xx:xx:F5 (none)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2023-08-20 01:26:15 +02:00
Ivan Pavlov
54e5e396c5 ramips: improve Xiaomi mi-mini indications
Sets status indications led color on Xiaomi mi-mini router as other Xiaomi routers

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
2023-08-14 20:08:05 +02:00
Shiji Yang
96010bb17c ramips: mt7621-wdt: use phandle to access system controller registers
These patches allow the driver to access some watchdog registers via a
phandle to the system controller node[1]. To apply these changes, we
need to add "mediatek,sysctl" to the SoC dtsi. This commit also remove
the redundent clocks, interrupts and resets properties.

[1] https://lore.kernel.org/all/20230214103936.1061078-2-sergio.paracuellos@gmail.com

Tested on Motorola MWR03 (MT7628)

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-07-30 13:09:23 +02:00
Shiji Yang
1f818b09f8 ramips: add proper system clock and reset driver support for legacy SoCs
This series of upstream patches properly implement a clock and reset
driver for old ralink SoCs[1]. And it includes some related fixes[2] and
improvements[3][4]. All patches have been merged into linux-next. They
will be part of upcoming Linux 6.5. In order to switch to the new system
controller driver, all clocks and resets properties in SoC dtsi have been
updated, and kernel symbol "CONFIG_CLK_MTMIPS" have been added to the
kernel config files.

[1] https://lore.kernel.org/all/20230619040941.1340372-1-sergio.paracuellos@gmail.com
[2] https://lore.kernel.org/all/20230622-mips-ralink-clk-wuninitialized-v1-1-ea9041240d10@kernel.org
[3] https://lore.kernel.org/all/OSYP286MB03120BABB25900E113ED42B7BC5CA@OSYP286MB0312.JPNP286.PROD.OUTLOOK.COM
[4] https://lore.kernel.org/all/TYAP286MB03151148AF8C054621DD55C3BC23A@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM

Tested on Motorola MWR03 (MT7628)
Tested on Haier HW-L1W (MT7620)

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-07-30 13:09:23 +02:00
Shiji Yang
8cacf2bda8 ramips: add proper system clock and reset driver support for mt7621
This series of upstream patches makes the system controller node as a
reset provider[1][2], and it also includes some clock and reset driver
fixes[3][4]. Meanwhile, all clocks and resets properties in the SoC
device tree have been updated to be compatible with the new driver.

[1] https://lore.kernel.org/r/20220110114930.1406665-2-sergio.paracuellos@gmail.com
[2] https://lore.kernel.org/r/20220210094859.927868-2-sergio.paracuellos@gmail.com
[3] https://lore.kernel.org/r/20221217074806.3225150-1-sergio.paracuellos@gmail.com
[4] https://lore.kernel.org/r/20230206083305.147582-1-sergio.paracuellos@gmail.com

Tested on RAISECOM MSG1500 X.00

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-07-30 13:09:23 +02:00
Rafał Miłecki
03b3284805 ramips: use NVMEM cells with mt76 EEPROM for Netgear R6220 & WNDR3700 v5
This uses new upstream DT binding. It's more generic (NVMEM) compared to
the old one (MTD).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-07-28 19:42:46 +02:00
Rafał Miłecki
e6cf959d0e ramips: use fixed layout cell "mac-base" for Netgear WNDR3700 v5
This drops a use of downstream "mac-address-increment".

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-07-28 18:50:39 +02:00
Rafał Miłecki
ab9153f2d9 ramips: replace "mac-address-ascii" with "mac-base"
With upstream accepted "mac-base" binding there is no need for a
downstream "mac-address-ascii" workaround anymore.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
[TP-Link EC330-G5u v1 - OK]
Tested-by: Mikhail Zhilkin <csharper2005@gmail.com>
2023-07-21 07:29:40 +02:00
Rafał Miłecki
be7f9ad4dd ramips: fix Ubiquiti EdgeRouter X's MAC address for gmac1
This fixes:
[    0.586649] OF: /ethernet@1e100000/mac@1: #nvmem-cell-cells = 1 found 0

Fixes: 28b6224104 ("ramips: use fixed layout cell "mac-base" for Ubiquiti EdgeRouter X")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-07-18 11:27:30 +02:00
Rafał Miłecki
28b6224104 ramips: use fixed layout cell "mac-base" for Ubiquiti EdgeRouter X
This drops a use of downstream "mac-address-increment".

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-07-14 11:38:12 +02:00
Rafał Miłecki
f1492fcc09 ramips: use fixed layout cell "mac-base" for Netgear R6220
This drops a use of downstream "mac-address-increment".

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-07-14 11:38:12 +02:00
Rafał Miłecki
42fbaf96cb ramips: set Netgear R6220 MAC NVMEM cell directly in the part node
There is no need to use reference if original node it specified in
exactly the same file. This is a minor cleanup simplifying DTS code.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-07-14 11:38:12 +02:00
Arınç ÜNAL
8bf9a8a5e6 ramips: add wan2 support for MQmaker WiTi
The PHY of the wan2 port on MQmaker WiTi is wired to the second MAC of the
SoC. Rename the wan interface to wan1 and define it under the switch node,
effectively disabling the PHY muxing of the MT7530 switch's phy4.

Define the PHY of the wan2 port and adjust the gmac1 node accordingly. Now
that the PHY muxing feature is not being used anymore, the wan2 port can be
used to achieve 2 Gbps total bandwidth to the CPU.

Tested-by: Demetris Ierokipides <ierokipides.dem@gmail.com>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2023-07-12 20:36:32 +02:00
Arınç ÜNAL
50ecca74cb ramips: rename to GnuBee GB-PC1 and GnuBee GB-PC2
Rename GB-PC1 to GnuBee GB-PC1, and GB-PC2 to GnuBee GB-PC2. Let's not make
naming exceptions because of marketing whims.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2023-07-12 20:36:32 +02:00
Sander Vanheule
11588c52b4 ramips: mt7621: add TP-Link EAP613 v1
The TP-Link EAP613 v1 is a ceiling-mount 802.11ax access point. It can
be powered via PoE or a DC barrel connector (12V). Connecting to the
UART requires fine soldering and careful manipulation of any soldered
wires.

Device details:
  * SoC: MT7621AT
  * Flash: 16 MiB SPI NOR
  * RAM: 256 MiB DDR3L
  * Wi-Fi:
    * MT7905DA + MT7975D: 2.4 GHz + 5 GHz (DBDC), 2x2:2
    * Two stamped metal antennas (ANT1, ANT2)
    * One PCB antenna (ANT3)
    * One unpopulated antenna (ANT4)
  * Ethernet:
    * 1× 10/100/1000 Mbps port with PoE
  * LEDs:
    * Array of four blue LEDs with one control line
  * Buttons:
    * Reset
  * Board test points:
    * UART: next to CPU RF-shield and power circuits
    * JTAG: under CPU RF-shield (untested)
  * Watchdog: 3PEAK TPV706 (not implemented)

  Althought three antennas are populated, the MT7905DA does not support
  the additional Rx chain for background DFS detection (or Bluetooth)
  according to commit 6cbcc34f50 ("ramips: disable unsupported
  background radar detection").

MAC addresses:
  * LAN: 48:22:54:xx:xx:a2 (device label)
  * WLAN 2.4 GHz: 48:22:54:xx:xx:a2
  * WLAN 5 GHz: 48:22:54:xx:xx:a3

  The radio calibration blob stored in flash also contains valid MAC
  addresses for both radio bands (OUI 00:0c:43).

Factory install:
  1. Enable SSH on the device via web interface
  2. Log in with SSH, and run `cliclientd stopcs`
  3. Upload -factory.bin image via web interface. It may be necessary to
     shorten the filename of the image to e.g. 'factory.bin'.

Recovery:
  1. Open the device by unscrewing four screws from the backside
  2. Carefully remove board from the housing
  3. Connect to UART (3.3V):
    * Find test points labelled "VCC", "GND", "UART_TX", "UART_RX"
    * Solder wires to test points or connect otherwise. Be careful not
      to damage the PCB e.g. by pulling on soldered wires.
    * Open console with 115200n8 settings
  4. Interrupt bootloader and use tftpboot to start an initramfs:
        setenv ipaddr $DEVICE_IP
        setenv serverip $SERVER_IP
        tftpboot 84000000 openwrt-initramfs-kernel.bin
        bootm

  DO NOT use saveenv to store modified u-boot environment variables. The
  environment is saved at flash offset 0x30000, which erases part of the
  (secondary) bootloader.

  The device uses two bootloader stages. The first stage will load the
  second stage from a uImage stored at flash offset 0x10000. In case of
  a damaged second stage, the first stage should allow uploading a new
  image via y-modem (untested).

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2023-07-02 22:14:05 +02:00
Usama Nassir
f24c9b9d86 ramips: Add support for ComFast CF-E390AX
Add support for ComFast CF-E390AX. It is a 802.11 wifi6 cieling AP, based on MediaTek MT7261AT.

Specifications:
SoC: MediaTek MT7621AT
RAM: 128 MiB
Flash: 16 MiB NOR (Macronix mx25l12805d)

Wireless: MT7915E (2.4G) 802.11ax/b/g/n MT7915E (5G) 802.11ac/ax/n
Ethernet: 2 x 1Gbs
Button: 1 x "Reset" button
LED: 1x Blue LED + 1x Red LED + 1x green LED
Power: PoE

Manufacturer Page:
http://en.comfast.com.cn/index.php?m=content&c=index&a=show&catid=84&id=75

Flash Layout:
0x000000000000-0x000000030000 : "bootloader"
0x000000030000-0x000000040000 : "config"
0x000000050000-0x000000060000 : "factory"
0x000000090000-0x000001000000 : "firmware"

First install:
1. Set device into http firmware fail safe upload mode by pressing the reset button for 10 seconds while powering
   it on. Once the LED stops flashing, safe mode will be running.
2. Set PC IP address to 192.168.1.2
3. Browse to 192.168.1.1 and upload the factory image using the web interface.

Signed-off-by: Usama Nassir <usama.nassir@gmail.com>
2023-07-01 16:18:55 +02:00
Mikhail Zhilkin
2d6784a033 ramips: add support for Sercomm S1500 devices
This commit adds support for following wireless routers:
 - Beeline SmartBox PRO (Serсomm S1500 AWI)
 - WiFire S1500.NBN (Serсomm S1500 BUC)

This commit is based on this PR:
 - Link: https://github.com/openwrt/openwrt/pull/4770
 - Author: Maximilian Weinmann <x1@disroot.org>
The opening of this PR was agreed with author.

My changes:
- Sorting, minor changes and some movings between dts and dtsi
- Move leds to dts when possible
- Recipes for the factory image
- Update of the installation/recovery/return to stock guides
- Add reset GPIO for the pcie1

Common specification
--------------------
SoC:        MediaTek MT7621AT (880 MHz, 2 cores)
Switch:     MediaTek MT7530 (via SoC MT7621AT)
Wireless:   2.4 GHz, MT7602EN, b/g/n, 2x2
Wireless:   5 GHz, MT7612EN, a/n/ac, 2x2
Ethernet:   5 ports - 5×GbE (WAN, LAN1-4)
Mini PCIe:  via J2 on PCB, not soldered on the board
UART:       J4 -> GND[], TX, VCC(3.3V), RX
BootLoader: U-Boot SerComm/Mediatek

Beeline SmartBox PRO specification
----------------------------------
RAM (Nanya NT5CB128M16FP): 256 MiB
NAND-Flash (ESMT F59L2G81A): 256 MiB
USB ports: 2xUSB2.0
LEDs: Status (white), WPS (blue), 2g (white), 5g (white) + 10 LED Ethernet
Buttons: 2 button (reset, wps), 1 switch button (ROUT<->REP)
Power: 12 VDC, 1.5 A
PCB Sticker: 970AWI0QW00N256SMT Ver. 1.0
CSN: SG15********
MAC LAN: 94:4A:0C:**:**:**
Manufacturer's code: 0AWI0500QW1

WiFire S1500.NBN specification
------------------------------
RAM (Nanya NT5CC64M16GP): 128 MiB
NAND-Flash (ESMT F59L1G81MA): 128 MiB
USB ports: 1xUSB2.0
LEDs: Status (white), WPS (white), 2g (white), 5g (white) + 10 LED Ethernet
Buttons: 2 button (RESET, WPS)
Power: 12 VDC, 1.0 A
PCB Sticker: 970BUC0RW00N128SMT Ver. 1.0
CSN: MH16********
MAC WAN: E0:60:66:**:**:**
Manufacturer's code: 0BUC0500RW1

MAC address table (PRO)
-----------------------
use   address   source
LAN   *:23      factory 0x1000 (label)
WAN   *:24      factory $label +1
2g    *:23      factory $label
5g    *:25      factory $label +2

MAC addresses (NBN)
-------------------
use   address   source
LAN   *:0e      factory 0x1000
WAN   *:0f      LAN +1 (label)
2g    *:0f      LAN +1
5g    *:10      LAN +2

OEM easy installation
---------------------
1. Remove all dots from the factory image filename (except the dot
   before file extension)
2. Upload and update the firmware via the original web interface
3. Two options are possible after the reboot:
   a. OpenWrt - that's OK, the mission accomplished
   b. Stock firmware - install Stock firmware (to switch booflag from
      Sercomm0 to Sercomm1) and then OpenWrt factory image.

Return to Stock
---------------
1. Change the bootflag to Sercomm1 in OpenWrt CLI and then reboot:
   printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock2
   reboot
2. Install stock firmware via the web OEM firmware interface

Recovery
--------
Use sercomm-recovery tool.
Link: https://github.com/danitool/sercomm-recovery

Tested-by: Pavel Ivanov <pi635v@gmail.com>
Tested-by: Denis Myshaev <denis.myshaev@gmail.com>
Tested-by: Oleg Galeev <olegingaleev@gmail.com>
Tested-By: Ivan Pavlov <AuthorReflex@gmail.com>
Co-authored-by: Maximilian Weinmann <x1@disroot.org>
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2023-07-01 16:05:01 +02:00
Wenli Looi
32ea8a9a7e ramips: add support for Netgear EAX12 series
Netgear EAX12, EAX11v2, EAX15v2 are wall-plug 802.11ax (Wi-Fi 6)
extenders that share the SoC, WiFi chip, and image format with the
WAX202.

Specifications:
* MT7621, 256 MiB RAM, 128 MiB NAND
* MT7915: 2.4/5 GHz 2x2 802.11ax (DBDC)
* Ethernet: 1 port 10/100/1000
* UART: 115200 baud (labeled on board)

All LEDs and buttons appear to work without state_default.

Installation:
* Flash the factory image through the stock web interface, or TFTP to
  the bootloader. NMRP can be used to TFTP without opening the case.

Revert to stock firmware:
* Flash the stock firmware to the bootloader using TFTP/NMRP.

References in GPL source:
https://www.downloads.netgear.com/files/GPL/EAX12_EAX11v2_EAX15v2_GPL_V1.0.3.34_src.tar.gz

* target/linux/ramips/dts/mt7621-rfb-ax-nand.dts
  DTS file for this device.

Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
2023-07-01 14:42:11 +02:00
Alexey Bartenev
ce998cb6e1 ramips: add support for D-Link DIR-806A B1 router
General specification:
SoC Type: MediaTek MT7620A (580MHz)
ROM: 8 MB SPI-NOR (MX25L6406E)
RAM: 64 MB DDR (W9751G6KB-25)
Switch: MediaTek MT7530
Ethernet: 5 ports - 5×100MbE (WAN, LAN1-4)
Wireless: 2.4 GHz (MediaTek RT5390): b/g/n
Wireless: 5 GHz (MediaTek MT7610EN): ac/n
Buttons: 2 button (POWER, WPS/RESET)
Bootloader: U-Boot 1.1.3
Power: 12 VDC, 0.5 A

MACs:
| LAN	| [Factory + 0x04] - 2		|
| WLAN 2.4g	| [Factory + 0x04] - 1		|
| WLAN 5g	| [Factory + 0x8004] - 3	|
| WAN	| [Factory + 0x04] - 2		|

OEM easy installation:

1. Use a PC to browse to http://192.168.0.1.
2. Go to the System section and open the Firmware Update section.
3. Under the Local Update at the right, click on the CHOOSE FILE...
4. When a modal window appears, choose the firmware file and click on
 the Open.
5. Next click on the UPDATE FIRMWARE button and upload the firmware image.
Wait for the router to flash and reboot.

OEM installation using the TFTP method (need level converter):

1. Download the latest firmware image.
2. Set up a Tftp server on a PC (e.g. Tftpd32) and place the firmware
 image to the root directory of the server.
3. Power off the router and use a twisted pair cable to connect the PC
 to any of the router's LAN ports.
4. Configure the network adapter of the PC to use IP address 192.168.0.180
 and subnet mask 255.255.255.0.
5. Connect serial port (57600 8N1) and turn on the router.
6. Then interrupt "U-Boot Boot Menu" by hitting 2 key (select "2: Load
 system code then write to Flash via TFTP.").
7. Press Y key when show "Warning!! Erase Linux in Flash then burn new
 one. Are you sure? (Y/N)"
Input device IP (192.168.0.1) ==:192.168.0.1
Input server IP (192.168.0.180) ==:192.168.0.180
Input Linux Kernel filename () ==:firmware_name
The router should download the firmware via TFTP and complete flashing in
 a few minutes.
After flashing is complete, use the PC to browse to http://192.168.1.1 or
 ssh to proceed with the configuration.

Signed-off-by: Alexey Bartenev <41exey@proton.me>
2023-06-25 16:25:01 +02:00
Stefan Weil
8d06bc1751 ramips: add Edimax BR-6208AC V2 support
Specifications:
- Device: Edimax BR-6208AC V2
- SoC: MT7620A
- Flash: 16 MiB
- RAM: 64 MiB
- Switch: 1 WAN, 3 LAN (10/100 Mbps)
- WiFi: MT7620 2.4 GHz + MT7610E 5 GHz
- LEDs: 1x POWER (green, not configurable)
        1x Firmware (green, configurable)
        1x Internet (green, configurable)
        1x VPN (green, configurable)
        1x 2.4G (green, not configurable)
        1x 5G (green, not configurable)

Normal installation:
- Upload the sysupgrade image via the default web interface

Installation with U-Boot and TFTP:
- Requires a TFTP server which provides the sysupgrade image
- Requires a connection to the serial port of the device, rate 57600

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2023-06-25 13:58:26 +02:00
Davide Fioravanti
c71dada926 ramips: fix lan leds for Wavlink WL-WN535K1
Previously both lan1 and lan2 leds were wrongly labelled as lan2.
Moreover they were connected to the wrong lan port.
Fixes 8fde82095b ("ramips: add support for Wavlink WL-WN535K1")

Reported-by: Nicolò Maria Semprini <nicosemp@gmail.com>
Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
2023-06-25 11:02:04 +02:00
Kim DoHyoung
0bbd5699c8 ramips: mt7621: add support for Zbtlink ZBT-WG1608 (32M)
Zbtlink ZBT-WG1608 is a Wi-Fi router intendent to use with WWAN (4G/5G)
modems.

Specifications:
* SoC: MediaTek MT7621A
* RAM: 256/512 MiB
* Flash: 16/32 MiB (SPI NOR)
* Wi-Fi:
  * MediaTek MT7603E : 2.4Ghz
  * MediaTek MT7613BE : 5Ghz
* Ethernet: 10/100/1000 Mbps Ethernet x5 ports (4xLAN + WAN)
* M.2: 1x slot with USB&SIM
  * EM7455/EM12-G/EM160R/RM500Q-AE
* USB: 1x 3.0 Type-A port
* External storage: 1x microSD (SDXC) slot
* UART: console (115200 baud)
* LED:
  * 1 power indicator
  * 1 WLAN 2.4G controlled (wlan 2G)
  * 3 SoC controlled (wlan 5G, wwan, internet)
  * 5 per Eth phy (4xLAN + WAN)

MAC Addresses:
* LAN    : f8:5e:3c:xx:xx:e0 (Factory, 0xe000 (hex))
* WAN    : f8:5e:3c:xx:xx:e1 (Factory, 0xe006 (hex))
* 2.4 GHz: f8:5e:3c:xx:xx:de (Factory, 0x0004 (hex))
* 5 GHz  : f8:5e:3c:xx:xx:df (Factory, 0x8004 (hex))

Installation:
* Vendor's firmware is OpenWrt (LEDE) based, so the sysupgrade image can
  be directly used to install OpenWrt. Firmware must be upgraded using the
  'force' and 'do not save configuration' command line options (or
  correspondig web interface checkboxes) since the vendor firmware is from
  the pre-DSA era.

Recovery Mode:
 * Press reset button, power up the device, wait for about 10sec.
 * Upload sysupgrade image through the firmware recovery mode web page at
  192.168.1.1.

Signed-off-by: Kim DoHyoung <azusahmr@k-on.kr>
2023-06-20 21:48:23 +08:00
Volodymyr Puiul
47c2d50c03 ramips: mt7621-dts: move wan port to gmac1 YunCore FAP-640
move wan port to gmac1 to achieve 2Gbps CPU bandwidth between wan and
lan on YunCore FAP-640

Signed-off-by: Volodymyr Puiul <volodymyr.puiul@gmail.com>
2023-06-11 18:16:39 +02:00
Maximilian Weinmann
8fcfb21b16 ramips: Add support for Beeline SmartBox TURBO+
This adds support for Beeline Smart Box TURBO+ (Serсomm S3 CQR) router.

Device specification
--------------------
SoC Type: MediaTek MT7621AT (880 MHz, 2 cores)
RAM (Nanya NT5CC64M16GP): 128 MiB
Flash (Macronix MX30LF1G18AC): 128 MiB
Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2
Wireless 5 GHz (MT7615N): a/n/ac, 4x4
Ethernet: 5 ports - 5×GbE (WAN, LAN1-4)
USB ports: 1xUSB3.0
Buttons: 2 button (reset, wps)
LEDs: Red, Green, Blue
Zigbee (EFR32MG1B232GG): 3.0
Stock bootloader: U-Boot 1.1.3
Power: 12 VDC, 1.5 A

Installation (fw 2.0.9)
-----------------------
1.  Login to the web interface under SuperUser (root) credentials.
    Password: SDXXXXXXXXXX, where SDXXXXXXXXXX is serial number of the
    device written on the backplate stick.
2.  Navigate to Setting -> WAN. Add:
       Name - WAN1
       Connection Type - Static
       IP Address - 172.16.0.1
       Netmask - 255.255.255.0
    Save -> Apply. Set default: WAN1
3.  Enable SSH and HTTP on WAN. Setting -> Remote control. Add:
       Protocol - SSH
       Port - 22
       IP Address - 172.16.0.1
       Netmask - 255.255.255.0
       WAN Interface - WAN1
    Save ->Apply
    Add:
       Protocol - HTTP
       Port - 80
       IP Address - 172.16.0.1
       Netmask - 255.255.255.0
       WAN interface - WAN1
    Save -> Apply
4.  Set up your PC ethernet:
       Connection Type - Static
       IP Address - 172.16.0.2
       Netmask - 255.255.255.0
       Gateway - 172.16.0.1
5.  Connect PC using ethernet cable to the WAN port of the router
6.  Connect to the router using SSH shell under SuperUser account
7.  Make a mtd backup (optional, see related section)
8.  Change bootflag to Sercomm1 and reboot:
        printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
        reboot
9.  Login to the router web interface under admin account
10. Remove dots from the OpenWrt factory image filename
11. Update firmware via web using OpenWrt factory image

Revert to stock
---------------
Change bootflag to Sercomm1 in OpenWrt CLI and then reboot:
   printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3

mtd backup
----------
1. Set up a tftp server (e.g. tftpd64 for windows)
2. Connect to a router using SSH shell and run the following commands:
      cd /tmp
      for i in 0 1 2 3 4 5 6 7 8 9 10; do nanddump -f mtd$i /dev/mtd$i; \
      tftp -l mtd$i -p 172.16.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done
      tftp -l mtd.md5 -p 171.16.0.2

Recovery
--------
Use sercomm-recovery tool.
Link: https://github.com/danitool/sercomm-recovery

MAC Addresses (fw 2.0.9)
------------------------
+-----+------------+---------+
| use | address    | example |
+-----+------------+---------+
| LAN | label      | *:e8    |
| WAN | label + 1  | *:e9    |
| 2g  | label + 4  | *:ec    |
| 5g  | label + 5  | *:ed    |
+-----+------------+---------+
The label MAC address was found in Factory 0x21000

Factory image format
--------------------
+---+-------------------+-------------+--------------------+
| # | Offset            | Size        | Description        |
+---+-------------------+-------------+--------------------+
| 1 | 0x0               | 0x200       | Tag Header Factory |
| 2 | 0x200             | 0x100       | Tag Header Kernel1 |
| 3 | 0x300             | 0x100       | Tag Header Kernel2 |
| 4 | 0x400             | SIZE_KERNEL | Kernel             |
| 5 | 0x400+SIZE_KERNEL | SIZE_ROOTFS | RootFS(UBI)        |
+---+-------------------+-------------+--------------------+

Co-authored-by: Mikhail Zhilkin <csharper2005@gmail.com>
Signed-off-by: Maximilian Weinmann <x1@disroot.org>
2023-06-11 13:36:38 +08:00
Thomas Schröder
b0120f7c8b ramips: fix button definitions for Zyxel WSM20
Setting the events of the WPS and LED buttons to
the best matching values based from the documentation:
<https://openwrt.org/docs/guide-user/hardware/hardware.button#procd_buttons>

Signed-off-by: Thomas Schröder <tschroeder_github@outlook.com>
2023-06-09 22:28:45 +02:00
DENG Qingfang
09d0643c18 ramips: mt7621: fix Xiaomi Router 3G/Pro LEDs
The PHY name has been changed to "mt7530-0" since IRQ support
was added to MT7530 driver.

Fixes: f9cfe7af1f ("kernel: backport MT7530 IRQ support")
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
(node names, added color, function+function-enumerator properties)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2023-05-20 23:24:50 +02:00
Arınç ÜNAL
434dce0729 ramips: rename to D-Team Newifi D2 and Lenovo Newifi D1
Rename Newifi D2 to D-Team Newifi D2, and Newifi D1 to Lenovo Newifi D1.
Let's not make naming exceptions because of marketing whims.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2023-05-18 14:44:07 +02:00
Arınç ÜNAL
ce1f9fa625 ramips: add support for TOZED ZLT S12 PRO
The TOZED ZLT S12 PRO is an AC1200 router featuring 4 Ethernet ports with a
TOZED TL70-C cellular modem which supports the NCM mode.

The stock firmware does SIM locking on the modem by stopping dialing when a
different PLMN is detected. This is not the case on OpenWrt.

Specifications:
- CPU: MediaTek MT7621AT
- RAM: 256MB DDR3
- NOR Flash: MX25L12833FM2I 16MB SPI Flash
- Wi-Fi 2.4Ghz: MT7603E
- Wi-Fi 5Ghz: MT7612E
- Switch: MT7530 4x 1Gbit Ports
- WWAN: Unisoc SL8563 based TOZED TL70-C LTE CAT6 cellular modem
- USB: 1x optional USB2.0 external port
- Switches/Buttons: WPS, Reset, Power Switch
- LEDs: Power, Wi-Fi, Data, Signal 1-5, Phone

Installation and TFTP Recovery:
- Connect to serial console.
- Boot initramfs image by choosing option 1 when U-Boot prompts.
- Install sysupgrade image via OpenWrt.

Serial Pins:
Located at the bottom right when looking from the front, right under the
Reset/WPS buttons. The pinout from the left is:
- RX
- GND
- TX
Baudrate is 115200.

When connecting from a powered off state, disconnect RX as it blocks the
boot process.

Link: http://www.sztozed.com/en/contents/58/84.html
Co-developed-by: Andre Cruz <me@1conan.com>
Signed-off-by: Andre Cruz <me@1conan.com>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
2023-05-18 14:44:07 +02:00
Muhammad AL-Qadhy
97a37288b9 ramips: Fix Wireless Frequencies for HYC-G920
Fix wireless frequencies to show correct wireless interfaces.

Signed-off-by: Muhammad AL-Qadhy <m.ismael@gmail.com>
2023-05-18 12:02:15 +02:00