aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* ath79: Do not build dlink_dir-615-e4 by defaultHauke Mehrtens2019-12-231-0/+1
| | | | | | | The factory image for the dlink_dir-615-e4 is getting too big which makes the full ath79 tiny build fail, deactivate it by default. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: fix MAC address setup for TP-Link TL-WDR3600/TL-WDR4300Sungbo Eo2019-12-212-1/+6
| | | | | | | | | | | | | | | | | | | | | | | The current ethernet MAC address setup of TL-WDR4300 board is different from the setup of stock firmware: OpenWrt: lan = label_mac -2, wan = label_mac -2 stock: lan = label_mac, wan = label_mac +1 The full address assignment is as follows: LAN label WAN label + 1 5G label 2G label - 1 This patch changes all devices using TL-WDR4300 board: TL-WDR3600 v1 (checked on device) TL-WDR4300 v1 (checked on device) TL-WDR4300 v1 (IL) Signed-off-by: Sungbo Eo <mans0n@gorani.run> [rephrase/extend commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: rename ATH_SOC to SOCAdrian Schmutzler2019-12-208-174/+173
| | | | | | | This replaces ATH_SOC by the newly introduced common SOC device variable. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: harmonize line breaks in image MakefilesAdrian Schmutzler2019-12-208-138/+187
| | | | | | | | | | | | | | | | This harmonizes the line wrapping in image Makefile device definitions, as those are frequently copy-pasted and are a common subject of review comments. Having the treatment unifying should reduce the cases where adjustment is necessary afterwards. Harmonization is achieved by consistently (read "strictly") applying certain rules: - Never put more than 80 characters into one line - Fill lines up (do not break after 40 chars because of ...) - Use one tab for indent after wrapping by "\" - Only break after pipe "|" for IMAGE variables Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79-tiny: enable 4k sectorsPaul Fertser2019-12-191-0/+1
| | | | | | | | | | | | | | | | This enables using 4kiB sectors as erase blocks for 4MiB NOR flash ICs that support it. Writeable jffs2 overlay used to store settings requires a partition with at least 5 erase blocks, so using small sectors is essential for devices with 4MiB flash. Sysupgrading a device running firmware without this feature will likely not allow to preserve configs automatically but since ath79 is considered to be in a "technology preview" state it shouldn't be a problem. Signed-off-by: Paul Fertser <fercerpav@gmail.com>
* ath79: add D-Link DIR-615 E4Paul Fertser2019-12-195-0/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - FCC ID: KA2IR615E3 - SoC: MIPS32 24K 400 MHz Atheros AR7240 - RAM: 32 MiB DDR SDRAM ESMT M13S2561616A-5T - Flash: 4 MiB NOR SPI Macronix MX25L3208E - Wireless: AR9287 2.4 GHz 802.11n 2T2R, 2x RP-SMA connectors - Ethernet: 5x 100BASE-TX Fast Ethernet - LEDs: 9x GPIO, 1x ath9k - Buttons: 2x tactile switches - UART: 3.3 V, 115200 8n1 - USB: simple hardware modification required, 1x USB 1.1 Full Speed Partitioning notes: Vendor firmware (based on CameoAP99) defines two additional partitions: "mac" @0x3b0000, size 0x10000 and "lp" @0x3c0000, size 0x30000. The "mac" partition stores LAN MAC address and hardware board name. However, the vendor firmware uses addresses from "nvram" partition, and the board name is used only for informational purposes in the Web interface (included in the pages' header), not affecting the firmware image check. The "lp" partition is supposed to contain a "language pack" (which can be used to add an additional language support to the Web interface) and is flashed separately, using the vendor firmware upgrade page. Since these partitions are absolutely useless for OpenWrt and overwriting them doesn't prevent downgrading to obsolete vendor firmware, this patch appends the valueable space to "firmware". Installation instructions: - Upgrade from OpenWrt ar71xx with "sysupgrade -f -n" or - Upload as a firmware update via the vendor Web-interface or - Connect UART and use "loady" to upload and run OpenWrt initramfs image, then sysupgrade from it (TFTP client doesn't work) or - Before powering up hold "reset" button and keep it pressed for about 15 seconds after, then access fail safe Web server on 192.168.0.1 (the old uIP TCP/IP protocol stack is not compatible with modern Linux, the kernel, so you'll need to use some other OS to do this). Can be performed without a Web-browser too: curl http://192.168.0.1/cgi/index \ -F Send=@openwrt-ath79-tiny-dlink_dir-615-e4-squashfs-factory.bin Signed-off-by: Paul Fertser <fercerpav@gmail.com>
* ath79: enable all space on Netgear ar9344-based WNDR routersMichal Cieslakiewicz2019-12-191-5/+20
| | | | | | | | | | | Netgear WNDR routers (AR9344 models) like WNDR4300 have 128 MiB of flash memory but only first 32 MiB are used now - both by vendor's firmware and OpenWrt. This patch concatenates two regions of flash memory: ubi part of firmware partition and reserved (unused) space beyond 'caldata_backup' while preserving ART backup. No data is wiped or moved away. This increases area for OS ubi volumes from 23 to 119 Megabytes. Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* ath79: restore gpio-export on TL-WDR3600/4300Lech Perczak2019-12-191-30/+28
| | | | | | | | | | | | | | | | | | This partially reverts commit 32144ba275d163ce6e7d93546ab4414f03f508fb. This commit replaced gpio-exports in favor of gpio-hogs for enabling USB power at boot, but this rids the user of control of the USB port power present on this device for a long time. It was agreed on a mailing list [1] that this is not the way to go, and this patch breaks a very common use-case of WWAN modem reset by power cycle, used on a lot USB equipped routers, hence revert this change until a better solution can be found. [1] http://lists.infradead.org/pipermail/openwrt-devel/2019-November/020151.html Tested-by: Sungbo Eo <mans0n@gorani.run> Signed-off-by: Lech Perczak <lech.perczak@gmail.com> [adjusted commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WR902AC v1Lech Perczak2019-12-196-2/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link TL-WR902AC v1 is a pocket-size, dual-band (AC750), successor of TL-MR3020 (both devices use very similar enclosure, in same size). New device is based on Qualcomm QCA9531 v2 + QCA9887. FCC ID: TE7WR902AC. Specification: - 650/391/216 MHz (CPU/DDR/AHB) - 1x 10/100 Mbps Ethernet - 1x USB 2.0 (GPIO-controlled power) - 64 MB of RAM (DDR2) - 8 MB of FLASH - 2T2R 2.4 GHz (QCA9531) - 1T1R 5 GHz (QCA9887) - 5x LED (GPIO-controlled), 2x button, 1x 3-pos switch - UART pads on PCB (TP1 -> TX, TP2 -> RX, TP3 -> GND, TP4 -> 3V3, jumper resitors are missing on TX/RX lines) - 1x micro USB (for power only) Flash instructions: Use "factory" image under vendor GUI. Recovery instructions: This device contains tftp recovery mode inside U-Boot. You can use it to flash OpenWrt (use "factory" image) or vendor firmware. 1. Configure PC with static IP 192.168.0.66/24 and tftp server. 2. Rename "openwrt-ath79-generic-tplink_tl-wr902ac-v1-squashfs-factory.bin" to "wr902acv1_un_tp_recovery.bin" and place it in tftp server dir. 3. Connect PC with LAN port, press the reset button, power up the router and keep button pressed until WPS LED lights up. 4. Router will download file from server, write it to flash and reboot. MAC Address summary: - wlan1 (2.4GHz Wi-Fi): Label MAC - wlan0 (5GHz Wi-Fi): Offset -1 from label - eth0 (Wired): Offset +1 from label Root access over serial line in vendor firmware: root/sohoadmin. Based on support in ar71xx target by: Piotr Dymacz <pepe2k@gmail.com> Signed-off-by: Lech Perczak <lech.perczak@gmail.com> [remove size-cells from gpio-export] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: migrate LED paths of TL-WDR4300 boardSungbo Eo2019-12-171-1/+4
| | | | | | | | | | | | | TL-WDR4300 board uses only green LED names in DTSI. This patch adds migration for them. The actual LED colors on the devices have been reported to vary across subrevisions (v1.x). Despite, the USB LEDs on the back might have different color than the other LEDs on the front. Signed-off-by: Sungbo Eo <mans0n@gorani.run> [extended commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WDR4300 v1 (IL)Adrian Schmutzler2019-12-124-1/+23
| | | | | | | | The TL-WDR4300 v1 sold in Israel has a different TPLINK_HWID. Thanks to Josh4300 for testing on device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: redistribute UBNT variables in Ubiquiti image MakefileAdrian Schmutzler2019-12-121-15/+18
| | | | | | | | | | | | | The variables UBNT_BOARD and UBNT_VERSION are defined in the parent Device/ubnt definition and then overwritten for most of the derived platform definitions (e.g. Device/ubnt-wa). Since this mixed use of inheritance and overwriting can be misleading, this moves the variables to the platform-based definitions. While at it, reorder the definitions to have order consistent, too. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix typos in DTSDENG Qingfang2019-12-114-11/+11
| | | | | | Replace "usb_ochi" with "usb_ohci", and "usb_echi" with "usb_ehci". Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* kernel: bump 4.19 to 4.19.88Koen Vandeputte2019-12-101-1/+1
| | | | | | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 0004-boot-sq201-from-sda1.patch - 500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch - 0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch Altered patches: - 0011-ARM-dts-Fix-up-SQ201-flash-access.patch - 400-mtd-add-rootfs-split-support.patch - 0101-pci-mediatek-backport-fix-pcie.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.158Koen Vandeputte2019-12-101-1/+1
| | | | | | | | | | | | Refreshed all patches. Altered patches: - 400-mtd-add-rootfs-split-support.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* treewide: remove dts-v1 identifier from DTSI filesAdrian Schmutzler2019-12-0836-38/+0
| | | | | | | | | | | | | | | | The "/dts-v1/;" identifier is supposed to be put once at the beginning of a device tree file. Thus, it makes no sense to provide it a second time in to-be-included DTSI files. This removes the identifier from all DTSI files in /target/linux. Most of the DTS files in OpenWrt do contain the "/dts-v1/;". It is missing for most of the following targets, though: mvebu, ipq806x, mpc85xx, ipq40xx This does not touch ipq806x for now, as the bump to 4.19 is close. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix WNDR3700/WNDR3800 wifi reg sizeChristian Lamparter2019-12-071-2/+2
| | | | | | | | "[...] the size component shall be zero." (See "PCI Bus Binding to: IEEE Std 1275-1994 Rev 2.1" section "4.1.1 Open Firmware-defined Properties for Child Nodes") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: add support for Ubiquiti LiteBeam AC Gen2Stijn Tintel2019-12-044-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware: * SoC: Atheros AR9342-BL1A * RAM: 64MB DDR2 (Winbond W9751G6KB-25) * Flash: 16MB SPI NOR (Macronix MX25L12835FZ2I-10G) * Ethernet: 1x 10/100/1000 Mbps (Atheros AR8035-A) with 24V PoE support * Wifi 2.4GHz: Atheros AR9340 v2 * WiFi 5GHz: Ubiquiti U-AME-G1-BR4A (rebranded QCA988X v2) * LEDs: 1x Power, 1x Ethernet * Buttons: 1x Reset * UART: 1x TTL 115200n8, 3.3V RX TX GND, 3.3V pin closest to RJ45 port The LEDs do not seem to be connected to any GPIO, so there is currently no way to control them. Installation via U-Boot, TFTP and serial console: * Configure your TFTP server with IP 192.168.1.254 * Connect serial console and power up the device * Hit any key to stop autoboot * tftpboot 0x81000000 openwrt-ath79-generic-ubnt_litebeam-ac-gen2-initramfs-kernel.bin * bootm 0x81000000 * copy openwrt-ath79-generic-ubnt_litebeam-ac-gen2-squashfs-sysupgrade.bin to /tmp * sysupgrade /tmp/openwrt-ath79-generic-ubnt_litebeam-ac-gen2-squashfs-sysupgrade.bin Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Petr Štetiar <ynezz@true.cz> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: drop IMAGE/factory.bin from ubnt-wa devicesStijn Tintel2019-12-041-4/+0
| | | | | | | | | | The sysupgrade image contains OpenWrt specific metadata. Having this metadata in the factory images makes no sense. Drop IMAGE/factory.bin from Device/ubnt-wa and use the default from Device/ubnt instead. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Petr Štetiar <ynezz@true.cz> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix source of label MAC address for Ubiquiti XM devicesAdrian Schmutzler2019-12-031-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In d421a8b94489 ("ath79: read label MAC address from flash instead of using phy0/phy1") the source of the label MAC address was changed for devices just reading it from phy0. To get rid of the dependency from phy startup, addresses were read directly from the flash locations that are used to initialize the phy MAC addresses. Unfortunately, it turned out that Ubiquiti XM devices seem to have different flash locations than expected, and also seem to have specific locations for different devices (all in art/EEPROM): 0xe012 AR9280 Nanostation M2 - 0x120c 0xe035 AR9280 Nanostation M3 - 0x120c 0xe1b2 AR9280 Rocket M2 - 0x120c 0xe1c3 AR9280 Rocket M3 - 0x120c 0xe1b5 AR9280 Rocket M5 - 0x120c 0xe2d5 AR9280 Bullet M2 Titanium - 0x120c 0xe2b5 AR9280 Nanobridge M5 - 0x120c 0xe202 AR9280 Bullet M2 - 0x120c 0xe232 AR9287 Nanobridge M2 - 0x110c 0xe4a2 AR9285 AirRouter - 0xa0bf Picostation M2 - 0x120c and 0xa0bf Nanostation Loco M2 - not in 0x120c, other locations not checked An additional problem of the Ubiquiti device support in OpenWrt is that we provide images that match several subvariants of the devices, which might have different MAC address locations. Given that reading the address from phy0 in 02_network _is_ working for the ath79 target in general, it does not seem reasonable to rebuild a complex MAC address retrieval mechanism which is already present in the ath9k driver. So, this patch reverts the label MAC address source for Ubiquiti XM devices (and the Unifi AP) to /sys/class/ieee80211/phy0/macaddress. This doesn't affect XW and Unifi AC devices, where the label MAC address source is defined via device tree. For alfa-network,ap121f the location 0x1002 is kept, as this has been verified during device support preparation in PR #2199. Fixes: d421a8b94489 ("ath79: read label MAC address from flash instead of using phy0/phy1") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 4.19 to 4.19.86Koen Vandeputte2019-11-291-4/+4
| | | | | | | | | | | | | | | | | Refreshed all patches. Altered patches: - 950-0064-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch - 0005-mtd-physmap_of-Move-custom-initialization.patch Remove upstreamed: - 0001-pinctrl-gemini-Mask-and-set-properly.patch - 0002-pinctrl-gemini-Fix-up-TVC-clock-group.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: add support for TP-Link Archer C6 v2 (US) and A6 (US/TW)Anderson Vulczak2019-11-277-120/+270
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is based on #1689 and adds support for TP-Link Archer C6 v2 (US) and A6 (US/TW). The hardware is the same as EU and RU variant, except for GPIOs (LEDS/Buttons), flash(chip/partitions) and UART being available on the board. - SOC: Qualcomm QCA9563 @ 775MHz - Flash: GigaDevice GD25Q127CS1G (16MiB) - RAM: Zentel A3R1GE40JBF (128 MiB DDR2) - Ethernet: Qualcomm QCA8337N: 4x 1Gbps LAN + 1x 1Gbps WAN - Wireless: - 2.4GHz (bgn) QCA9563 integrated (3x3) - 5GHz (ac) Qualcomm QCA9886 (2x2) - Button: 1x power, 1x reset, 1x wps - LED: 6x LEDs: power, wlan2g, wlan5g, lan, wan, wps - UART: 115200, 8n1 (header available on board) Known issues: - Wireless: 5GHz is known to have lower RSSI signal, it affects speed and range. Flash instructions: Upload openwrt-ath79-generic-tplink_archer-c6-v2-us-squashfs-factory.bin via the router Web interface. Flash instruction using tftp recovery: 1. Connect the computer to one of the LAN ports of the router 2. Set the computer IP to 192.168.0.66 3. Start a tftp server with the OpenWrt factory image in the tftp root directory renamed to ArcherA6v2_tp_recovery.bin. 4. Connect power cable to router, press and hold the reset button and turn the router on 5. Keep the reset button pressed until the WPS LED lights up 6. Wait ~150 seconds to complete flashing Flash partitioning: I've followed #1689 for defining the partition layout for this patch. The partition named as "tplink" @ 0xfd0000 is marked as read only as it is where some config for stock firmware are stored. On stock firmware those stock partitions starts at 0xfd9400 however I had not been able to make it functional starting on the same address as on stock fw, so it has been partitioned following #1689 and not the stock partition layout for this specific partition. Due to that firmware/rootfs partition lenght is 0xf80000 and not 0xf89400 as stock. According to the GPL code, the EU/RU/JP variant does have different GPIO pins assignment to LEDs and buttons, also the flash memory layout is different. GPL Source Code: https://static.tp-link.com/resources/gpl/gpl-A6v2_us.tar.gz Signed-off-by: Anderson Vulczak <andi@andi.com.br> [wrap commit message, remove soft_ver change for C6 v2 EU, move LED aliases to DTS files, remove dts-v1 in DTSI, node/property reorder in DTSI] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: rename EEPROM to artAdrian Schmutzler2019-11-2711-33/+31
| | | | | | | | | | | | | This renames all remaining occurrences of "EEPROM" to "art" to further harmonize the partition labelling in ath79. This will help to reduce the amount of user-space code and might be beneficial when code is copy/pasted in the future. Affected are only devices from Ubiquiti, where the XM board is already using "art" in ath79. Acked-by: Piotr Dymacz <pepe2k@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for YunCore XD4200 and A782Piotr Dymacz2019-11-256-1/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | YunCore XD4200 ('XD4200_W6.0' marking on PCB) is Qualcomm/Atheros based (QCA9563, QCA9886, QCA8334) dual-band, Wave-2 AC1200 ceiling AP with PoE (802.3at) support. A782 model ('T750_V5.1' marking on PCB) is a smaller version of the XD4200, with similar specification but lower TX power. Specification: - QCA9563 (775 MHz) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 2x 10/100/1000 Mbps Ethernet (QCA8334), with 802.3at PoE support (WAN) - Wi-Fi 2.4 GHz: - XD4200: 2T2R (QCA9563), with ext. PA (SKY65174-21) and LNA - A782: 2T2R (QCA9563), with ext. FEM (SKY85329-11) - Wi-Fi 5 GHz: - XD4200: 2T2R (QCA9886), with ext. FEM (SKY85728-11) - A782: 2T2R (QCA9886), with ext. FEM (SKY85735-11) - LEDs: - XD4200: 5x (2x driven by SOC, 1x driven by AC radio, 2x Ethernet) - A782: 3x (1x RGB, driven by SOC and radio, 2x Ethernet) - 1x button (reset) - 1x UART (4-pin, 2.54 mm pitch) header on PCB - 1x DC jack (12 V) Flash instructions: If your device comes with generic QSDK based firmware, you can login over telnet (login: root, empty password, default IP: 192.168.188.253), issue first (important!) 'fw_setenv' command and then perform regular upgrade, using 'sysupgrade -n -F ...' (you can use 'wget' to download image to the device, SSH server is not available): fw_setenv bootcmd "bootm 0x9f050000 || bootm 0x9fe80000" sysupgrade -n -F openwrt-...-yuncore_...-squashfs-sysupgrade.bin In case your device runs firmware with YunCore custom GUI, you can use U-Boot recovery mode: 1. Set a static IP 192.168.0.141/24 on PC and start TFTP server with 'tftp' image renamed to 'upgrade.bin' 2. Power the device with reset button pressed and release it after 5-7 seconds, recovery mode should start downloading image from server (unfortunately, there is no visible indication that recovery got enabled - in case of problems check TFTP server logs) Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: add support for YunCore TFTP image generationVincent Wiemann2019-11-252-0/+15
| | | | | | | | | | | | | | | | | | YunCore QCA9k based devices released in 2019 require a custom TFTP image for U-Boot built-in recovery mode (triggered with reset button). Image has to be prepended with 'YUNCORE' keyword followed by U-Boot CLI commands which will be executed later. Images without the custom header will be ignored by U-Boot. To be able to support both the vendor firmware (QSDK) and OpenWrt flash layouts, used here commands change the 'bootcmd' before flashing image. This commit adds generic helper script for YunCore devices with 16 MB of flash and enables TFTP image generation for A770 model. Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com> [pepe2k@gmail.com: commit description reworded, recipe renamed] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: generic: base-files: fix indentation in 02_networkPiotr Dymacz2019-11-251-2/+2
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: remove ath10k drivers from Archer C7 v1 profileStijn Segers2019-11-241-1/+1
| | | | | | | | | | | Ath10k packages were removed from ar71xx in master in commit 34113999ef43 ("ar71xx: Remove ath10k packages from archer-c7-v1 (fixes FS#1743)") but ath79 in master and the 19.07 branch still suffer from the issue. Signed-off-by: Stijn Segers <foss@volatilesystems.org> [commit description facelift] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: improve TP-Link CPE DTSI names for ar9344 SOCAdrian Schmutzler2019-11-2312-11/+11
| | | | | | | | | | | The initial DTSI names for the TP-Link CPE devices have become quite confusing, as several non-V1 devices now use the *-v1.dtsi, the *cpe510-v1.dts does not use the cpe510.dtsi, etc. This introduces a new naming scheme based on whether devices have one or two ports, which should be easier to grasp. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: DTS style improvement for Ubiquiti XM and BZ devicesAdrian Schmutzler2019-11-234-21/+13
| | | | | | | | | | This applies minor style improvements and removes commented pll clock adjustments from ubnt_xm DTSI. The latter were introduced (already commented out) when adding ath79 target and have never been touched since then. For Unifi (BZ board), similar clock adjustments are employed and used. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for the TP-LINK WBS510 V1Andrew Cameron2019-11-225-0/+28
| | | | | | | | | | | | | | | | | | | | | | This adds support for a popular low-cost 5GHz N based AP Specifications: - SoC: Atheros AR9344 - RAM: 64MB - Storage: 8 MB SPI NOR - Wireless: 5GHz 300 Mbps, 2x RP-SMA connector, 27 dBm TX power - Ethernet: 1x 10/100 Mbps with 24V POE IN, 1x 10/100 Mbps Installation: Flash factory image through stock firmware WEB UI or through TFTP To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP adress:192.168.0.254 Signed-off-by: Andrew Cameron <apcameron@softhome.net>
* ath79: add support for the TP-LINK WBS510 V2Andrew Cameron2019-11-225-2/+29
| | | | | | | | | | | | | | | | | | | | | | This adds support for a popular low-cost 5GHz N based AP Specifications: - SoC: Atheros AR9344 - RAM: 64MB - Storage: 8 MB SPI NOR - Wireless: 5GHz 300 Mbps, 2x RP-SMA connector, 27 dBm TX power - Ethernet: 1x 10/100 Mbps with 24V POE IN, 1x 10/100 Mbps Installation: Flash factory image through stock firmware WEB UI or through TFTP To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP adress:192.168.0.254 Signed-off-by: Andrew Cameron <apcameron@softhome.net>
* ath79: add PoE passthrough switch for Ubiquiti Nanostation (XM/XW)Adrian Schmutzler2019-11-211-0/+6
| | | | | | | | | | | | | This adds the gpio switch to enable PoE passthrough on Ubiquiti Nanostation (XM/XW). Values are copied from the implementation in ar71xx. GPIO values checked on: - NanoStation M5 XW - NanoStation M2 XM Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix DTS node names for Ubiquiti XM partitionsAdrian Schmutzler2019-11-191-2/+2
| | | | | | Some node names were inconsistent with the reg property. Fix it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remap D-Link DIR-859 A1 WPS button to WPSChristian Lamparter2019-11-161-1/+1
| | | | | | | | The WPS button was mapped to the restart/reset. This patch changes it to emit the KEY_WPS_BUTTON keycode so pressing the WPS button does initiate WPS. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: fix firmware partition attributes for GL-AR300M16 and -LiteJeff Kletsky2019-11-162-0/+10
| | | | | | | | | | | | | | | | | | | During the introduction of the ath79/nand images for the GL-AR300M series the firmware partition label and compatible were altered, but the necessary adjustments have not been made for the GL-AR300M16 and the GL-AR300M-Lite. This will result in a non-bootable partition setup for these devices. This patch adds the necessary definitions to those two devices. Fixes: 55e6c903ae20 ("ath79: GL-AR300M: provide NAND support; increase to 4 MB kernel") Fixes: b591cabd3989 ("ath79: add GL.iNet GL-AR300M16 as NOR-only board") Signed-off-by: Jeff Kletsky <git-commits@allycomm.com> [extend commit message, alter commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix sysupgrade from ar71xx for WNDR3700 V2 and WNDR3800(CH)Adrian Schmutzler2019-11-141-3/+3
| | | | | | | | | | | ar71xx has just one board name "wndr3700" for WNDR3700 V1/V2, WNDR3800 and WNDR3800CH, whereas ath79 provides separate images for the boards. So, update SUPPORTED_DEVICES to store the correct ar71xx board names. Fixes: FS#2510 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Netgear WNDR3700v4Paul Blazejowski2019-11-145-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds ath79 support for Netgear WNDR3700v4. Router was previously supported by ar71xx target only. Note: device requires 'ar934x-nand' driver in kernel. Specification ============= * Description: Netgear WNDR3700v4 * Loader: U-boot * SOC: Atheros AR9344 (560 MHz) * RAM: 128 MiB * Flash: 128 MiB (NAND) - U-boot binary: 256 KiB - U-boot environment: 256 KiB - ART: 256 KiB - POT: 512 KiB - Language: 2 MiB - Config: 512 KiB - Traffic Meter: 3 MiB - Firmware: 25 MiB - ART Backup: 256 KiB - Reserved: 96 MiB * Ethernet: 5 x 10/100/1000 (4 x LAN, 1 x WAN) (AR8327) * 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 (amber/green) * UART: 4-pin connector JP1, 3.3V (Vcc, TX, RX, GND), 115200 8N1 * Power supply: DC 12V 2.5A * MAC addresses: LAN=WLAN2G on case label, WAN +1, WLAN5G +2 Installation ============ * TFTP recovery * TFTP via U-boot prompt * sysupgrade * Web interface Note about partitioning: firmware partition offset (0x6c0000) is hardcoded into vendor's u-boot, so this partition cannot be moved and resized to include Netgear-specific flash areas (pot, language, config, traffic_meter) not used by OpenWrt. Test build configuration ======================== CONFIG_TARGET_ath79=y CONFIG_TARGET_ath79_nand=y CONFIG_TARGET_ath79_nand_DEVICE_netgear_wndr3700-v4=y CONFIG_ALL_KMODS=y CONFIG_DEVEL=y CONFIG_CCACHE=y CONFIG_COLLECT_KERNEL_DEBUG=y CONFIG_IMAGEOPT=y Signed-off-by: Paul Blazejowski <paulb@blazebox.homeip.net>