aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* ramips: Add support for ComFast CF-E390AXUsama Nassir2023-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ath79: add support for COMFAST CF-E380AC v2Joao Henrique Albuquerque2023-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | COMFAST CF-E380AC v2 is a ceiling mount AP with PoE support, based on Qualcomm/Atheros QCA9558+QCA9880+AR8035. There are two versions of this model, with different RAM and U-Boot mtd partition sizes: - v1: 128 MB of RAM, 128 KB U-Boot image size - v2: 256 MB of RAM, 256 KB U-Boot image size Version number is available only inside vendor GUI, hardware and markings are the same. Short specification: - 720/600/200 MHz (CPU/DDR/AHB) - 1x 10/100/1000 Mbps Ethernet, with PoE support - 128 or 256 MB of RAM (DDR2) - 16 MB of FLASH - 3T3R 2.4 GHz, with external PA (SE2576L), up to 28 dBm - 3T3R 5 GHz, with external PA (SE5003L1), up to 30 dBm - 6x internal antennas - 1x RGB LED, 1x button - UART (T11), LEDs/GPIO (J7) and USB (T12) headers on PCB - external watchdog (Pericon Technology PT7A7514) COMFAST MAC addresses : Though the OEM firmware has four adresses in the usual locations, it appears that the assigned addresses are just incremented in a different way: Interface address location Lan *:00 0x0 2.4g *:0A n/a (0x0 + 10) 5g *:02 0x6 Unused Addresses found in ART hexdump address location *:01 0x1002 *:03 0x5006 To keep code consistency the MAC address assignments are made based on increments of the one found in 0x0; Signed-off-by: Joao Henrique Albuquerque <joaohccalbu@gmail.com>
* ramips: add support for Sercomm S1500 devicesMikhail Zhilkin2023-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ramips: sercomm.mk: preparation for Sercomm s1500 devices supportMikhail Zhilkin2023-07-01
| | | | | | | | | | | | | This commit moves a part of the code from the "sercomm-factory-cqr" recipe to the separate "sercomm-mkhash" recipe. This simplifies recipes and allows insert additional recipes between these code blocks (required for the future support for Beeline SmartBox PRO router). dd automatically fills the file by 0x00 if the filesize is less than offset where we start writing. We drop such dd command so we need to add --extra-padding-size 0x190 to the sercomm-pid.py call. Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
* ath79: DTS improvement for buzzer on RB951G-2HnDPavel Pernička2023-07-01
| | | | | | | | | | Mikrotik RB951 router has a buzzer on the board, which makes annoying noises due to the interference caused by PoE input or Wifi transmission when no GPIO pin state is set. I added buzzer node to device's DTS in order to set deault level to 1 and to provide easier access for it. Signed-off-by: Pavel Pernička <pernicka.pa@gmail.com>
* layerscape: remove Traverse LS1043 boardsMathew McBride2023-07-01
| | | | | | | | | | | | | | | | The Traverse LS1043 boards were not publicly released, all the production has been going to OEM customers who do not use the image format defined in the OpenWrt tree. Only a few samples were circulated outside Traverse and our OEM customers. The public release (then called Five64) of this series was cancelled in favour of our LS1088A based design (Ten64). It is best to remove these boards to avoid wasting OpenWrt project and contributor resources. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* mediatek: filogic: add H3C Magic NX30 Pro supportChukun Pan2023-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification: SoC: MediaTek MT7981B 2x A53 Flash: W25N01GVZEIG 128MB RAM: NT5CB128M16JR-FL 256MB Ethernet: 4x 10/100/1000 Mbps Switch: MediaTek MT7531AE WiFi: MediaTek MT7976C Button: Reset, WPS Power: DC 12V 1A Flash instructions: 1. PC run command: "telnet 192.168.124.1 99" Username: H3C, password is the web login password of the router. 2. Download preloader.bin and bl31-uboot.fip 3. PC run command: "python3 -m http.server 80" 4. Download files in the telnet window: "wget http://192.168.124.xx/xxx.bin" Replace xx with your PC's IP and the preloader.bin and bl31-uboot.fip. 5. Flushing openwrt's uboot: "mtd write xxx-preloader.bin BL2" "mtd write xxx-bl31-uboot.fip FIP" 6. Connect to the router via the Lan port, set a static ip of your PC. (ip 192.168.1.254, gateway 192.168.1.1) 7. Download initramfs image, reboot router, waiting for tftp recovery to complete. 8. After openwrt boots up, perform sysupgrade. Note: 1. The u-boot-env partition on mtd is empty, OEM stores their env on ubi:u-boot-env. 2. Back up all mtd partitions before flashing. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* uboot-mediatek: add H3C Magic NX30 Pro supportChukun Pan2023-07-01
| | | | | | | The OEM uboot limit brush into 3rd-party firmware. So add a custom uboot build to support openwrt. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mediatek: add support for Netgear EX6250v2 seriesWenli Looi2023-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear EX6250v2, EX6400v3, EX6410v2, EX6470 are wall-plug 802.11ac (Wi-Fi 5) extenders. Like other MT7629 devices, Wi-Fi does not work currently as there is no driver. Related: https://github.com/openwrt/openwrt/pull/5084 For future reference, 2.4GHz MAC = LAN+1, 5GHz MAC = LAN+2. Specifications: * MT7629, 256 MiB RAM, 16 MiB SPI NOR * MT7761N (2.4GHz) / MT7762N (5GHz) - no driver * Ethernet: 1 port 10/100/1000 * UART: 115200 baud (labeled on board) 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. * After installation, perform a factory reset. Wait for the device to boot, then hold the reset button for 10 seconds. This is needed because sysupgrade in the stock firmware will attempt to preserve its configuration using sysupgrade.tgz. See https://github.com/openwrt/openwrt/pull/4182 Revert to stock firmware: * Flash the stock firmware to the bootloader using TFTP/NMRP. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
* ramips: add support for Netgear EAX12 seriesWenli Looi2023-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* image: add additional fields to Netgear encrypted imageWenli Looi2023-07-01
| | | | | | | | | | | | | | | | These fields are used for EAX12 and EX6250v2 series, and perhaps other devices. Compatibility is preserved with the WAX202 and WAX206. In addition, adds the related vars to DEVICE_VARS so that the variables work correctly with multiple devices. References in GPL source: https://www.downloads.netgear.com/files/GPL/EAX12_EAX11v2_EAX15v2_GPL_V1.0.3.34_src.tar.gz * tools/imgencoder/src/gj_enc.c Contains code that generates the encrypted image. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
* kernel: qca-nss-dp: port FDB roaming fixRobert Marko2023-07-01
| | | | | | | | | | In the recent NSS-DP update FDB roaming fix we had was removed as in testing no issue were reported, but after it was merged the old duplicate MAC issue reappeared so lets port the previous FDB fix to work with newer NSS-DP. Fixes: 4ee444b5dae7 ("kernel: qca-nss-dp: update to 12.4.5.r1") Signed-off-by: Robert Marko <robimarko@gmail.com>
* mxs: add testing kernel 6.1Zoltan HERPAI2023-07-01
| | | | | | Runtime-tested on Olinuxino Maxi. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* rpcd: update to latest git HEADHauke Mehrtens2023-07-01
| | | | | | c07ab2f iwinfo: update byte counter to 64bit Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* iwinfo: update to latest git HEADHauke Mehrtens2023-07-01
| | | | | | | | | | d1f07cf devices: add device id for Atheros AR9287 and AR9380 65ea345 nl80211: constify a few arrays ca79f64 lib: report byte counters as 64 bit values This contains an ABI change, increase the ABI version too. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* libnl-tiny: update to latest git HEADHauke Mehrtens2023-07-01
| | | | | | d433990 Make struct nla_policy and struct nlattr const Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* linux-firmware: ibt-firmware: install sfi/ddc files for AX210 cardMathew McBride2023-07-01
| | | | | | | | | | | | | | | | | | When using an Intel AX210 card, the Bluetooth hci interface failed to start due to a missing "ibt-0041-0041.sfi" file. Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-0041-0041.sfi (-2) A device specific configuration file (DDC) is also required: Bluetooth: hci0: Found device firmware: intel/ibt-0041-0041.sfi Bluetooth: hci0: Waiting for firmware download to complete ... Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-0041-0041.ddc Bluetooth: hci0: Applying Intel DDC parameters completed Bluetooth: hci0: Firmware timestamp 2023.13 buildtype 1 build 62562 Fixes: #8558 Signed-off-by: Mathew McBride <matt@traverse.com.au>
* treewide: remove CONFIG_FRAME_WARN from kernel configsRobert Marko2023-07-01
| | | | | | | CONFIG_FRAME_WARN is set dynamically, so there is no need for it to be set in target kernel configs, so lets remove it from all configs. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* generic: filter out CONFIG_FRAME_WARNRobert Marko2023-07-01
| | | | | | | | | | | | | CONFIG_FRAME_WARN value is set by config/Config-kernel.in based on the target type dynamically since commit: 16a2051 ("kernel: Set CONFIG_FRAME_WARN depending on target"). However, CONFIG_FRAME_WARN was not set to get filtered out so it ended up in multiple target configs during refreshes. So, lets filter out CONFIG_FRAME_WARN as its set dynamically to prevent it ending up in more target configs. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* kernel: bump 5.15 to 5.15.119John Audia2023-07-01
| | | | | | | | Build system: x86_64 Build-tested: x86_64/ACEMAGICIAN T8PLUS, ramips/tplink_archer-a6-v3 Run-tested: x86_64/ACEMAGICIAN T8PLUS, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
* mxs: rework image generationZoltan HERPAI2023-06-30
| | | | | | | | Migrate to "new" image generation method. Device profiles will be generated based on image/Makefile instead of profiles/ , which will also allow to automatically build images for all supported devices via buildbot. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* ramips/mt7621: disable the cpufreq driverFelix Fietkau2023-06-30
| | | | | | It causes a noticeable performance decrease Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix mesh fast tx cache issuesFelix Fietkau2023-06-30
| | | | | | Split the cache by tx type in order to avoid packet drop issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* netifd: update to the latest versionFelix Fietkau2023-06-29
| | | | | | | | | | 493e1589bc8b bridge: fix coverity false positive report 03a619947717 bridge: add support for configuring extra vlans for the bridge itself 4bea6d21a9ab wireless: fix changing reconf/serialize options in configuration 255b4d5c472e wireless: fix handling config reload with reconf=1 1ab992a74b43 wireless: fix another reconf issue Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ucode: update to the latest versionFelix Fietkau2023-06-29
| | | | | | | | | | | | | | | | | | | | | | | | | | 9986b839595d ci: unbreak failing builds by using fixed gh-actions-openwrt-ci-sdk 77c961e20eda ci: fix broken imx6-generic SDK build 86107a647cb0 ci: cancel concurrent builds ed543d8bf481 ci: update the workflows 11d5f8840002 Merge pull request #151 from ynezz/ynezz/unbreak-ci b934ce815ff2 program: fix memory leak in read_sourceinfo b0baf043e64c Merge pull request #152 from Ansuel/fix-memory-leak 740e2501fdca main: add user specified library search paths before default path 15f1a669e8e2 struct: remove state->len 29edb011caf1 ubus: add support for strings containing null bytes 2b4346bfdc67 vm: clear vm->alloc_refs in uc_gc_common b213bd120d55 Merge pull request #150 from nbd168/misc-improvements 66520ebe27ae vm: immediately release arguments on calls with invalid spreads 07cc72a77e3b README.md: fix debian dependencies d048ea88fe71 compiler: fix memory leak in uc_compiler_compile_import on early exit 7b7e22dcdf02 Merge pull request #155 from luizluca/luizluca-patch-1 d656d150905e types: implement ucv_object_sort() d72eebeb168b lib: support object ordering in `uc_sort()` ed1f0133c870 nl80211: add constants for iftypes 3ffb046c59a6 Merge pull request #156 from nbd168/nl80211-iftypes c7d84aae0969 Merge pull request #153 from jow-/lib-sort-object-support Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mt76: update to the latest versionFelix Fietkau2023-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c9c8ffe9d8c wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll 3365c80f4202 wifi: mt76: connac: fix stats->tx_bytes calculation b69d82130b47 wifi: mt76: connac: do not check WED status for non-mmio devices 1f9cd65b55d7 wifi: mt76: mt7921e: fix probe timeout after reboot 42dace9ce247 wifi: mt76: mt7921: Fix use-after-free in fw features query. 540adbb38205 wifi: mt76: mt7921: add Netgear AXE3000 (A8000) support 150e2d0ffc0c wifi: mt76: mt7996: fix possible NULL pointer dereference in mt7996_mac_write_txwi() 5b7519be2bf6 wifi: mt76: mt7996: fix endianness of MT_TXD6_TX_RATE 40f6e433f747 wifi: mt76: mt76x02: remove WEP support 84ea1a24f5b5 mt76: mt7921: don't assume adequate headroom for SDIO headers 5c28e17f8c78 wifi: mt76: mt7996: fix header translation logic 2386cec860fa wifi: mt76: mt7996: enable BSS_CHANGED_MU_GROUPS support 748d4a2bfebd wifi: mt76: mt7615: enable BSS_CHANGED_MU_GROUPS support 458ad0af21be wifi: mt76: enable UNII-4 channel 177 support 7fb046011293 wifi: mt76: mt7915: fix background radar event being blocked d2a77a9954bb wifi: mt76: mt7915: report tx retries/failed counts for non-WED path f76b102b09ca wifi: mt76: mt7915: rework tx packets counting when WED is active 5637d9e37d9e wifi: mt76: mt7915: rework tx bytes counting when WED is active 34bdc7fcb4c0 wifi: mt76: report non-binding skb tx rate when WED is active d71aa7b992a3 wifi: mt76: mt7915: drop return in mt7915_sta_statistics 251c363c3087 wifi: mt76: mt7996: drop return in mt7996_sta_statistics 150bb95cb153 wifi: mt76: mt7921: do not support one stream on secondary antenna only d480c3281f21 wifi: mt76: mt7921: remove macro duplication in regs.h 18b1027e5b6e wifi: mt76: mt7915: move mib_stats structure in mt76.h 25ec4b91020e wifi: mt76: mt7996: rely on mib_stats shared definition 6541afa88b3b wifi: mt76: mt7921: rely on mib_stats shared definition eeb60eb9a5a0 wifi: mt76: mt7915: add support for MT7981 [sync with upstream] d5b7e6a3d735 wifi: mt76: mt7921e: report tx retries/failed counts in tx free event f0f19cea6646 wifi: mt76: mt7921: fix skb leak by txs missing in AMSDU edd8a830f6e3 wifi: mt76: add tx_nss histogram to ethtool stats e48235308b3e wifi: mt76: mt7915: accumulate mu-mimo ofdma muru stats a729242363d9 wifi: mt76: mt7921: fix non-PSC channel scan fail 8d52436ee0cd wifi: mt76: mt7921: Support temp sensor d152c8688c14 wifi: mt76: mt7915: disable WFDMA Tx/Rx during SER recovery d07785c344ac wifi: mt76: mt7996: disable WFDMA Tx/Rx during SER recovery 2a19784137f9 wifi: mt76: mt7921: make mt7921_mac_sta_poll static da8e33a15e71 wifi: mt76: mt7915: fix command timeout in AP stop period cc58d5c4a9c9 mt76: mt7996: rely on mt76_sta_stats in mt76_wcid 98a37c82a373 wifi: mt76: mt7921: get rid of MT7921_RESET_TIMEOUT marco ece724cf562b wifi: mt76: mt7996: move radio ctrl commands to proper functions 527cbbc5ede7 wifi: mt76: connac: add support for dsp firmware download 44e323340637 wifi: mt76: mt7996: fix bss wlan_idx when sending bss_info command 63f0053df07a wifi: mt76: mt7996: enable VHT extended NSS BW feature e1bb4ef7b2bb wifi: mt76: connac: add support to set ifs time by mcu command 080ca19cc686 wifi: mt76: mt7996: use correct phy for background radar event 2c163f1812a3 wifi: mt76: mt7996: fix WA event ring size b511a437ace4 wifi: mt76: mt7996: add muru support ece67c98dc1c wifi: mt76: mt7996: increase tx token size 7c2515d85117 wifi: mt76: mt7921e: fix init command fail with enabled device 30706095c566 wifi: mt76: mt7915: move sta_poll_list and sta_poll_lock in mt76_dev b06ed10ee271 wifi: mt76: mt7603: rely on shared sta_poll_list and sta_poll_lock b59bdae339de wifi: mt76: mt7615: rely on shared sta_poll_list and sta_poll_lock 6da2e0e4ef54 wifi: mt76: mt7996: rely on shared sta_poll_list and sta_poll_lock b19d3ad88e8b wifi: mt76: mt7921: rely on shared sta_poll_list and sta_poll_lock 595b033275a3 wifi: mt76: mt7915: move poll_list in mt76_wcid 16fcad171849 wifi: mt76: mt7603: rely on shared poll_list field e19f84091d2e wifi: mt76: mt7615: rely on shared poll_list field b87e4dad1e84 wifi: mt76: mt7996: rely on shared poll_list field 6d7950e258d0 wifi: mt76: mt7921: rely on shared poll_list field f5c5eece5038 wifi: mt76: move ampdu_state in mt76_wcid 7e44467469fe mt76: connac: move more mt7921/mt7915 mac shared code in connac lib 39a70710ddcd wifi: mt76: move rate info in mt76_vif 0dc4326991df wifi: mt76: connac: move connac3 definitions in mt76_connac3_mac.h 29cfabbb4b90 wifi: mt76: connac: add connac3 mac library d60b401867f4 linux-firmware: update firmware for MT7922 WiFi device 9404601a6c97 linux-firmware: update firmware for MT7922 WiFi device 2f851902d6b1 linux-firmware: update firmware for MT7921 WiFi device f36b921692b9 Revert "wifi: mt76: mt76x02: remove WEP support Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: net: phy: realtek: fix rtl822x_probe on unsupported devicesMartin Schiller2023-06-27
| | | | | | | | Calling rtl822x_probe() on phy devices which uses the rtl822x_read_mmd() and rtl822x_write_mmd() functions makes no sense and the probe ends with an EOPNOTSUPP error. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* kernel: qca-nss-dp: simplify compile argumentsRobert Marko2023-06-26
| | | | | | | Instead of manually passing arguments, lets just switch to using $(KERNEL_MAKE). Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: qca-nss-dp: update to 12.4.5.r1Robert Marko2023-06-26
| | | | | | | | Qualcomm has finally started the preparatory work in order to support kernel 6.1, so lets make use of that and update NSS-DP 12.4.5.r1 which allows us to drop almost some of the patches. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: qca-ssdk: update to 12.4.5.r1Robert Marko2023-06-26
| | | | | | | | | | Qualcomm has finally started the preparatory work in order to support kernel 6.1, so lets make use of that and update SSDK 12.4.5.r1 which allows us to drop almost all of the patches. Lets also install the forgotten SSDK netlink header. Signed-off-by: Robert Marko <robimarko@gmail.com>
* arm-trusted-firmware-rockchip: add m0 gcc toolchainTianling Shen2023-06-25
| | | | | | | | | | | rk3399 ATF requires arm toolchain to build the m0 pmu driver. As OpenWrt doesn't ship this toolchain so download the prebuilt one just like what we did in arm-trusted-firmware-mvebu. Fixes: 5d1cb52da062 ("arm-trusted-firmware-rockchip: Update to 2.9") Reported-by: Wurzer Juergen <wurzer.juergen@gmail.com> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* procd: update to latest git HEADHauke Mehrtens2023-06-25
| | | | | | | 122a5e3 Revert "sysupgrade: print errno on failure" 2db8365 system: add RISC-V CPU info Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rpcd: update to latest git HEADHauke Mehrtens2023-06-25
| | | | | | 31c3907 file: strengthen exec access control Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uhttpd: update to latest git HEADHauke Mehrtens2023-06-25
| | | | | | 34a8a74 uhttpd/file: fix string out of buffer range on uh_defer_script Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: phy: motorcomm: Fix compileHauke Mehrtens2023-06-25
| | | | | | Fix compilation on starfive target. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Revert "mt76: update to the latest version"Felix Fietkau2023-06-25
| | | | | | | This reverts commit 901af2718957fc878279073e9b917458144c75a4. Will be re-applied once crash issues have been figured out and resolved Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: do not print error log when mdio bus is disabledShiji Yang2023-06-25
| | | | | | | | | The mdio bus is used to control externel switch. In most cases, they are disabled, which is the normal behavior. Treating this as an error makes no sense, so we need to change the notification level from error to info. Fixes: a2acdf960704 ("ramips: mt7620: remove useless GMAC nodes") Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: backport upstream mt762x PCIe driver error log fixesShiji Yang2023-06-25
| | | | | | | | | | | | | | | | | | | | These patches silence some mt762x PCIe driver error messeges by removing the useless debugging codes and replacing incorrectly used 'dev_err()' with 'dev_info()': PCI: mt7621: Use dev_info() to log PCIe card detection [1] mips: pci-mt7620: do not print NFTS register value as error log [2] mips: pci-mt7620: use dev_info() to log PCIe device detection result [3] Patch [1] has already been merged into the Linux 6.3 branch. Patches [2] and [3] have been merged into the "mips-next" tree, and they will be part of the upcoming Linux 6.5. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.4-rc7&id=50233e105a0332ec0f3bc83180c416e6b200471e [2] https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=9f9a035e6156a57d9da062b26d2a48d031744a1e [3] https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/commit/?id=89ec9bbe60b61cc6ae3eddd6d4f43e128f8a88de Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: add support for D-Link DIR-806A B1 routerAlexey Bartenev2023-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* layerscape: add patches for SFP support on DPAA2 platformsMathew McBride2023-06-25
| | | | | | | | | | | | | | | | | | This is required for managed operation of the SFP ports on the Ten64 (LS1088A) and other boards. The two issues resolved are: - Validation of 10G SFP link modes fail as Linux did not consider the equivalence of modes like XFI, 10GBase-R - Fix a locking issue that prevented the system rebooting when SFP ports were controlled by the SFP driver. Please note, these patches are replaced by upstream ones in 6.x, see: commit 61ec9a8154a5 ("armvirt: add SFP support patches for NXP Layerscape DPAA2 platforms") in OpenWrt for the relevant patches. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* layerscape: armv8_64b: add Traverse Ten64 NAND variantMathew McBride2023-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ten64 board[1] is based around NXP's Layerscape LS1088A SoC. It is capable of booting both standard Linux distributions from disk devices, using EFI, and booting OpenWrt from NAND. See the online manual for more information, including the flash layout[2]. This patchset adds support for generating Ten64 images for NAND boot. For disk boot, one can use the EFI support that was recently added to the armvirt target. We previously supported NAND users by building inside our armvirt/EFI target[3], but this approach is not suitable for OpenWrt upstream. Users who used our supplied NAND images will be able to upgrade to this via sysupgrade. Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - https://www.traverse.com.au/hardware/ten64 [2] - https://ten64doc.traverse.com.au/hardware/flash/ [3] - Example: https://gitlab.com/traversetech/ls1088firmware/openwrt/-/commit/285e4360e1604eb466880d245d48efd9962143a5
* ipq4019: add support for ZTE MF287+ aka DreiNeoAndreas Böhler2023-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZTE MF287+ is a LTE router used (exclusively?) by the network operator "3". The MF287 (i.e. non-plus aka 3Neo) is also supported (the only difference is the LTE modem) Specifications ============== SoC: IPQ4018 RAM: 256MiB Flash: 8MiB SPI-NOR + 128MiB SPI-NAND LAN: 4x GBit LAN LTE: ZTE Cat12 (MF287+) / ZTE Cat6 (MF287) WiFi: 802.11a/b/g/n/ac SoC-integrated MAC addresses ============= LAN: from config + 2 WiFi 1: from config WiFi 2: from config + 1 Installation ============ Option 1 - TFTP --------------- TFTP installation using UART is preferred. Disassemble the device and connect serial. Put the initramfs image as openwrt.bin to your TFTP server and configure a static IP of 192.168.1.100. Load the initramfs image by typing: setenv serverip 192.168.1.100 setenv ipaddr 192.168.1.1 tftpboot 0x82000000 openwrt.bin bootm 0x82000000 From this intiramfs boot you can take a backup of the currently installed partitions as no vendor firmware is available for download: ubiattach -m14 cat /dev/ubi0_0 > /tmp/ubi0_0 cat /dev/ubi0_1 > /tmp/ubi0_1 Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save. Once booted, transfer the sysupgrade image and run sysupgrade. You might have to delete the stock volumes first: ubirmvol /dev/ubi0 -N ubi_rootfs ubirmvol /dev/ubi0 -N kernel Option 2 - From stock firmware ------------------------------ The installation from stock requires an exploit first. The exploit consists of a backup file that forces the firmware to download telnetd via TFTP from 192.168.0.22 and run it. Once exploited, you can connect via telnet and login as admin:admin. The exploit will be available at the device wiki page. Once inside the stock firmware, you can transfer the -factory.bin file to /tmp by using "scp" from the stock frmware or "tftp". ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write access - you need to read from one file in /proc. Once done, you need to erase the UBI partition and flash OpenWrt. Before performing the operation, make sure that mtd13 is the partition labelled "rootfs" by calling "cat /proc/mtd". Complete commands: cd /tmp tftp -g -r factory.bin 192.168.0.22 cat /proc/driver/sensor_id flash_erase /dev/mtd13 0 0 dd if=/tmp/factory.bin of=/dev/mtdblock13 bs=131072 Afterwards, reboot your device and you should have a working OpenWrt installation. Restore Stock ============= Option 1 - via UART ------------------- Boot an OpenWrt initramfs image via TFTP as for the initial installation. Transfer the two backed-up files to your box to /tmp. Then, run the following commands - replace $kernel_length and $rootfs_size by the size of ubi0_0 and ubi0_1 in bytes. ubiattach -m 14 ubirmvol /dev/ubi0 -N kernel ubirmvol /dev/ubi0 -N rootfs ubirmvol /dev/ubi0 -N rootfs_data ubimkvol /dev/ubi0 -N kernel -s $kernel_length ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0 ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1 Option 2 - from within OpenWrt ------------------------------ This option requires to flash an initramfs version first so that access to the flash is possible. This can be achieved by sysupgrading to the recovery.bin version and rebooting. Once rebooted, you are again in a default OpenWrt installation, but no partition is mounted. Follow the commands from Option 1 to flash back to stock. LTE Modem ========= The LTE modem is similar to other ZTE devices and controls some more LEDs and battery management. Configuring the connection using uqmi works properly, the modem provides three serial ports and a QMI CDC ethernet interface. Signed-off-by: Andreas Böhler <dev@aboehler.at>
* ipq40xx: Enable gpio-restart in kernel configurationAndreas Böhler2023-06-25
| | | | | | | Some ZTE devices require the gpio-restart driver to support restarting the LTE modem along with OpenWrt Signed-off-by: Andreas Böhler <dev@aboehler.at>
* ramips: add Edimax BR-6208AC V2 supportStefan Weil2023-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ath79: add support for MikroTik RB951G-2HnDMichał Kępień2023-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MikroTik RB951G-2HnD is a wireless SOHO router that was previously supported by the ar71xx target, see commit 7a709573d7 ("ar71xx: add kernel support for the Mikrotik RB951G board"). Specifications -------------- - SoC: Atheros AR9344 (600 MHz) - RAM: 128 MB (2x 64 MB) - Storage: 128 MB NAND flash (various manufacturers) - Ethernet: Atheros AR8327 switch, 5x 10/100/1000 Mbit/s - 1x PoE in (port 1, 8-30 V input) - Wireless: Atheros AR9340 (802.11b/g/n) - USB: 2.0 (1A) - 8x LED: - 1x power (green, not configurable) - 1x user (green, not configurable) - 5x GE ports (green, not configurable) - 1x wireless (green, not configurable) - 1x button (restart) Unlike on the RB951Ui-2HnD, none of the LEDs on this device seem to be GPIO-controllable, which was also the case for older OpenWRT versions that supported this board via a mach file. The Ethernet port LEDs are controlled by the switch chip. See https://mikrotik.com/product/RB951G-2HnD for more details. Flashing -------- TFTP boot initramfs image and then perform sysupgrade. Follow common MikroTik procedures at https://openwrt.org/toh/mikrotik/common. Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
* ath79: mikrotik: extract common bits for RB951x-2HnD devicesMichał Kępień2023-06-25
| | | | | | | | Mikrotik RouterBOARD 951Ui-2HnD and Mikrotik RouterBOARD RB951G-2HnD are very similar devices. Extract the DTS bits that are identical for these two boards to a separate DTSI file. Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
* ath79: 5.15: fix not exported sym ath79_pll_baseLuiz Angelo Daros de Luca2023-06-25
| | | | | | | | | | ath79_pll_base was declared as extern but no code exported it. Anyone including arch/mips/include/asm/mach-ath79/ath79.h and compiled as a module would break with: ERROR: modpost: "ath79_pll_base" [drivers/net/ethernet/atheros/ag71xx/ag71xx.ko] undefined! Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
* arm-trusted-firmware-rockchip: Update to 2.9Tianling Shen2023-06-25
| | | | | | Switch to standard TF-A build. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* ath79: Add support for MOXA AWK-1137CMaximilian Martin2023-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device specifications: ====================== * Qualcomm/Atheros AR9344 * 128 MB of RAM * 16 MB of SPI NOR flash * 2x 10/100 Mbps Ethernet * 2T2R 2.4/5 GHz Wi-Fi * 4x GPIO-LEDs (1x wifi, 2x ethernet, 1x power) * 1x GPIO-button (reset) * 2x fast ethernet - lan1 + builtin switch port 1 + used as WAN interface - lan2 + builtin switch port 2 + used as LAN interface * 9-30V DC * external antennas Flashing instructions: ====================== Log in to https://192.168.127.253/ Username: admin Password: moxa Open Maintenance > Firmware Upgrade and install the factory image. Serial console access: ====================== Connect a RS232-USB converter to the maintenance port. Pinout: (reset button left) [GND] [NC] [RX] [TX] Firmware Recovery: ================== When the WLAN and SYS LEDs are flashing, the device is in recovery mode. Serial console access is required to proceed with recovery. Download the original image from MOXA and rename it to 'awk-1137c.rom'. Set up a TFTP server at 192.168.127.1 and connect to a lan port. Follow the instructions on the serial console to start the recovery. Signed-off-by: Maximilian Martin <mm@simonwunderlich.de>
* mediatek: add support for Mercusys MR90X v1Mikhail Zhilkin2023-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for Mercusys MR90X(EU) v1 router. Device specification -------------------- SoC Type: MediaTek MT7986BLA, Cortex-A53, 64-bit RAM: MediaTek MT7986BLA (512MB) Flash: SPI NAND GigaDevice GD5F1GQ5UEYIGY (128 MB) Ethernet: MediaTek MT7531AE + 2.5GbE MaxLinear GPY211C0VC (SLNW8) Ethernet: 1x2.5Gbe (WAN/LAN 2.5Gbps), 3xGbE (WAN/LAN 1Gbps, LAN1, LAN2) WLAN 2g: MediaTek MT7975N, b/g/n/ax, MIMO 4x4 WLAN 5g: MediaTek MT7975P(N), a/n/ac/ax, MIMO 4x4 LEDs: 1 orange and 1 green status LEDs, 4 green gpio-controlled LEDs on ethernet ports Button: 1 (Reset) USB ports: No Power: 12 VDC, 2 A Connector: Barrel Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI slots contain "seconduboot" (also U-Boot 2022.01-rc4) Serial console (UART) --------------------- V +-------+-------+-------+-------+ | +3.3V | GND | TX | RX | +---+---+-------+-------+-------+ | +--- Don't connect The R3 (TX line) and R6 (RX line) are absent on the PCB. You should solder them or solder the jumpers. Installation (UART) ------------------- 1. Place OpenWrt initramfs image on tftp server with IP 192.168.1.2 2. Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C' 3. Load and run OpenWrt initramfs image: tftpboot initramfs-kernel.bin bootm 4. Once inside OpenWrt, set / update env variables: fw_setenv baudrate 115200 fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit" fw_setenv fdtcontroladdr 5ffc0e70 fw_setenv ipaddr 192.168.1.1 fw_setenv loadaddr 0x46000000 fw_setenv mtdids "spi-nand0=spi-nand0" fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data)" fw_setenv netmask 255.255.255.0 fw_setenv serverip 192.168.1.2 fw_setenv stderr serial@11002000 fw_setenv stdin serial@11002000 fw_setenv stdout serial@11002000 fw_setenv tp_boot_idx 0 5. Run 'sysupgrade -n' with the sysupgrade OpenWrt image Installation (without UART) --------------------------- 1. Login as root via SSH (router IP, port 20001, password - your web interface password) 2. Open for editing /etc/hotplug.d/iface/65-iptv (e.g., using WinSCP and SSH settings from the p.1) 3. Add a newline after "#!/bin/sh": telnetd -l /bin/login.sh 4. Save "65-iptv" file 5. Toggle "IPTV/VLAN Enable" checkbox in the router web interface and save 6. Make sure that telnetd is running: netstat -ltunp | grep 23 7. Login via telnet to router IP, port 23 (no username and password are required) 8 Upload OpenWrt "initramfs-kernel.bin" to the "/tmp" folder of the router (e.g., using WinSCP and SSH settings from the p.1) 9. Stock busybox doesn't contain ubiupdatevol command. Hence, we need to download and upload the full version of busybox to the router. For example, from here: https://github.com/xerta555/Busybox-Binaries/raw/master/busybox-arm64 Upload busybox-arm64 to the /tmp dir of the router and run: in the telnet shell: cd /tmp chmod a+x busybox-arm64 10. Check "initramfs-kernel.bin" size: du -h initramfs-kernel.bin 11. Delete old and create new "kernel" volume with appropriate size (greater than "initramfs-kernel.bin" size): ubirmvol /dev/ubi0 -N kernel ubimkvol /dev/ubi0 -n 1 -N kernel -s 9MiB 12. Write OpenWrt "initramfs-kernel.bin" to the flash: ./busybox-arm64 ubiupdatevol /dev/ubi0_1 /tmp/initramfs-kernel.bin 13. u-boot-env can be empty so lets create it (or overwrite it if it already exists) with the necessary values: fw_setenv baudrate 115200 fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit" fw_setenv fdtcontroladdr 5ffc0e70 fw_setenv ipaddr 192.168.1.1 fw_setenv loadaddr 0x46000000 fw_setenv mtdids "spi-nand0=spi-nand0" fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data)" fw_setenv netmask 255.255.255.0 fw_setenv serverip 192.168.1.2 fw_setenv stderr serial@11002000 fw_setenv stdin serial@11002000 fw_setenv stdout serial@11002000 fw_setenv tp_boot_idx 0 14. Reboot to OpenWrt initramfs: reboot 15. Login as root via SSH (IP 192.168.1.1, port 22) 16. Upload OpenWrt sysupgrade.bin image to the /tmp dir of the router 17. Run sysupgrade: sysupgrade -n /tmp/sysupgrade.bin Recovery -------- 1. Press Reset button and power on the router 2. Navigate to U-Boot recovery web server (http://192.168.1.1/) and upload the OEM firmware Recovery (UART) --------------- 1. Place OpenWrt initramfs image on tftp server with IP 192.168.1.2 2. Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C' 3. Load and run OpenWrt initramfs image: tftpboot initramfs-kernel.bin bootm 4. Do what you need (restore partitions from a backup, install OpenWrt etc.) Stock layout ------------ 0x000000000000-0x000000200000 : "boot" 0x000000200000-0x000000300000 : "u-boot-env" 0x000000300000-0x000003500000 : "ubi0" 0x000003500000-0x000006700000 : "ubi1" 0x000006700000-0x000006f00000 : "userconfig" 0x000006f00000-0x000007300000 : "tp_data" ubi0/ubi1 format ---------------- U-Boot at boot checks that all volumes are in place: +-------------------------------+ | Volume Name: uboot Vol ID: 0| | Volume Name: kernel Vol ID: 1| | Volume Name: rootfs Vol ID: 2| +-------------------------------+ MAC addresses ------------- +---------+-------------------+-----------+ | | MAC | Algorithm | +---------+-------------------+-----------+ | label | 00:eb:xx:xx:xx:be | label | | LAN | 00:eb:xx:xx:xx:be | label | | WAN | 00:eb:xx:xx:xx:bf | label+1 | | WLAN 2g | 00:eb:xx:xx:xx:be | label | | WLAN 5g | 00:eb:xx:xx:xx:bd | label-1 | +---------+-------------------+-----------+ label MAC address was found in UBI partition "tp_data", file "default-mac". OEM wireless eeprom is also there (file "MT7986_EEPROM.bin"). Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>