aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
Commit message (Collapse)AuthorAgeFilesLines
...
* ath79: add support for COMFAST CF-E560ACAugust Huber2020-02-035-6/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the COMFAST CF-E560AC, an ap143 based in-wall access point. Specifications: - SoC: Qualcomm Atheros QCA9531 - RAM: 128 MB DDR2 (Winbond W971GG6SB-25) - Storage: 16 MB NOR (Winbond 25Q128JVSO) - WAN: 1x 10/100 PoE ethernet (48v) - LAN: 4x 10/100 ethernet - WLAN1: QCA9531 - 802.11b/g/n - 2x SKY85303-21 FEM - WLAN2: QCA9886 - 802.11ac/n/a - 2x SKY85735-11 FEM - USB: one external USB2.0 port - UART: 3.3v, 2.54mm headers already populated on board - LED: 7x external - Button: 1x external - Boot: U-Boot 1.1.4 (pepe2k/u-boot_mod) MAC addressing: - stock LAN *:40 (label) WAN *:41 5G *:42 2.4G *:4a - flash (art partition) 0x0 *:40 (label) 0x6 *:42 0x1002 *:41 0x5006 *:43 This device contains valid MAC addresses in art 0x0, 0x6, 0x1002 and 0x5006, however the vendor firmware only reads from art:0x0 for the LAN interface and then increments in 02_network. They also jump 8 addresses for the second wifi interface (2.4 GHz). This behavior has been duplicated in the DTS and ath10k hotplug to align addresses with the vendor firmware v2.6.0. Recovery instructions: This device contains built-in u-boot tftp recovery. 1. Configure PC with static IP 192.168.1.10/24 and tftp server. 2. Place desired image at /firmware_auto.bin at tftp root. 3. Connect device to PC, and power on. 4. Device will fetch flash from tftp, flash and reboot into new image. Signed-off-by: August Huber <auh@google.com> [move jtag_disable_pins, remove unnecessary statuses in DTS, remove duplicate entry in 11-ath10k-caldata, remove hub_port0 label in DTS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: WNDR3700 v2: add dash before version in device nameMichal Cieslakiewicz2020-02-034-9/+9
| | | | | | | | Adapt Netgear WNDR3700v2 device identification string to ath79 naming scheme by changing from 'wndr3700v2' to 'wndr3700-v2' (affects config, makefile, init scripts and device tree definition). Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* ath79: add common definition for Device/tplink-v2Adrian Schmutzler2020-02-022-8/+13
| | | | | | | | | | | | | | | | This adds a shared definition Device/tplink-v2 to common-tp-link.mk. Though currently only one device in ath79 uses it, putting it in the common file seems more organized. The definitions are based on the implementation in ramips target, where a lot of devices is using tplink-v2-* commands already. The '-V "ver. 2.0"' suffix for Archer D50 v1 can be removed because it's default in Build/tplink-v2-image anyway. While at it, add TPLINK_HWREVADD and TPLINK_HVERSION to DEVICE_VARS, which seems to have been overlooked when adding Archer D50 v1. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: rename tplink-loader-okli to tplink-safeloader-okliAdrian Schmutzler2020-02-022-10/+10
| | | | | | | | | This renames Device/tplink-loader-okli to Device/tplink-safeloader-okli since the latter more accurately describes the combination of tplink-safeloader and loader-okli use there. The old version might be confused with other uses of the okli loader. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: rename Device/tplink to Device/tplink-v1Adrian Schmutzler2020-02-021-6/+6
| | | | | | | | | As we have tplink-v2-header and tplink-v2-image recipes as well, this patch renames the Device/tplink definition to Device/tplink-v1, as it's using the tplink-v1-* commands. This should provide easier distinction in the future. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Ubiquiti NanoStation Loco M (XW)Roger Pueyo Centelles2020-01-314-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the NanoStation Loco M2/M5 XW devices on the ath79 target (support was long ago available on ar71xx). Specifications: - AR9342 SoC @ 535 MHz - 64 MB RAM - 8 MB SPI flash - 1x 10/100 Mbps Ethernet, 24 Vdc PoE-in - AR8032 switch - 2T2R 5 GHz radio, 22 dBm - 13 dBi built-in antenna - POWER/LAN green LEDs - 4x RSSI LEDs (red, orange, green, green) - UART (115200 8N1) on PCB Flashing via TFTP: - Use a pointy tool (e.g., pen cap, paper clip) and keep the reset button on the device or on the PoE supply pressed - Power on the device via PoE (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_nanostation-loco-m-xw-squashfs-factory.bin Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ath79: do not set inherited phy-mode/status properties againAdrian Schmutzler2020-01-3114-22/+2
| | | | | | | | | There are several cases where phy-mode and status properties are set again in DTS(I) files although those were set to the same values in parent DTSI files already. Remove those cases (and thus also stop their proliferation by copy/paste). Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: harmonize ethernet-phy naming schemeAdrian Schmutzler2020-01-316-15/+25
| | | | | | | | | | | A minority of ethernet-phy definitions seems to use numbers in label, name and reg property relatively random. This patch aligns their use to have the same numeric value for all of them. While at it, improve order of properties/add newlines for the ethX nodes where necessary. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for GL.iNet 6408/6416 (GL.iNet V1)Adrian Schmutzler2020-01-295-0/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ports the GL.iNet 6408/6416 from ar71xx. The GL-Connect GL.iNet v1 routers are basically a TP-Link TL-WR710N with more DRAM/Flash and console/GPIO header in the same small form-factor. Specifications: - SoC: Atheros AR9331 - CPU: 400 MHz - Flash: 8/16 MiB - RAM: 64 MiB - WiFi: 2.4 GHz b/g/n (SoC) - Ethernet: 2x 100M ports (LAN/WAN) - USB: 1x 2.0 The difference between 6408 and 6416 is just the flash size. It looks like only the 16 MiB version has been advertised, while the 6408 is a modified version. There are also 1-port versions sold by third parties. Installation: Install the sysupgrade image via stock firmware GUI or upload it via uboot (web-based). The device will be available at 192.168.1.1. Attention: In ar71xx, the same board name is used for both flash versions. So, please make sure you flash the correct ath79 image when upgrading. This has been device-tested on a GL.iNet 6416. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 4.19 to 4.19.98Koen Vandeputte2020-01-244-6/+5
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.167Koen Vandeputte2020-01-243-5/+4
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: fix SUPPORTED_DEVICES not matching ar71xx board namesAdrian Schmutzler2020-01-234-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on a script for comparison, this fixes (hopefully) all errors in SUPPORTED_DEVICES for ar71xx->ath79 upgrade. Devices where old string is removed as the device does not exist in ar71xx: - dlink_dir-859-a1 - tplink_archer-a7-v5 - tplink_cpe510-v3 Devices where string is changed because it did not match the board name in ar71xx: - tplink_tl-mr3220-v1 - tplink_tl-mr3420-v1 - tplink_tl-wr2543-v1 - tplink_tl-wr741nd-v4 - tplink_tl-wr841-v7 - ubnt_unifiac-mesh - ubnt_unifiac-mesh-pro - ubnt_unifiac-pro For this device, the correct string could not be found, but we could not determine the correct one. Thus, the string is removed for now: - tplink_tl-wr740n-v4 The script for checking this is quite simple (note that newer entries, i.e. ath79->ath79 upgrade, are displayed as missing): newpath=target/linux/ath79/image/ oldpath=target/linux/ar71xx/base-files/lib/ar71xx.sh for s in $(grep -roh "SUPPORTED_DEVICES.*" $newpath | sed 's/SUPPORTED_DEVICES *.= *//'); do found="Missing" grep -q -r "\"$s\"" $oldpath && found="Found" echo "$s: $found." done The errors might be filtered by appending 'grep "Missing"' to the script. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move lzma-loader to the end of available RAMAdrian Schmutzler2020-01-232-3/+2
| | | | | | | | | | | | | | | | | | | | | In certain cases, the uncompressed initramfs image will overwrite the lzma-loader, which is currently only 10 MB away from kernel image start. To prevent this, change LZMA_TEXT_START to 24 MB, so loader and compressed image have 8 MB at the end of RAM and uncompressed image has 24 MB available. This is only enabled for ath79 at the moment, as there we can be sure that all devices have 32+ MB RAM and TARGET_INITRAMFS_COMPRESSION_LZMA is not enabled there. Despite, since lzma-loader is currently build specifically for ath79 anyway, there is no need to re-specify LOADADDR and LZMA_TEXT_START in image/Makefile, so the values are set directly in image/lzma-loader/Makefile and the overwrite in image/Makefile is removed. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: add support for MikroTik RouterBOARD wAP G-5HacT2HnDRoger Pueyo Centelles2020-01-239-3/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC), a small weatherproof dual band, dual-radio 802.11ac wireless AP with integrated omnidirectional anntennae and one 10/100/1000 Mbps Ethernet port. See https://mikrotik.com/product/RBwAPG-5HacT2HnD for more info. Specifications: - SoC: Qualcomm Atheros QCA9556 - RAM: 64 MB - Storage: 16 MB NOR - Wireless: · Atheros AR9550 (SoC) 802.11b/g/n 2x2:2, 2 dBi antennae · Qualcomm QCA9880 802.11a/n/ac 3x3:3, 2 dBi antennae - Ethernet: Atheros AG71xx (SoC, AR8033), 1x 1000/100/10 port, passive PoE in Working: - Board/system detection - Sysupgrade - Serial console - Ethernet - 2.4 GHz radio - 5 GHz radio and LED - Reset button Not working/Unsupported: - 2.4 GHz LED - AP/CAP LED - ZT2046Q SPI temperature and voltage sensor This adds the basic features for supporting MikroTik devices: - a common recipe for mikrotik images in common-mikrotik.mk - support for minor (MikroTik NOR) split firmware (only for generic subtarget so far) Acknowledgments: Robert Marko <robimarko@gmail.com> Andrew Cameron <apcameron@softhome.net> Koen Vandeputte <koen.vandeputte@ncentric.com> Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Co-developed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: allow to override AR8033 SGMII aneg statusDavid Bauer2020-01-232-0/+32
| | | | | | | | | | | | | In order to make the QCA955x SGMII workaround work, the unsuccessful SGMII autonegotiation on the AR8033 should not block the PHY state-machine. Otherwise, the ag71xx driver never becomes aware of the copper-side link-establishment and the workaround is never executed. Signed-off-by: David Bauer <mail@david-bauer.net> [remove one trailing whitespace per file] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add QCA955x SGMII link loss workaroundDavid Bauer2020-01-233-0/+290
| | | | | | | | | | | | | | | | This commit adds a workaround for the loss of the SGMII link observed on the QCA955x generation of SoCs. The workaround originates part from the U-Boot source code, part from the implementation from AVM found in the GPL tarball for the AVM FRITZ!WLAN Repeater 450E. The bug results in a stuck SGMII link between the PHY device and the SoC side. This has only been observed with the Atheros AR8033 PHY and most likely all devices using such combination are affected. It is worked around by reading a hidden SGMII status register and issuing a SGMII PHY reset until the link becomes useable again. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for TP-Link TL-WA850RE v2Adrian Schmutzler2020-01-224-1/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link TL-WA850RE v2 is a wall-plug N300 Wi-Fi range extender, based on Qualcomm/Atheros QCA9533 v2. Short specification: - 550/391/195 MHz (CPU/DDR/AHB) - 1x 10/100 Mbps Ethernet - 32 MB of RAM (DDR1) - 4 MB of FLASH - 2T2R 2.4 GHz - 2x internal antennas (embedded on PCB) - 9x LED (all can be turned off with GPIO15), 2x button - UART (J3) header on PCB Flash instruction: use "factory" image directly in vendor GUI. Warning: this device does not include any kind of recovery mechanism in the bootloader and disassembling process is not trivial. You can access vendor firmware over serial line using: - login: root - password: sohoadmin Stock firmware uses label MAC address for WiFi and same with local bit set for ethernet. Since this is difficult to reproduce with the toolset of OpenWrt, we just keep both ethernet and WiFi to the same address here. This is the first tiny device with tplink-safeloader in ath79. Firmware partition is only 3648k and thus even smaller than for the tplink-4m(lzma) devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: use upstream properties to disable EEEDavid Bauer2020-01-224-4/+8
| | | | | | | | | | | | | The hack-patch which introduced the "at803x-disable-smarteee" for disabling SmartEEE did in fact not disable SmartEEE but rather disabled 802.3az "standard" EEE. This can be done by using the upstream properties "eee-broken-100tx" and "eee-broken-1000t". EEE is then disabled by the PHY subsystem. Tested on devolo WiFi pro 1200e. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for TP-Link TL-WA850RE v1Adrian Schmutzler2020-01-225-0/+182
| | | | | | | | | | | | | | | | | | | | | | This ports support for the TL-WA850RE v1 range extender from ar71xx to ath79. Specifications: Board: AP123 / AR9341 rev. 3 Flash/RAM: 4/32 MiB CPU: 535 MHz WiFi: 2.4 GHz b/g/n Ethernet: 1 port (100M) Flashing instructions: Upload the factory image via the vendor firmware upgrade option. Recovery: Note that this device does not provide TFTP via ethernet like many other TP-Link devices do. You will have to open the case if you require recovery beyond failsafe. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remove usused TPLINK_BOARD_NAME variable for DEVICE_VARSAdrian Schmutzler2020-01-211-1/+1
| | | | | | | | | | | | | | TPLINK_BOARD_NAME has been renamed to TPLINK_BOARD_ID a long time ago (7d6c63d87542: "build: rename TPLINK_BOARD_NAME to TPLINK_BOARD_ID" for ar71xx), and before introducing ath79 target at all. TPLINK_BOARD_NAME seems to have been introduced into ath79 target only by mistake. It has never been used. Remove it. Fixes: 53c474abbdfe ("ath79: add new OF only target for QCA MIPS silicon") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-MR6400Enrico Mioso2020-01-214-0/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | This device is an LTE router supported in ar71xx so far. As per original commit, hardware specifications (v1.0 EU): - SoC: QCA9531 - Flash: Winbond W25Q64FV (8MiB) - RAM: EtronTech EM6AB160TSE-5G (64MiB) - Wireless: SoC platform only (2.4GHz b/g/n, 2x internal antenna) - Ethernet: 2NIC (3x100M + 1x100M) - WWAN: TP-LINK LTE MODULE (2x external detachable antenna) - Power: DC 12V 1A Flashing instructions: You can flash via tftp recovery (serve factory image as /mr6400_tp_recovery.bin on 192.168.0.66/24, connect to any ethernet port and power on device while holding the reset button). Flashing via OEM web interface does not work. Known issues: - LTE module does not always come up during boot (showing USB enumeration errors). Similar behavior has been reported at least from one user for ar71xx, too. Turning USB off and on again will serve as a workaround. - eth0 (LAN) always shows carrier as 1 even if no cable is plugged in (this works "correctly" on ar71xx) Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com> [several adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Filip Moc <lede@moc6.cz>
* ath79: fix SUPPORTED_DEVICES for WNDR4300 and WNDR3700v4Michal Cieslakiewicz2020-01-211-2/+0
| | | | | | | | | | Kernel partition increase to 4 MiBs for Netgear WNDR3700v4 and WNDR4300 routers breaks sysupgrade image compatibility with ar71xx builds. Therefore, SUPPORTED_DEVICES variable has to be removed for both devices from target makefile. Reported-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn> Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* kernel: bump 4.19 to 4.19.95Koen Vandeputte2020-01-201-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.164Koen Vandeputte2020-01-201-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: add led_ prefix for Phicomm K2T LED labelAdrian Schmutzler2020-01-181-5/+5
| | | | | | | Using the led_ prefix for the node label is now common in ath79, so also apply it here. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: use rssihigh LED instead of WAN LED for status indicationAdrian Schmutzler2020-01-182-10/+10
| | | | | | | | | | | | Using the LED of network interfaces for status (boot/failsafe/...) indication is somewhat misleading, as the blinking might be mistaken for network activity. This uses rssi LEDs instead, which do not blink normally and thus are less ambiguous. The rssihigh LED has also been used consistently for the TP-Link CPE devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: ar934x: use reset for usb-phy-analogJohann Neuhauser2020-01-151-2/+2
| | | | | | | | | | | | This was already available on ar71xx, but is missing on ath79. This solves the slow usb speed on TP-Link WDR3600/WDR4300 and similar, as reported in Flyspray [0], OpenWRT Forum [1] and GitHub PR [2]. [0] https://bugs.openwrt.org/index.php?do=details&task_id=2567 [1] https://forum.openwrt.org/t/usb-wdr4300-low-speed-on-external-storage/46794 [2] https://github.com/openwrt/openwrt/pull/964 Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
* ath79: phy-ar7200-usb: adapt old behavior of arch/mips/ath79/dev-usb.cJohann Neuhauser2020-01-151-6/+18
| | | | | | | | | | | | Do not put usb-phy into reset if clearing the usb-phy reset or setting the suspend_override has failed. Reorder (de)asserts like in arch/mips/ath79/dev-usb.c. Add an optional reset_control "usb-phy-analog", which is needed for ar934x SoCs like in the old mach-driver arch/mips/ath79/dev-usb.c. Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
* ath79: use caldata partition label consistentlyAdrian Schmutzler2020-01-152-8/+8
| | | | | | | Change the caldata partition DTS node label to be consistent with the label property for some Netgear WNDR devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Netgear WNDR4500 v3Michal Cieslakiewicz2020-01-155-5/+62
| | | | | | | | | | | | | | | | | | | This patch introduces support for Netgear WNDR4500v3. Router is very similar to WNDR4300v2 and is based on the same PCB. Information gathered from various Internet sources (including https://patchwork.ozlabs.org/patch/809227/) shows following differences to WNDR4300v2: * two USB 2.0 ports with separate LEDs * USB LEDs soldered to secondary pads * WPS and RFKILL buttons soldered to secondary pads * described as N900 device with 3x3:3 MIMO for 2.4GHz radio * power supply requirement is DC 12V 2.5A * vendor HW ID suffix differs in one digit * bigger chassis Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* ath79: add support for Netgear WNDR4300 v2Michal Cieslakiewicz2020-01-156-5/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces support for Netgear WNDR4300v2. Specification ============= * Description: Netgear WNDR4300 v2 * Loader: U-boot * SOC: Qualcomm Atheros QCA9563 (775 MHz) * RAM: 128 MiB * Flash: 2 MiB SPI-NOR + 128 MiB SPI-NAND - NOR: U-boot binary: 256 KiB - NOR: U-boot environment: 64 KiB - NOR: ART Backup: 64 KiB - NOR: Config: 64 KiB - NOR: Traffic Meter: 64 KiB - NOR: POT: 64 KiB - NOR: Reserved: 1408 KiB - NOR: ART: 64 KiB - NAND: Firmware: 25600 KiB (see notes for OpenWrt) - NAND: Language: 2048 KiB - NAND: mtdoops Crash Dump: 128 KiB - NAND: Reserved: 103296 KiB * Ethernet: 5 x 10/100/1000 (4 x LAN, 1 x WAN) (AR8337) * Wireless: - 2.4 GHz b/g/n (internal) - 5 GHz a/n (AR9580) * USB: yes, 1 x USB 2.0 * Buttons: - Reset - WiFi (rfkill) - WPS * LEDs: - Power (amber/green) - WAN (amber/green) - WLAN 2G (green) - WLAN 5G (blue) - 4 x LAN (amber/green) - USB (green) - WPS (green) * UART: 4-pin connector JP1, 3.3V (Vcc, TX, RX, GND), 115200 8N1 * Power supply: DC 12V 1.5A * MAC addresses: LAN=WLAN2G on case label, WAN +1, WLAN5G +2 Important Notes =============== 0. NOR Flash (2 MiB) is not touched by OpenWrt installation. 1. NAND Flash (128 MiB) layout under OpenWrt is changed as follows: all space is split between 4 MiB kernel and 124 MiB UBI areas; vendor partitions (language and mtdoops) are removed; kernel space size can be further expanded if needed; maximum image size is set to 25600k for compatibility reasons and can also be increased. 2. CPU clock is 775 MHz, not 750 MHz. 3. 5 GHz wireless radio chip is Atheros AR9580-AR1A with bogus PCI device ID 0xabcd. For ath9k driver to load successfully, this is overriden in DTS with correct value for this chip, 0x0033. 4. RFKILL button is wired to AR9580 pin 9 which is normally disabled by chip definition in ath9k code (0x0000F4FF gpio mask). Therefore 'qca,gpio-mask=<0xf6ff>' hack must be used for button to work properly. 5. USB port is always on, no GPIO for 5V power control has been identified. Installation ============ * TFTP recovery * TFTP via U-boot prompt * sysupgrade * Web interface Test build configuration ======================== CONFIG_TARGET_ath79=y CONFIG_TARGET_ath79_nand=y CONFIG_TARGET_ath79_nand_DEVICE_netgear_wndr4300-v2=y CONFIG_ALL_KMODS=y CONFIG_DEVEL=y CONFIG_CCACHE=y CONFIG_COLLECT_KERNEL_DEBUG=y CONFIG_IMAGEOPT=y Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* ath79: WNDR4300: increase kernel partition to 4MMichal Cieslakiewicz2020-01-152-6/+6
| | | | | | | | | Increase kernel partition from 2 MiB to 4 MiB for Netgear WNDR routers with NAND flash. Change affects following devices: * Netgear WNDR3700 v4 * Netgear WNDR4300 Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* ath79: add support for D-Link DIR-505David Bauer2020-01-154-0/+164
| | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the D-Link DIR-505, previously supported in ar71xx. Hardware -------- SoC: Atheros AR9330 FLASH: 8M SPI-NOR RAM: 64M WIFI: 1T1R 1SS Atheros AR9330 LED: Power green, Status red BTN: WPS, Reset Installation ------------ Currently, installation is only possible by sysupgrading from an earlier OpenWrt version, U-Boot TFTP or a modded U-Boot. I do not have the original bootloader from D-Link on my device anymore, so i cannot test the factory image. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: GL-AR750S (NOR/NAND): limit factory.img kernel size to 2 MBJeff Kletsky2020-01-151-1/+4
| | | | | | | | | | | | | | | | The present U-Boot for GL-AR750S has a limit of 2 MB for kernel size. While sysupgrade can manage kernels up to the present limit of 4 MB, directly flashing a factory.img with a kernel size greater than 2 MB through U-Boot will result in an unbootable device. This commit uses the newly-introduced check-kernel-size build operation to prevent the output of factory.img when the kernel exceeds 2 MB in size, yet permits output of sysupgrade.img as long as the kernel is within KERNEL_SIZE := 4096k Cc: Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ath79: wlr-7100: use ath10k-ct smallbuffers package variantTomasz Maciej Nowak2020-01-151-1/+1
| | | | | | | | The memory hacks got removed from ath10k with 1e27bef ("mac80211: remove ath10k_pci memory hacks"). As this device has low amount of RAM, switch to ath-10k-ct small buffers variant, to avoid the OOM Reaper. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: add support for Ubiquiti EdgeSwitch/ToughSwitch 5XPTobias Schramm2020-01-143-0/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ubiquiti ToughSwitch 5XP is a 5-port PoE Gigabit switch with a single Fast-Ethernet management port. It supports both 24V passive PoE out on all five ports. Flash: 8 MB RAM: 64 MB SoC: AR7242 Switch: ar8327 USB: 1x USB 2.0 Ethernet: 5x GbE, 1x FE Installation of the firmware is possible either via serial + tftpboot or the factory firmware update function via webinterface. By default the single Fast-Ethernet port labeled "MGMT" is configured as the WAN port. Thus access to the device is only possible via the five switch ports. Serial: 3v3 115200 8n1 The serial header is located in the lower left corner of the switches PCB: ``` | | | | o | o RX | o TX | o GND | | ++ +-++-+ ++ ++ + +--+ ++ +--++--++--+ ``` Signed-off-by: Tobias Schramm <tobleminer@gmail.com> [remove ubnt,sw compatible - fix spelling - wrap commit message - remove superfluous phy-mode property] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add generic dtsi for Ubiquiti SW boardsTobias Schramm2020-01-142-133/+143
| | | | | | Signed-off-by: Tobias Schramm <tobleminer@gmail.com> [remove ubnt,sw compatible] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for Ubiquiti ToughSwitch/EdgeSwitch 8XPTobias Schramm2020-01-123-0/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flash: 8 MB RAM: 64 MB SoC: AR7242 Switch: bcm53128 USB: 1x USB 2.0 Ethernet: 8x GbE, 1x FE The Ubiquiti ToughSwitch 8XP is a 8-port PoE Gigabit switch with a single Fast-Ethernet management port. It supports both 24V passive PoE and 48V 802.11af/at PoE out on all eight ports. By default the single Fast-Ethernet port labeled "MGMT" is configured as the WAN port. Thus access to the device is only possible via the eight switch ports. Installation of the firware is possible either via serial + tftpboot or the factory firmware update function via webinterface. Serial: 3v3 115200 8n1 The serial header is located in the lower left corner of the switches PCB: | | | | o | o RX | o TX | o GND | | ++ +-++-+ ++ ++ + +--+ ++ +--++--++--+ Signed-off-by: Tobias Schramm <tobleminer@gmail.com> [fix whitespace issue] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for Ubiquiti SW devicesTobias Schramm2020-01-121-0/+12
| | | | | | | SW devices are Ubiquit ToughSwitch and EdgeSwitch series devices. Hardware-wise they are very similar to the XM device series. Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ath79: gl-ar750s: reduce kernel size to 2M in image MakefileChuanhong Guo2020-01-111-1/+1
| | | | | | | | | | | | | | | | u-boot splits nand factory firmware at 2M offset, flash the first part as kernel into spi nor and the other part as ubi into nand flash. With previous commit increasing kernel size to 4M, generated factory firmware is broken because ubi is at 4M offset. This commit reduces kernel size definition to 2M in image Makefile, producing proper factory image. Partition size in dts is kept unchanged so that sysupgrade to a firmware with 2M+ kernel still works. Fixes: b496a2294c ("ath79: GL-AR750S: provide NAND support; increase kernel to 4 MB") Reported-by: Jeff Kletsky <git-commits@allycomm.com> Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: remove unused Build/mktplinkfw-combinedAdrian Schmutzler2020-01-081-11/+0
| | | | | | Build/mktplinkfw-combined is not used anywhere, so remove it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: move mktplinkfw to tplink-v1-image in image-commands.mkAdrian Schmutzler2020-01-083-36/+13
| | | | | | | | | | | | | | | | | | | | | This move the slightly different target-specific implementations of mktplinkfw from the targets to include/image-commands.mk and renames it to tplink-v1-image. Having a common version will increase consistency between implementation and will complete the tplink build command already present in the new location. Due to the slight differences of the original implementations, this also does some adjustments to the device build commands/variables. This also moves rootfs_align as this is required as dependency. Tested on: - TL-WDR4300 v1 (ath79, factory) - TL-WDR4900 v1 (mpc85xx, sysupgrade) - RE210 v1 (ramips, see Tested-by) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Christoph Krapp <achterin@googlemail.com>
* ath79: use ath10k-ct-smallbuffers for TP-Link RE355/RE450 v1Christoph Krapp2020-01-051-1/+1
| | | | | | | | | Both devices are available in 64M and 128M RAM configurations but there is no visial indication which configuration one might get. So just to be sure we properly support both configurations switch to kmod-atk10k-ct-smallbuffers. Signed-off-by: Christoph Krapp <achterin@googlemail.com>
* ath79: drop obsolete ehci hacksBjørn Mork2020-01-052-206/+0
| | | | | | | There's nothing enabling these hacks in ath79, so drop the redundant patches. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* ath79: Remove mtd cfi_cmdset_0002 status check patchesTokunori Ikegami2020-01-052-124/+0
| | | | | | | | | | | | | Currently the patch only changes break to use goto statement instead. But not necessary acutually since the ret value checked after the for loop. So it is okay for the break case before changed by the patch also. This patch only reverts the following commit partially. https://github.com/openwrt/openwrt/commit/ddc11c3932c7b7b7df7d5fbd48f207e7 Note: The changes are mainly applied into the linux kernel upstream. Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com> Cc: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.93Hauke Mehrtens2020-01-051-4/+4
| | | | | | | | | | | | | | Refreshed all patches. The patch hack-4.19/550-loop-better-discard-for-block-devices.patch was replaced with an new version of the patch from: https://lore.kernel.org/patchwork/patch/1153625/ https://lore.kernel.org/patchwork/patch/1153626/ Compile-tested on: ipq40xx, lantiq Runtime-tested on: ipq40xx, lantiq Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 4.14 to 4.14.162Hauke Mehrtens2020-01-051-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: ramips Runtime-tested on: ramips Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: generate firmware image for aircube-ispChristian Mauderer2019-12-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a "factory" image for the aircube-isp devices. Note that the firmware can't be uploaded without prior special preparation. For the most recent instructions on how to do that, visit the OpenWRT wiki page of the Ubiquiti airCube ISP for details: https://openwrt.org/toh/ubiquiti/ubiquiti_aircube_isp Current procedure: With the original firmware 2.5.0 it is possible to upload and execute a script via the configuration. To do that download and unpack the original configuration, adapt uhttpd config to execute another lua handler (placed in the config directory) and pack and upload it again. The lua handler can call a script that mounts an overlayfs and modifies the "fwupdate.real" binary so that an unsigned image is accepted. The overlayfs is necessary because a security system (called tomoyo) doesn't allow binaries in other locations than /sbin/fwupdate.real (and maybe some more) to access the flash when executed via network. A big thanks to Torvald Menningen (Snap) from the OpenWRT forum for finding out how to patch the binary so that it accepts an unsigned image. The current step-by-step procedure is: - Use a version 2.5.0 of the original firmware. This is important because a binary file will be modified. - Download a configuration. - Unpack it (it's just a tar gz file without an ending). - Add the following to uhttpd: `````` config 'uhttpd' 'other' list listen_http 0.0.0.0:8080 list listen_http [::]:8080 option 'home' '/tmp/persistent/config/patch/www' option lua_prefix '/lua' option lua_handler '/tmp/persistent/config/patch/handler.lua' `````` - Create a `patch` subfolder. - Create a `patch/www` subfolder. - Create a `patch/handler.lua` with the following content: `````` function handle_request(env) uhttpd.send("Status: 200 OK\r\n") uhttpd.send("Content-Type: text/plain\r\n\r\n") local command = "/bin/sh /tmp/persistent/config/patch/patch.sh 2>&1" local proc = assert(io.popen(command)) for line in proc:lines() do uhttpd.send(line.."\r\n") end proc:close() end `````` - Create a `patch/patch.sh` with the following content: `````` #!/bin/sh -x set -e set -u set -x UBNTBOX_PATCHED="/tmp/fwupdate.real" MD5FILE="/tmp/patchmd5" cat <<EOF > ${MD5FILE} c33235322da5baca5a7b237c09bc8df1 /sbin/fwupdate.real EOF # check md5 of files that will be patched if ! md5sum -c ${MD5FILE} then echo "******** Error when checking files. Refuse to do anything. ********" exit 0 fi # prepare some overlay functionality LOWERDIR="/tmp/lower_root" mkdir -p ${LOWERDIR} mount -t squashfs -oro /dev/mtdblock3 ${LOWERDIR} overlay_some_path() { PATH_TO_OVERLAY=$1 ALIAS=$2 UPPERDIR="/tmp/over_${ALIAS}" WORKDIR="/tmp/over_${ALIAS}_work" mkdir -p ${UPPERDIR} mkdir -p ${WORKDIR} mount -t overlay -o lowerdir=${LOWERDIR}${PATH_TO_OVERLAY},upperdir=${UPPERDIR},workdir=${WORKDIR} overlay ${PATH_TO_OVERLAY} } # patch the ubntbox binary. overlay_some_path "/sbin" "sbin" echo -en '\x10' | dd of=/sbin/fwupdate.real conv=notrunc bs=1 count=1 seek=24598 echo "******** Done ********" `````` - Repack the configuration. - Upload it via the normal web interface. - Wait about a minute. The webserver should restart. - Now there is a second web server at port 8080 which can call the lua script. Visit the page with a web browser. Link is for example http://192.168.1.1:8080/lua - You should see the output of the script with a "*** Done ***" at the end. Note that the patches are not permanent. If you restart the router you have to re-visit the link (but not re-upload the config). - Now you can upload an unsigned binary via the normal web interface. Signed-off-by: Christian Mauderer <oss@c-mauderer.de>
* ath79: tp-link: use ath10k-ct-smallbuffers for 64 MiB devicesPaul Fertser2019-12-251-5/+6
| | | | Signed-off-by: Paul Fertser <fercerpav@gmail.com>
* ath79: use ath10k-ct-smallbuffers for 64 MiB devicesPaul Fertser2019-12-243-14/+14
| | | | Signed-off-by: Paul Fertser <fercerpav@gmail.com>