aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ramips: mt7621: enable unused PCIe port to fix potential boot failureShiji Yang2023-03-264-16/+0
| | | | | | | | | | | | | One user reported that his SIMAX1800T couldn't boot like the others. After debugging, I found that this was caused by the disabled PCIe port. I cannot reproduce this issue on my SIMAX1800T. But when I disabled pcie2 on the ASUS RT-AC57U, I got the same result. It seems that disabling these unused PCIe ports on some mt7621 revisions will cause PCIe to fail to initialize. So we'd better to re-enable them on all related mt7621 devices. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: fix 5g mac for TOTOLINK X5000RChuanhong Guo2023-03-261-0/+4
| | | | | | | | | There's no valid mac address for the second band in the eeprom. The vendor fw uses 2.4G mac + 4 as the mac for 5G radio. Do the same in our firmware. Fixes: 23be410b3d ("ramips: add support for TOTOLINK X5000R") Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* mac80211: fix receiving mesh packets in forwarding=0 networksFelix Fietkau2023-03-261-0/+50
| | | | | | | | When forwarding is set to 0, frames are typically sent with ttl=1. Move the ttl decrement check below the check for local receive in order to fix packet drops. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: calibrate dlink dir-825 b1 with nvmemEdward Chow2023-03-263-5/+31
| | | | | | | | | | | | | | | | | Driver for both soc (2.4GHz Wifi) and pci (5 GHz) now pull the calibration data from the nvmem subsystem. This allows us to move the userspace caldata extraction for the pci-e ath9k supported wifi into the device-tree definition of the device. Currently, only ethernet devices uses the mac address of "mac-address-ascii" cells, while PCI ath9k devices uses the mac address within calibration data. Signed-off-by: Edward Chow <equu@openmail.cc> (restored switch configuration in 02_network, integrated caldata into partition) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* lantiq: xrx200: convert FritzBox 7360v2's wifi to nvmemChristian Lamparter2023-03-263-11/+18
| | | | | | | | | | | | | | | | this was thoroughly tested (warm and cold boots). on a real 7360v2. This is because there have been documented hick-ups with other lantiq devices that need the owl-loader too. It's likely that the 7360(sl) could be converted in the same way as well. However the 7362sl uses a reversed caldata format, so the "qca,no-eeprom" stays in place. The patch also moves the urloader nvmem partition definition into the partition section. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: Migrate to libdeflateChristian Lamparter2023-03-262-7/+7
| | | | | | | | | | libdeflate's gzip compressor provides a better compression ratio and uboot's decompressor has no problem with the data streams. Tested on MX60, WNDR4700, WNDAP660 Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: Fix Linksys upgrade, restore config stepJeff Kletsky2023-03-261-1/+6
| | | | | | | | | | | | | | | | | | | | It appears that the refactor of the upgrade process for NAND devices resulted in the nand_do_upgrade_success step not being called for devices using the linksys.sh script. As a result, configuration was not preserved over sysupgrade steps. This was restored for some devices in commit 84ff6c90dda1 ("base-files: bring back nand_do_upgrade_success"). This restored preservation of config for ipq40xx devices using the linksys.sh script. Other devices and targets have not been examined. Closes: #11677 Fixes: e25e6d8e54 ("base-files: fix and clean up nand sysupgrade code") Tested-on: EA8300 Signed-off-by: Jeff Kletsky <git-commits@allycomm.com> (checkpatch nitpick) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* util-linux: add rev utility packageOskari Rauta2023-03-251-1/+18
| | | | | | | | | | | | I found use for this in my scripts; I noticed that it is already compiled with util-linux - there just isn't package for it - let's package it then. Description: The rev utility copies the specified files to the standard output, reversing the order of characters in everyline. Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>
* kernel: bump 5.10 to 5.10.176John Audia2023-03-2518-35/+35
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.104John Audia2023-03-2510-20/+20
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.15 to 5.15.103John Audia2023-03-25120-1393/+721
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually rebased: backport-5.15/704-15-v5.19-net-mtk_eth_soc-move-MAC_MCR-setting-to-mac_finish.patch Removed upstreamed: backport-5.15/060-v6.0-01-tools-build-Add-feature-test-for-init_disassemble_in.patch[1] backport-5.15/060-v6.0-02-tools-include-add-dis-asm-compat.h-to-handle-version.patch[2] backport-5.15/060-v6.0-03-tools-perf-Fix-compilation-error-with-new-binutils.patch[3] backport-5.15/060-v6.0-04-tools-bpf_jit_disasm-Fix-compilation-error-with-new-.patch[4] backport-5.15/060-v6.0-05-tools-bpftool-Fix-compilation-error-with-new-binutil.patch[5] pending-5.15/733-02-net-ethernet-mtk_eth_soc-fix-RX-data-corruption-issu.patch[6] bcm47xx/patches-5.15/170-bgmac-fix-initial-chip-reset-to-support-BCM5358.patch[7] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=51b99dc38c1a053e2e732d7f9e2740e343ae7eae 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=451c9d7b16169645ed291ebb2ca9844caa088f2d 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=97f005c0bdbaf656a7808586d234965385a06c58 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=1c27fab243333821375e4d63128d60093fdbe149 5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=4441a90091931fd81607567961dc122f24f735bb 6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=2adc29350a5b4669544566f71f208d2abaec60ab 7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=04bfc5bcdfc0fdb73587487c71b04d63807ae15a Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: fix mtk flow offload list corruption issue with l2 flowsFelix Fietkau2023-03-254-31/+48
| | | | | | | The same node was accidentally used for two different lists, causing an invalid pointer chain. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: refresh mxl-gpy LED patchÁlvaro Fernández Rojas2023-03-251-6/+1
| | | | | | | Make the patches apply cleanly again. Fixes: 90691f450543 ("generic: mxl-gpy: allow configuring LED registers") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: backport dsa b53 patchesÁlvaro Fernández Rojas2023-03-254-244/+95
| | | | | | These patches have been merged upstream, so let's move them to backport. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: sercomm,h500-s: fix upgradeÁlvaro Fernández Rojas2023-03-251-3/+1
| | | | | | | | Sercomm H500-s devices don't need the JFFS2 cleanmarkers as opposed to the other bmips NAND devices. Fixes: 6df12200d903 ("bmips: add support for Sercomm H-500s") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* filogic: add support for ASUS TUF-AX4200David Bauer2023-03-247-0/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SOC: MediaTek MT7986 RAM: 512MB DDR3 FLASH: 256MB SPI-NAND (Winbond W25N02KV) WIFI: Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz ETH: MediaTek MT7531 Switch MaxLinear GPY211C 2.5 N-Base-T PHY UART: 3V3 115200 8N1 (Pinout silkscreened / Do not ocnnect VCC) Installation ------------ 1. Download the OpenWrt initramfs image. Copy the image to a TFTP server reachable at 192.168.1.66/24. Rename the image to tufax4200.bin. 2. Connect the TFTP server to the AX4200. Conect to the serial console, interrupt the autoboot process by pressing '4' when prompted. 3. Download & Boot the OpenWrt initramfs image. $ setenv ipaddr 192.168.1.1 $ setenv serverip 192.168.1.66 $ tftpboot 0x46000000 tufax4200.bin $ bootm 0x46000000 4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using scp and install using sysupgrade. $ sysupgrade -n <path-to-sysupgrade.bin> Missing features ---------------- - The LAN port LEDs are driven by the switch but OpenWrt does not correctly configure the output. Signed-off-by: David Bauer <mail@david-bauer.net>
* mediatek: enable bootargs-override for filogic subtargetDavid Bauer2023-03-242-0/+18
| | | | | | | | | The ASUS TUF-AX4200 bootloader adds invalid parameters for the rootfs. Without overwriting the cmdline, the kernel crashes when trying to attach the rootfs, as OpenWrt uses a different partition than the vendor OS. Signed-off-by: David Bauer <mail@david-bauer.net>
* generic: mxl-gpy: allow configuring LED registersDavid Bauer2023-03-241-0/+106
| | | | | | | | | | | | | Add a patch to allow modification of the PHY LED configuration. This is required for boards, where the reset configuration of LED functions is incompatibe with the usage of the device LEDs. This is the case for the ASUS TUF-AX4200 Wireless router. It requires modification of the LED configuration because as the WAN LED on the front of the device is driven by the PHY. Without patching, it would only illuminate in case the Link speed is 100 Mbit/s. Signed-off-by: David Bauer <mail@david-bauer.net>
* generic: backport Winbond W25N02KV SPI-NAND supportDavid Bauer2023-03-242-0/+146
| | | | | | | | This flash-chip is used on the Asus TUF-AX4200 and TUF-AX6000 routers. As the filogic target only uses kernel 5.15, skip the 5.10 backport. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: add support for threaded network backlog processingFelix Fietkau2023-03-242-5/+229
| | | | | | | | This can improve load balancing by pushing backlog (and RPS) processing to separate threads, allowing the scheduler to distribute the load. It can be enabled with: echo 1 > /proc/sys/net/core/backlog_threaded Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add support for Mercusys MR70XDavid Bauer2023-03-243-4/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware ======== - SoC: MediaTek MT7621AT (880MHz, Duel-Core) - RAM: DDR3 128MB - Flash: Winbond W25Q128JV (SPI-NOR 16MB) - WiFi: MediaTek MT7915D (2.4GHz, 5GHz, DBDC) - Ethernet: MediaTek MT7530 (WAN x1, LAN x3, SoC) - UART: >TX RX GND 3v3 (115200 8N1, J1) Do not connect 3v3. TX is marked with an arrow. Installation ============ Flash factory image. This can be done using stock web ui. Revert to stock firmware ======================== Flash stock firmware via OEM Web UI Recovery mode. Web UI Recovery method ====================== 1. Unplug the router 2. Plug in and hold reset button 5~10 secs 3. Set your computer IP address manually to 192.168.1.x / 255.255.255.0 4. Flash image with web browser to 192.168.1.1 Co-authored-by: Robert Senderek <robert.senderek@10g.pl> Co-authored-by: Yoonji Park <koreapyj@dcmys.kr> Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: fix invalid calls to drv_sta_pre_rcu_removeFelix Fietkau2023-03-241-0/+25
| | | | | | Potentially fixes some driver data structure corruption issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* bmips: sercomm,h500-s: add Quantenna network configÁlvaro Fernández Rojas2023-03-241-1/+4
| | | | | | Sercomm H500-s has an external Quantenna QT3740BC SoC connected by RGMII. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: add more dsa b53 pending patchesÁlvaro Fernández Rojas2023-03-245-145/+308
| | | | | | | | | | | | | | | | | These patches have now received a positive review upstream, so let's add them to pending patches. 776-net-dsa-b53-mmap-add-phy-ops.patch: This is mostly bmips/bcm63xx-specific to get external switches working without hanging the device when accessing certain registers. 777-net-dsa-b53-mdio-add-support-for-BCM53134: This adds support for BCM53134 switch on DSA B53, so any target using DSA B53 can benefit from it. Also fix sercomm-h500-s external switch IMP port phy-mode. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* firewall4: update to the latest versionFelix Fietkau2023-03-241-3/+3
| | | | | | | | | | | 39e8c70957c7 fw4: fix handling the ipset "comment" option e6e82a55206c fw4: add further symbolic ICMP type declarations ce9a37829a76 tests: add testcase for automatic includes 30ee17a9c65d fw4: fix syntax errors in ICMP type declarations 1ecfadd52291 fw4: remove accidentally committed .orig and .rej file 04a06bd70b98 fw4: enable flowtable counters Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: enable conntrack counter updates for iptables xt_FLOWOFFLOADFelix Fietkau2023-03-241-2/+3
| | | | | | Ensures that packet/byte counters in /proc/net/nf_conntrack are updated Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: fix mediatek ppe flow accounting for mt7622 and olderFelix Fietkau2023-03-241-0/+51
| | | | | | v1 hardware uses a different enable bit for hardware counters Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: report mediatek ppe flow stats incrementallyFelix Fietkau2023-03-241-29/+42
| | | | | | | Fixes wrong counter values in conntrack stats Fixes: aa2777145f8d ("kernel: improve mtk ppe flow accounting") Signed-off-by: Felix Fietkau <nbd@nbd.name>
* odhcpd: bump to latest git HEADChristian Marangi2023-03-241-3/+3
| | | | | | 29c934d config: recheck have_link_local on interface reload if already init Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mpc85xx: Refresh patchesHauke Mehrtens2023-03-241-2/+2
| | | | | | | Make the patches apply cleanly again. Fixes: ed82189339b8 ("mpc85xx: use bootwrapper for ws-ap3825i") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq806x: Refresh patchesHauke Mehrtens2023-03-241-1/+1
| | | | | | | Make the patches apply cleanly again. Fixes: a97965b7b11f ("kernel: add pending patches for bcm63268-timer-clocks") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: improve mtk ppe flow accountingFelix Fietkau2023-03-233-0/+655
| | | | | | Properly track L2 flows, and ensure that stale data gets cleared Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: add kernel code for supporting offloading wlan->eth and wlan->wlan ↵Felix Fietkau2023-03-236-12/+477
| | | | | | | | flows Will be enabled by an upcoming mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update mtk ppe flow accounting patch to the latest versionFelix Fietkau2023-03-235-57/+56
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update flow offload fix based on upstream suggestionsFelix Fietkau2023-03-231-34/+6
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: fix DSA B53 BCM63xx RGMII patchÁlvaro Fernández Rojas2023-03-231-1/+1
| | | | | | | | | | Refreshing the patches for fff07085fb5a moved the b53_adjust_63xx_rgmii() call from b53_phylink_mac_link_up() to b53_phylink_mac_link_down(). In order to properly configure the RGMII ports we need to restore it to its correct place. Fixes: fff07085fb5a ("kernel: add pending bmips patches") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* ath79: support Ruckus ZoneFlex 7341/7343/7363Lech Perczak2023-03-227-2/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruckus ZoneFlex 7363 is a dual-band, dual-radio 802.11n 2x2 MIMO enterprise access point. ZoneFlex 7343 is the single band variant of 7363 restricted to 2.4GHz, and ZoneFlex 7341 is 7343 minus two Fast Ethernet ports. Hardware highligts: - CPU: Atheros AR7161 SoC at 680 MHz - RAM: 64MB DDR - Flash: 16MB SPI-NOR - Wi-Fi 2.4GHz: AR9280 PCI 2x2 MIMO radio with external beamforming - Wi-Fi 5GHz: AR9280 PCI 2x2 MIMO radio with external beamforming - Ethernet 1: single Gigabit Ethernet port through Marvell 88E1116R gigabit PHY - Ethernet 2: two Fast Ethernet ports through Realtek RTL8363S switch, connected with Fast Ethernet link to CPU. - PoE: input through Gigabit port - Standalone 12V/1A power input - USB: optional single USB 2.0 host port on the -U variants. Serial console: 115200-8-N-1 on internal H1 header. Pinout: H1 ---------- |1|x3|4|5| ---------- Pin 1 is near the "H1" marking. 1 - RX x - no pin 3 - VCC (3.3V) 4 - GND 5 - TX Installation: - Using serial console - requires some disassembly, 3.3V USB-Serial adapter, TFTP server, and removing a single PH1 screw. 0. Connect serial console to H1 header. Ensure the serial converter does not back-power the board, otherwise it will fail to boot. 1. Power-on the board. Then quickly connect serial converter to PC and hit Ctrl+C in the terminal to break boot sequence. If you're lucky, you'll enter U-boot shell. Then skip to point 3. Connection parameters are 115200-8-N-1. 2. Allow the board to boot. Press the reset button, so the board reboots into U-boot again and go back to point 1. 3. Set the "bootcmd" variable to disable the dual-boot feature of the system and ensure that uImage is loaded. This is critical step, and needs to be done only on initial installation. > setenv bootcmd "bootm 0xbf040000" > saveenv 4. Boot the OpenWrt initramfs using TFTP. Replace IP addresses as needed. Use the Gigabit interface, Fast Ethernet ports are not supported under U-boot: > setenv serverip 192.168.1.2 > setenv ipaddr 192.168.1.1 > tftpboot 0x81000000 openwrt-ath79-generic-ruckus_zf7363-initramfs-kernel.bin > bootm 0x81000000 5. Optional, but highly recommended: back up contents of "firmware" partition: $ ssh root@192.168.1.1 cat /dev/mtd1 > ruckus_zf7363_fw_backup.bin 6. Copy over sysupgrade image, and perform actual installation. OpenWrt shall boot from flash afterwards: $ ssh root@192.168.1.1 # sysupgrade -n openwrt-ath79-generic-ruckus_zf7363-squashfs-sysupgrade.bin After unit boots, it should be available at the usual 192.168.1.1/24. Return to factory firmware: 1. Copy over the backup to /tmp, for example using scp 2. Unset the "bootcmd" variable: fw_setenv bootcmd "" 3. Use sysupgrade with force to restore the backup: sysupgrade -F ruckus_zf7363_backup.bin 4. System will reboot. Quirks and known issues: - Fast Ethernet ports on ZF7363 and ZF7343 are supported, but management features of the RTL8363S switch aren't implemented yet, though the switch is visible over MDIO0 bus. This is a gigabit-capable switch, so link establishment with a gigabit link partner may take a longer time because RTL8363S advertises gigabit, and the port magnetics don't support it, so a downshift needs to occur. Both ports are accessible at eth1 interface, which - strangely - runs only at 100Mbps itself. - Flash layout is changed from the factory, to use both firmware image partitions for storage using mtd-concat, and uImage format is used to actually boot the system, which rules out the dual-boot capability. - Both radio has its own EEPROM on board, not connected to CPU. - The stock firmware has dual-boot capability, which is not supported in OpenWrt by choice. It is controlled by data in the top 64kB of RAM which is unmapped, to avoid the interference in the boot process and accidental switch to the inactive image, although boot script presence in form of "bootcmd" variable should prevent this entirely. - On some versions of stock firmware, it is possible to obtain root shell, however not much is available in terms of debugging facitilies. 1. Login to the rkscli 2. Execute hidden command "Ruckus" 3. Copy and paste ";/bin/sh;" including quotes. This is required only once, the payload will be stored in writable filesystem. 4. Execute hidden command "!v54!". Press Enter leaving empty reply for "What's your chow?" prompt. 5. Busybox shell shall open. Source: https://alephsecurity.com/vulns/aleph-2019014 - There is second method to achieve root shell, using command injection in the web interface: 1. Login to web administration interface 2. Go to Administration > Diagnostics 3. Enter |telnetd${IFS}-p${IFS}204${IFS}-l${IFS}/bin/sh into "ping" field 4. Press "Run test" 5. Telnet to the device IP at port 204 6. Busybox shell shall open. Source: https://github.com/chk-jxcn/ruckusremoteshell Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: support Ruckus ZoneFlex 7351Lech Perczak2023-03-225-1/+377
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruckus ZoneFlex 7351 is a dual-band, dual-radio 802.11n 2x2 MIMO enterprise access point. Hardware highligts: - CPU: Atheros AR7161 SoC at 680 MHz - RAM: 64MB DDR - Flash: 16MB SPI-NOR - Wi-Fi 2.4GHz: AR9280 PCI 2x2 MIMO radio with external beamforming - Wi-Fi 5GHz: AR9280 PCI 2x2 MIMO radio with external beamforming - Ethernet: single Gigabit Ethernet port through Marvell 88E1116R gigabit PHY - Standalone 12V/1A power input - USB: optional single USB 2.0 host port on the 7351-U variant. Serial console: 115200-8-N-1 on internal H1 header. Pinout: H1 ---------- |1|x3|4|5| ---------- Pin 1 is near the "H1" marking. 1 - RX x - no pin 3 - VCC (3.3V) 4 - GND 5 - TX Installation: - Using serial console - requires some disassembly, 3.3V USB-Serial adapter, TFTP server, and removing a single T10 screw. 0. Connect serial console to H1 header. Ensure the serial converter does not back-power the board, otherwise it will fail to boot. 1. Power-on the board. Then quickly connect serial converter to PC and hit Ctrl+C in the terminal to break boot sequence. If you're lucky, you'll enter U-boot shell. Then skip to point 3. Connection parameters are 115200-8-N-1. 2. Allow the board to boot. Press the reset button, so the board reboots into U-boot again and go back to point 1. 3. Set the "bootcmd" variable to disable the dual-boot feature of the system and ensure that uImage is loaded. This is critical step, and needs to be done only on initial installation. > setenv bootcmd "bootm 0xbf040000" > saveenv 4. Boot the OpenWrt initramfs using TFTP. Replace IP addresses as needed: > setenv serverip 192.168.1.2 > setenv ipaddr 192.168.1.1 > tftpboot 0x81000000 openwrt-ath79-generic-ruckus_zf7351-initramfs-kernel.bin > bootm 0x81000000 5. Optional, but highly recommended: back up contents of "firmware" partition: $ ssh root@192.168.1.1 cat /dev/mtd1 > ruckus_zf7351_fw_backup.bin 6. Copy over sysupgrade image, and perform actual installation. OpenWrt shall boot from flash afterwards: $ ssh root@192.168.1.1 # sysupgrade -n openwrt-ath79-generic-ruckus_zf7351-squashfs-sysupgrade.bin After unit boots, it should be available at the usual 192.168.1.1/24. Return to factory firmware: 1. Copy over the backup to /tmp, for example using scp 2. Unset the "bootcmd" variable: fw_setenv bootcmd "" 3. Use sysupgrade with force to restore the backup: sysupgrade -F ruckus_zf7351_backup.bin 4. System will reboot. Quirks and known issues: - Flash layout is changed from the factory, to use both firmware image partitions for storage using mtd-concat, and uImage format is used to actually boot the system, which rules out the dual-boot capability. - Both radio has its own EEPROM on board, not connected to CPU. - The stock firmware has dual-boot capability, which is not supported in OpenWrt by choice. It is controlled by data in the top 64kB of RAM which is unmapped, to avoid the interference in the boot process and accidental switch to the inactive image, although boot script presence in form of "bootcmd" variable should prevent this entirely. - On some versions of stock firmware, it is possible to obtain root shell, however not much is available in terms of debugging facitilies. 1. Login to the rkscli 2. Execute hidden command "Ruckus" 3. Copy and paste ";/bin/sh;" including quotes. This is required only once, the payload will be stored in writable filesystem. 4. Execute hidden command "!v54!". Press Enter leaving empty reply for "What's your chow?" prompt. 5. Busybox shell shall open. Source: https://alephsecurity.com/vulns/aleph-2019014 - There is second method to achieve root shell, using command injection in the web interface: 1. Login to web administration interface 2. Go to Administration > Diagnostics 3. Enter |telnetd${IFS}-p${IFS}204${IFS}-l${IFS}/bin/sh into "ping" field 4. Press "Run test" 5. Telnet to the device IP at port 204 6. Busybox shell shall open. Source: https://github.com/chk-jxcn/ruckusremoteshell Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ramips: mt7621: enable lzma-loader for AFOUNDRY EW1200Tony Butler2023-03-221-0/+1
| | | | | | | | | Fixes boot loader LZMA decompression issues (LZMA ERROR 1) As reported in issue #12208 Reported-by: Raúl M. <raul.m@sparkedhost.com> Tested-by: Raúl M. <raul.m@sparkedhost.com> Signed-off-by: Tony Butler <spudz76@gmail.com>
* bmips: add support for Sercomm H-500sÁlvaro Fernández Rojas2023-03-228-1/+502
| | | | | | | | | | | | | Sercomm H-500s is a BCM63268 with 128M, internal and external (Quantenna) wifi and external BCM53134S switch. This device is already supported in bcm63xx target, so more information can be found in https://openwrt.org/toh/sercomm/h500-s. It's a perfect example of a device with internal and external switch coexistance since most devices only have ports on one of the switches but not both of them. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: drop unneded cpu labels from external switchesÁlvaro Fernández Rojas2023-03-222-2/+0
| | | | | | | | | These labels aren't needed and were accidentally added when adding external switches support for bmips. Fixes: 80a3ecc89489 ("bmips: add Huawei HG253s v2 support") Fixes: 61f3c3b1eebd ("bmips: dgnd3700v2: enable external BCM53125 switch") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: add pending patches for bcm63268-timer-clocksÁlvaro Fernández Rojas2023-03-227-165/+435
| | | | | | | | | bcm63268-timer-clocks have been sent upstream with a positive review, so let's add them to pending v5.15. Also add devm_clk_hw_register_gate() patch from v5.17 to backports since it's needed for upstream bcm63268-timer-clocks patches. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* odhcpd: bump to latest git HEADChristian Marangi2023-03-221-4/+4
| | | | | | | | | | | 7c0f603 router: skip RA and wait for LINK-LOCAL to be assigned ba30afc config: skip interface setup if interface not IFF_RUNNING 06b111e Revert "odhcpd: Reduce error messages" 90d6cc9 odhcpd: Reduce error messages Also drop AUTORELEASE since it got deprecated. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: disable cache of external toolchain/sdkChristian Marangi2023-03-221-13/+2
| | | | | | | | | | | Our buildbot build a different external toolchain/sdk for each build. This cause the idea of using the tar hash to cache it broken and wrong. This makes the github cache bloated and remove space for ccache cache. Drop cache for external toolchain/sdk as the feature is broken and cause problems to ccache cache. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: skip subtarget test on non-specific target testChristian Marangi2023-03-221-0/+6
| | | | | | | Reduce testing time by skipping subtarget test on non-specific target test. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* bmips: dts: nand: add missing address/size cellsÁlvaro Fernández Rojas2023-03-212-0/+6
| | | | | | | | | | | Fixes the following warnings for Netgear DGND3700v2 and Comtrend VR-3032u: [ 1.059540] 7 fixed-partitions partitions found on MTD device brcmnand.0 [ 1.066570] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.073766] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.081927] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.089128] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: add Huawei HG253s v2 supportÁlvaro Fernández Rojas2023-03-214-0/+264
| | | | | | | | | | | | | Huawei HG253s v2 is a BCM6362 with 128M RAM, internal wifi and external BCM53124S switch. This device is already supported in bcm63xx target, so more information can be found in https://openwrt.org/toh/huawei/hg253s_v2. It's a perfect example of a device with internal and external switch coexistance since most devices only have ports on one of the switches but not both of them. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: dgnd3700v2: enable external BCM53125 switchÁlvaro Fernández Rojas2023-03-212-2/+56
| | | | | | | The Netgear DGND3700v2 has an external BCM53125 switch which can now be enabled as a DSA disjoint switch tree setup. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: disable B53 MMAP phy read/write opsÁlvaro Fernández Rojas2023-03-212-1/+47
| | | | | | | | | | Without this change, internal and external B53 switches couldn't coexist as reported in https://github.com/openwrt/openwrt/issues/10313. In order to fix this we need to force the B53 MMAP DSA switch driver to use bcm6368-mdio-mux for accessing the PHY registers instead of its own phy_read() and phy_write() functions. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: update pending b53 mmap patchesÁlvaro Fernández Rojas2023-03-214-206/+244
| | | | | | | | Update B53 MMAP pending patches to the latest version sent upstream. Fixes regression in bmips BCM63268 switches. Fixes: fff07085fb5a ("kernel: add pending bmips patches") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>