aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
* kernel: move ubnt ledbar driver to a separate packageFelix Fietkau2022-09-302-2/+0
| | | | | | | Simplifies the tree by removing a non-upstream kernel patch and related kconfig symbols Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: update MAC address configuration for Buffalo WSR-1166DHPKazuhiro Ito2022-09-281-2/+2
| | | | | | | | | | | | Convert MAC address and label_mac configuration of Buffalo WSR-1166DHP to use the generic function of OpenWrt. Apply commit 770cfe9 for WCR-1166DS to WSR-1166DHP too. Tested on the device and MAC address is kept before and after this change. Signed-off-by: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
* kernel: pick patches for MediaTek Ethernet from linux-nextDaniel Golle2022-09-221-2/+2
| | | | | | | | | | | | | | | | | | | Pick patches with several fixes and improvements, preparation for upcoming WED (TX) [1] as well as basic XDP support [2] with MediaTek's Filogic SoCs to the mtk_eth_soc driver. Also pick follow-up patch fixing Ethernet on MT7621 [3]. Tested on Bananapi BPi-R3 (MT7986), Bananapi BPi-R64 (MT7622), Bananapi BPi-R2 (MT7623), MikroTik RouterBoard M11G (MT7621). [1]: https://patchwork.kernel.org/project/netdevbpf/list/?series=662108&state=* [2]: https://patchwork.kernel.org/project/netdevbpf/list/?series=675368&state=* (the first part of the series adding wed nodes to mt7986a.dtsi was applied to the copy of mt7986a.dtsi in our tree) [3]: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=5e69163d3b9931098922b3fc2f8e786af8c1f37e Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: mt7621-dts: change phy-mode of gmac1 to rgmiiArınç ÜNAL2022-09-181-1/+1
| | | | | | | Change phy-mode of gmac1 to rgmii on mt7621.dtsi. Same code path is followed for delayed rgmii and rgmii phy-mode on mtk_eth_soc.c. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* ramips: fix GB-PC1 and GB-PC2 LEDsArınç ÜNAL2022-09-183-17/+15
| | | | | | | | | | | | | | | Add the missing LEDs for GB-PC2. Some of these LEDs don't exist on the device schematics. Tests on a GB-PC2 by me and Petr proved otherwise. Remove ethblack-green and ethblue-green LEDs for GB-PC1. They are not wired to GPIO 3 or 4 and the wiring is currently unknown. Set ethyellow-orange to display link state and activity of the ethyellow interface for GB-PC2. Link: https://github.com/ngiger/GnuBee_Docs/blob/master/GB-PCx/Documents/GB-PC2_V1.1_schematic.pdf Tested-by: Petr Louda <petr.louda@outlook.cz> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* ramips: 5.15: add disabled PINCTRL_AW9523Sungbo Eo2022-09-185-0/+5
| | | | | | | | | | | | | | Otherwise kernel 5.15 will fail to build on subtargets except for mt7621 that has enabled the config. The disabled PINCTRL_AW9523 config disappears after a refresh, it needs to be added back manually. Fixes: 675cf7557829 ("ramips: add config-5.15 for mt7620 subtarget") Fixes: 001176994a58 ("ramips: add config-5.15 for mt76x8 subtarget") Fixes: b9d9f33c330e ("ramips: add config-5.15 for rt288x subtarget") Fixes: 0164dc0c2563 ("ramips: add config-5.15 for rt305x subtarget") Fixes: ef59da866982 ("ramips: add config-5.15 for rt3883 subtarget") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: 5.15: refresh subtarget kconfigsSungbo Eo2022-09-182-12/+3
| | | | | | Refresh config with `make kernel_oldconfig`. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mt7621: fix Linksys E7350 GPIORosen Penev2022-09-131-0/+7
| | | | | | | | | When converting this device to use both GMACs, I mistakenly removed state_default, which prevented GPIO LEDs and keys from being used. Fixes: f4eef5f2a184 ("ramips: add support for Linksys E7350") Signed-off-by: Rosen Penev <rosenp@gmail.com>
* mt7621: fix Belkin RT1800 GPIORosen Penev2022-09-131-0/+19
| | | | | | | | | | | | | When converting this device to use both GMACs, I mistakenly removed state_default, which prevented GPIO LEDs and keys from being used. Add back and and extra LEDs that were missing. Tested all LEDs by turning them on. Fixes: 26a6a6a60ba7 ("ramips: add support for Belkin RT1800") Signed-off-by: Rosen Penev <rosenp@gmail.com>
* mac80211: rt2x00: experimental improvements for MT7620 wifiDaniel Golle2022-09-1216-15/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Serge Vasilugin reports: To improve mt7620 built-in wifi performance some changes: 1. Correct BW20/BW40 switching (see comments with mark (1)) 2. Correct TX_SW_CFG1 MAC reg from v3 of vendor driver see https://gitlab.com/dm38/padavan-ng/-/blob/master/trunk/proprietary/rt_wifi/rtpci/3.0.X.X/mt76x2/chips/rt6352.c#L531 3. Set bbp66 for all chains. 4. US_CYC_CNT init based on Programming guide, default value was 33 (pci), set chipset bus clock with fallback to cpu clock/3. 5. Don't overwrite default values for mt7620. 6. Correct some typos. 7. Add support for external LNA: a) RF and BBP regs never be corrected for this mode b) eLNA is driven the same way as ePA with mt7620's pin PA but vendor driver explicitly pin PA to gpio mode (for forrect calibration?) so I'm not sure that request for pa_pin in dts-file will be enough First 5 changes (really 2) improve performance for boards w/o eLNA/ePA. Changes 7 add support for eLNA Configuration w/o eLAN/ePA and with eLNA show results tx/rx (from router point of view) for each stream: 35-40/30-35 Mbps for HT20 65-70/60-65 Mbps for HT40 Yes. Max results for 2T2R client is 140-145/135-140 with peaks 160/150, It correspond to mediatek driver results. Boards with ePA untested. Reported-by: Serge Vasilugin <vasilugin@yandex.ru> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add support for ZyXEL Keenetic 4G Rev.B DeviceSergei Burakov2022-09-133-0/+150
| | | | | | | | | | | | | | | | | | | | | | | | Specification: SoC: RT5350 CPU Frequency: 360 MHz Flash Chip: Macronix MX25L6406E (8192 KiB) RAM: Winbond W9825G6JH-6 (32768 KiB) 3x 10/100 Mbps Ethernet (2x LAN, 1x WAN) 1x external antenna UART (J1) header on PCB (57800 8n1) Wireless: SoC-intergated: 2.4GHz 802.11bgn USB: Yes 8x LED, 2x button Flash instruction: Configure PC with static IP 192.168.99.8/24 and start TFTP server. Rename "openwrt-ramips-rt305x-zyxel_keenetic-4g-b-squashfs-sysupgrade.bin" to "rt305x_firmware.bin" and place it in TFTP server directory. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed until power LED start blinking. Router will download file from TFTP server, write it to flash and reboot. Signed-off-by: Sergei Burakov <senior.anonymous@mail.ru>
* ramips: disable unsupported background radar detectionShiji Yang2022-09-127-0/+7
| | | | | | | | | | | | | | | | | | | Background radar detection is not supported on devices that using MT7905, so disable this feature in the following devices: asus,rt-ax53u jcg,q20 tplink,eap615-wall-v1 xiaomi,mi-router-cr6606 xiaomi,mi-router-cr6608 xiaomi,mi-router-cr6609 yuncore,ax820 Devices with MT7915 lacking a DFS antenna also do not support background DFS: totolink,x5000r cudy,x6 Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: use lzma-loader on Sitecom WLR-6000Jasper Scholte2022-09-111-0/+1
| | | | | | | Fixes the boot loader LZMA decompression issue: LZMA ERROR 1 - must RESET board to recover Signed-off-by: Jasper Scholte <NightNL@outlook.com>
* ramips: add support for Ubiquiti UniFi FlexHDSven Wegener2022-09-115-0/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- - SoC: MediaTek MT7621AT with 128 MiB RAM and 32 MiB Flash - Wi-Fi: MediaTek MT7603 (b/g/n, 2x2) and MediaTek MT7615 (ac, 4x4) - Bluetooth: CSR8811 (internal USB, install kmod-bluetooth) Installation ------------ 1. Connect to the booted device at 192.168.1.20 using username/password "ubnt". 2. Update the bootloader environment. $ fw_setenv devmode TRUE $ fw_setenv boot_openwrt "fdt addr \$(fdtcontroladdr); fdt rm /signature; bootubnt" $ fw_setenv bootcmd "run boot_openwrt" 3. Transfer the OpenWrt sysupgrade image to the device using SCP. 4. Check the mtd partition number for bs / kernel0 / kernel1 $ cat /proc/mtd 5. Set the bootselect flag to boot from kernel0 $ dd if=/dev/zero bs=1 count=1 of=/dev/mtdblock4 6. Write the OpenWrt sysupgrade image to both kernel0 as well as kernel1 $ dd if=openwrt.bin of=/dev/mtdblock6 $ dd if=openwrt.bin of=/dev/mtdblock7 7. Reboot the device. It should boot into OpenWrt. Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
* ramips: ASUS RT-ACx5P phy[01]radio to phy[01]tptDavid Santamaría Rogado2022-09-111-2/+2
| | | | | | | | phy[01]radio leaves the leds always on, if they are set through sysfs the leds get off. Set the triggers to phy[01]tpt to make them work. Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
* ramips: add config-5.15 for rt3883 subtargetDaniel Golle2022-09-111-0/+179
| | | | | | | Add Kernel config for testing Linux 5.15 for the rt3883 subtarget. Compile tested only. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add config-5.15 for rt305x subtargetDaniel Golle2022-09-111-0/+179
| | | | | | | Add Kernel config for testing Linux 5.15 for the rt305x subtarget. Tested on ZyXEL NBG-419N, works but bad wireless performance. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add config-5.15 for rt288x subtargetDaniel Golle2022-09-111-0/+180
| | | | | | | Add Kernel config for testing Linux 5.15 for the rt288x subtarget. Compile tested only. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add config-5.15 for mt76x8 subtargetDaniel Golle2022-09-111-0/+193
| | | | | | | Add Kernel config for testing Linux 5.15 for the mt76x8 subtarget. Compile tested only. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add support for Linksys E7350Rosen Penev2022-09-117-2/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | Linksys E7350 is an 802.11ax (Wi-Fi 6) router, based on MediaTek MT7621A. Specifications: - SoC: MT7621 (880MHz, 2 Cores) - RAM: 256 MB - Flash: 128 MB NAND - Wi-Fi: - MT7915D: 2.4/5 GHz (DBDC) - Ethernet: 5x 1GiE MT7530 - USB: 1x USB 3.0 - UART: J4 (57600 baud) - Pinout: [3V3] (TXD) (RXD) (blank) (GND) Notes: * This device has a dual-boot partition scheme, but this firmware works only on boot partition 1. Installation: Upload the generated factory.bin image via the stock web firmware updater. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ramips: add support for Belkin RT1800Rosen Penev2022-09-117-0/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | Belkin RT1800 is an 802.11ax (Wi-Fi 6) router, based on MediaTek MT7621A. Specifications: - SoC: MT7621 (880MHz, 2 Cores) - RAM: 256 MB - Flash: 128 MB NAND - Wi-Fi: - MT7915D: 2.4/5 GHz (DBDC) - Ethernet: 5x 1GiE MT7530 - USB: 1x USB 3.0 - UART: J4 (57600 baud) - Pinout: [3V3] (TXD) (RXD) (blank) (GND) Notes: * This device has a dual-boot partition scheme, but this firmware works only on boot partition 1. Installation: Upload the generated factory.bin image via the stock web firmware updater. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ramips: add RT-N600 alternative name to RT-AC1200Ray Wang2022-09-111-0/+2
| | | | | | | | RT-N600 is internally the same as RT-AC1200, as veryfied by @russinnes . Adding alt_name so that people can find it in firmware selector. Signed-off-by: Ray Wang <raywang777@foxmail.com> Tested-by: Russ Innes <russ.innes@gmail.com>
* ramips: add support for Kroks Rt-Cse SIM Injector DSAndrey Butirsky2022-09-113-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aka Kroks Rt-Cse5 UW DRSIM (KNdRt31R16), ID 1958: https://kroks.ru/search/?text=1958 See Kroks OpenWrt fork for support of other models: https://github.com/kroks-free/openwrt Device specs: - CPU: MediaTek MT7628AN - Flash: 16MB SPI NOR - RAM: 64MB - Bootloader: U-Boot - Ethernet: 5x 10/100 Mbps - 2.4 GHz: b/g/n SoC - USB: 1x - SIM-reader: 2x (driven by a dedicated chip with it's own firmware) - Buttons: reset - LEDs: 1x Power, 1x Wi-Fi, 12x others (SIM status, Internet, etc.) Flashing: - sysupgrade image via stock firmware WEB interface, IP: 192.168.1.254 - U-Boot launches a WEB server if Reset button is held during power up, IP: 192.168.1.1 MAC addresses as verified by OEM firmware: vendor OpenWrt source LAN eth0 factory 0x4 (label) 2g wlan0 label Signed-off-by: Andrey Butirsky <butirsky@gmail.com>
* ramips: add support for Kroks Rt-Pot mXw DS RSIM routerAndrey Butirsky2022-09-114-0/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aka "Kroks KNdRt31R19". Ported from v19.07.8 of OpenWrt fork: see https://github.com/kroks-free/openwrt for support of other models. Device specs: - CPU: MediaTek MT7628AN - Flash: 16MB SPI NOR - RAM: 64MB - Bootloader: U-Boot - Ethernet: 1x 10/100 Mbps - 2.4 GHz: b/g/n SoC - mPCIe: 1x (usually equipped with an LTE modem by vendor) - Buttons: reset - LEDs: 1x Modem, 1x Injector, 1x Wi-Fi, 1x Status Flashing: - sysupgrade image via stock firmware WEB interface. - U-Boot launches a WEB server if Reset button is held during power up. Server IP: 192.168.1.1 SIM card switching: The device supports up to 4 SIM cards - 2 locally on board and 2 on remote SIM-injector. By default, 1-st local SIM is active. To switch to e.g. 1-st remote SIM: echo 0 > /sys/class/gpio/modem1power/value echo 0 > /sys/class/gpio/modem1sim1/value echo 1 > /sys/class/gpio/modem1rsim1/value echo 1 > /sys/class/gpio/modem1power/value MAC addresses as verified by OEM firmware: vendor OpenWrt source LAN eth0 factory 0x4 (label) 2g wlan0 label Signed-off-by: Kroks <dev@kroks.ru> [butirsky@gmail.com: port to master; drop dts-v1] Signed-off-by: Andrey Butirsky <butirsky@gmail.com>
* ramips: add config-5.15 for mt7620 subtargetDaniel Golle2022-09-101-0/+196
| | | | | | | Add Kernel config for testing Linux 5.15 for the mt7620 subtarget. Tested on Youku YK-L1 which boots fine. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: mtk_eth_soc: fix hw hash reporting for MT7986Daniel Golle2022-09-072-3/+3
| | | | | | Import patch from Linux 6.0. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: backport generic phylink validateDaniel Golle2022-08-303-5/+5
| | | | | | | Backport generic phylink validate series and make use of it for mtk_eth_soc Ethernet driver as well as mt7530 DSA driver. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: define Yuncore AX820 switch LEDsThibaut VARÈNE2022-08-292-0/+20
| | | | | | | | | This patch defines the two switch LED to bring them under user control. Fixes: a0e1d3ab7b4f ("ramips: improve YunCore AX820 LEDs") Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> [rmilecki: leave "label"s in place] Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.15 to 5.15.63John Audia2022-08-251-1/+1
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* ramips: mt7621-dts: mux phy0/4 to gmac1Arınç ÜNAL2022-08-20113-635/+1429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mux the MT7530 switch's phy0/4 to the SoC's gmac1 on devices where RGMII2 pins are available. This achieves 2 Gbps total bandwidth to the CPU using the second RGMII. The ports called "wan" are muxed where possible. On a minority of devices, this is not possible. Those cases: mt7621_ampedwireless_ally-r1900k.dts: lan3 mt7621_ubnt_edgerouter-x.dts: eth0 mt7621_gnubee_gb-pc1.dts: ethblue mt7621_linksys_re6500.dts: lan1 mt7621_netgear_wac104.dts: lan4 mt7621_tplink_eap235-wall-v1.dts: lan0 mt7621_tplink_eap615-wall-v1.dts: lan0 mt7621_ubnt_usw-flex.dts: lan1 The "wan" port is just what the vendor designated on the board/plastic chasis of the device. On a technical level, there is no difference between a lan and wan port on MT7621AT, MT7621DAT and MT7621ST SoCs. Prefer connecting to WAN via the port described above for these devices to benefit the feature brought with this patch. mt7621_d-team_newifi-d2.dts cannot benefit this feature, although it looks like it should, because the rgmii2 pins are wired to unused components. Tested on a range of devices documented on the GitHub PR. Link: https://github.com/openwrt/openwrt/pull/10238 Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* ramips: mt7621-dts: remove DTS_LEGACY from ethernet nodeArınç ÜNAL2022-08-201-2/+0
| | | | | | | | | Remove DTS_LEGACY put for claiming pin groups for the ethernet node from the ethernet node. It's not an old kernel trait. These bindings need to be there on the newer kernels as well. Fixes: a3764ee29dd0 ("ramips: add linux 5.15 support for mt7621") Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* ramips: mt7621-dts: do not claim rgmii2 group as gpio for certain devicesArınç ÜNAL2022-08-2011-46/+23
| | | | | | | | | | | | | | | These devices do not use rgmii2 as gpio, therefore remove rgmii2 pin group from state-default. Remove overwriting the ethernet node for these devices. Move claiming the rgmii2 group from mt7621_zyxel_nwa-ax.dtsi to mt7621_zyxel_nwa50ax.dts as it's only the latter using rgmii2 pins as gpio. Remove duplicate ethernet overwrite from mt7621_tplink_archer-x6-v3.dtsi. Claim rgmii2 group as gpio on mt7621_bolt_arion.dts as it uses an rgmii2 pin, 26, as gpio. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* ramips: fix GB-PC1 and GB-PC2 device supportArınç ÜNAL2022-08-207-63/+69
| | | | | | | | | | | | | | | | Change switch port labels to ethblack & ethblue. Change lan1 & lan2 LEDs to ethblack_act & ethblue_act and fix GPIO pins. Add the external phy with ethyellow label on the GB-PC2 devicetree. Do not claim rgmii2 as gpio, it's used for ethernet with rgmii2 function. Enable ICPlus PHY driver for IP1001 which GB-PC2 has got. Update interface name and change netdev function. Enable lzma compression to make up for the increased size of the kernel. Make spi flash bindings on par with mainline Linux to fix read errors. Tested on GB-PC2 by Petr. Tested-by: Petr Louda <petr.louda@outlook.cz> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* ramips: get MAC addr from the encrypted partition (WG4хх223)Mikhail Zhilkin2022-08-193-13/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit resolves #10062. Adds decryption of the Arcadyan WG4xx223 configuration partition (board_data)to get base MAC address from it. As a result, after this change the hack with saving MAC addressees to u-boot-env before installation of OpenWrt is no longer necessary. This is necessary for the following devices: - Beeline Smartbox Flash (Arcadyan WG443223) - MTS WG430223 (Arcadyan WG430223) Example: +----------------+-------------------+------------------------+ | | MTS WG430223 | Beeline Smartbox Flash | +----------------+-------------------+------------------------+ | base mac (mtd) | A4:xx:xx:51:xx:F4 | 30:xx:xx:51:xx:06 | | label | A4:xx:xx:51:xx:F4 | 30:xx:xx:51:xx:09 | | LAN | A4:xx:xx:51:xx:F6 | 30:xx:xx:51:xx:09 | | WAN | A4:xx:xx:51:xx:F4 | 30:xx:xx:51:xx:06 | | WLAN_2g | A4:xx:xx:51:xx:F5 | 30:xx:xx:51:xx:07 | | WLAN_5g | A6:xx:xx:21:xx:F5 | 32:xx:xx:41:xx:07 | +----------------+-------------------+------------------------+ Collected statistic shows that the 2-4th bits of the 7th byte of the WLAN_5g MAC are the constant (see #10062 for more details): - Beeline Smartbox Flash - 100 - MTS WG430223 - 010 Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
* ramips: fix ZyXEL NWA55AXE model nameDavid Bauer2022-08-181-1/+1
| | | | | | The model name was missing a letter. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for Beeline SmartBox TURBOMikhail Zhilkin2022-08-135-1/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Beeline SmartBox TURBO is a wireless WiFi 5 router manufactured by Sercomm company. Device specification -------------------- SoC Type: MediaTek MT7621AT RAM: 256 MiB Flash: 256 MiB, Micron MT29F2G08ABAGA3W Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2 Wireless 5 GHz (MT7615E): a/n/ac, 4x4 Ethernet: 5xGbE (WAN, LAN1, LAN2, LAN3, LAN4) USB ports: 1xUSB3.0 Button: 2 buttons (Reset & WPS) LEDs: 1 RGB LED Power: 12 VDC, 1.5 A Connector type: barrel Bootloader: U-Boot Installation ----------------- 1. Login to the router web interface (admin:admin) 2. Navigate to Settings -> WAN -> Add static IP interface (e.g. 10.0.0.1/255.255.255.0) 3. Navigate to Settings -> Remote cotrol -> Add SSH, port 22, 10.0.0.0/255.255.255.0 and interface created before 4. Change IP of your client to 10.0.0.2/255.255.255.0 and connect the ethernet cable to the WAN port of the router 5. Connect to the router using SSH shell (SuperUser:SNxxxxxxxxxx, where SNxxxxxxxxxx is the serial number from the backplate label) 6. Run in SSH shell: sh 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 (admin:admin) 10. Remove dots from the OpenWrt factory image filename 11. Update firmware via web using OpenWrt factory image Revert to stock --------------- 1. Change bootflag to Sercomm1 in OpenWrt CLI and then reboot: printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3 2. Optional: Update with any stock (Beeline) firmware if you want to overwrite OpenWrt in Slot 0 completely. 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 10.0.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done tftp -l mtd.md5 -p 10.0.0.2 MAC Addresses ------------- +-----+-----------+---------+ | use | address | example | +-----+-----------+---------+ | LAN | label | *:54 | | WAN | label + 1 | *:55 | | 2g | label + 4 | *:58 | | 5g | label + 5 | *:59 | +-----+-----------+---------+ The label MAC address was found in Factory 0x21000 Co-developed-by: Maximilian Weinmann <x1@disroot.org> Signed-off-by: Maximilian Weinmann <x1@disroot.org> Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
* kernel: Activate CONFIG_GPIOLIB in generic configurationHauke Mehrtens2022-08-107-7/+0
| | | | | | | | All targets expect the malta target already activate the CONFIG_GPIOLIB option. Move it to generic kernel configuration and also activate it for malta. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Revert "nftables: fix parsing date expressions"Jo-Philipp Wich2022-08-091-0/+3
| | | | | | | | This reverts commit eada8925776aafa3ec47d66fb89bf7eae730edf7. The commit contained unrelated target changes. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* nftables: fix parsing date expressionsJo-Philipp Wich2022-08-091-3/+0
| | | | | | | | Musl libc does not support the non-POSIX "%F" format for strptime() so replace all occurrences of it with an equivalent "%Y-%m-%d" format. Fixes: #10419 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ramips: add support for ZyXEL LTE3301-PlusAndré Valentin2022-08-067-1/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL LTE3301-PLUS is an 4G indoor CPE with 2 external LTE antennas. Specifications: - SoC: MediaTek MT7621AT - RAM: 256 MB - Flash: 128 MB MB NAND (MX30LF1G18AC) - WiFi: MediaTek MT7615E - Switch: 4 LAN ports (Gigabit) - LTE: Quectel EG506 connected by USB3 to SoC - SIM: 1 micro-SIM slot - USB: USB3 port - Buttons: Reset, WPS - LEDs: Multicolour power, internet, LTE, signal, Wifi, USB - Power: 12V, 1.5A The device is built as an indoor ethernet to LTE bridge or router with Wifi. UART Serial: 57600N1 Located on populated 5 pin header J5: [o] GND [ ] key - no pin [o] RX [o] TX [o] 3.3V Vcc MAC assignment: lan: 98:0d:67:ee:85:54 (base, on the device back) wlan: 98:0d:67:ee:85:55 Installation from web GUI: - Log in as "admin" on http://192.168.1.1/ - Upload OpenWrt initramfs-recovery.bin image on the Maintenance -> Firmware page - Wait for OpenWrt to boot and ssh to root@192.168.1.1 - format ubi device: ubiformat /dev/mtd6 - attach ubi device: ubiattach -m6 - create rootfs volume: ubimkvol /dev/ubi0 -n0 -N rootfs -s 1MiB - rootfs_data volume: ubimkvol /dev/ubi0 -n1 -N rootfs_data -s 1MiB - run sysupgrade with sysupgrade image For more details about flashing see commit 2449a632084b ("ramips: mt7621: Add support for ZyXEL NR7101"). Please note that this commit is needed: firmware-utils: add marcant changes for ZyXEL NBG6716 and LTE3301-PLUS Signed-off-by: André Valentin <avalentin@marcant.net>
* ramips: mt7628: fix memory controller reset bitReto Schneider2022-08-061-1/+1
| | | | | | | | | | | According to MediaTek MT7688 Datasheet v1.4, as well as the MT7628 counterpart, the memory controller reset bit (MC_RST) is 10, not 20. Reset bit 20 is used for for UART 2 (UART2_RST). Please note: Due to the lack of hardware, I was not able to test this change. Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
* ramips: add support for Netcore NW5212David Yang2022-08-064-7/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Netcore NW5212, provided by some carrier in China. Specifications: -------------- * SoC: Mediatek MT7620A * RAM: 128MB DDR2 * Flash: 16MB SPI NOR flash (Winbond W25Q128BV) * WiFi 2.4GHz: builtin * Ethernet: builtin * LED: Power, WAN, LAN 1-4, WiFi * Buttons: Reset (GPIO 13) * UART: Serial console (57600 8n1) * USB: 1 x USB2 Installation: ------------ The router comes with OpenWrt 14.07 built with MTK SDK. However, as the modem is provided by carriers, so the web interface is highly minimized and only contains a static page with no interaction options. There are two possible ways to gain the access. 1) Open the shell and use a UART2USB convert to gain TTY access. Please notice you have to remove resistance R54 at the back of the board otherwise you won't be able to input anything. 2) Use built-in backdoor. Access http://192.168.1.1/cgi-bin/_/testxst to start dropbear service at port 9122. Be warned the software is super old and only diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, kexguess2@matt.ucc.asn.au is support, you may not be able to connect it with an up-to-date ssh client. After you can control the device, flash the firmware as usual. Here are some hints for that. Option 1 (via original firmware): 1) Setup HTTP server on your computer, for example: python3 -m http.server 2) Connect to the route and flash: cd /tmp wget http://<your-computer-host>/<your-firmware-name> mtd -r write <your-firmware-name> firmware Option 2 (replacing u-boot via breed): 1) Download breed-mt7620-reset13.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-reset13.bin mtd write breed-mt7620-reset13.bin Bootloader 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 the flash layout to be 0x50000 and flash new firmware. MAC addresses: ------------- There are three MACs stored in factory, as in MT7620A reference design: source address usage 0x4 label WLAN 0x28 label MAC 1 0x2e label + 1 MAC 2 However, the OEM firmware only uses one single MAC (label) for all interfaces, probably a misconfiguration. Signed-off-by: David Yang <mmyangfl@gmail.com>
* ramips: add support for Netgear PR2000David Yang2022-08-064-0/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ramips: adding support for Asus RP-AC56Lea Teuberth2022-08-063-0/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: CPU: MT7621A dual-core 880MHz RAM: 64MB DDR2 FLASH: 16MB MX25L12805D NOR SPI WIFI: 2.4GHz 2x2 MT7603 b/g/n PCI WIFI: 5GHz 2x2 MT7662 a/b/ac PCI ETH: 1xLAN 1000base-T integrated SWITCH: MT7530 Port 0: LAN, Port 6: CPU LED: Power, 2.4GHz WiFi, 5GHz WiFi BTN: WPS, Reset UART: Near ETH port, from ETH: 3V3-TxD-GND-RxD 57600 8n1 MISC: Audio support Installation: 1. Update using recovery mode - while holdig "reset" button, power on the device - keep holding "reset" until power led is flashing yellow - set own IP to 192.168.1.75, subnet mask: 255.255.255.0 - push firmware image (can be factory.bin or sysupgrade.bin) using tftp client in binary mode to 192.168.1.1 Notes: This board has only two MAC addresses programmed in the "factory" partition: - MAC for wlan0 (2.4GHz) at offset 0x0004 - MAC for wlan1 (5GHz) at offset 0x8004 - stock firmware re-uses wlan0 MAC for ethernet - no valid addresses found in 0x28, 0x2e, 0xe000 and 0xe006 Signed-off-by: Lea Teuberth <lea.teuberth@outlook.com>
* ramips: add support for H3C TX1800 Plus / TX1801 Plus / TX1806Shiji Yang2022-07-318-0/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | H3C TX180x series WiFi6 routers are customized by different carrier. While these three devices look different, they use the same motherboard inside. Another minor difference comes from the model name definition in the u-boot environment variable. Specifications: SOC: MT7621 + MT7915 ROM: 128 MiB RAM: 256 MiB LED: status *2 Button: reset *1 + wps/mesh *1 Ethernet: lan *3 + wan *1 (10/100/1000Mbps) TTL Baudrate: 115200 TFTP server IP: 192.168.124.99 MAC Address: use address(sample 1) address(sample 2) source label 88:xx:xx:98:xx:12 88:xx:xx:a2:xx:a5 u-boot-env@ethaddr lan 88:xx:xx:98:xx:13 88:xx:xx:a2:xx:a6 $label +1 wan 88:xx:xx:98:xx:12 88:xx:xx:a2:xx:a5 $label WiFi4_2G 8a:xx:xx:58:xx:14 8a:xx:xx:52:xx:a7 (Compatibility mode) WiFi5_5G 8a:xx:xx:b8:xx:14 8a:xx:xx:b2:xx:a7 (Compatibility mode) WiFi6_2G 8a:xx:xx:18:xx:14 8a:xx:xx:12:xx:a7 WiFi6_5G 8a:xx:xx:78:xx:14 8a:xx:xx:72:xx:a7 Compatibility mode is used to guarantee the connection of old devices that only support WiFi4 or WiFi5. TFTP + TTL Installation: Although a TTL connection is required for installation, we do not need to tear down it. We can find the TTL port from the cooling hole at the bottom. It is located below LAN3 and the pins are defined as follows: |LAN1|LAN2|LAN3|----|WAN| -------------------- |GND|TX|RX|VCC| 1. Set tftp server IP to 192.168.124.99 and put initramfs firmware in server's root directory, rename it to a simple name "initramfs.bin". 2. Plug in the power supply and wait for power on, connect the TTL cable and open a TTL session, enter "reboot", then enter "Y" to confirm. Finally push "0" to interruput boot while booting. 3. Execute command to install a initramfs system: # tftp 0x80010000 192.168.124.99:initramfs.bin # bootm 0x80010000 4. Backup nand flash by OpenWrt LuCI or dd instruction. We need those partitions if we want to back to stock firmwre due to official website does not provide download link. # dd if=/dev/mtd1 of=/tmp/u-boot-env.bin # dd if=/dev/mtd4 of=/tmp/firmware.bin 5. Edit u-boot env to ensure use default bootargs and first image slot: # fw_setenv bootargs # fw_setenv bootflag 0 6. Upgrade sysupgrade firmware. 7. About restore stock firmware: flash the "firmware" and "u-boot-env" partitions that we backed up in step 4. # mtd write /tmp/u-boot-env.bin u-boot-env # mtd write /tmp/firmware.bin firmware Additional Info: The H3C stock firmware has a 160-byte firmware header that appears to use a non-standard CRC32 verification algorithm. For this part of the data, the u-boot does not check it so we can just directly replace it with a placeholder. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* kernel: bump 5.10 to 5.10.134John Audia2022-07-291-1/+1
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* ramips: add support for ZyXEL NWA50AX / NWA55AXEDavid Bauer2022-07-207-2/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Mediatek MT7621 RAM: 256M DDR3 FLASH: 128M NAND ETH: 1x Gigabit Ethernet WiFi: Mediatek MT7915 (2.4/5GHz 802.11ax 2x2 DBDC) BTN: 1x Reset (NWA50AX only) LED: 1x Multi-Color (NWA50AX only) UART Console ------------ NWA50AX: Available below the rubber cover next to the ethernet port. NWA55AXE: Available on the board when disassembling the device. Settings: 115200 8N1 Layout: <12V> <LAN> GND-RX-TX-VCC Logic-Level is 3V3. Don't connect VCC to your UART adapter! Installation Web-UI ------------------- Upload the Factory image using the devices Web-Interface. As the device uses a dual-image partition layout, OpenWrt can only installed on Slot A. This requires the current active image prior flashing the device to be on Slot B. If the currently installed image is started from Slot A, the device will flash OpenWrt to Slot B. OpenWrt will panic upon first boot in this case and the device will return to the ZyXEL firmware upon next boot. If this happens, first install a ZyXEL firmware upgrade of any version and install OpenWrt after that. Installation TFTP ----------------- This installation routine is especially useful in case * unknown device password (NWA55AXE lacks reset button) * bricked device Attach to the UART console header of the device. Interrupt the boot procedure by pressing Enter. The bootloader has a reduced command-set available from CLI, but more commands can be executed by abusing the atns command. Boot a OpenWrt initramfs image available on a TFTP server at 192.168.1.66. Rename the image to owrt.bin $ atnf owrt.bin $ atna 192.168.1.88 $ atns "192.168.1.66; tftpboot; bootm" Upon booting, set the booted image to the correct slot: $ zyxel-bootconfig /dev/mtd10 get-status $ zyxel-bootconfig /dev/mtd10 set-image-status 0 valid $ zyxel-bootconfig /dev/mtd10 set-active-image 0 Copy the OpenWrt ramboot-factory image to the device using scp. Write the factory image to NAND and reboot the device. $ mtd write ramboot-factory.bin firmware $ reboot Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for Netgear WAX202Wenli Looi2022-07-196-0/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear WAX202 is an 802.11ax (Wi-Fi 6) router. Specifications: * SoC: MT7621A * RAM: 512 MiB NT5CC256M16ER-EK * Flash: NAND 128 MiB F59L1G81MB-25T * Wi-Fi: * MT7915D: 2.4/5 GHz (DBDC) * Ethernet: 4x 1GbE * Switch: SoC built-in * USB: None * UART: 115200 baud (labeled on board) Load addresses (same as ipTIME AX2004M): * stock * 0x80010000: FIT image * 0x81001000: kernel image -> entry * OpenWrt * 0x80010000: FIT image * 0x82000000: uncompressed kernel+relocate image * 0x80001000: relocated kernel image -> entry 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. * Note that the bootloader accepts both encrypted and unencrypted images, while the stock web interface only accepts encrypted ones. Revert to stock firmware: * Flash the stock firmware to the bootloader using TFTP/NMRP. References in WAX202 GPL source: https://www.downloads.netgear.com/files/GPL/WAX202_V1.0.5.1_Source.rar * openwrt/target/linux/ramips/dts/mt7621-ax-nand-wax202.dts DTS file for this device. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
* kernel: bump 5.15 to 5.15.53Rui Salvaterra2022-07-112-10/+10
| | | | | | Patches automatically rebased. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips: Add Xiaomi Mi Router 4A 100M InternationalNita Vesa2022-07-033-1/+69
| | | | | | | | | | | | The international version of Mi Router 4A 100M is physically identical to the non-international one, but appears to be using a different partitioning scheme with the "overlay" partition being 2MiB in size instead of 1MiB. This means the following "firmware" partition starts at a different address and the DTS needs to be adjusted for the firmware to work. Signed-off-by: Nita Vesa <werecatf@outlook.com>