aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
Commit message (Collapse)AuthorAgeFilesLines
* ath79: add support for Senao Engenius ECB1200Michael Pratt2020-12-225-0/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: A8J-ECB1200 Engenius ECB1200 is an indoor wireless access point with a GbE port, 2.4 GHz and 5 GHz wireless, external antennas, and 802.3af PoE. **Specification:** - QCA9557 SOC MIPS, 2.4 GHz (2x2) - QCA9882 WLAN PCIe card, 5 GHz (2x2) - AR8035-A switch RGMII, GbE with 802.3af PoE, 25 MHz clock - 40 MHz reference clock - 16 MB FLASH 25L12845EMI-10G - 2x 64 MB RAM 1538ZFZ V59C1512164QEJ25 - UART at JP1 (unpopulated, RX shorted to ground) - 4 external antennas - 4 LEDs, 1 button (power, eth, wifi2g, wifi5g) (reset) **MAC addresses:** MAC Addresses are labeled as ETH and 5GHZ U-boot environment has the vendor MAC addresses MAC addresses in ART do not match vendor eth0 ETH *:5c u-boot-env ethaddr phy0 5GHZ *:5d u-boot-env athaddr ---- ---- ???? art 0x0/0x6 **Installation:** Method 1: Firmware upgrade page: OEM webpage at 192.168.1.1 username and password "admin" Navigate to "Firmware" page from left pane Click Browse and select the factory.bin image Upload and verify checksum Click Continue to confirm and wait 3 minutes Method 2: Serial to load Failsafe webpage: After connecting to serial console and rebooting... Interrupt uboot with any key pressed rapidly (see TFTP recovery) perform a sysupgrade **Serial Access:** the RX line on the board for UART is shorted to ground by resistor R176 therefore it must be removed to use the console but it is not necessary to remove to view boot log optionally, R175 can be replaced with a solder bridge short the resistors R175 and R176 are next to the UART pinout at JP1 **Return to OEM:** If you have a serial cable, see Serial Failsafe instructions Unlike most Engenius boards, this does not have a 'failsafe' image the only way to return to OEM is TFTP or serial access to u-boot **TFTP recovery:** Unlike most Engenius boards, TFTP is reliable here rename initramfs-kernel.bin to 'ap.bin' make the file available on a TFTP server at 192.168.1.10 power board while holding or pressing reset button repeatedly or with serial access: run `tftpboot` or `run factory_boot` with initramfs-kernel.bin then `bootm` with the load address **Format of OEM firmware image:** The OEM software of ECB1200 is a heavily modified version of Openwrt Altitude Adjustment 12.09. This Engenius board, like ECB1750, uses a proprietary header with a unique Product ID. The header for factory.bin is generated by the mksenaofw program included in openwrt. **Note on PLL-data cells:** The default PLL register values will not work because of the AR8035 switch between the SOC and the ethernet port. For QCA955x series, the PLL registers for eth0 and eth1 can be see in the DTSI as 0x28 and 0x48 respectively. Therefore the PLL registers can be read from uboot for each link speed after attempting tftpboot or another network action using that link speed with `md 0x18050028 1` and `md 0x18050048 1`. However the registers that u-boot sets are not ideal and sometimes wrong... the at803x driver supports setting the RGMII clock/data delay on the PHY side. This way the pll-data register only needs to handle invert and phase. for this board clock invert is needed on the MAC side all link speeds functional Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ath79: fix Sitecom WLR-8100 lan port ledsDavide Fioravanti2020-12-221-3/+3
| | | | | | | | | Incorrect values were used for the switch initialization causing the lan port leds to not light up in case of 10Mb or 100Mb connections. This commit fixes this problem and removes unused values. Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* kernel: move some disabled symbols to genericAleksander Jan Bajkowski2020-12-222-6/+0
| | | | | | Move some disabled config options found in lantiq target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* kernel: bump 5.4 to 5.4.85John Audia2020-12-222-4/+4
| | | | | | | | | | | | | All modifications made by update_kernel.sh run in a fresh clone without any existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* treewide: fix initramfs detectionRobert Marko2020-12-201-1/+1
| | | | | | | | | | | | | | | | Commit "initramfs: switch to tmpfs to fix ujail" switched initramfs to now use tmpfs, it causes $(rootfs_type) to now return tmpfs when running initramfs image instead of being empty. This broke initramfs detection which is required so that when installing on MikroTik devices firmware partition would first get erased fully before writing. So, lets test for $(rootfs_type) returning "tmpfs" instead. Fixes: 7fd3c68 ("initramfs: switch to tmpfs to fix ujail) Signed-off-by: Robert Marko <robimarko@gmail.com>
* ath79: airtight c-75: use second flash chipTomasz Maciej Nowak2020-12-192-6/+23
| | | | | | | | | | | The flash capacity is divided in two flash chips and currently only first is used. Increase available space for OpenWrt by additional 16 MiB using mtd-concat driver. Because U-Boot might not be able to load kernel image spanned through two flash chips, the size of kernel is limited to space available on first first chip. Cc: Vladimir Georgievsky <vladimir.georgievsky@yahoo.com> Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* ath79: add support for AirTight C-75Tomasz Maciej Nowak2020-12-193-0/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AirTight Networks (later renamed to Mojo Networks) C-75 is a dual-band access point, also sold by WatchGuard under name AP320. Specification SoC: Qualcomm Atheros QCA9550 RAM: 128 MiB DDR2 Flash: 2x 16 MiB SPI NOR WIFI: 2.4 GHz 3T3R integrated 5 GHz 3T3R QCA9890 oversized Mini PCIe card Ethernet: 2x 10/100/1000 Mbps QCA8334 port labeled LAN1 is PoE capable (802.3at) USB: 1x 2.0 LEDs: 7x which two are GPIO controlled, four switch controlled, one controlled by wireless driver Buttons: 1x GPIO controlled Serial: RJ-45 port, Cisco pinout baud: 115200, parity: none, flow control: none JTAG: Yes, pins marked J1 on PCB Installation 1. Prepare TFTP server with OpenWrt initramfs-kernel image. 2. Connect to one of LAN ports. 3. Connect to serial port. 4. Power on the device and when prompted to stop autoboot, hit any key. 5. Adjust "ipaddr" and "serverip" addresses in U-Boot environment, use 'setenv' to do that, then run following commands: tftpboot 0x81000000 <openwrt_initramfs-kernel_image_name> bootm 0x81000000 6. Wait about 1 minute for OpenWrt to boot. 7. Transfer OpenWrt sysupgrade image to /tmp directory and flash it with: sysupgrade -n /tmp/<openwrt_sysupgrade_image_name> 8. After flashing, the access point will reboot to OpenWrt. Wait few minutes, until the Power LED stops blinking, then it's ready for configuration. Known issues Green power LED does not work. Additional information The U-Boot fails to initialise ethernet ports correctly when a UART adapter is attached to UART pins (marked J3 on PCB). Cc: Vladimir Georgievsky <vladimir.georgievsky@yahoo.com> Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* ath79: qca955x: remove redundant phy-modeAdrian Schmutzler2020-12-175-7/+0
| | | | | | | phy-mode is already set to rgmii for eth0 and sgmii for eth1 in qca955x.dtsi, no need to do that again in the device DTS files. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for the Belkin F9K1115 v2 (AC1750 DB Wi-Fi)Martin Blumenstingl2020-12-143-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This device has (almost?) identical hardware to the F9J1108 v2 but uses a different firmware magic and model number. Specifications: SoC: QCA9558 CPU: 720 MHz Flash: 16 MiB NOR RAM: 128 MiB WiFi 2.4 GHz: QCA9558-AT4A 3x3 MIMO 802.11b/g/n WiFi 5 GHz: QCA9880-2R4E 3x3 MIMO 802.11a/n/ac Ethernet: 4x LAN and 1x WAN (all 1Gbit/s ports) USB: 1 x USB 2.0 (lower), 1 x USB 3.0 (upper) MAC addresses based on OEM firmware: Interface Address Location --------- ------- -------- lan *:5A sometimes in 0x6 wan *:5B 0x0 2.4Ghz *:5A 0x1002 5Ghz As per mini PCIe EEPROM Flashing instructions: The factory.bin can be flashed via the Belkin web UI or via the uboot HTTP upgrade page (which is by default listening on 192.168.2.1). Once the factory.bin has been written, sysupgrade.bin will work as usual. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* ath79: create shared DTSI/definition for Belkin F9J1108/F9K1115 v2Martin Blumenstingl2020-12-143-225/+238
| | | | | | | | | | | | | | | Belkin F9J1108 v2 and F9K1115 v2 are (seemingly) identical hardware with different model numbers. Extract all non-device specific code to a common .dtsi so it can be re-used when adding support for the F9K1115 v2. Similar to the .dtsi most of the image building recipe code can be re-used. Move everything except the device model, edimax header magic and edimax header model into a shared build recipe. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> [drop duplicate TARGET_DEVICES, add EDIMAX_* to DEVICE_VARS, edit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Belkin F9J1108v2 (AC1750 DB Wi-Fi)Damien Mascord2020-12-073-8/+277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This device is the non-US build of the F9K1115 v2, with a different firmware magic. Specifications: SoC: QCA9558 CPU: 720 MHz Flash: 16 MiB NOR RAM: 128 MiB WiFi 2.4 GHz: QCA9558-AT4A 3x3 MIMO 802.11b/g/n WiFi 5 GHz: QCA9880-2R4E 3x3 MIMO 802.11a/n/ac Ethernet: 4x LAN and 1x WAN (all 1gbps) USB: 1 x USB 2.0 (lower), 1 x USB 3.0 (upper) MAC addresses based on OEM firmware: Interface Address Location --------- ------- -------- lan *:5A sometimes in 0x6 wan *:5B 0x0 2.4Ghz *:5A 0x1002 5Ghz As per mini PCIe EEPROM Flashing instructions: The factory.bin can be flashed via the Belkin web UI or via the uboot http upgrade page. Once the factory.bin has been written, sysupgrade.bin will work as usual. Signed-off-by: Damien Mascord <tusker@tusker.org> Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> [wrap commit message/code, adjust label-mac-device, whitespace fixes, merge block in 02_network] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WDR7500 v3Adrian Schmutzler2020-12-044-2/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | This ports support for the TP-Link TL-WDR7500 v3 from ar71xx to ath79. The basic features appear to be identical to the Archer C7 v1, however it has the (supported) QCA9880-BR4A chip of the C7 v2. Specifications: SoC: QCA9558 CPU: 720 MHz Flash: 8 MiB RAM: 128 MiB WLAN: 2.4 GHz b/g/n, 5 GHz a/n/ac Qualcomm Atheros QCA9880-BR4A Ethernet: 5x Gbit ports USB: 2x 2.0 ports Flashing instructions: Upload the factory image via the OEM firmware GUI. TFTP recovery appears to be available as well. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: drop num-cs for SPI controllerAdrian Schmutzler2020-12-04171-297/+3
| | | | | | | | None of the spi drivers on ath79 uses the num-cs property. Cc: Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: remove num-chipselects from SPI controllerAdrian Schmutzler2020-12-049-14/+0
| | | | | | | | | | | | | | The num-chipselects property is only valid for bit-banged spi-gpio [1]. For the generic SPI controller bindings, num-cs would be the correct property [2]. Since num-cs is not required on ath79 either, just drop the lines. [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/spi/spi-gpio.yaml [2] https://www.kernel.org/doc/Documentation/devicetree/bindings/spi/spi-controller.yaml Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remove ar934x MDIO reset from MAC nodeDavid Bauer2020-12-021-2/+2
| | | | | | | | | | | Remove the MDIO reset from the MAC mode for the AR934x SoC family. The reset is currently also defined for the MDIO node, where the reset is acquired exclusively. In case the ethernet node is enabled, this triggers a warning, as the reset is already acquired by the MAC. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: enable LNA for all ar9344 TPLink CPE devicesThomas Huehn2020-12-022-16/+16
| | | | | | | | | | | | The TPLink CPE devices CPE210/CPE510 based on ar9344 have a build-in Low Noise Amplifier on both of the 2x2 mimo rx chains. This patch activates those two LNAs in the respective receiving chains and hence improves the RX sensitivity by about 20dB. Tested on CPE510 v2 & v3. Signed-off-by: Thomas Huehn <thomas.huehn@hs-nordhausen.de> Acked-by: Robert Marko <robimarko@gmail.com>
* ath79: restore sysupgrade support for ja76pf2 and routerstationsTomasz Maciej Nowak2020-12-014-4/+16
| | | | | | | | | | | | | | | | | | | Because the bug described in FS#2428 has been fixed with bf2870c1d9e1 ("kernel: fix mtd partition erase < parent_erasesize writes") these devices can now safely do sysupgrade. Restore sysupgrade support disabled in: 0cc87b3bacee ("ath79: image: disable sysupgrade images for routerstations and ja76pf2") cc5256a8bfa0 ("ath79: base-files: disable sysupgrade for routerstations and ja76pf2") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> [move Build block, remove check-size argument, wrap sysupgrade line, make commit message easier to read] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: wlr-7100: remove device variant indicatorTomasz Maciej Nowak2020-12-012-2/+1
| | | | | | | As reported by user, the same image works on both device variants which are v1 001 and v1 002. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* kernel: clean up patch fuzzKevin Darbyshire-Bryant2020-11-261-1/+1
| | | | | | | Recent kernel bumps & target patch refactors have left some patch fuzz around. Refreshed kernel patches using update_kernel script. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ath79: netgear: trim down uImage customisationsSander Vanheule2020-11-254-32/+26
| | | | | | | | | | Replace NETGEAR_KERNEL_MAGIC by UIMAGE_MAGIC to better match the variable's purpose. This allows to drop the custom Build/netgear-uImage. Signed-off-by: Sander Vanheule <sander@svanheule.net> [keep UIMAGE_MAGIC definitions even for default value] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Senao Engenius EAP300 v2Michael Pratt2020-11-254-0/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: A8J-EAP300A Engenius EAP300 v2 is an indoor wireless access point with a 100/10-BaseT ethernet port, 2.4 GHz wireless, internal antennas, and 802.3af PoE. **Specification:** - AR9341 - 40 MHz reference clock - 16 MB FLASH MX25L12845EMI-10G - 64 MB RAM - UART at J1 (populated) - Ethernet port with POE - internal antennas - 3 LEDs, 1 button (power, eth, wlan) (reset) **MAC addresses:** phy0 *:d3 art 0x1002 (label) eth0 *:d4 art 0x0/0x6 **Installation:** - if you get Failsafe Mode from failed flash: only use it to flash Original firmware from Engenius or risk kernel loop or halt which requires serial cable Method 1: Firmware upgrade page: OEM webpage at 192.168.1.1 username and password "admin" Navigate to "Firmware" page from left pane Click Browse and select the factory.bin image Upload and verify checksum Click Continue to confirm and wait 3 minutes Method 2: Serial to load Failsafe webpage: After connecting to serial console and rebooting... Interrupt uboot with any key pressed rapidly execute `run failsafe_boot` OR `bootm 0x9fdf0000` wait a minute connect to ethernet and navigate to "192.168.1.1/index.htm" Select the factory.bin image and upload wait about 3 minutes **Return to OEM:** If you have a serial cable, see Serial Failsafe instructions *DISCLAIMER* The Failsafe image is unique to Engenius boards. If the failsafe image is missing or damaged this will not work DO NOT downgrade to ar71xx this way, can cause kernel loop or halt The easiest way to return to the OEM software is the Failsafe image If you dont have a serial cable, you can ssh into openwrt and run `mtd -r erase fakeroot` Wait 3 minutes connect to ethernet and navigate to 192.168.1.1/index.htm select OEM firmware image from Engenius and click upgrade **TFTP recovery** (unstable / not reliable): rename initramfs to 'vmlinux-art-ramdisk' make available on TFTP server at 192.168.1.101 power board while holding or pressing reset button repeatedly NOTE: for some Engenius boards TFTP is not reliable try setting MTU to 600 and try many times **Format of OEM firmware image:** The OEM software of EAP300 v2 is a heavily modified version of Openwrt Kamikaze. One of the many modifications is to the sysupgrade program. Image verification is performed simply by the successful ungzip and untar of the supplied file and name check and header verification of the resulting contents. To form a factory.bin that is accepted by OEM Openwrt build, the kernel and rootfs must have specific names and begin with the respective headers (uImage, squashfs). Then the files must be tarballed and gzipped. The resulting binary is actually a tar.gz file in disguise. This can be verified by using binwalk on the OEM firmware images, ungzipping then untaring. The OEM upgrade script is at /etc/fwupgrade.sh. OKLI kernel loader is required because the OEM software expects the kernel size to be no greater than 1536k and otherwise the factory.bin upgrade procedure would overwrite part of the kernel when writing rootfs. Signed-off-by: Michael Pratt <mcpratt@pm.me> [clarify MAC address section, bump PKG_RELEASE for uboot-envtools] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.79John Audia2020-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Manually rebased patches: ath79/patches-5.4/910-unaligned_access_hacks.patch bcm27xx/patches-5.4/950-0135-spi-spi-bcm2835-Disable-forced-software-CS.patch bcm27xx/patches-5.4/950-0414-SQUASH-Fix-spi-driver-compiler-warnings.patch ipq806x/patches-5.4/093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch Removed since could be reverse-applied by quilt and found to be included upstream: ipq806x/patches-5.4/096-PCI-qcom-Make-sure-PCIe-is-reset-before-init-for-rev.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [refresh altered targets after rebase] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move device specific nodes to DTS files for Devolo 1xxxYanase Yuki2020-11-247-26/+51
| | | | | | | | | | | | qca9558_devolo_dvl1xxx.dtsi contains device specific nodes which are inherited for some DTS files and overwritten for others. This is considered confusing, so move the relevant nodes/properties to the devices and only keep the shared stuff in the DTSI. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp> [clarify commit title/message, move &gmac_config in DTS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: support for TP-Link EAP225 v3Sander Vanheule2020-11-234-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link EAP225 v3 is an AC1350 (802.11ac Wave-2) ceiling mount access point. Serial port access for debricking requires fine soldering. Device specifications: * SoC: QCA9563 @ 775MHz * RAM: 128MiB DDR2 * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (SoC): b/g/n, 3x3 * Wireless 5Ghz (QCA9886): a/n/ac, 2x2 MU-MINO * Ethernet (AR8033): 1× 1GbE, 802.3at PoE Flashing instructions: * ssh into target device and run `cliclientd stopcs` * Upgrade with factory image via web interface Debricking: * Serial port can be soldered on PCB J3 (1: TXD, 2: RXD, 3: GND, 4: VCC) * Bridge unpopulated resistors R225 (TXD) and R237 (RXD). Do NOT bridge R230. * Use 3.3V, 115200 baud, 8n1 * Interrupt bootloader by holding CTRL+B during boot * tftp initramfs to flash via LuCI web interface setenv ipaddr 192.168.1.1 # default, change as required setenv serverip 192.168.1.10 # default, change as required tftp 0x80800000 initramfs.bin bootelf $fileaddr MAC addresses: MAC address (as on device label) is stored in device info partition at an offset of 8 bytes. ath9k device has same address as ethernet, ath10k uses address incremented by 1. From OEM boot log: Using interface ath0 with hwaddr b0:...:3e and ssid "..." Using interface ath10 with hwaddr b0:...:3f and ssid "..." Tested by forum user blinkstar88 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: support for TP-Link EAP225-Outdoor v1Sander Vanheule2020-11-234-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link EAP225-Outdoor v1 is an AC1200 (802.11ac Wave-2) pole or wall mount access point. Debricking requires access to the serial port, which is non-trivial. Device specifications: * SoC: QCA9563 @ 775MHz * Memory: 128MiB DDR2 * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (SoC): b/g/n 2x2 * Wireless 5GHz (QCA9886): a/n/ac 2x2 MU-MIMO * Ethernet (AR8033): 1× 1GbE, PoE Flashing instructions: * ssh into target device with recent (>= v1.6.0) firmware * run `cliclientd stopcs` on target device * upload factory image via web interface Debricking: To recover the device, you need access to the serial port. This requires fine soldering to test points, or the use of probe pins. * Open the case and solder wires to the test points: RXD, TXD and TPGND4 * Use a 3.3V UART, 115200 baud, 8n1 * Interrupt bootloader by holding ctrl+B during boot * upload initramfs via built-in tftp client and perform sysupgrade setenv ipaddr 192.168.1.1 # default, change as required setenv serverip 192.168.1.10 # default, change as required tftp 0x80800000 initramfs.bin bootelf $fileaddr MAC addresses: MAC address (as on device label) is stored in device info partition at an offset of 8 bytes. ath9k device has same address as ethernet, ath10k uses address incremented by 1. From stock ifconfig: ath0 Link encap:Ethernet HWaddr D8:...:2E ath10 Link encap:Ethernet HWaddr D8:...:2F br0 Link encap:Ethernet HWaddr D8:...:2E eth0 Link encap:Ethernet HWaddr D8:...:2E Tested by forum user PolynomialDivision on firmware v1.7.0. UART access tested by forum user arinc9. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: support for TP-Link EAP245 v1Sander Vanheule2020-11-234-5/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link EAP245 v1 is an AC1750 (802.11ac Wave-1) ceiling mount access point. Device specifications: * SoC: QCA9563 @ 775MHz * RAM: 128MiB DDR2 * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (SoC): b/g/n, 3x3 * Wireless 5Ghz (QCA9880): a/n/ac, 3x3 * Ethernet (AR8033): 1× 1GbE, 802.3at PoE Flashing instructions: * Upgrade the device to firmware v1.4.0 if necessary * Exploit the user management page in the web interface to start telnetd by changing the username to `;/usr/sbin/telnetd -l/bin/sh&`. * Immediately change the malformed username back to something valid (e.g. 'admin') to make ssh work again. * Use the root shell via telnet to make /tmp world writeable (chmod 777) * Extract /usr/bin/uclited from the device via ssh and apply the binary patch listed below. The patch is required to prevent `uclited -u` in the last step from crashing. * Copy the patched uclited programme back to the device at /tmp/uclited (via ssh) * Upload the factory image to /tmp/upgrade.bin (via ssh) * Run `chmod +x /tmp/uclited && /tmp/uclited -u` to install OpenWrt. --- xxd uclited +++ xxd uclited-patched @@ -53796,7 +53796,7 @@ 000d2240: 8c44 0000 0320 f809 0000 0000 8fbc 0010 .D... .......... 000d2250: 8fa6 0a4c 02c0 2821 8f82 87b8 0000 0000 ...L..(!........ -000d2260: 8c44 0000 0c13 45e0 27a7 0018 8fbc 0010 .D....E.'....... +000d2260: 8c44 0000 2402 0000 0000 0000 8fbc 0010 .D..$........... 000d2270: 1040 001d 0000 1821 8f99 8374 3c04 0058 .@.....!...t<..X 000d2280: 3c05 0056 2484 a898 24a5 9a30 0320 f809 <..V$...$..0. .. Debricking: * Serial port can be soldered on PCB J3 (1: TXD, 2: RXD, 3: GND, 4: VCC) * Bridge unpopulated resistors R225 (TXD) and R237 (RXD). Do NOT bridge R230. * Use 3.3V, 115200 baud, 8n1 * Interrupt bootloader by holding CTRL+B during boot * tftp initramfs to flash via the LuCI web interface setenv ipaddr 192.168.1.1 # default, change as required setenv serverip 192.168.1.10 # default, change as required tftp 0x80800000 initramfs.bin bootelf $fileaddr Tested on the EAP245 v1 running the latest firmware (v1.4.0). The binary patch might not apply to uclited from other firmware versions. EAP245 v1 device support was originally developed and maintained by Julien Dusser out-of-tree. This patch and "ath79: prepare for 1-port TP-Link EAP2x5 devices" are based on that work. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: prepare for 1-port TP-Link EAP2x5 devicesSander Vanheule2020-11-231-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | TP-Link has developed a number of access points based on the AP152 reference board. In the EAP-series of 802.11ac access points, this includes the following devices with one ethernet port: * EAP225 v1/v2 * EAP225 v3 * EAP225-Outdoor v1 * EAP245 v1 Since the only differences between these devices are the ath10k wireless radios and LEDs, a common base is provided for the overlapping support requirements. Hardware commonalities: * SoC: QCA9563-AL3A MIPS 74kc v5.0 @ 775MHz, AHB @ 258MHz * RAM: 128MiB DDR2 @ 650MHz * Flash: 16MiB SPI NOR * Wi-Fi 2.4GHz: provided by SoC * Wi-Fi 5Ghz: ath10k chip on PCIe * Ethernet: AR8033-AL1A, one 1GbE port (802.3at PoE) Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: add QCA956x SERDES init workaroundJulien Dusser2020-11-231-0/+76
| | | | | | | | | | | | | | | | | | | | | | | This commit add a workaround for non working SGMII link observed on some QCA956x SoCs. The workaround originates part from the U-Boot source code from QCA, part from the implementation from TP-Link found in the GPL tarball for the EAP245v1. Extends commit 0d416a8d3b990e3b78628f0e7546527709c877f7 for QCA956x. Note that reset is the same on QCA955x and QCA956x, same register offset and values. Auto calibration is done on u-boot, but always fall back to default value 0x7. Add a DTS entry serdes-cal in case a device require another value. Signed-off-by: Julien Dusser <julien.dusser@free.fr> [Sander Vanheule: Minor code style fixes, Remove hunk adding qca956x-serdes-fixup to a missing DTS, Remove variable err that was only assigned, Rename function to sgmii_serdes_init, Lower priority of serdes call message to pr_debug] Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: ensure QCA956x gmac0 mux selects sgmiiSander Vanheule2020-11-231-0/+35
| | | | | | | | | Some bootloaders do not set up gmac0 properly, leaving it disconnected from the sgmii interface. If the user specificies phy-mode sgmii, then use the gmac-config/device node to ensure the mux is configured correctly. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: move the squashfs feature to the parent targetRui Salvaterra2020-11-235-5/+4
| | | | | | | All subtargets define it. Move it to the parent target and remove it from all subtargets. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* ath79: fix reset button support on 8devices LimaPiotr Dymacz2020-11-181-1/+1
| | | | | | | | | | This fixes 'linux,code' property name and value for the 'reset' key node in 8devices Lima DTS file. Problem and solution were reported on the forum, see: https://forum.openwrt.org/t/resetbutton-not-working-ath79-8devices-lima/78810 Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: calculate Eth MACs from WLAN on ALFA Network R36APiotr Dymacz2020-11-181-2/+4
| | | | | | | | New batches of the R36A board series might no longer keep separated Ethernet MAC addresses stored in flash. Use same approach as on the N2Q and calculate Ethernet MACs from WLAN one which is kept in ART. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for ALFA Network Pi-WiFi4Piotr Dymacz2020-11-184-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network Pi-WiFi4 is a Qualcomm QCA9531 v2 based, high-power 802.11n WiFi board in Raspberry Pi 3B shape, equipped with 1x FE and 4x USB 2.0. Specifications: - Qualcomm/Atheros QCA9531 v2 - 650/400/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16+ MB of flash (SPI NOR) - 1x 10/100 Mbps Ethernet - 2T2R 2.4 GHz Wi-Fi with Qorvo RFFM8228P FEM - 2x IPEX/U.FL connectors on PCB - 4x USB 2.0 Type-A - Genesys Logic GL850G 4-port USB HUB - USB power is controlled by GPIO - 5x LED (3x on PCB, 2x in RJ45, 4x driven by GPIO) - 1x button (reset) - external h/w watchdog (EM6324QYSP5B, enabled by default) - 1x micro USB Type-B for power and system console (Holtek HT42B534) - UART and GPIO (8-pin, 1.27 mm pitch) header on PCB Flash instruction: You can use sysupgrade image directly in vendor firmware which is based on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24. 2. Connect PC with one of RJ45 ports, press the reset button, power up device, wait for first blink of all LEDs (indicates network setup), then keep button for 3 following blinks and release it. 3. Open 192.168.1.1 address in your browser and upload sysupgrade image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add label MAC address for ALFA Network N5QPiotr Dymacz2020-11-181-0/+1
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: Add support for Ubiquiti NanoBeam AC Gen2Nick Hainke2020-11-187-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPU: Atheros AR9342 rev 3 SoC RAM: 64 MB DDR2 Flash: 16 MB NOR SPI WLAN 2.4GHz: Atheros AR9342 v3 (ath9k) WLAN 5.0GHz: QCA988X Ports: 2x GbE Flashing procedure is identical to other ubnt devices. https://openwrt.org/toh/ubiquiti/common Flashing through factory firmware 1. Ensure firmware version v8.7.0 is installed. Up/downgrade to this exact version. 2. Patch fwupdate.real binary using `hexdump -Cv /bin/ubntbox | sed 's/14 40 fe 27/00 00 00 00/g' | \ hexdump -R > /tmp/fwupdate.real` 3. Make the patched fwupdate.real binary executable using `chmod +x /tmp/fwupdate.real` 4. Copy the squashfs factory image to /tmp on the device 5. Flash OpenWrt using `/tmp/fwupdate.real -m <squashfs-factory image>` 6. Wait for the device to reboot (copied from Ubiquiti NanoBeam AC and modified) To keep it consistent, we will add the gen1 variant to the nanobeam ac gen1. Signed-off-by: Nick Hainke <vincent@systemli.org>
* ath79: fix missing ";;" in 11-ath10k-caldataAdrian Schmutzler2020-11-161-0/+1
| | | | | | | | | This adds a missing ";;" in the switch-case in 11-ath10k-caldata. Fixes: 4d36569b9cab ("ath79: fix ath10k caldata extraction on some D-Link DIR-842 C3 devices") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix ath10k caldata extraction on some D-Link DIR-842 C3 devicesPaul Fertser2020-11-161-2/+7
| | | | | | | | | | | | | | | | | | | According to forum threads [0][1] and a report on IRC by Doc-Saintly some of those boards have calibration data in a different place. Only one alternative location is known. Without proper board calibration data (board.bin having all 0xff bytes) ath10k firmware still tries to load but crashes on startup with a confusing error message. If you're applying this patch manually on your device do not forget to remove /lib/firmware/ath10k/pre-cal-pci-0000:00:00.0.bin and reboot to force caldata re-extraction. [0] https://forum.openwrt.org/t/support-for-d-link-dir842-rev-c3/41654 [1] https://forum.openwrt.org/t/d-link-dir-842-cant-access-firmware-upload-form/65454 Signed-off-by: Paul Fertser <fercerpav@gmail.com>
* ath79: add support for Qxwlan E600G v2 / E600GAC v2张鹏2020-11-129-0/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | E600G v2 based on Qualcomm/Atheros QCA9531 Specification: - 650/600/200 MHz (CPU/DDR/AHB) - 128/64 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz - 2 x 10/100 Mbps Ethernet(RJ45) - 1 x MiniPCI-e - 1 x SIM (3G/4G) - 5 x LED , 1 x Button(SW2-Reset Buttun), 1 x power input - UART(J100) header on PCB(115200 8N1) E600GAC v2 based on Qualcomm/Atheros QCA9531 + QCA9887 Specification: - 650/600/200 MHz (CPU/DDR/AHB) - 128/64 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz - 1T1R 5 GHz - 2 x 10/100 Mbps Ethernet(RJ45) - 6 x LED (one three-color led), 2 x Button(SW2-Reset Buttun),1 x power input - UART (J100)header on PCB(115200 8N1) Flash instruction: 1.Using tftp mode with UART connection and original OpenWrt image - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "openwrt-ath79-generic-xxx-squashfs-sysupgrade.bin" to "firmware.bin" and place it in tftp server directory. - Connect PC with one of LAN ports, power up the router and press key "Enter" to access U-Boot CLI. - Use the following commands to update the device to OpenWrt: run lfw - After that the device will reboot and boot to OpenWrt. - Wait until all LEDs stops flashing and use the router. 2.Using httpd mode with Web UI connection and original OpenWrt image - Configure PC with static IP 192.168.1.xxx(2-255) and tftp server. - Connect PC with one of LAN ports,press the reset button, power up the router and keep button pressed for around 6-7 seconds, until leds flashing. - Open your browser and enter 192.168.1.1,You will see the upgrade interface, select "openwrt-ath79-generic-xxx-squashfs- sysupgrade.bin" and click the upgrade button. - After that the device will reboot and boot to OpenWrt. - Wait until all LEDs stops flashing and use the router. Signed-off-by: 张鹏 <sd20@qxwlan.com> [rearrange in generic.mk, fix one case in 04_led_migration, update commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: streamline image-generation for OCEDO boardsDavid Bauer2020-11-051-6/+0
| | | | | | | | Use the default sysupgrade generation procedure provided by the target. The previously generated images had the rootfs not aligned to an eraseblock. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: remove redundant setup of wmac for ubnt WA devicesAdrian Schmutzler2020-11-033-18/+0
| | | | | | | | | | | Several Ubiquiti WA devices set up &wmac again in their DTS files, although this is already done in ar9342_ubnt_wa.dtsi. Fixes: fa3c2676ab0c ("ath79: Add support for Ubiquiti Nanostation AC") Fixes: cf5a1abe46fc ("ath79: define 2.4GHz radio for nanostation ac loco") Fixes: 09804da80a99 ("ath79: define 2.4GHz radio for litebeam ac gen2") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: create DTSI files for ubnt WA 1-/2-port devicesNick Hainke2020-11-038-176/+76
| | | | | | | | | | The ar9342 Ubiquiti WA devices appear to only have two different network setups, based on the number of ethernet ports. Create DTSI files for them to consolidate duplicate definitions. Signed-off-by: Nick Hainke <vincent@systemli.org> [rephrase commit message/title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix nanobeam ac ethernet interfaceNick Hainke2020-11-031-3/+2
| | | | | | | | | | | | | | | | | | | | | | In 4.14 the delays were not cleared, so setting "rgmii" as phy-mode did not affect delays set by the bootloader. With 5.4 kernel the situation changed and the ethernet interface stopped working. "rgmii" requires rx and tx delays depending on the hardware circuit and wiring. The mac or the phy can add these delays. - "rgmii": delays are controlled by the mac - "rgmii-id": delays are controlled by the phy More Information in Linux Kernel Tree: Documentation/devicetree/bindings/net/ethernet-controller.yaml "rgmii" should be the preferred mode, which allows the mac layer to turn off the dealys completely if they are not needed. However, the delays are not set correctly, which causes the ethernet interface to be broken. Just taking the ethernetpart from the litebeam ac gen2 will fix the issue. Explained-by: David Bauer <mail@david-bauer.net> Signed-off-by: Nick Hainke <vincent@systemli.org>
* ath79: ubnt-unifi: make u-boot-env partition read-onlyLech Perczak2020-11-021-0/+1
| | | | | | | | | This partition isn't normally modified during boot process. Make it read-only to prevent accidental overwrite. If needed this can be overriden with installing kmod-mtd-rw; the same way as for installing modified U-boot. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: ubnt-xm: make u-boot-env partition read-onlyLech Perczak2020-11-021-0/+1
| | | | | | | | | This partition isn't normally modified during boot process. Make it read-only to prevent accidental overwrite. If needed this can be overriden with installing kmod-mtd-rw; the same way as for installing modified U-boot. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: use correct firmware name for UniFi APDavid Bauer2020-11-011-3/+3
| | | | | | | | | The Ubiquiti UniFi AP does not have a AHB connected radio but a PCI one. Also the EEPROM ist only 0x440 bytes of length. Reported-by: Martin Weinelt <martin@darmstadt.freifunk.net> Tested-by: Martin Weinelt <martin@darmstadt.freifunk.net> Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: remove AT803X config symbol from subtargetsDavid Bauer2020-11-012-2/+0
| | | | | | | The AT803X_PHY kernel config symbol is already enabled target-wide. SO it does not have to be enabled for individual subtargets. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: drop upstreamed patchDavid Bauer2020-11-011-24/+0
| | | | | | | | | | | Patch was upstreamed a long time ago (over 2 years) as commit a08227a206b8d ("MIPS: ath79: select the PINCTRL subsystem"). When porting this patch to a newer kernel, nobody noticed we now patch a Broadcom platform. This is clearly not intended. So drop this patch and pretend nothing ever happened. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump 5.4 to 5.4.73John Audia2020-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed upstreamed patches: generic/pending-5.4 445-mtd-spinand-gigadevice-Only-one-dummy-byte-in-QUA.patch 446-mtd-spinand-gigadevice-Add-QE-Bit.patch pistachio/patches-5.4 150-pwm-img-Fix-null-pointer-access-in-probe.patch Manually rebased: layerscape/patches-5.4 801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch 801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch 801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch 820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, mvebu (mamba, rango), x86_64, ramips/mt7621 Run-tested: ipq806x/R7800, mvebu (mamba, rango), x86_64, ramips (RT-AC57U) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [alter 820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: remove obsolete kernel version switches for 4.19Adrian Schmutzler2020-10-302-156/+0
| | | | | | | This removes unneeded kernel version switches from the targets after kernel 4.19 has been dropped. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: remove support for kernel 4.19Adrian Schmutzler2020-10-3053-8286/+0
| | | | | | | We use 5.4 on all targets by default, and 4.19 has never been released in a stable version. There is no reason to keep it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>