Skip to content
Snippets Groups Projects
  1. Mar 19, 2022
  2. Mar 18, 2022
  3. Mar 17, 2022
  4. Mar 16, 2022
    • Jan Hoffmann's avatar
      lantiq: fritz7362sl: add partition subnode for SPI flash · a6222738
      Jan Hoffmann authored
      
      Without a partition subnode ofpart_core still parses direct subnodes as
      partitions, but it ignores nodes with a compatible property. Due to
      this, the switch to nvmem-cells made the urlader partition inaccessible.
      As a result, the wireless network was broken, as the calibration data
      is read from that partition by a script.
      
      Fixes: #8983
      Signed-off-by: default avatarJan Hoffmann <jan@3e8.eu>
      a6222738
    • Martin Blumenstingl's avatar
      lantiq: fritz7362sl: fix SPI flash node reg property · dadedd55
      Martin Blumenstingl authored
      
      The &spi node has #address-cells = <1> and #size-cells = <0>. Drop the
      extra 0 in the reg property from the SPI flash node to ensure it's
      number of cells matches the definition in the parent node. This also
      makes the reg property for the SPI flash node consistent with all other
      VR9 boards.
      
      Fixes: eae6cac6 ("lantiq: add support for AVM FRITZ!Box 7362 SL")
      Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
      dadedd55
    • Christian Lamparter's avatar
      ipq806x: fix TP-Link Archer VR2600v bootlooping · 621b0589
      Christian Lamparter authored
      
      Timo Schroeder reported:
      "The TP-Link Archer VR2600v is stuck in a boot loop on written
      snapshot image. It's able to boot using the snapshot uimage
      though, but there ath10k firmware can't be found.
      21.02.2 release version doesn't have either problem."
      
      The VR2600v has a 512 byte header at the beginning of the
      firmware that needs to be accounted for.
      
      Fixes: f6a01d7f ("ipq806x: convert TP-Link Archer VR2600v to denx,uimage")
      Reported-by: default avatarTimo Schroeder <der.timosch@gmail.com>
      References: <https://github.com/openwrt/openwrt/issues/9467
      
      >
      Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
      621b0589
    • Martin Kennedy's avatar
      mpc85xx: add support for Extreme Networks WS-AP3825i · 7e614820
      Martin Kennedy authored
      Hardware:
      
      - SoC:     Freescale P1020
        - CPU:     2x e500v2 @ 800MHz
      - Flash:   64MiB NOR (1x Intel JS28F512)
      - Memory:  256MiB (2x ProMOS DDR3 V73CAG01168RBJ-I9H 1Gb)
      - WiFi1:   2.4+5GHz abgn 3x3 (Atheros AR9590)
      - Wifi2:   5GHz an+ac 3x3 (Qualcomm Atheros QCA9890)
      - ETH:     2x PoE Gigabit Ethernet (2x Atheros AR8035)
      - Power:   12V (center-positive barrel) or 48V PoE (active or passive)
      - Serial:  Cisco-compatible RJ45 next to 12V power socket (115200 baud)
      - LED Driver: TI LV164A
        - LEDs: (not functioning)
          - 2x Power (Green + Orange)
          - 4x ETH (ETH1 + ETH2) x (Green + Orange)
          - 2x WiFi (WiFi2 + WiFi1)
      
      Installation:
      
      1. Grab the OpenWrt initramfs <openwrt-initramfs-bin>, e.g.
         openwrt-mpc85xx-p1020-extreme-networks_ws-ap3825i-initramfs-kernel.bin.
         Place it in the root directory of a DHCP+TFTP server, e.g. OpenWrt
         `dnsmasq` with configuration `dhcp.server.enable_tftp='1'`.
      
      2. Connect to the serial port and boot the AP with options
         e.g. 115200,N,8. Stop autoboot in U-Boot by pressing Enter after
         'Scanning JFFS2 FS:' begins, then waiting for the prompt to be
         interrupted. Credentials are identical to the one in the APs
         interface. By default it is admin / new2day: if these do not work,
         follow the OEM's reset procedure using the reset button.
      
      3. Set the bootcmd so the AP can boot OpenWrt by executing:
      
      ```uboot
      setenv boot_openwrt "cp.b 0xEC000000 0x2000000 0x2000000; interrupts off; bootm start 0x2000000; bootm loados; fdt resize; fdt boardsetup; fdt chosen; bootm prep; bootm go;"
      setenv bootcmd "run boot_openwrt"
      saveenv
      ```
      
         If you plan on going back to the vendor firmware - the bootcmd for it
         is stored in the boot_flash variable.
      
      4. Load the initramfs image to RAM and boot by executing
      
      ```uboot
      setenv ipaddr <ipv4 client address>;
      setenv serverip <tftp server address>;
      tftpboot 0x2000000 <openwrt-initramfs-bin>;
      interrupts off;
      bootm start 0x2000000;
      bootm loados;
      fdt resize;
      fdt boardsetup;
      fdt chosen;
      bootm prep;
      bootm go;
      ```
      
      5. Make a backup of the "firmware" partition if you ever wish to go back
         to the vendor firmware.
      
      6. Upload the OpenWrt sysupgrade image via SCP to the devices /tmp
         folder.
      
      7. Flash OpenWrt using sysupgrade.
      
      ```ash
      sysupgrade /tmp/<openwrt-sysupgrade-bin>
      ```
      
      Notes:
      
      - We must step through the `bootm` process manually to avoid fdt
        relocation. To explain: the stock U-boot (and stock Linux) are configured
        with a very large CONFIG_SYS_BOOTMAPSZ (and the device's stock Linux
        kernel is configured to be able to handle it). The U-boot version
        predates the check for the `fdt_high` variable, meaning that upon fdt
        relocation, the fdt can (and will) be moved to a very high address; the
        default appears to be 0x9ffa000. This address is so high that when the
        Linux kernel starts reading the fdt at the beginning of the boot process,
        it encounters a memory access exception and panics[5]. While it is
        possible to reduce the highest address the fdt will be relocated to by
        setting `bootm_size`, this also has the side effect of limiting the
        amount of RAM the kernel can use[3].
      
      - Because it is not relocated, the flattened device tree needs to be
        padded in the build process to guarantee that `fdt resize` has
        enough space.
      
      - The primary ethernet MAC address is stored (and set) in U-boot; they are
        shimmed into the device tree by 'fdt boardsetup' through the
        'local-mac-address' property of the respective ethernet node, so OpenWrt
        does not need to set this at runtime. Note that U-boot indexes the
        ethernet nodes by alias, which is why the device tree explicitly aliases
        ethernet1 to enet2.
      
      - LEDs do not function under OpenWrt. Each of 8 LEDs is connected to an
        output of a TI LV164A shift register, which is wired to GPIO lines and
        operates through bit-banged SPI. Unfortunately, I am unable to get the
        spi-gpio driver to recognize the `led_spi` device tree node at all, as
        confirmed by patching in printk messages demonstrating
        spi-gpio.c::spi_gpio_probe never runs. It is possible to manually
        articulate the shift register by exporting the GPIO lines and stepping
        their values through the sysfs.
      
      - Though they do not function under OpenWrt, I have left the pinout details
        of the LEDs and shift register in the device tree to represent real
        hardware.
      
      - An archive of the u-boot and Linux source for the AP3825i (which is one
        device of a range of devices code-named 'CHANTRY') be found here[1].
      
      - The device has an identical case to both the Enterasys WS-AP3725i and
        Adtran BSAP-2030[2] (and potentially other Adtran BSAPs). Given that
        there is no FCC ID for the board itself (only its WLAN modules), it's
        likely these are generic boards, and even that the WS-AP3725i is
        identical, with only a change in WLAN card. I have ordered one to confirm
        this.
      
      - For additional information: the process of porting the board is
        documented in an OpenWrt forum thread[4].
      
      [1]: magnet:?xt=urn:btih:f5306a5dfd06d42319e4554565429f84dde96bbc
      [2]: https://forum.openwrt.org/t/support-for-adtran-bluesocket-bsap-2030/48538
      [3]: https://forum.openwrt.org/t/adding-openwrt-support-for-ws-ap3825i/101168/29
      [4]: https://forum.openwrt.org/t/adding-openwrt-support-for-ws-ap3825i/101168
      [5]: https://forum.openwrt.org/t/adding-openwrt-support-for-ws-ap3825i/101168/26
      
      
      
      Tested-by: default avatarMartin Kennedy <hurricos@gmail.com>
      Signed-off-by: default avatarMartin Kennedy <hurricos@gmail.com>
      7e614820
    • Rosen Penev's avatar
      argp-standalone: fix compilation with Alpine Linux · 80b88b08
      Rosen Penev authored
      
      This package is a C89 one. Add the proper CFLAG to fix compilation.
      
      Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
      80b88b08
    • Brian Norris's avatar
      base-files: Align rootfs_data upgrades to 64KiB on eMMC · e8a0c559
      Brian Norris authored
      
      Rootfs overlays get created at a ROOTDEV_OVERLAY_ALIGN (64KiB)
      alignment after the rootfs, but emmc_do_upgrade() is assuming
      it comes at the very next 512-byte sector.
      
      Suggested-by: default avatarChristian Lamparter <chunkeey@gmail.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      (move spaces around, mention fstools' libtoolfs)
      Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
      e8a0c559
    • Martin Schiller's avatar
      openssl: bump to 1.1.1n · e17c6ee6
      Martin Schiller authored
      
      This is a bugfix release. Changelog:
      
        *) Fixed a bug in the BN_mod_sqrt() function that can cause it to loop
           forever for non-prime moduli. (CVE-2022-0778)
      
        *) Add ciphersuites based on DHE_PSK (RFC 4279) and ECDHE_PSK
           (RFC 5489) to the list of ciphersuites providing Perfect Forward
           Secrecy as required by SECLEVEL >= 3.
      
      Signed-off-by: default avatarMartin Schiller <ms@dev.tdt.de>
      e17c6ee6
    • Rodolphe de Saint Léger's avatar
      ramips: add support for Netgear WN3100RPv2 · 46c5de53
      Rodolphe de Saint Léger authored
      This patch adds support for the Netgear WN3100RPv2
      http://www.netgear.com/support/product/wn3100rpv2.aspx
      
      Specifications:
      - SoC: MediaTek MT7620A (580MHz, ramips)
      - RAM: 32MB DDR
      - Storage: 8MB NOR SPI flash
      - Wireless: builtin MT7620A, 2x2:2 with u.FL connectors
      - Ethernet: 1x100M
      - Stock firmware based on OpenWRT Kamikaze
      
      Like the EX2700, the bootloader expects a secondary image signature,
      see https://forum.openwrt.org/viewtopic.php?pid=312577#p312577
      
      
      
      This device seems to be same hardware as a WN3000RPv3
      
      Flash instructions:
      - Use the Netgear WebUI to upgrade to OpenWRT using the factory image
        (see note below),
      - Use the sysupgrade image for upgrading versions from OpenWRT,
      - TFTP recovery procedure can be used to flash the factory image
        (preferred method).
      
      Note:
      - The WebUI may not reboot automatically, wait at least 5 minutes before
        powercycling the device
      
      Flashing using TFTP:
      - Set you IP address to 192.168.1.10/24 (no gateway)
      - Connect your machine to the Ethernet port
      - Power off the device and wait for 10 seconds,
      - Hold the reset button and power on the device (do not release reset),
      - Hold the reset button until the green light is flashing (Approx. 15s)
      - launch tftp, set mode to binary and connect to 192.168.1.1
      - put the factory firmware image
      - All leds will switch off (like a power off), this is normal
      - Wait for the device to reboot in the new OpenWRT image (max 5 mins)
      - The first boot will take longer than usual.
      - After boot, the Device IP on the ethernet port is 192.168.1.1
      
      Signed-off-by: default avatarRodolphe de Saint Léger <rdesaintleger@gmail.com>
      [drop unneeded includes in dts, wrap commit message]
      Signed-off-by: default avatarSungbo Eo <mans0n@gorani.run>
      46c5de53
    • Sungbo Eo's avatar
      Revert "ramips: add support for Netgear WN3000RPv3" · fe34001e
      Sungbo Eo authored
      
      This reverts commit 7bc20cb6.
      
      It adds support for Netgear WN3100RPv2, but the commit title is wrong.
      It will be re-added with the correct title.
      
      Signed-off-by: default avatarSungbo Eo <mans0n@gorani.run>
      fe34001e
    • Rodolphe de Saint Léger's avatar
      ramips: add support for Netgear WN3000RPv3 · 7bc20cb6
      Rodolphe de Saint Léger authored
      This patch adds support for the Netgear WN3100RPv2
      http://www.netgear.com/support/product/wn3100rpv2.aspx
      
      Specifications:
      - SoC: MediaTek MT7620A (580MHz, ramips)
      - RAM: 32MB DDR
      - Storage: 8MB NOR SPI flash
      - Wireless: builtin MT7620A, 2x2:2 with u.FL connectors
      - Ethernet: 1x100M
      - Stock firmware based on OpenWRT Kamikaze
      
      Like the EX2700, the bootloader expects a secondary image signature,
      see https://forum.openwrt.org/viewtopic.php?pid=312577#p312577
      
      
      
      This device seems to be same hardware as a WN3000RPv3
      
      Flash instructions:
      - Use the Netgear WebUI to upgrade to OpenWRT using the factory image
        (see note below),
      - Use the sysupgrade image for upgrading versions from OpenWRT,
      - TFTP recovery procedure can be used to flash the factory image
        (preferred method).
      
      Note:
      - The WebUI may not reboot automatically, wait at least 5 minutes before
        powercycling the device
      
      Flashing using TFTP:
      - Set you IP address to 192.168.1.10/24 (no gateway)
      - Connect your machine to the Ethernet port
      - Power off the device and wait for 10 seconds,
      - Hold the reset button and power on the device (do not release reset),
      - Hold the reset button until the green light is flashing (Approx. 15s)
      - launch tftp, set mode to binary and connect to 192.168.1.1
      - put the factory firmware image
      - All leds will switch off (like a power off), this is normal
      - Wait for the device to reboot in the new OpenWRT image (max 5 mins)
      - The first boot will take longer than usual.
      - After boot, the Device IP on the ethernet port is 192.168.1.1
      
      Signed-off-by: default avatarRodolphe de Saint Léger <rdesaintleger@gmail.com>
      [drop unneeded includes in dts, wrap commit message]
      Signed-off-by: default avatarSungbo Eo <mans0n@gorani.run>
      7bc20cb6
    • Pawel Dembicki's avatar
      ramips: mt7620: Add support for D-Link DWR-961 A1 · be89c9ee
      Pawel Dembicki authored
      
      The DWR-961 A1 Wireless Router is based on the MT7620A SoC.
      It's a merge of two Amit boards: DWR-960 with ethernet part
      of Lava LR-25G001.
      
      ROMID it's taken from Telenor branded version and it works with tested
      device. Images from D-Link site for this router are from DWR-953 and it
      have ROMID DLK6E2424001. I don't know if it's mistake on web-site
      or if it's will require different image.
      
      Specification:
      
      - MediaTek MT7620A (580 Mhz)
      - 128 MB of RAM
      - 16 MB of FLASH
      - 1x 802.11bgn radio
      - 1x 802.11ac radio (MT7612 mpcie card)
      - 5x 10/100/1000 Mbps Ethernet: 4xLAN and 1xWAN (QCA8337)
      - 2x internal, non-detachable antennas (Wifi 2.4G)
      - 3x external, detachable antennas (2x LTE, 1x Wifi 5G)
      - 1x LTE modem cat 6
      - UART (J5) header on PCB (57600 8n1)
      - 13x LED, 2x button
      - JBOOT bootloader
      
      Installation:
      Apply factory image via http web-gui or JBOOT recovery page
      
      How to revert to OEM firmware:
      - push the reset button and turn on the power. Wait until LED start
        blinking (~10sec.)
      - upload original factory image via JBOOT http (IP: 192.168.123.254)
      
      Signed-off-by: default avatarPawel Dembicki <paweldembicki@gmail.com>
      be89c9ee
  5. Mar 15, 2022
    • Stijn Tintel's avatar
      qoriq: enable I2C in target kernel config · 832b9021
      Stijn Tintel authored
      
      The I2C controller used in QorIQ PPC devices requires the mpc-i2c
      driver, which is enabled by the I2C_MPC kernel config symbol. Enable
      this and its dependencies in the target kernel config, as is done for
      the mpc85xx target.
      
      This fixes missing hwmon, rtc and tpm devices on the M300.
      
      Signed-off-by: default avatarStijn Tintel <stijn@linux-ipv6.be>
      832b9021
    • Rafał Miłecki's avatar
    • Rafał Miłecki's avatar
      uboot-bcm4908: add BCM4912 build · f4c2dab5
      Rafał Miłecki authored
      
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      f4c2dab5
    • Rafał Miłecki's avatar
      uboot-bcm4908: update to the latest generic · 3592aa85
      Rafał Miłecki authored
      
      0625aad74d arm: dts: add ASUS GT-AX6000
      6fb1cb624d arm: dts: add Netgear RAXE450 / RAXE550
      
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      3592aa85
    • Rafał Miłecki's avatar
      uboot-bcm4908: use "xxd" from staging_dir · 9dbca6bf
      Rafał Miłecki authored
      
      This fixes:
      bash: xxd: command not found
      on hosts without xxd installed.
      
      Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
      9dbca6bf
    • Felix Fietkau's avatar
      mt76: update to the latest version · da2b9721
      Felix Fietkau authored
      
      378b638c70c0 mt76: mt7915: fix unused variable with testmode disabled
      4f4309542862 mt76: mt7915: only use u32_get_bits with constant value
      de06d828a0bf mt76: mt7921: fix injected MPDU transmission to not use HW A-MSDU
      c007ba3ec7a9 mt76: mt7915: simplify conditional
      64c74dc93f68 mt76: fix dfs state issue with 160 MHz channels
      d3471b0d92c1 mt76: mt7615: honor ret from mt7615_mcu_restart in mt7663u_mcu_init
      f4c87b32e0e9 mt76: mt7663u: introduce mt7663u_mcu_power_on routine
      82de5987af54 mt76: mt7921: fix up the monitor mode
      c501df4086e1 mt76: mt7921: use mt76_hw instead of open coding it
      594ee03d5a11 mt76: mt7915: fix DFS no radar detection event
      d8d2b383a241 mt76: split single ldpc cap bit into bits
      0f336fba20fe mt76: mt7921: make mt7921_init_tx_queues static
      00a066ce9914 mt76: mt7921: fix xmit-queue dump for usb and sdio
      d6d2479568b2 mt76: mt7921: fix mt7921_queues_acq implementation
      d17b74420199 mt76: fix monitor mode crash with sdio driver
      c374559eae6f mt76: mt7915: allow beaconing on all chains
      b219af63b9ce mt76: connac: add 6 GHz support for wtbl and starec configuration
      630384cb3246 mt76: mt7915: add 6 GHz support
      28ff1bddc7e8 mt76: mt7915: fix eeprom fields of txpower init values
      d4b226cc15e7 mt76: mt7915: add txpower init for 6GHz
      31e820d4ce4b mt76: mt7921: get rid of mt7921_wait_for_mcu_init declaration
      9fee1faf6028 mt76: mt7915: check for devm_pinctrl_get() failure
      31a970940b97 mt76: connac: make read-only array ba_range static const
      e49af7036bbc mt76: use le32/16_get_bits() whenever possible
      0664d39039c2 mt76: fix invalid rssi report
      f16fc9d96105 mt76: mt7915: set band1 TGID field in tx descriptor
      67ce2708dcef mt76: mt7915: fix beamforming mib stats
      6e899abec818 mt76: mt7915: fix phy cap in mt7915_set_stream_he_txbf_caps()
      c6780c85cff2 mt76: mt7915: fix typos in comments
      aa6eadc09a83 mt76: usb: add req_type to ___mt76u_rr signature
      74a519ab8353 mt76: usb: add req_type to ___mt76u_wr signature
      2651d2c66cbd mt76: usb: introduce __mt76u_init utility routine
      c03e095eee27 mt76: mt7921: disable runtime pm for usb
      41085cdcd7e3 mt76: mt7921: update mt7921_skb_add_usb_sdio_hdr to support usb
      e700aba6bae3 mt76: mt7921: move mt7921_usb_sdio_tx_prepare_skb in common mac code
      056b7f4ebcc6 mt76: mt7921: move mt7921_usb_sdio_tx_complete_skb in common mac code.
      0abf682a3def mt76: mt7921: move mt7921_usb_sdio_tx_status_data in mac common code.
      b0c60d5252de mt76: mt7921: add mt7921u driver
      053668acdaf8 mt76: mt7921: move mt7921_init_hw in a dedicated work
      
      Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
      da2b9721
    • Philip Prindeville's avatar
      kernel: include CONFIG_KEXEC_SIG in configs · 23f94aa3
      Philip Prindeville authored
      
      Seeing failure to build because of missing symbols related to provisioning
      CONFIG_KEXEC and signed images.  Without this, if you set
      CONFIG_KERNEL_KEXEC=y and try to build, target/linux will hang at:
      
      scripts/kconfig/conf  --syncconfig Kconfig
      ...
      kexec system call (KEXEC) [Y/n/?] y
      kexec file based system call (KEXEC_FILE) [Y/n/?] y
      Verify kernel signature during kexec_file_load() syscall (KEXEC_SIG) [N/y/?] (NEW)
      
      Signed-off-by: default avatarPhilip Prindeville <philipp@redfish-solutions.com>
      23f94aa3
    • Marek Behún's avatar
      kernel: backport DSA patches fixing null-pointer dereference for 5.10 · fbe2c3fe
      Marek Behún authored
      
      Backport patches
        381a730182f1 ("net: dsa: Move VLAN filtering syncing out of dsa_switch_bridge_leave")
        108dc8741c20 ("net: dsa: Avoid cross-chip syncing of VLAN filtering")
      from upstream (currently in net-next) to fix null-pointer dereference.
      
      Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
      fbe2c3fe
    • Petr Štetiar's avatar
      mac80211: headers: fix lockdep_assert_not_held() · 9cdd15d8
      Petr Štetiar authored
      
      LOCK_STATE_HELD define was omitted during backport of
      lockdep_assert_not_held() which leads to build failures of kernels with
      CONFIG_LOCKDEP=y:
      
       backports-5.15.8-1/backport-include/linux/lockdep.h:16:47: error: 'LOCK_STATE_HELD' undeclared (first use in this function)
      
      Fix it by adding missing LOCK_STATE_HELD define.
      
      References: PR#9373
      Reported-by: default avatarOskari Rauta <oskari.rauta@gmail.com>
      Signed-off-by: default avatarPetr Štetiar <ynezz@true.cz>
      9cdd15d8
  6. Mar 13, 2022
    • Michael Pratt's avatar
      ath79: add support for Araknis AN-700-AP-I-AC · 41be1a2d
      Michael Pratt authored
      
      FCC ID: 2AG6R-AN700APIAC
      
      Araknis AN-700-AP-I-AC is an indoor wireless access point with
      1 Gb ethernet port, dual-band wireless,
      internal antenna plates, and 802.3at PoE+
      
      this board is a Senao device:
      the hardware is equivalent to EnGenius EAP1750
      the software is modified Senao SDK which is based on openwrt and uboot
      including image checksum verification at boot time,
      and a failsafe image that boots if checksum fails
      
      **Specification:**
      
        - QCA9558 SOC		MIPS 74kc, 2.4 GHz WMAC, 3x3
        - QCA9880 WLAN	PCI card, 5 GHz, 3x3, 26dBm
        - AR8035-A PHY	RGMII GbE with PoE+ IN
        - 40 MHz clock
        - 16 MB FLASH		MX25L12845EMI-10G
        - 2x 64 MB RAM	NT5TU32M16
        - UART console	J10, populated, RX shorted to ground
        - 4 antennas		5 dBi, internal omni-directional plates
        - 4 LEDs		power, 2G, 5G, wps
        - 1 button		reset
      
        NOTE: all 4 gpio controlled LEDS are viewed through the same lightguide
      	therefore, the power LED is off for default state
      
      **MAC addresses:**
      
        MAC address labeled as ETH
        Only one Vendor MAC address in flash at art 0x0
      
        eth0 ETH  *:xb art 0x0
        phy1 2.4G *:xc ---
        phy0 5GHz *:xd ---
      
      **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 RX pin at J10
      
      **Installation:**
      
        Method 1: Firmware upgrade page:
      
          (if you cannot access the APs webpage)
          factory reset with the reset button
          connect ethernet to a computer
          OEM webpage at 192.168.20.253
          username and password 'araknis'
          make a new password, login again...
      
          Navigate to 'File Management' page from left pane
          Click Browse and select the factory.bin image
          Upload and verify checksum
          Click Continue to confirm
          wait about 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 0x9fd70000`
          wait a minute
          connect to ethernet and navigate to
          192.168.20.253
          Select the factory.bin image and upload
          wait about 3 minutes
      
      **Return to OEM:**
      
        Method 1: Serial to load Failsafe webpage (above)
      
        Method 2: delete a checksum from uboot-env
        this will make uboot load the failsafe image at next boot
        because it will fail the checksum verification of the image
      
          ssh into openwrt and run
          `fw_setenv rootfs_checksum 0`
          reboot, wait a minute
          connect to ethernet and navigate to
          192.168.20.253
          select OEM firmware image and click upgrade
      
        Method 3: backup mtd partitions before upgrade
      
      **TFTP recovery:**
      
        Requires serial console, reset button does nothing
      
        rename initramfs-kernel.bin to '0101A8C0.img'
        make available on TFTP server at 192.168.1.101
        power board, interrupt boot with serial console
        execute `tftpboot` and `bootm 0x81000000`
      
        NOTE: TFTP may not be reliable due to bugged bootloader
      	set MTU to 600 and try many times
      
      **Format of OEM firmware image:**
      
        The OEM software is built using SDKs from Senao
        which is based on a heavily modified version
        of Openwrt Kamikaze or Altitude Adjustment.
        One of the many modifications is sysupgrade being performed by a custom script.
        Images are verified through successful unpackaging, correct filenames
        and size requirements for both kernel and rootfs files, and that they
        start with the correct magic numbers (first 2 bytes) for the respective headers.
      
        Newer Senao software requires more checks but their script
        includes a way to skip them.
      
        The OEM upgrade script is at
        /etc/fwupgrade.sh
      
        OKLI kernel loader is required because the OEM software
        expects the kernel to be less than 1536k
        and the OEM upgrade procedure would otherwise
        overwrite part of the kernel when writing rootfs.
      
      Note on PLL-data cells:
      
        The default PLL register values will not work
        because of the external 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`.
      
        The clock delay required for RGMII can be applied at the PHY side,
        using the at803x driver `phy-mode` setting through the DTS.
        Therefore, the Ethernet Configuration registers for GMAC0
        do not need the bits for RGMII delay on the MAC side.
        This is possible due to fixes in at803x driver
        since Linux 5.1 and 5.3
      
      Signed-off-by: default avatarMichael Pratt <mcpratt@pm.me>
      41be1a2d
    • Michael Pratt's avatar
      ath79: add support for Araknis AN-500-AP-I-AC · 56716b57
      Michael Pratt authored
      
      FCC ID: 2AG6R-AN500APIAC
      
      Araknis AN-500-AP-I-AC is an indoor wireless access point with
      1 Gb ethernet port, dual-band wireless,
      internal antenna plates, and 802.3at PoE+
      
      this board is a Senao device:
      the hardware is equivalent to EnGenius EAP1200
      the software is modified Senao SDK which is based on openwrt and uboot
      including image checksum verification at boot time,
      and a failsafe image that boots if checksum fails
      
      **Specification:**
      
        - QCA9557 SOC		MIPS 74kc, 2.4 GHz WMAC, 2x2
        - QCA9882 WLAN	PCI card 168c:003c, 5 GHz, 2x2, 26dBm
        - AR8035-A PHY	RGMII GbE with PoE+ IN
        - 40 MHz clock
        - 16 MB FLASH		MX25L12845EMI-10G
        - 2x 64 MB RAM	NT5TU32M16
        - UART console	J10, populated, RX shorted to ground
        - 4 antennas		5 dBi, internal omni-directional plates
        - 4 LEDs		power, 2G, 5G, wps
        - 1 button		reset
      
        NOTE: all 4 gpio controlled LEDS are viewed through the same lightguide
      	therefore, the power LED is off for default state
      
      **MAC addresses:**
      
        MAC address labeled as ETH
        Only one Vendor MAC address in flash at art 0x0
      
        eth0 ETH  *:e1 art 0x0
        phy1 2.4G *:e2 ---
        phy0 5GHz *:e3 ---
      
      **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 RX pin at J10
      
      **Installation:**
      
        Method 1: Firmware upgrade page:
      
          (if you cannot access the APs webpage)
          factory reset with the reset button
          connect ethernet to a computer
          OEM webpage at 192.168.20.253
          username and password 'araknis'
          make a new password, login again...
      
          Navigate to 'File Management' page from left pane
          Click Browse and select the factory.bin image
          Upload and verify checksum
          Click Continue to confirm
          wait about 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 0x9fd70000`
          wait a minute
          connect to ethernet and navigate to
          192.168.20.253
          Select the factory.bin image and upload
          wait about 3 minutes
      
      **Return to OEM:**
      
        Method 1: Serial to load Failsafe webpage (above)
      
        Method 2: delete a checksum from uboot-env
        this will make uboot load the failsafe image at next boot
        because it will fail the checksum verification of the image
      
          ssh into openwrt and run
          `fw_setenv rootfs_checksum 0`
          reboot, wait a minute
          connect to ethernet and navigate to
          192.168.20.253
          select OEM firmware image and click upgrade
      
        Method 3: backup mtd partitions before upgrade
      
      **TFTP recovery:**
      
        Requires serial console, reset button does nothing
      
        rename initramfs-kernel.bin to '0101A8C0.img'
        make available on TFTP server at 192.168.1.101
        power board, interrupt boot with serial console
        execute `tftpboot` and `bootm 0x81000000`
      
        NOTE: TFTP may not be reliable due to bugged bootloader
      	set MTU to 600 and try many times
      
      **Format of OEM firmware image:**
      
        The OEM software is built using SDKs from Senao
        which is based on a heavily modified version
        of Openwrt Kamikaze or Altitude Adjustment.
        One of the many modifications is sysupgrade being performed by a custom script.
        Images are verified through successful unpackaging, correct filenames
        and size requirements for both kernel and rootfs files, and that they
        start with the correct magic numbers (first 2 bytes) for the respective headers.
      
        Newer Senao software requires more checks but their script
        includes a way to skip them.
      
        The OEM upgrade script is at
        /etc/fwupgrade.sh
      
        OKLI kernel loader is required because the OEM software
        expects the kernel to be less than 1536k
        and the OEM upgrade procedure would otherwise
        overwrite part of the kernel when writing rootfs.
      
      Note on PLL-data cells:
      
        The default PLL register values will not work
        because of the external 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`.
      
        The clock delay required for RGMII can be applied at the PHY side,
        using the at803x driver `phy-mode` setting through the DTS.
        Therefore, the Ethernet Configuration registers for GMAC0
        do not need the bits for RGMII delay on the MAC side.
        This is possible due to fixes in at803x driver
        since Linux 5.1 and 5.3
      
      Signed-off-by: default avatarMichael Pratt <mcpratt@pm.me>
      56716b57
    • Michael Pratt's avatar
      ath79: add support for Araknis AN-300-AP-I-N · 561f46bd
      Michael Pratt authored
      
      FCC ID: U2M-AN300APIN
      
      Araknis AN-300-AP-I-N is an indoor wireless access point with
      1 Gb ethernet port, dual-band wireless,
      internal antenna plates, and 802.3at PoE+
      
      this board is a Senao device:
      the hardware is equivalent to EnGenius EWS310AP
      the software is modified Senao SDK which is based on openwrt and uboot
      including image checksum verification at boot time,
      and a failsafe image that boots if checksum fails
      
      **Specification:**
      
        - AR9344 SOC		MIPS 74kc, 2.4 GHz WMAC, 2x2
        - AR9382 WLAN		PCI on-board 168c:0030, 5 GHz, 2x2
        - AR8035-A PHY	RGMII GbE with PoE+ IN
        - 40 MHz clock
        - 16 MB FLASH		MX25L12845EMI-10G
        - 2x 64 MB RAM	1839ZFG V59C1512164QFJ25
        - UART console	J10, populated, RX shorted to ground
        - 4 antennas		5 dBi, internal omni-directional plates
        - 4 LEDs		power, 2G, 5G, wps
        - 1 button		reset
      
        NOTE: all 4 gpio controlled LEDS are viewed through the same lightguide
      	therefore, the power LED is off for default state
      
      **MAC addresses:**
      
        MAC address labeled as ETH
        Only one Vendor MAC address in flash at art 0x0
      
        eth0 ETH  *:7d art 0x0
        phy1 2.4G *:7e ---
        phy0 5GHz *:7f ---
      
      **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 RX pin at J10
      
      **Installation:**
      
        Method 1: Firmware upgrade page:
      
          (if you cannot access the APs webpage)
          factory reset with the reset button
          connect ethernet to a computer
          OEM webpage at 192.168.20.253
          username and password 'araknis'
          make a new password, login again...
      
          Navigate to 'File Management' page from left pane
          Click Browse and select the factory.bin image
          Upload and verify checksum
          Click Continue to confirm
          wait about 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 0x9fd70000`
          wait a minute
          connect to ethernet and navigate to
          192.168.20.253
          Select the factory.bin image and upload
          wait about 3 minutes
      
      **Return to OEM:**
      
        Method 1: Serial to load Failsafe webpage (above)
      
        Method 2: delete a checksum from uboot-env
        this will make uboot load the failsafe image at next boot
        because it will fail the checksum verification of the image
      
          ssh into openwrt and run
          `fw_setenv rootfs_checksum 0`
          reboot, wait a minute
          connect to ethernet and navigate to
          192.168.20.253
          select OEM firmware image and click upgrade
      
        Method 3: backup mtd partitions before upgrade
      
      **TFTP recovery:**
      
        Requires serial console, reset button does nothing
      
        rename initramfs-kernel.bin to '0101A8C0.img'
        make available on TFTP server at 192.168.1.101
        power board, interrupt boot with serial console
        execute `tftpboot` and `bootm 0x81000000`
      
        NOTE: TFTP may not be reliable due to bugged bootloader
      	set MTU to 600 and try many times
      
      **Format of OEM firmware image:**
      
        The OEM software is built using SDKs from Senao
        which is based on a heavily modified version
        of Openwrt Kamikaze or Altitude Adjustment.
        One of the many modifications is sysupgrade being performed by a custom script.
        Images are verified through successful unpackaging, correct filenames
        and size requirements for both kernel and rootfs files, and that they
        start with the correct magic numbers (first 2 bytes) for the respective headers.
      
        Newer Senao software requires more checks but their script
        includes a way to skip them.
      
        The OEM upgrade script is at
        /etc/fwupgrade.sh
      
        OKLI kernel loader is required because the OEM software
        expects the kernel to be less than 1536k
        and the OEM upgrade procedure would otherwise
        overwrite part of the kernel when writing rootfs.
      
      Note on PLL-data cells:
      
        The default PLL register values will not work
        because of the external 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`.
      
        The clock delay required for RGMII can be applied at the PHY side,
        using the at803x driver `phy-mode` setting through the DTS.
        Therefore, the Ethernet Configuration registers for GMAC0
        do not need the bits for RGMII delay on the MAC side.
        This is possible due to fixes in at803x driver
        since Linux 5.1 and 5.3
      
      Signed-off-by: default avatarMichael Pratt <mcpratt@pm.me>
      561f46bd
    • Michael Pratt's avatar
      ath79: improve factory.bin for some Senao devices · 07723492
      Michael Pratt authored
      
      Some boards with firmware made with Senao SDK based on Linux 3.3
      have the following lines in the OEM upgrade script at
      /etc/fwupgrade.sh
      
      	local append=""
      	local CONF_TAR="/tmp/sysupgrade.tgz"
      	[ -f "$CONF_TAR" ] && append="-j $CONF_TAR"
      
      and
      
      	\# check FWINFO filename
      	[ -z $(ls FWINFO* | grep -i ${modelname}) ] && errcode="1"
      
      This addition also prevents needing to factory reset after flashing
      for some boards that also have these lines in the script
      
      	\# Support downgrade but do default (Smart v2.x.x.x -> senaowrt v1.x.x.x)
      	[ $(ls FWINFO* | grep -i ${modelname} | cut -d "-" -f4 | cut -c 2) -lt 2 ] && append=""
      
      Signed-off-by: default avatarMichael Pratt <mcpratt@pm.me>
      07723492
Loading