aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* ramips: add support for Linksys EA8100 v2Tee Hao Wei2021-07-117-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MT7621AT - RAM: 256MB - Flash: 128MB NAND - Ethernet: 5 Gigabit ports - WiFi: 2.4G/5G MT7615N - USB: 1 USB 3.0, 1 USB 2.0 This device is very similar to the EA7300 v1/v2, EA7500 v2, and EA8100 v1. Installation: Upload the generated factory image through the factory web interface. (following part taken from EA7300 v2 commit message:) This might fail due to the A/B nature of this device. When flashing, OEM firmware writes over the non-booted partition. If booted from 'A', flashing over 'B' won't work. To get around this, you should flash the OEM image over itself. This will then boot the router from 'B' and allow you to flash OpenWRT without problems. Reverting to factory firmware: Hard-reset the router three times to force it to boot from 'B.' This is where the stock firmware resides. To remove any traces of OpenWRT from your router simply flash the OEM image at this point. With thanks to Tom Wizetek (@wizetek) for testing. Signed-off-by: Tee Hao Wei <angelsl@in04.sg>
* ipq40xx: increase SPI frequency for Zyxel NBG6617Dmitry Tunin2021-07-111-3/+3
| | | | | | | | | | | | The mx25l25635f supports clock speed up to 50Mhz. Also remove obsolete "mx25l25635f" hack and rename the matching device-tree flash node. Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com> [mention node rename as well. chip is very very likely always the "f" revision for all NBG6617] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ramips: mt7628an: remove redundant console setup for bootargsAdrian Schmutzler2021-07-102-8/+0
| | | | | | This is already set in mt7628an.dtsi Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for D-Link DIR-853-R1Stas Fiduchi2021-07-104-0/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR adds support for router D-Link DIR-853-R1 Specifications: SoC: MT7621AT RAM: 128MB Flash: 16MB SPI WiFi: MT7615DN (2.4GHz+5Ghz) with DBDC (This mode allows this single chip act as an 2x2 11n radio and an 2x2 11ac radio at the same time) LAN: 5x1000M LEDs Power Blue+Orange,Wan Blue+Orange,WPS Blue,"2.4G"Blue, "5G" Blue USB Blue Buttons Reset,WPS, Wifi MAC addresses: |Interface | MAC | Factory |Comment |------------|-----------------|-------------|---------------- |WAN sticker |C4:XX:XX:6E:XX:2A| |Sticker |LAN |C4:XX:XX:6E:XX:2B| | |Wifi (5g) |C4:XX:XX:6E:XX:2C|0x4 | |Wifi (2.4g) |C6:XX:XX:7E:XX:2C| | | | | | | |C4:XX:XX:6E:XX:2E|0x8004 0xe000| | |C4:XX:XX:6E:XX:2F|0xe006 | The increment of the 4th byte for the 2.4g address appears to vary. Reported cases: 5g 2.4g increment C4:XX:XX:6E:XX:2C C6:XX:XX:7E:XX:2C 0x10 f4:XX:XX:16:XX:32 f6:XX:XX:36:XX:32 0x20 F4:XX:XX:A6:XX:E3 F6:XX:XX:B6:XX:E3 0x10 Since increment is inconsistent and there is no obvious pattern in swapping bytes, and the 2.4g address has local bit set anyway, it seems safer to use the LAN address with flipped byte here in order to prevent collisions between OpenWrt devices and OEM devices for this interface. This way we at least use an address as base that is definitely owned by the device at hand. Flashing instruction: The Dlink "Emergency Room" Connect your client computer to LAN1 of the device Set your client IP address manually to 192.168.0.101 / 255.255.255.0. Then, power down the router, press and hold the reset button, then re-plug it. Keep the reset button pressed until the internet LED stops flashing Call the recovery page or tftp for the device at http://192.168.0.1 Use the provided emergency web GUI to upload and flash a new firmware to the device. Signed-off-by: Stas Fiduchi <fiduchi@protonmail.com> [commit title/message improvements, use correct label MAC address, calculate MAC addresses based on 0x4, minor DTS style fixes, add uart2 to state_default, remove factory image, add 2.4g MAC address, use partition DTSI, add macaddr comment in DTS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: call check-size before append-metadataAdrian Schmutzler2021-07-1023-75/+64
| | | | | | | | | | sysupgrade metadata is not flashed to the device, so check-size should be called _before_ adding metadata to the image. While at it, do some obvious wrapping improvements. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Paul Spooren <mail@aparcar.org>
* ath79: add missing MTD_NAND_RB91X symbolKoen Vandeputte2021-07-091-0/+1
| | | | | | | Looks like the symbol was forgotten for 5.4 Fixes: 820e660cd7 ("ath79: add NAND driver for MikroTik RB91xG series") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* mediatek: prevent duplicate hardware flow offload entriesFelix Fietkau2021-07-081-0/+26
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: backport a few upstream flow offloading fixesFelix Fietkau2021-07-088-6/+570
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: minew g1-c: add the old device name to the supported devicesAlexander Couzens2021-07-071-0/+1
| | | | | | | Allow to use the sysupgrade image as factory image without additional force. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ath79: increase SPI frequency for OCEDO boardsDavid Bauer2021-07-073-3/+3
| | | | | | | | | | The MX25L12805D used on all ath79 OCEDO boards supports clock speeds up to 50 MHz. Thus, we can increase the maximum SPI frequency the flash chip is controlled at to 50 MHz, increasing transfer speed. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: increase WS-AP3610 SPI frequencyDavid Bauer2021-07-071-1/+1
| | | | | | | | The M25P80 used on the Siemens WS-AP3610 supports clock speeds up to 54 MHz. Thus, we can safely increase the maximum SPI frequency the flash chip is controlled at to 50 MHz, increasing transfer speed. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for minew g1-cAlexander Couzens2021-07-053-0/+159
| | | | | | | | | | | | | | | | | | | | | | The minew g1-c is a smart home gateway / BLE gateway. A Nordic nRF52832 is available via USB UART (cp210x) to support BLE. The LED ring is a ring of 24x ws2812b connect to a generic GPIO (unsupported). There is a small LED which is only visible when the device is open which will be used as LED until the ws2812b is supported. The board has also a micro sdcard/tfcard slot (untested). The Nordic nRF52832 exposes SWD over a 5pin header (GND, VCC, SWD, SWC, RST). The vendor uses an older OpenWrt version, sysupgrade can be used via serial or ssh. CPU: MT7628AN / 580MHz RAM: DDR2 128 MiB RAM Flash: SPI NOR 16 MiB W25Q128 Ethernet: 1x 100 mbit (Port 0) (PoE in) USB: USB hub, 2x external, 1x internal to USB UART Power: via micro usb or PoE 802.11af UART: 3.3V, 115200 8n1 Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ath79: base-files: fix broken network configPetr Štetiar2021-07-051-1/+1
| | | | | | | | | | | | | | Fix bash syntax error introduced in commit cce2e8db564b ("ath79: add support for TP-Link TL-WR941HP v1") which resulted in broken default network configuration. In target/linux/ath79/generic/base-files/etc/board.d/02_network line 402: tplink,tl-wr842n-v2)\ ^-- SC1073: Couldn't parse this case item. Fix to allow more checks. References: https://gitlab.com/ynezz/openwrt-device-runtime-testing/-/jobs/1398837698/artifacts/file/cram-result-archer-c7-v5-initramfs.txt Fixes: cce2e8db564b ("ath79: add support for TP-Link TL-WR941HP v1") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: add support for Xiaomi AIoT Router AC2350Evgeniy Isaev2021-07-055-1/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device specifications * SoC: QCA9563 @ 775MHz (MIPS 74Kc) * RAM: 128MiB DDR2 * Flash: 16MiB SPI-NOR (EN25QH128) * Wireless 2.4GHz (SoC): b/g/n, 3x3 * Wireless 5Ghz (QCA9988): a/n/ac, 4x4 MU-MIMO * IoT Wireless 2.4GHz (QCA6006): currently unusable * Ethernet (AR8327): 3 LAN × 1GbE, 1 WAN × 1GbE * LEDs: Internet (blue/orange), System (blue/orange) * Buttons: Reset * UART: through-hole on PCB ([VCC 3.3v](RX)(GND)(TX) 115200, 8n1) * Power: 12VDC, 1,5A MAC addresses map (like in OEM firmware) art@0x0 88:C3:97:*:57 wan/label art@0x1002 88:C3:97:*:2D lan/wlan2g art@0x5006 88:C3:97:*:2C wlan5g Obtain SSH Access 1. Download and flash the firmware version 1.3.8 (China). 2. Login to the router web interface and get the value of `stok=` from the URL 3. Open a new tab and go to the following URL (replace <STOK> with the stok value gained above; line breaks are only for easier handling, please put together all four lines into a single URL without any spaces): http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev ?bssid=any&user_id=any&ssid=-h%0Anvram%20set%20ssh_en%3D1%0Anvram%20commit %0Ased%20-i%20%27s%2Fchannel%3D.%2A%2Fchannel%3D%5C%5C%22debug%5C%5C%22%2F g%27%20%2Fetc%2Finit.d%2Fdropbear%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A 4. Wait 30-60 seconds (this is the time required to generate keys for the SSH server on the router). Create Full Backup 1. Obtain SSH Access. 2. Create backup of all flash (on router): dd if=/dev/mtd0 of=/tmp/ALL.backup 3. Copy backup to PC (on PC): scp root@192.168.31.1:/tmp/ALL.backup ./ Tip: backup of the original firmware, taken three times, increases the chances of recovery :) Calculate The Password * Locally using shell (replace "12345/E0QM98765" with your router's serial number): On Linux printf "%s6d2df50a-250f-4a30-a5e6-d44fb0960aa0" "12345/E0QM98765" | \ md5sum - | head -c8 && echo On macOS printf "%s6d2df50a-250f-4a30-a5e6-d44fb0960aa0" "12345/E0QM98765" | \ md5 | head -c8 * Locally using python script (replace "12345/E0QM98765" with your router's serial number): wget https://raw.githubusercontent.com/eisaev/ax3600-files/master/scripts/calc_passwd.py python3.7 -c 'from calc_passwd import calc_passwd; print(calc_passwd("12345/E0QM98765"))' * Online https://www.oxygen7.cn/miwifi/ Debricking (lite) If you have a healthy bootloader, you can use recovery via TFTP using programs like TinyPXE on Windows or dnsmasq on Linux. To switch the router to TFTP recovery mode, hold down the reset button, connect the power supply, and release the button after about 10 seconds. The router must be connected directly to the PC via the LAN port. Debricking You will need a full dump of your flash, a CH341 programmer, and a clip for in-circuit programming. Install OpenWRT 1. Obtain SSH Access. 2. Create script (on router): echo '#!/bin/sh' > /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh echo '. /bin/boardupgrade.sh' >> /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh echo 'board_prepare_upgrade' >> /tmp/flash_fw.sh echo 'mtd erase rootfs_data' >> /tmp/flash_fw.sh echo 'mtd write /tmp/openwrt.bin firmware' >> /tmp/flash_fw.sh echo 'sleep 3' >> /tmp/flash_fw.sh echo 'reboot' >> /tmp/flash_fw.sh echo >> /tmp/flash_fw.sh chmod +x /tmp/flash_fw.sh 3. Copy `openwrt-ath79-generic-xiaomi_aiot-ac2350-squashfs-sysupgrade.bin` to the router (on PC): scp openwrt-ath79-generic-xiaomi_aiot-ac2350-squashfs-sysupgrade.bin \ root@192.168.31.1:/tmp/openwrt.bin 4. Flash OpenWRT (on router): /bin/ash /tmp/flash_fw.sh & 5. SSH connection will be interrupted - this is normal. 6. Wait for the indicator to turn blue. Signed-off-by: Evgeniy Isaev <isaev.evgeniy@gmail.com> [improve commit message formatting slightly] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WR941HP v1Diogenes Rengo2021-07-044-1/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm Atheros TP9343 (750 MHz) Flash: 8 Mb (GigaDevice GD25Q64CSIG) RAM: 64 Mb (Zentel A3R12E40DBF-8E) Serial: yes, 4-pin header Wlan: Qualcomm Atheros TP9343, antenna: MIM0 3x3:3 RP-SMA 3 x 2.4GHz power amp module Skyworks (SiGe) SE2576L Ethernet: Qualcomm Atheros TP9343 Lan speed: 100M ports: 4 Lan speed: 100M ports: 1 Other info: same case, ram and flash that TP-Link TL-WR841HP, different SOC https://forum.openwrt.org/t/adding-device-support-tp-link-wr941hp/ Label MAC addresses based on vendor firmware: LAN *:ee label WAN *:ef label +1 WLAN *:ee label The label MAC address found in "config" partition at 0x8 Flash instruction: Upload the generated factory firmware on web interface. Signed-off-by: Diogenes Rengo <rengocbx250@gmail.com> [remove various whitespace issues, squash commits, use short 0x0] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Ubiquiti PowerBeam M (XW)Russell Senior2021-07-044-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Ubiquiti PowerBeam M (XW), e.g. PBE-M5-400, a 802.11n wireless with a feed+dish form factor. This device was previously supported by the ar71xx loco-m-xw firmware. Specifications: - Atheros AR9342 SoC - 64 MB RAM - 8 MB SPI flash - 1x 10/100 Mbps Ethernet port, 24 Vdc PoE-in - Power and LAN green LEDs - 4x RSSI LEDs (red, orange, green, green) - UART (115200 8N1) Flashing via stock GUI: - Downgrade to AirOS v5.5.x (latest available is 5.5.10-u2) first (see https://openwrt.org/toh/ubiquiti/powerbeam installation instructions) - Upload the factory image via AirOS web GUI. Flashing via TFTP: - Use a pointy tool (e.g., unbent paperclip) to keep the reset button pressed. - Power on the device (keep reset button pressed). - Keep pressing until LEDs flash alternatively LED1+LED3 => LED2+LED4 => LED1+LED3, etc. - Release reset button. - The device starts a TFTP server at 192.168.1.20. - Set a static IP on the computer (e.g., 192.168.1.21/24). - Upload via tftp the factory image: $ tftp 192.168.1.20 tftp> bin tftp> trace tftp> put openwrt-ath79-generic-xxxxx-ubnt_powerbeam-m-xw-squashfs-factory.bin WARNING: so far, no non-destructive method has been discovered for opening the enclosure to reach the serial console. Internal photos are available here: https://fcc.io/SWX-NBM5HP Signed-off-by: Russell Senior <russell@personaltelco.net>
* ath79: resolve GPIO address conflictsDavid Bauer2021-07-015-5/+5
| | | | | | | | | | | | | | | The ar71xx GPIO driver only uses 0x24 registers, all following GPIO registers are using to control pinmux functions, which are not handles by the GPIO driver but the generic Linux pinctrl driver. For some SoC conflicting address ranges were defined for these (AR7240 & AR9330). Resolve these cases and align the address space of the GPIO controller between all SoCs, as the used address space of the driver is identical for all these. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: mikrotik: fix beeper phantom noise on RB912Koen Vandeputte2021-07-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis done by Denis Kalashnikov: It seems that some ROS versions on some routerboard models have this bug: after silence boot (no output to uart, no beeps) beeper clicks when wireless traffic is. https://forum.mikrotik.com/viewtopic.php?f=3&t=92269 https://forum.mikrotik.com/viewtopic.php?t=63399 From these links: 1) Hello, I have RB951G-2HnD and I noticed strange thing when I loaded the device with some wireless traffic it produced strange sound - like hissing, fizzing etc. 2) Same problem still on 6.33, with silent boot enabled I hear buzzing noise on wireless load. 3) The sound is fixed in v5.19, it was a bug that caused beeper to make clicks. It also got fixed in RouterOS: * What's new in 5.19 (2012-Jul-16 10:51): fix ticking sound on RB411UAHL; * What's new in 6.38.3 (2017-Feb-07 09:52): rb3011 - fixed noise from buzzer after silent boot; I've checked with an oscilloscope that: * When on the ssr beeper pin is 0, on the beeper itself is 1 (~5V), and when on the ssr beeper pin is 1, on the beeper is 0 The beeper doesn't consume power, so 1 should be a default/idle value for the ssr beeper pin). * When there is wireless traffic (ping packets) in the background and the beeper clicks, I see pulses on the beeper itself, but no pulses on the ssr beeper pin (Q5 pin of 74hc595). When I manually toggle the ssr beeper pin I see pulses on both. So, it is likely that the phantom beeper clicks are caused by the EMI. Suggested-by: Denis Kalashnikov <denis281089@gmail.com> Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ltq-deu: Mark lantiq DEU brokenHauke Mehrtens2021-06-303-11/+6
| | | | | | | | | | | | | | | | | | | | When the ltq_deu_vr9 kernel module is loaded, hostapd does not start any more. It fails with this error message: daemon.err hostapd: nl80211: kernel reports: key addition failed daemon.err hostapd: Interface initialization failed OpenWrt uses the standard Linux crypto API in the wifi drivers now and this probably makes the system offload more crypto operations to special hardware like the Lantiq DEU. There is probably a bug in the DEU and these operations fail and then hostapd does not start the interface. Do not include the Lantiq DEU by default any more. Fixes: FS#3901 Fixes: 53b6783907f3 ("mac80211: remove patches stripping down crypto support") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Tested-by: Notupus <notpp46@gmail.com>
* ipq806x: fix dedicated cpufreq driverAnsuel Smith2021-06-304-34/+38
| | | | | | | | | 2 small fix for the dedicated cpufreq driver: - Fix index wrongly used as the current cpu - Exit early if a bad freq is detected. In the current state the freq is applied anyway even with invalid state. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix missing 1.4ghz cache freq for ipq8065 SoCAnsuel Smith2021-06-301-0/+11
| | | | | | | | With the new implementation of the dedicated cpufreq driver, the 1.4 Ghz was only dropped and not added to the ipq8065 SoC. Fix this to improve performance. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix missing changes in 5.4 for new cpufreq implementationAnsuel Smith2021-06-302-25/+57
| | | | | | | | | | The new cpufreq dedicated driver changed the node structure on how the cache should be defined in the dts. The 5.4 dtsi addition patch has not been updated to follow the new implementation. Fix this to restore correct cache scaling and restore any performance regression. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ath79: add support for Teltonika RUT230 v1David Bauer2021-06-303-2/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Teltonika RUT230 v1, a Atheros AR9331 based router with a Quectel UC20 UMTS modem. Hardware -------- Atheros AR9331 16 MB SPI-NOR XTX XT25F128B 64M DDR2 memory Atheros AR9331 1T1R 802.11bgn Wireless Boootloader: pepe2k U-Boot mod Hardware-Revision ----------------- There are two board revisions of the RUT230, a v0 and v1. A HW version is silkscreened on the top of the PCBs front side as well as shown in the Teltonika UI. However, this looks to be a different identifier, as the GPl dump shows this silkscreened / UI shown version are internally treated identically. Th following mapping has been obtained from the latest GPl dump. HW Ver 01 - 04 --> v0 HW Ver > 05 --> v1 My board was a HW Ver 09 and is treated as a v1. Installation ------------ While attaching power, hold down the reset button and release it after the signal LEDs flashed 3 times. Attach your Computer with the devices LAN port and assign yourself the IPv4 address 192.168.1.10/24. Open a web browser, navigate to 192.168.1.1. Upload the OpenWrt factory image. The device will install OpenWrt and automatically reboots afterwards. You can use the smae procedure with the stock firmware to return back to the vendor firmware. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: mikrotik: remove rb912 gpio-beeper module dependencyKoen Vandeputte2021-06-281-1/+1
| | | | | | | | | | The beeper is currently not fully functional and has also been removed from DTS. Also remove the dependency for the gpio-beeper module. Fixes: 695a1cd53c ("ath79: add support for MikroTik RouterBOARD 912UAG-2HPnD") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq806x: refresh config for kernel 5.4John Audia2021-06-281-66/+2
| | | | | | | | | | * With kernel 5.4.128, ran: make kernel_menuconfig CONFIG_TARGET=generic * Manually added back CONFIG_LEDS_TRIGGER_DISK=y so as not to revert f93fcf8923aa ("ipq806x: enable disk-activity LED trigger") Signed-off-by: John Audia <graysky@archlinux.us> [minor commit title/message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq40xx: add missing case closing symbolAdrian Schmutzler2021-06-281-0/+1
| | | | | | | Though not strictly necessary, add the closing symbol to make the job easier for future developers editing this file. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for Tenbay T-MB5EU-V01David Bauer2021-06-276-0/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- MediaTek MT7621 SoC 256M DDR3 16MB BoHong SPI-NOR MediaTek MT7905+7975 2x2T2R DBDC bgnax / acax RGB LED WPS + RESET Button UART on compute module (silkscreened / 115200n8) The router itself is just a board with Power / USB / RJ-45 connectors and DC/DC converters. The SoC and WiFi components are on a daughterboard which connect using two M.2 connectors. The compute module has the model number "T-CB1800K-DM2 V02" printed on it. The main baord has "T-MB5EU V01" printed on it. This information might be useful, as it's highly likely either of these two will be reused in similar designs. The router itself is sold as Tenbay T-MB5EU directly from the OEM as well as "KuWFI AX1800 Smart WiFi 6 Eouter" on Amazon.de for ~50€ in a slightly different case. Installation ------------ A Tool for creating a factory image for the Vendor Web Interface can be found here: https://github.com/blocktrron/t-mb5eu-v01-factory-creator/ As the OEM Firmware is just a modified LEDE 17.01, you can also access failsafe mode via UART while the OS boots, by connecting to UART and pressing "f" when prompted. The Router is reachable at 192.168.1.1 via root without password. Transfer the OpenWrt sysupgrade image via scp and apply with sysupgrade using the -n and -F flags. Alternatively, the board can be flashed by attaching to the UART console, interrupting the boot process by keeping "0" pressed while attaching power. Serve the OpenWrt initramfs using a TFTP server with address 192.168.1.66. Rename the initramfs to ax1800.bin. Attach your TFTP server to one of the LAN ports. Execute the following commands. $ setenv ipaddr 192.168.1.67 $ setenv serverip 192.168.1.66 $ tftpboot 0x84000000 ax1800.bin $ bootm Wait for the device to boot. Then transfer the OpenWrt sysupgrade image to the device using SCP and apply sysupgrade. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add AW9523 I2C GPIO expander driverDavid Bauer2021-06-2715-0/+1291
| | | | | | | | | | | | | | This adds a driver for the AW9523 I2C GPIO expander. This driver is required to make LEDs as well as buttons on the Tenbay T-MB5EU-V01 work. This driver already had several upstream iterations. I'm working to push this driver to mainline. Ref: https://patchwork.ozlabs.org/project/linux-gpio/list/?series=226287 Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: fix AR8033 fiber operationDavid Bauer2021-06-272-7/+70
| | | | | | | | | | | | | | It was reported AR8033 did not work in fiber operation mode on the ER-X. While the earlier attempt of fixing this mitigated the issue of 1000 Base-X link mode not being supported, it also switched to the copper page, breaking fiber operation altogether. Extend the hack adding fiber operation so it does not switch to the copper page. Also remove the part where the supported link mode bit for 1000 Base-X is removed, as this is required for fiber operation. Signed-off-by: David Bauer <mail@david-bauer.net>
* generic: at803x: mask 1000 Base-X link modeDavid Bauer2021-06-272-0/+132
| | | | | | | | | | | | | | AR8031/AR8033 have different status registers for copper and fiber operation. However, the extended status register is the same for both operation modes. As a result of that, ESTATUS_1000_XFULL is set to 1 even when operating in copper TP mode. Remove this mode from the supported link modes, as this driver currently only supports copper operation. Signed-off-by: David Bauer <mail@david-bauer.net>
* lantiq: xrx200: switch the subtarget to the mainline DSA driverMartin Blumenstingl2021-06-2642-8865/+945
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable the XRX200 PMAC, GSWIP DSA tag and GSIP DSA drivers in the 5.4 kernel config. Update the existing vr9_*.dts{,i} to use the new Ethernet and switch drivers. Drop the swconfig package from the xrx200 target because swconfig doesn't manage DSA based switches. The new /etc/config/network format for the DSA driver is not compatible with the old (swconfig) based one. Show a message during sysupgrade notifying users about this change and asking them to start with a fresh config (or forcefully update and then migrate the config manually). Failsafe mode can now automatically bring up the first lan interface based on board.json including DSA based setups. Drop 05_set_preinit_iface_lantiq from the xRX200 sub-target as this is not needed anymore. For now we are keeping it for the ase, xway and xway_legacy until there's some confirmation that it can be dropped from there as well. While here, some boards also receive minor fixups: - Use LAN1 as LAN1 (according to a photo this port can also be configured as WAN) on the Buffalo WBMR-300HPD. This makes it easier to read the port mapping because otherwise we would have LAN{2,3,4} and WAN (which was the case for the non-DSA version previously). - vr9_avm_fritz3390.dts: move the "gpio" comment from port 0 and 1 to their corresponding PHYs - vr9_tplink_vr200.dtsi: move the "gpio" comment from port 0 to PHY 0 - vr9_tplink_tdw89x0.dtsi: move the "gpio" comment from port 0 to PHY 0 Acked-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl> Tested-by: Notupus <notpp46@googlemail.com> # TD-W9980/DM200/FRITZ 7430 Tested-by: Martin Schiller <ms@dev.tdt.de> # tested on TDT VR2020 Tested-by: Martin Schiller <ms@dev.tdt.de> # tested on TP-Link TD-W8980B Tested-by: Martin Schiller <ms@dev.tdt.de> # tested on ZyXEL P-2812HNU-F1 Tested-by: Daniel Kestrel <kestrel1974@t-online.de> # tested on Fritzbox 7490 Tested-by: Daniel Kestrel <kestrel1974@t-online.de> # tested on Fritzbox 3490 Tested-by: @jospezial <jospezial@gmx.de> # tested on VGV7510KW22 (o2 Box 6431) Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* kernel: bump 5.4 to 5.4.128John Audia2021-06-2617-80/+26
| | | | | | | | | | | | | | | Removed upstreamed: mvebu/patches-5.4/002-PCI-aardvark-Don-t-rely-on-jiffies-while-holding-spi.patch All other patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.4 to 5.4.127John Audia2021-06-261-2/+2
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.4 to 5.4.126John Audia2021-06-2612-23/+39
| | | | | | | | | Manually rebased: bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch All other patches automatically rebased. Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.4 to 5.4.125John Audia2021-06-261-9/+9
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.10 to 5.10.46Rui Salvaterra2021-06-262-1/+2
| | | | | | | | Add the new symbol to the generic kconfig. No deleted or manually refreshed patches. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ramips: ethernet: ralink: rewrite esw_rt3050 to support link statesAlexander Couzens2021-06-253-45/+103
| | | | | | | | Ensure the esw is initialized before the ethernet device is sending packets. Further implement carrier detection similar to mt7620. If any port has a link, the ethernet device will detect a carrier. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ramips: ethernet: ralink: allow to return EPROBE_DEFER on switch_initAlexander Couzens2021-06-251-2/+7
| | | | | | | For rt3050 the switch needs to be initialized before the ethernet start sending packets. Allow switch_init to return -EPROBE_DEFER. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ramips: ethernet: ralink: move reset of the esw into the esw instead of feAlexander Couzens2021-06-254-13/+6
| | | | | | The esw reset should only done by the esw driver and not by the fe itself. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ramips: ethernet: ralink: use the reset controller api for esw & ephyAlexander Couzens2021-06-255-15/+45
| | | | | | Instead of writing direct into the reset registers. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ramips: ethernet: ralink: add fe_reset_fe() to reset fe via reset controllerAlexander Couzens2021-06-255-25/+23
| | | | | | | | The dts defines the reset fe for all architectures. However the soc code used direct register access of the reset controller. Replace the custom soc reset with a generic fe_reset_fe(). Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ramips: ethernet: ralink: add struct fe_priv as context to fe_reset()Alexander Couzens2021-06-256-7/+7
| | | | | | | | The fe_reset function direct access the reset controller instead using the reset controller api. In preparation to use the reset controller. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ipq40xx: specify FritzBox 7530 LAN port label numbersRafał Miłecki2021-06-241-1/+1
| | | | | | | | | This helps managing LAN ports. Ref: https://forum.openwrt.org/t/openwrt-21-02-0-second-release-candidate/98026/121 Fixes: 95b0c07a618f ("ipq40xx: add support for FritzBox 7530") Cc: David Bauer <mail@david-bauer.net> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ramips: fix software reboot failure on HILINK HLK-7628NLiu Yu2021-06-231-0/+1
| | | | | | | | | | | In the new kernel version 5.X,reboot will fail. When SOC is reset, flash has not exited the 4-byte address mode, which causes the operation mode mismatch of flash during boot.Add broken-flash-reset to make flash exit 4-byte address mode before SOC reset Signed-off-by: Liu Yu <f78fk@live.com>
* ramips: add missing "pinctrl-names" for Youku YK1Shiji Yang2021-06-231-0/+1
| | | | | | | | | Without this definition ethernet led can work as usual, but it's better to re-add it. Relying on default values may cause uncontrollable factors. Fixes: 882a6116d3d6 ("ramips: improve pinctrl for Youku YK-L1") Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: mt7620: disable SOC VLANs for external switchesMichael Pratt2021-06-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | These boards have AR8327 or QCA8337 external ethernet switch. The SOC also has it's own internal switch where VLAN is now enabled by default. Changes to preinit caused all switches to have VLANs enabled by default even if they are not configured with a topology in uci_defaults (see commit f017f617aecbd47debd4d3a734dc0e471342db96) When both internal and external switches have VLANs, and the external switch has both LAN and WAN, the TX traffic from the SOC cannot flow to the tagged port on the external switch because the VLAN IDs are not matching. So disable the internal switch VLANs by default on these boards. Also, add a topology for the internal switch, so that on LuCI there is not an "unknown topology" warning. In theory, it may be possible to have LAN ports on both switches through internal and external PHYs, but there are no known boards that have this. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ramips: mt7620: ethernet: use more macros and bump versionMichael Pratt2021-06-234-7/+11
| | | | | | | | | | | | | | | Define and use some missing macros, and use them instead of BIT() or numbers for more readable code. Add comment for a bit change that seems unrelated to ethernet but is actually needed (PCIe Root Complex mode). Remove unknown and unused macro RST_CTRL_MCM (probably from MT7621 / MT7622) This is the last of a series of fixes, so bump version. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ramips: mt7620: fix RGMII TXID PHY modeMichael Pratt2021-06-231-1/+1
| | | | | | | | | | | | | | the register bits for TX delay and RX delay are opposites: when TX delay bit is set, delay is enabled when RX delay bit is set, delay is disabled So, when both bits are unset, it is RX delay and when both bits are set, it is TX delay Note: TXID is the default RGMII mode of the SOC Fixes: 5410a8e2959a ("ramips: mt7620: add rgmii delays support") Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ramips: mt7620: add ephy-disable option to switch driverMichael Pratt2021-06-232-2/+13
| | | | | | | | | | | | | | Add back the register write to disable internal PHYs as a separate option in the code that can be set using a DTS property. Set the option to true by default when an external mt7530 switch is identified. This makes the driver more in sync with original SDK code while keeping the lines separated into different options to accommodate any board with any PHY layout. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ramips: mt7620: move mt7620_mdio_mode() to ethernet driverMichael Pratt2021-06-235-74/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The function mt7620_mdio_mode is only called once and both the function and mdio_mode block have been named incorrectly, leading to confusion and useless commits. These lines in the mdio_mode block of mt7620_hw_init are only intended for boards with an external mt7530 switch. (see commit 194ca6127ee18cd3a95da4d03f02e43b5428c0bb) Therefore, move lines from mdio_mode to the place in soc_mt7620.c where the type of mt7530 switch is identified, and move lines from mt7620_mdio_mode to a main function. mt7620_mdio_mode was called from mt7620_gsw_init where the priv struct is available, so the lines must stay in mt7620_gsw_init function. In order to keep things as simple as possible, keep the DTS property related function calls together, by moving them from mt7620_gsw_probe to init. Remove the now useless DTS properties and extra phy nodes. Fixes: 5a6229a93df8 ("ramips: remove superfluous & confusing DT binding") Fixes: b85fe43ec8c4 ("ramips: mt7620: add force use of mdio-mode") Signed-off-by: Michael Pratt <mcpratt@pm.me>