aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/image/generic-ubnt.mk
Commit message (Collapse)AuthorAgeFilesLines
* ath79: add support for Ubiquiti Picostation M (XM)Adrian Schmutzler2020-02-191-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Ubiquiti Picostation M (XM), which has the same board/LEDs as the Bullet M XM, but different case and antennas. Specifications: - AR7241 SoC @ 400 MHz - 32 MB RAM - 8 MB SPI flash - 1x 10/100 Mbps Ethernet, 24 Vdc PoE-in - External antenna: 5 dBi (USA), 2 dBi (EU) - POWER/LAN green LEDs - 4x RSSI LEDs (red, orange, green, green) - UART (115200 8N1) on PCB Flashing via WebUI: Upload the factory image via the stock firmware web UI. Attention: airOS firmware versions >= 5.6 have a new bootloader with an incompatible partition table! Please downgrade to <= 5.5 _before_ flashing OpenWrt! Refer to the device's Wiki page for further information. Flashing via TFTP: Same procedure as other NanoStation M boards. - 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_picostation-m-squashfs-factory.bin Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Ubiquiti Nanostation Loco M (XM)Sven Roederer2020-02-191-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Ubiquiti Nanostation Loco M (XM), which has the same board/LEDs as the Bullet M XM, but different case and antennas. Specifications: - AR7241 SoC @ 400 MHz - 32 MB RAM - 8 MB SPI flash - 1x 10/100 Mbps Ethernet, 24 Vdc PoE-in - NS Loco M2: built-in antenna: 8 dBi; AR9287 - NS Loco M5: built-in antenna: 13 dBi; 2T2R 5 GHz radio - POWER/LAN green LEDs - 4x RSSI LEDs (red, orange, green, green) - UART (115200 8N1) on PCB Flashing via WebUI: Upload the factory image via the stock firmware web UI. Note that only certain firmware versions accept unsigned images. Refer to the device's Wiki page for further information. Flashing via TFTP: Same procedure as other NanoStation M boards. - 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-squashfs-factory.bin Tested on NanoStation Loco M2. Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de> Co-developed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Ubiquiti NanoStation Loco M (XW)Roger Pueyo Centelles2020-01-311-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix SUPPORTED_DEVICES not matching ar71xx board namesAdrian Schmutzler2020-01-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: add support for Ubiquiti EdgeSwitch/ToughSwitch 5XPTobias Schramm2020-01-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 support for Ubiquiti ToughSwitch/EdgeSwitch 8XPTobias Schramm2020-01-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 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: use ath10k-ct-smallbuffers for 64 MiB devicesPaul Fertser2019-12-241-5/+5
| | | | Signed-off-by: Paul Fertser <fercerpav@gmail.com>
* ath79: rename ATH_SOC to SOCAdrian Schmutzler2019-12-201-7/+7
| | | | | | | 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-201-12/+10
| | | | | | | | | | | | | | | | 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: 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: add support for Ubiquiti LiteBeam AC Gen2Stijn Tintel2019-12-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: include rssileds package for ubnt devices with LEDsRoger Pueyo Centelles2019-11-141-3/+8
| | | | | | | | | | | | | Some Ubiquiti devices had the RSSI LEDs configured in 01_leds but were missing the rssileds package, while others that don't have RSSI LEDS had the package included. This commit includes the rssileds package only for those devices that need it. Tested on a NanoStation M XW. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ath79: tidy up and fix IMAGE_SIZE for Ubiquiti devicesAdrian Schmutzler2019-10-271-5/+4
| | | | | | | | | | | | This addresses IMAGE_SIZE inconsistencies in generic_ubnt.mk by: 1. (cosmetical) Move IMAGE_SIZE out of top definition ("ubnt"), since despite two all subdefinition have different values. 2. (change) Fix IMAGE_SIZE for ubnt-xm and ubnt-bz (7552k->7488k). 3. (cosmetical) Move IMAGE_SIZE of ubnt-wa devices to parent node since all have same size (it is defined in parent DTSI ...). Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix SUPPORTED_DEVICES for ubnt_nanostation-mAdrian Schmutzler2019-10-211-1/+1
| | | | | | | | | | | | | The ar71xx images for the Ubiquiti NanoStation M (XM) devices use "nanostation-m" as board name, but the ath79 images are only compatible with the "nano-m" board name, so sysupgrade complains. By changing this additional supported device, sysupgrade smoothly upgrades from ar71xx to ath79. Ref: openwrt#2418 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: correct ar71xx boardname for UniFi AC LiteDavid Bauer2019-10-151-1/+1
| | | | | | | | | This corrects the additional boardname for the image metadata to the one used in ar71xx. The previously present additional entry was never used on a running system. Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for UniFi AC-LRAndreas Ziegler2019-10-151-0/+7
| | | | | | | | | | | | | | The Unifi AC-LR has identical hardware to the Unifi AC-Lite. The antenna setup is different according to the vendor, which explains the thicker enclosure. Therefore, it is helpful to know the exact device variant, instead of having "Ubiquiti UniFi-AC-LITE/LR". Signed-off-by: Andreas Ziegler <dev@andreas-ziegler.de> [fix legacy name in commit message; add old boardname to SUPPORTED_DEVICES] Signed-off-by: David Bauer <mail@david-bauer.net>
* treewide: remove kmod-usb-core from DEVICE_PACKAGESAdrian Schmutzler2019-10-061-2/+2
| | | | | | | | | | | | | | | | | | | This removes _all_ occurrences of kmod-usb-core from DEVICE_PACKAGES and similar variables. This package is pulled as dependency by one of the following packages in any case: - kmod-usb-chipidea - kmod-usb-dwc2 - kmod-usb-ledtrig-usbport - kmod-usb-ohci - kmod-usb2 - kmod-usb2-pci - kmod-usb3 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [remove kmod-usb-core from EnGenius ESR600] Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: sort device definitions in image/*Adrian Schmutzler2019-09-211-75/+75
| | | | | | | | | | | This applies alphabetic sorting to devices in image/* files. For certain cases, this patch deviates from strict sorting, e.g. to ensure that v10 comes after v9. While at it, fix an indent and remove some useless empty lines. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add SUPPORTED_DEVICES to ubnt_nanostation-m-xwRoger Pueyo Centelles2019-09-191-1/+1
| | | | | | | | | | | | | | | | The ar71xx images for the Ubiquiti NanoStation M (XW) devices use "nanostation-m-xw" as the board name, but the ath79 images are only compatible with the "nano-m-xw" board name, so sysupgrade complains. By adding this additional supported device, sysuspgrade smoothly upgrades from ar71xx to ath79. Tested on a NanoStation M (XW) running OpenWrt ar71xx r10250-016d1eb. Ref: https://github.com/openwrt/openwrt/pull/2418 Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> [removed duplicate DEVICE_VARIANT, removed uneeded nano-m-xw support] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: add XM device variant for Ubiquiti devicesAdrian Schmutzler2019-09-191-2/+2
| | | | | | | | | | So far, XW devices have DEVICE_VARIANT defined and XM devices have no DEVICE_VARIANT set. This adds DEVICE_VARIANT for XM devices, and moves definitions for both XM and XW to the common definitions. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: image: disable sysupgrade images for routerstations and ja76pf2Tomasz Maciej Nowak2019-09-011-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Because a bug in handling partial erase blocks in 4.19 kernel, using sysupgrade images will hard brick devices that use RedBoot bootloader and have "FIS directory" with "RedBoot config" on the same erase block. Since flashing the devices from bootloader is safe, and to not cause a situation where external chip programmer or JTAG is needed, disable sysupgrade images for affected boards while creating kernel.bin and rootfs.bin for jjPlus JA76PF2 board, which doesn't have factory image. To set up the JA76PF2 board follow "Installation" instructions in b3a0c97 ("ath79: add support for jjPlus JA76PF2") except the part of loading initramfs image and using sysupgrade image for flashing (point 6 and 7). Enter following commands to flash the board from bootloader: fis init load -r -b 0x80060000 <openwrt_kernel_image_name> fis create linux load -r -b %{FREEMEMLO} <openwrt_rootfs_image_name> fis create rootfs fis load -l linux exec -c "" For RouterStations use TFTP recovery procedure. Ref: FS#2428 Cc: Matt Merhar <mattmerhar@protonmail.com> Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: image: add supported string for routerstations and ja76pf2Tomasz Maciej Nowak2019-09-011-0/+2
| | | | | | | | | Now that the md5 check is fixed and metadata present, sysupgrade on ar71xx will complain about device not being supported by the image. Since the cause is not matching strings for supported devices add them accordingly. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: image: append metadata to routerstations and ja76pf2 imagesTomasz Maciej Nowak2019-09-011-1/+1
| | | | | | | | This target enforces metadata check so add the necessary information. It was previously removed because md5 sum check. When using these sysupgrade images on ar71xx target the check would complain about them not matching. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: Add DEVICE_VENDOR for Ubiquiti RouterstationAdrian Schmutzler2019-07-051-0/+1
| | | | | | | | This has been overlooked. Reported by: Chen Minqiang (@ptpt52) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: split DEVICE_TITLE in multiple variablesPaul Spooren2019-07-041-19/+23
| | | | | | | | | | | | | | This allows the definition of DEVICE_VENDOR, DEVICE_MODEL and DEVICE_VARIANT. All three are merged together to look the same as the current DEVICE_TITLE. Also, if DEVICE_TITLE is set it's directly used as a *fallback* for devices which weren't upgraded yet. This is based on the work of @sudhanshu16. The motivation is to create JSON files based on provided metadata, needing clear differentiation between vendor, model and revision. Signed-off-by: Paul Spooren <mail@aparcar.org>
* ath79: add support for Ubiquiti airCube ISPChristian Mauderer2019-04-081-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ubiquiti Network airCube ISP is a cube shaped 2.4 GHz with internal 2x2 MIMO antennas. It can be supplied via a USB connector or via PoE. There are for 10/100 Mbps ports (1 * WAN + 3 * LAN). There is an optional PoE passthrough from the first LAN port to the WAN port. SoC: Qualcomm / Atheros QCA9533-BL3A RAM: 64 MB DDR2 Flash: 16 MB SPI NOR Ethernet: 4x 10/100 Mbps (1 WAN + 3 LAN) LEDS: 1x via a SPI controller (not yet supported) Buttons: 1x Reset Serial: 1x (only RX and TX); 115200 baud, 8N1 Missing points: - LED not yet supported - Factory upgrade via web IF or TFTP recovery not yet supported (Needs RSA signed images, for details see PR#1958) The serial port is on a four pin connextor labeled J1 and located between Ethernet and USB connector. The pinout is: 1. 3V3 (out) 2. Rx (in) 3. Tx (out) 4. GND Upgrading via serial port / U-Boot: - Connect the serial port via a level converter - Power the system and stop U-Boot with pressing any key when `Hit any key to stop autoboot` is displayed. Note: Pressing space multiple times untill U-Boot reaches that location works well. - Connect a PC with the IP 192.168.1.100 (or some other in that net) running a TFTP-Server to one of the LAN ports. Copy the sysupgrade image to the server. - Set the U-Boot server IP with setenv serverip 192.168.1.100 - Load the flash image to RAM with tftpboot 0x81000000 sysupgrade.bin - Erase the flash with erase 0x9f050000 0x9ffaffff - Write the new flash content with cp 0x81000000 0x9f050000 ${filesize} - Reset the device with reset Signed-off-by: Christian Mauderer <oss@c-mauderer.de> [removed full stop in subject and added lockdown note to commit message] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: Add support for Ubiquiti NanoBeam ACTobias Schramm2019-03-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NanoBeam is a small AR9342 based directional 5 GHz AC CPE with hardware almost identical to the Ubiquiti NanoStation AC loco. Over the NanoStation AC loco it has 5 additional LEDs. Four of those LEDs are used as rssi indicators, the fifth LED is used as an ethernet link/activity indicator. CPU: Atheros AR9342 SoC RAM: 64 MB DDR2 Flash: 16 MB NOR SPI WLAN: QCA988X Ports: 1x GbE Flashing procedure is identical to the NanoStation AC loco and can be performed either via serial or the factory firmware upgrade. Serial flashing: 1. Connect to serial header on device (8N1 115200) 2. Power on device and enter uboot console 3. Set up tftp server serving an openwrt initramfs build 4. Load initramfs build using the command tftpboot in the uboot cli 5. Boot the loaded image using the command bootm 6. Copy squashfs openwrt sysupgrade build to the booted device 7. Use mtd to write sysupgrade to partition "firmware" 8. Reboot and enjoy Flashing through factory firmware: 1. Ensure firmware version v8.5.0.36727 is installed. Up/downgrade to this exact version. 2. Patch fwupdate.real binary using `hexdump -Cv /bin/ubntbox | sed 's/14 40 fe fe/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 Thanks to @cybermaus for testing! Tested-by: Maurits van Dueren den Hollander <cybermaus@gmail.com> Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ath79: align naming of Ubiquiti Nanostation MSven Roederer2019-03-181-3/+4
| | | | | | | | | | | | | Support for the Nanostation M (XW) was added in 40530c8eb with board name "nanostation-m-xw". The current image for the "Nanostation M" uses "nano-m" as the board name. This commit renames it to the full product name as it's used by all other boards. The legacy boardname of the ar71xx target is added via SUPPORTED_DEVICES to ease switching to ath79 target. Signed-off-by: Sven Roederer <devel-sven@geroedel.de> [touch-ups on the commit message, removed subject remains] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: routerstation: prepare to use sysupgrade-tar format imageTomasz Maciej Nowak2019-03-181-1/+2
| | | | | | | | | | | | | | | | | | In PR [1] introducing initial support for Ubiquiti RouterStation boards, Mathias Kresin suggested to replace the combined sysupgrade image with tarball generated by sysupgrade-tar.sh. This would simplify deployment of sysupgrade as the kernel size (needed to update FIS partition) could be simply calculated on the fly instead of reading value from combined image header. Unfortunately this would break sysupgrade compatibility between ar71xx image and ath79 image. Therefore this commit creates migration path to use new sysuprade image, it adds code to accept both of them at this moment. The plan is to keep it until new stable version is released. Then the image recipe should be changed to new format and compatibility code for old image removed. 1. https://github.com/openwrt/openwrt/pull/1237 Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: Add support for Ubiquiti Nanostation M (XW)Petr Štetiar2019-03-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPU: AR9342 SoC RAM: 64 MB DDR2 Flash: 8 MB NOR SPI Ports: 2x100 MBit (24V PoE in, 24V PoE out), AR8236 switch WLAN: 2.4/5 GHz UART: 1 UART LEDs: Power, 2x Ethernet, 4x RSSI LEDs (orange, red, 2x green) Buttons: Reset Flashing instructions using recovery method over TFTP 1. Unplug the ethernet cable from the router. 2. Using paper clip press and hold the router's reset button. Make sure you can feel it depressed by the paper clip. Do not release the button until step 4. 3. While keeping the reset button pressed in, plug the ethernet cable back into the AP. Keep the reset button depressed until you see the device's LEDs flashing in upgrade mode (alternating LED1/LED3 and LED2/LED4), this may take up to 25 seconds. 4. You may release the reset button, now the device should be in TFTP transfer mode. 5. Set a static IP on your Computer's NIC. A static IP of 192.168.1.25/24 should work. 6. Plug the PoE injector's LAN cable directly to your computer. 7. Start tftp client and issue following commands: tftp> binary tftp> connect 192.168.1.20 tftp> put openwrt-ath79-generic-ubnt-nano-m-xw-squashfs-factory.bin Tested-by: Joe Ayers <ae6xe@arrl.net> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx/ath79: switch devices to the -ct driver and firmwareChristian Lamparter2018-12-171-3/+3
| | | | | | | Since commit 61b5b4971e7 ("mac80211: make ath10k-ct the default ath10k") select ath10k-ct and the -ct firmwares by default. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: remove duplicate image build variablesMathias Kresin2018-12-061-3/+1
| | | | | | | Remove image build variables which are set to the same value as the default image build recipe. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ath79: add support for Ubiquiti AirRouterRussell Senior2018-12-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Indoor low-power router with 2.4 GHz radio CPU: Atheros AR7241 rev 1 RAM: 32 MB Flash: 8 MB NOR SPI Switch: Atheros AR7240 Ports: 1x WAN, 4x LAN 10/100 Ethernet WLAN: Atheros AR9285 (2.4 GHz) USB: 1x USB2 host port Note: Ethernet WAN/LAN port naming is reversed from ar71xx. WAN is eth0; LAN is eth1.1. UART settings: 115200, 8N1 LEDs +-------------------------- | | | | | | | | VCC | x x RX | * x | x x | x x TX | * x GND | * x | | | | +-------------------------- ETHERNET PORTS Installation from Ubiquiti firmware, is as for other ubnt-xm AirOs devices. Signed-off-by: Russell Senior <russell@personaltelco.net>
* ath79: ubnt-m-xw: Fix factory image flashing using TFTP recovery methodPetr Štetiar2018-11-261-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ubiquity allows flashing of unsigned factory images via TFTP recovery method[1]. They claim in airOS v6.0.7 release changelog[2] following: All future airOS versions will be signed in this way and not allow unsigned firmware to be loaded except via TFTP. U-boot bootloader on M-XW devices expects factory image revision version in specific format. On airOS v6.1.7 with `U-Boot 1.1.4-s1039 (May 24 2017 - 15:58:18)` bootloader checks if the revision major(?) number is actually a number, but in currently generated images there's OpenWrt text and so the check fails: Hit any key to stop autoboot: 0 Setting default IP 192.168.1.20 Starting TFTP server... Receiving file from 192.168.1.25:38438 Received 4981148 bytes Firmware check failed! (1) By placing arbitrary correct number first in major version, we make the bootloader happy and we can flash factory images over TFTP again: Received 3735964 bytes Firmware Version: XW.ar934x.v6.0.4-42.r8474-56aa1ac-OpenWrt Setting U-Boot environment variables Un-Protected 1 sectors Erasing Flash.... done Patch provided by AREDN[3] project, tested on Bullet M2 XW (ynezz) and Nanostation M5 XW (ae6xe). 1. https://help.ubnt.com/hc/en-us/articles/204910124-UniFi-TFTP-Recovery-for-Bricked-Access-Points 2. https://dl.ubnt.com/firmwares/XW-fw/v6.0.7/changelog.txt 3. https://github.com/aredn Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: Add support for Ubiquity Bullet M (XW)Petr Štetiar2018-11-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPU: AR9342 SoC RAM: 64 MB DDR2 Flash: 8 MB NOR SPI Ports: 100 MBit (24V PoE in) WLAN: 2.4/5 GHz UART: 1 UART on PCB marked as J1 with 115200 8N1 config LEDs: Power, Ethernet, 4x RSSI LEDs (orange, red, 2x green) Buttons: Reset UART connection details .---------------------------------. | | [ETH] J1 [ANT] | o VCC o RX o TX o GND | `---------------------------------' Flashing instructions A) Serial console, U-Boot and TFTP 1. Connect to serial header J1 on the PCB 2. Power on device and enter U-Boot console 3. Set up TFTP server serving an OpenWrt initramfs build 4. Load initramfs build using the command tftpboot in the U-Boot cli 5. Boot the loaded image using the command bootm 6. Copy squashfs OpenWrt sysupgrade build to the booted device 7. Use mtd to write sysupgrade to partition "firmware" 8. Reboot and enjoy B) Experimental factory image flashing over SSH from airOS v6.1.7 1. You need to flash your UBNT M2HP with airOS v6.1.7 firmware no other airOS version is currently supported 2. git clone https://github.com/true-systems/ubnt-bullet-m2hp-openwrt-flashing 3. cd ubnt-bullet-m2hp-openwrt-flashing 4. make flash-factory FW_OWRT=/path/to/your/openwrt-ath79-generic-ubnt_bullet-m-xw-squashfs-factory.bin Tested only on Bullet M2HP. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: Add support for Ubiquiti LiteAP ac (LAP-120)Roger Pueyo Centelles2018-10-281-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Ubiquiti LiteAP ac (LAP-120), an outdoor 5 GHz AC access point with an integrated 120° 16 dBi antenna. The device was previously known as LiteBeam AP ac but was later rebranded. CPU: Atheros AR9342 SoC RAM: 64 MB DDR2 Flash: 16 MB NOR SPI Ports: 1 GbE port (PoE in) WLAN: 5 GHz QCA899X (PCI) The integrated QCA899X is a Ubiquiti branded part with modified vendor and product id (0777:11ac9). It is very similar to the NanoStation loco AC, except for the 2.4 GHz management radio (missing here). Installation procedure is the same as the NanoStation [loco] AC: 1. Connect to serial header on device 2. Power on device and enter uboot console 3. Set up tftp server serving an openwrt initramfs build 4. Load initramfs build using the command tftpboot in the uboot cli 5. Boot the loaded image using the command bootm 6. Copy squashfs openwrt sysupgrade build to the booted device 7. Use mtd to write sysupgrade to partition "firmware" 8. Reboot and enjoy Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ath79: fix build warningMathias Kresin2018-10-071-2/+0
| | | | | | | | | | | | | | | | | | | | The image build code for the Ubiquiti Nanostation AC series adds the factory image as to be build image. The same is already done by an included recipe which results into an expanded IMAGE variable of: IMAGES = sysupgrade.bin factory.bin factory.bin The build system doesn't like these duplicates and issues the following warning: Makefile:82: warning: overriding recipe for target... Get remove the duplicate factory image to get rid of the warning. Fixes: 5736af8024be ("ath79: Add support for Ubiquiti NanoStation AC loco") fa3c2676ab0c ("ath79: Add support for Ubiquiti Nanostation AC") Signed-off-by: Mathias Kresin <dev@kresin.me>
* ath79: Add support for Ubiquiti Nanostation ACTobias Schramm2018-10-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5 GHz AC wireless outdoor PoE CPE with internal 2.4 GHz management radio CPU: Atheros AR9342 SoC RAM: 64 MB DDR2 Flash: 16 MB NOR SPI Switch: QCA8334 Ports: 2 GbE ports (1x PoE in, 1x PoE passthrough) WLAN: 5 GHz QCA899X (PCI) and 2.4 GHZ AR9342 Successor to the old NanoStation M5 with AC wireless. The integrated QCA899X is a Ubiquiti branded part with modified vendor and product id (0777:11ac9). Serial Serial settings: 115200, 8N1 * = plated through hole 0 = nylon screw [Top of device] +--------------------------+ | [label] | | 0 | | 0 | | [ubnt] | | [logo] 3V3 * | | TX * | | RX * | | GND * | | | | * | | * | | * | | * | | 0 | | 0 | | | | | Installation 1. Connect to serial header on device 2. Power on device and enter uboot console 3. Set up tftp server serving an openwrt initramfs build 4. Load initramfs build using the command tftpboot in the uboot cli 5. Boot the loaded image using the command bootm 6. Copy squashfs openwrt sysupgrade build to the booted device 7. Use mtd to write sysupgrade to partition "firmware" 8. Reboot and enjoy Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ath79: Add support for Ubiquiti NanoStation AC locoTobias Schramm2018-10-071-3/+24
| | | | | | | | | | | | | | | | | | | | | | | Atheros AR9342, 16 MB flash, 64 MB RAM Successor to the old NanoStation M5 loco with AC wireless. Includes a mac80211 patch for ath10k_pci because Ubiquiti uses a Ubiquiti branded and customized QCA988X with vendor id 0777 and device id 11ac for AC wireless. Installation 1. Connect to serial header on device (8N1 115200) 2. Power on device and enter uboot console 3. Set up tftp server serving an openwrt initramfs build 4. Load initramfs build using the command tftpboot in the uboot cli 5. Boot the loaded image using the command bootm 6. Copy squashfs openwrt sysupgrade build to the booted device 7. Use mtd to write sysupgrade to partition "firmware" 8. Reboot and enjoy Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* mac80211: make ath10k-ct the default ath10kJohn Crispin2018-09-261-1/+1
| | | | | | | | We select ath10k-ct by default, but it is still possible to build the upstream version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John Crispin <john@phrozen.org>
* ath79: ubnt-xm: add rssileds packageLech Perczak2018-09-101-1/+1
| | | | | | | | In order to make RSSI indicator on the device work out of box, include "rssileds" package in per-device rootfs image by default for Ubiquiti XM family. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: initial support for Ubiquiti RouterStation and RouterStation ProMatt Merhar2018-08-271-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a shared ar7161_ubnt_routerstation.dtsi as well as two other .dts files that utilize it, ar7161_ubnt_routerstation.dts and ar7161_ubnt_routerstation-pro.dts. The modifications to generic-ubnt.mk, config-default, and base-files necessary for image generation, parsing RedBoot FIS partitions, network configuration, and sysupgrade are also included. This reintroduces vital bits from platform_do_upgrade_combined() and its supporting functions to /lib/upgrade/platform.sh, which were previously removed from ath79 in 3e9d9f62258f80298710441e0db557e59e152dcf "ath79: sysupgrade: drop unused platform checks". The new function is called "routerstation_do_upgrade" and will *only* work for the RouterStation series of boards. It does however retain the ability to downgrade (e.g. from master -> 17.01.x using sysupgrade -F). All hardware is functional including the AR8216 switch (for the Pro), wireless via ath5k/ath9k using the miniPCI slots, flash, USB, button, and LED. Switch and LAN/WAN configuration is the same as it is with the equivalent ar71xx targets. MAC addresses are assigned based upon the content stored in the RedBoot config partition. Flashing via both sysupgrade and TFTP has been confirmed to work. Also, the initramfs images are now raw .bin files instead of being wrapped in a uImage (as they currently are in ar71xx), which makes them bootable with RedBoot. One notable difference to ar71xx is the inclusion of the RedBoot "fconfig" utility (analogous to U-Boot’s fw_printenv/fw_setenv) in DEVICE_PACKAGES. The FIS partitions are probed using the RedBoot MTD parser’s DT binding, whose proper usage is mutually exclusive to defining a separate fixed-partitions node for "RedBoot config". This config partition contains the board's base MAC address. The lack of a hard-coded flash location means that the mtd-mac-address property cannot be used in the .dts, so instead fconfig is used to read the MAC addresses from flash in userspace during first boot. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
* ath79: add support for UniFi AC-Mesh ProChristoph Krapp2018-07-071-0/+7
| | | | | | | | | The Unifi AC-Mesh Pro has identical hardware to the Unifi AC-Pro except USB support. Furthermore for setting parameters like antenna gain it is helpful to know the exact device variant. Signed-off-by: Christoph Krapp <achterin@googlemail.com>
* ath79: add support for Unifi AC MeshAdrian Schmutzler2018-06-281-0/+7
| | | | | | | | | The Unifi AC Mesh is equivalent to the Unifi AC Lite. However, for setting certain parameters with the flashed device it is helpful that the devices know their variant (e.g. automatically setting antenna gain for the different antennas in Lite and Mesh). Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Ubiquiti UniFi AC-ProLucian Cristian2018-06-281-7/+11
| | | | | | | | rework the dts to a common unifi-ac dtsi pro network is connected via phy0 and has usb ports lite network is connected via phy4 without usb ports Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
* ath79: sync naming of Ubiquiti devicesAdrian Schmutzler2018-06-281-4/+5
| | | | | | | Use a Unifi AC Lite board-/image name consistent with other Ubiquiti devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add ubiquiti unifi ap ac lite/lrLucian Cristian2018-06-181-0/+19
| | | | Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>