1. 16 Mar, 2019 2 commits
  2. 14 Mar, 2019 4 commits
    • Tony Ambardar's avatar
      iproute2: tc: reduce size of dynamic symbol table · b6149540
      Tony Ambardar authored
      In the case of SHARED_LIBS=y, don't use -export-dynamic to place *all*
      symbols into the dynamic symbol table. Instead, use --dynamic-list to
      export a smaller set of symbols similar to that defined in static-syms.h
      in the case of SHARED_LIBS=n, avoiding an 11 KB tc package size increase.
      The symbol set is based on that required by the only plugin, m_xt.so.
      Also increment PKG_RELEASE.
      Signed-off-by: default avatarTony Ambardar <itugrok@yahoo.com>
      Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE fixup]
    • Tony Ambardar's avatar
      iproute2: tc: enable and fix support for using .so plugins · 0b57a216
      Tony Ambardar authored
      This enables using the tc module m_xt.so, which uses the act_ipt kernel
      module to allow tc actions based on iptables targets. e.g.
         tc filter add dev eth0 parent 1: prio 10 protocol ip \
         u32 match u32 0 0 action xt -j DSCP --set-dscp-class BE
      Make the SHARED_LIBS parameter configurable and based on tc package
      Fix a problem using the tc m_xt.so plugin as also described in
        Sync include/xtables.h from iptables to make sure the right offset is
        used when accessing structure members defined in libxtables. One could
        get “Extension does not know id …” otherwise. (See also: #868059)
      Patch to sync the included xtables.h with system iptables 1.6.x. This
      continues to work with iptables 1.8.2.
      Signed-off-by: default avatarTony Ambardar <itugrok@yahoo.com>
    • Tony Ambardar's avatar
      iproute2: support eBFP/XDP object file loading, simplify linking libelf · f61359e1
      Tony Ambardar authored
      Add build and runtime dependencies on libelf, allowing tc and ip-full
      to load BPF and XDP object files respectively.
      Define package 'tc' as a singleton package variant, which can be used to
      enable additional functionality limited only to tc. Also set ip-tiny
      as the default 'ip' variant.
      Preserve optionality of libelf by having configuration script follow the
      HAVE_ELF environment variable, used similarly to the HAVE_MNL variable.
      Signed-off-by: default avatarTony Ambardar <itugrok@yahoo.com>
    • Hans Dedecker's avatar
      netifd: update to latest git HEAD (FS#2087) · 127d38f2
      Hans Dedecker authored
      81ac3bc interface-ip: fix delegate config update on reload (FS#2087)
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
  3. 13 Mar, 2019 21 commits
    • Zoltan HERPAI's avatar
      uboot-sunxi: add fix for A20-OLinuXino-Lime2-eMMC rev. K boards · 5e247f3a
      Zoltan HERPAI authored
      The OLinuXino Lime2 rev. K boards use new PHYs (Micrel KSZ9031),
      so enable that.
      Signed-off-by: default avatarZoltan HERPAI <wigyori@uid0.hu>
    • Zoltan HERPAI's avatar
      uboot-sunxi: bump to 2019.01 · e991fb44
      Zoltan HERPAI authored
      Tested on:
      Bananapro (A20)
      Banana Pi M3 (A83t)
      Linksprite pcDuino3 (A20)
      Olinuxino Lime (A10)
      Orange Pi 2 (H3)
      Pine64 (A64)
      Patches refreshed.
      Signed-off-by: default avatarZoltan HERPAI <wigyori@uid0.hu>
    • Rosen Penev's avatar
      ath79: ag71xx: Remove ndo_poll_controller · 96e0fa94
      Rosen Penev authored
      It is unused by default and upstream is trying to remove it as it has
      negative effects when the driver is under load. Upstream explanation:
      netpoll: avoid capture effects for NAPI drivers
      As diagnosed by Song Liu, ndo_poll_controller() can
      be very dangerous on loaded hosts, since the cpu
      calling ndo_poll_controller() might steal all NAPI
      contexts (for all RX/TX queues of the NIC).
      This capture, showing one ksoftirqd eating all cycles
      can last for unlimited amount of time, since one
      cpu is generally not able to drain all the queues under load.
      It seems that all networking drivers that do use NAPI
      for their TX completions, should not provide a ndo_poll_controller() :
      Most NAPI drivers have netpoll support already handled
      in core networking stack, since netpoll_poll_dev(
       uses poll_napi(dev) to iterate through registered
      NAPI contexts for a device.
      Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
    • Adrian Schmutzler's avatar
      ar71xx: Speed up mtd extraction in ar71xx.sh · 26f7cf8a
      Adrian Schmutzler authored
      Although the amount of data read here is smaller than for the
      caldata, there still might be some speed gain compared to reading
      bytewise. And there is no harm ...
      Signed-off-by: default avatarAdrian Schmutzler <freifunk@adrianschmutzler.de>
    • Adrian Schmutzler's avatar
      ar71xx: Speed up caldata/eeprom handling · 51fb186c
      Adrian Schmutzler authored
      Reading and writing to and from flash storage is slowed down
      enormously by some functions which use a block size of 1.
      This patch reworks the extraction scripts to be much faster and
      efficient by reading and writing in possibly one big block.
      This is based on the initial commit a69e101e
       for ipq40xx by
      Christian Lamparter <chunkeey@gmail.com>.
      Speed comparison @ TP-Link TL-WDR4300 (just manually) results
      in a time reduction by three orders of magnitude (99.9 %).
      > time dd if=/dev/mtd3 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096
      4096+0 records in
      4096+0 records out
      real    0m 15.85s
      user    0m 0.06s
      sys     0m 13.28s
      > time dd if=/dev/mtd3 of=/lib/firmware/test-fast bs=4096 count=1 skip=4096 iflag=skip_bytes
      1+0 records in
      1+0 records out
      real    0m 0.02s
      user    0m 0.00s
      sys     0m 0.02s
      Signed-off-by: default avatarAdrian Schmutzler <freifunk@adrianschmutzler.de>
    • Adrian Schmutzler's avatar
      ath79: Speed up caldata/eeprom handling · e1ba59ea
      Adrian Schmutzler authored
      Reading and writing to and from flash storage is slowed down
      enormously by some functions which use a block size of 1.
      This patch reworks the extraction scripts to be much faster and
      efficient by reading and writing in possibly one big block.
      This is based on the initial commit a69e101e
       for ipq40xx by
      Christian Lamparter <chunkeey@gmail.com>.
      Speed comparison @ UBNT AC-Mesh (just manually) results
      in a time reduction by three orders of magnitude (99.9 %).
      > time dd if=/dev/mtd6 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096
      4096+0 records in
      4096+0 records out
      real    0m 16.84s
      user    0m 0.07s
      sys     0m 13.54s
      > time dd if=/dev/mtd6 of=/lib/firmware/test-fast bs=4096 count=1 skip=4096 iflag=skip_bytes
      1+0 records in
      1+0 records out
      real    0m 0.02s
      user    0m 0.00s
      sys     0m 0.02s
      Signed-off-by: default avatarAdrian Schmutzler <freifunk@adrianschmutzler.de>
      Tested-by: default avatarRosen Penev <rosenp@gmail.com>
    • kbuild test robot's avatar
      apm821xx: usb: xhci: fix semicolon.cocci warnings · 91a77911
      kbuild test robot authored
      drivers/usb/host/xhci-pci.c:788:2-3: Unneeded semicolon
       Remove unneeded semicolon.
      Generated by: scripts/coccinelle/misc/semicolon.cocci
      Fixes: 9e0fd1b5
       ("apm821xx: add support for the Netgear Centria N900 WNDR4700/WNDR4720")
      Signed-off-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [changed subject]
    • Linus Walleij's avatar
      gemini: Generate padded kernel+rootfs images for DIR-685 · ac5f431a
      Linus Walleij authored
      We currently generate a kernel that boots from the harddrive
      in the DIR-685. That's not how we usually do things, so
      let's augment it to boot from flash and mount the rootfs
      using squashfs and JFFS2 like everyone else.
      Partition splitting only work when the partitions are
      inside of a "partitions" node which is why we have a patch
      like this (submitted upstream).
      Another patch drops the rootfs arguments and renames the
      firmware partition while adding the compatible "wrg"
      to it so the WRGG parser will kick in.
      Factory image was tested by bravely reflashing the DIR-685
      from stock firmware using the web UI and the serial console
      boot loader.
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    • Linus Walleij's avatar
      kernel: mtdsplit: wrgg: Support big and little endian · b9070972
      Linus Walleij authored
      The WRGG images exist in both big and little endian variants,
      as can be seen from the image generator in
      tools/firmware-utils/src/mkwrggimg.c, you either pass
      the "-b" flag or not. The D-Link DIR-685 is using little
      endian images so we need to support splitting these.
      Detect endianness like this: if the kernel entity size
      gets silly big (bigger than the flash memory) we are
      probably using the wrong endianness.
      Example: my kernel of 0x0067ff64 was switched around by
      wrong endianness and detected as 0x64ff67a0 (the actual
      size in swapped endianness + header 0xa0).
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
    • Tomasz Maciej Nowak's avatar
      ath79: add suport for EnGenius EPG5000 · ee34740c
      Tomasz Maciej Nowak authored
      EnGenius EPG5000 (v1.0.0, marketed as IoT Gateway) is a dual band
      wireless router.
      SoC:		Qualcomm Atheros QCA9558
      RAM:		256 MB DDR2
      Flash:		16 MB SPI NOR
      WIFI:		2.4 GHz 3T3R integrated
      		5 GHz 3T3R QCA9880 Mini PCIe card
      Ethernet:	5x 10/100/1000 Mbps QCA8337N
      USB:		1x 2.0
      LEDS:		4x GPIO controlled
      Buttons:	2x GPIO controlled
      UART:		4 pin header, starting count from white triangle on PCB
      		1. VCC 3.3V, 2. GND, 3. TX, 4. RX
      		baud: 115200, parity: none, flow control: none
      1. Connect to one of LAN (yellow) ethernet ports,
      2. Open router configuration interface,
      3. Go to Tools > Firmware,
      4. Select OpenWrt factory image with dlf extension and hit Apply,
      5. Wait few minutes, after the Power LED will stop blinking, the router
         is ready for configuration.
      Alternative installation
      1. Prepare TFTP server with OpenWrt sysupgrade image,
      2. Connect to one of LAN (yellow) ethernet ports,
      3. Connect to UART port (leaving out VCC pin!),
      4. Power on router,
      5. When asked to enter a number 1 or 3 hit 2, this will select flashing
         image from TFTP server option,
      6. You'll be prompted to enter TFTP server ip (default is,
         then router ip (default is and for last, image name
         downloaded from TFTP server (default is uImageESR1200_1750),
      7. After providing all information U-Boot will start flashing the image,
         You can observe progress on console, it'll take few minutes and when
         the Power LED will stop blinking, router is ready for configuration.
      Additional information
      If connected to UART, when prompted for number on boot, one can enter
      number 4 to open bootloader (U-Boot) command line.
      OEM firmware shell password is: aigo3d0a0tdagr
      useful for creating backup of original firmware.
      When doing upgrade from OpenWrt ar71xx image, it is recomended to not keep
      the old configuration.
      Signed-off-by: default avatarTomasz Maciej Nowak <tomek_n@o2.pl>
    • Marius Genheimer's avatar
      ipq40xx: limit frequencies for Asus Lyra · 41a86deb
      Marius Genheimer authored
      The Asus Lyra has filters in the antenna paths which limits
      the usable frequencies on both 5GHz radios.
      Signed-off-by: default avatarMarius Genheimer <mail@f0wl.cc>
    • David Bauer's avatar
      ipq40xx: add support for AVM FRITZ!Repeater 3000 · 148d29d4
      David Bauer authored
      CPU:   Qualcomm IPQ4019
      RAM:   256M (NANYA NT5CC128M16JR-EK)
      FLASH: 128M NAND (Macronix MX30LF1G18AC-XKI)
      ETH:   Qualcomm QCA8072
      WiFi2: IPQ4019 2T2R 2SS b/g/n
      WiFi5: IPQ4019 2T2R 2SS n/ac
      WiFi5: QCA9984 4T4R 4SS n/ac
      LED:    - Connect green/blue/red
              - Power green
      BTN:   WPS/Connect
      UART:  115200n8 3.3V
             VCC - RX - TX - GND (Square is VCC)
      1. Grab the uboot for the Device from the 'u-boot-fritz3000'
         subdirectory. Place it in the same directory as the 'eva_ramboot.py'
         script. It is located in the 'scripts/flashing' subdirectory of the
         OpenWRT tree.
      2. Assign yourself the IP address Connect your
         Computer to one of the boxes LAN ports.
      3. Connect Power to the Box. As soon as the LAN port of your computer
         shows link, load the U-Boot to the box using following command.
         > ./eva_ramboot.py --offset 0x85000000 uboot-fritz3000.bin
      4. The U-Boot will now start. Now assign yourself the IP address Copy the OpenWRT initramfs (!) image to a TFTP
         server root directory and rename it to 'FRITZ3000.bin'.
      5. The Box will now boot OpenWRT from RAM. This can take up to two
      6. Copy the U-Boot and the OpenWRT sysupgrade (!) image to the Box using
         scp. SSH into the Box and first write the Bootloader to both previous
         kernel partitions.
         > mtd write /path/to/uboot-fritz3000.bin uboot0
         > mtd write /path/to/uboot-fritz3000.bin uboot1
      7. Remove the AVM filesystem partitions to make room for our kernel +
         rootfs + overlayfs.
         > ubirmvol /dev/ubi0 --name=avm_filesys_0
         > ubirmvol /dev/ubi0 --name=avm_filesys_1
      8. Flash OpenWRT peristently using sysupgrade.
         > sysupgrade -n /path/to/openwrt-sysupgrade.bin
      Signed-off-by: default avatarDavid Bauer <mail@david-bauer.net>
    • David Bauer's avatar
      fritz-tools: add support for IPQ40xx platform · 5389db72
      David Bauer authored
      AVM devices based on Qualcomm IPQ40xx do not store sector health
      information in the OOB area. Make this check optional to support this
      Signed-off-by: default avatarDavid Bauer <mail@david-bauer.net>
    • David Bauer's avatar
      uboot-fritz4040: bump version to 2019-03-03 · d75db678
      David Bauer authored
      Adds support for the AVM FRITZ!Repeater 3000
      Signed-off-by: default avatarDavid Bauer <mail@david-bauer.net>
    • Jeff Kletsky's avatar
      ath79: Add GL.iNet AR-300M-Lite · fefa34de
      Jeff Kletsky authored
      AR300M-Lite is single-Ethernet variant of the AR300M series
      Its eth0 would otherwise be assigned to the WAN interface
      making it unreachable firstboot or failsafe.
      Installation instructions from OEM (OpenWrt variant):
      * Install sysupgrade.bin using OEM's "Advanced" GUI (LuCI),
         * Do not preserve settings
         * Access rebooted device via Ethernet at OpenWrt default address
      Add previously missing LED defaults for all three variants;
      -nand, -nor, -lite to the definitions in 01_leds
      Non-lite variants thanks to Andreas Ziegler
      Runtime-tested:  GL.iNet AR300M-Lite
      Signed-off-by: default avatarJeff Kletsky <git-commits@allycomm.com>
    • Chen Minqiang's avatar
    • Ozgur Can Leonard's avatar
      ramips: add support for Xiaomi Mi Router 3 Pro · d0090339
      Ozgur Can Leonard authored
      CPU:   MediaTek MT7621AT (2x880MHz)
      RAM:   512MB DDR3
      FLASH: 256MB NAND
      WiFi:  2.4GHz 4x4 MT7615 b/g/n (Needs driver, See Issues!)
      WiFI:  5GHz 4x4 MT7615 a/n/ac  (Needs driver, See Issues!)
      USB:   1x 3.0
      ETH:   1x WAN 10/100/1000 3x LAN 10/100/1000
      LED:   Power/Status
      BTN:   RESET
      UART:  115200 8n1
      Partition layout and boot:
      Stock Xiaomi firmware has the MTD split into (among others)
      - kernel0 (@0x200000)
      - kernel1 (@0x600000)
      - rootfs0
      - rootfs1
      - overlay (ubi)
      Xiaomi uboot expects to find kernels at 0x200000 & 0x600000
      referred to as system 1 & system 2 respectively.
      a kernel is considered suitable for handing control over
      if its linux magic number exists & uImage CRC are correct.
      If either of those conditions fail, a matching sys'n'_fail flag
      is set in uboot env & a restart performed in the hope that the
      alternate kernel is okay.
      If neither kernel checksums ok and both are marked failed, system 2
      is booted anyway.
      Note uboot's tftp flash install writes the transferred
      image to both kernel partitions.
      Similar to the Xiaomi MIR3G, we keep stock Xiaomi firmware in
      kernel0 for ease of recovery, and install OpenWRT into kernel1 and
      The installation file for OpenWRT is a *squashfs-factory.bin file that
      contains the kernel and a ubi partition. This is flashed as follows:
      nvram set flag_try_sys1_failed=1
      nvram set flag_try_sys2_failed=0
      nvram commit
      dd if=factory.bin bs=1M count=4 | mtd write - kernel1
      dd if=factory.bin bs=1M skip=4 | mtd write - rootfs0
      Reverting to stock:
      The part of stock firmware we've kept in kernel0 allows us to run stock
      recovery, which will re-flash stock firmware from a *.bin file on a USB.
      For this we do the following:
      fw_setenv flag_try_sys1_failed 0
      fw_setenv flag_try_sys2_failed 1
      After reboot the LED status light will blink red, at which point pressing
      the 'reset' button will cause stock firmware to be installed from USB.
      OpenWRT currently does not have support for the MT7615 wifi chips. There is
      ongoing work to add mt7615 support to the open source mt76 driver. Until that
      support is in place, there are closed-source kernel modules that can be used.
      See: https://forum.openwrt.org/t/support-for-xiaomi-wifi-r3p-pro/20290/170
      Signed-off-by: default avatarOzgur Can Leonard <ozgurcan@gmail.com>
      Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
      [02_network remaps, Added link to notes]
    • Santiago Piccinini's avatar
      ath79: add support for LibreRouter v1 · 24463d0d
      Santiago Piccinini authored
      SOC:   QCA9558
      RAM:   128M DDR2
      Flash: 16MiB SPI-NOR
      ETH:   QCA8337N: 2x 10/100/1000 PoE and PoE pass-through
      WiFi2: QCA9558 (bgn) 2T2R
      WiFi5: 2x mPCIE with AR9582 (an) 2T2R
      BTN:   1x Reset
      GPIO:  multiple GPIO on header, PoE passthrough enable
      UART:  3.3V 115200 8N1 header on the board
      WDG:   ATTiny13 watchdog
      JTAG:  header on the board
      USB:   1x connector and 1x header on the board
      PoE:   10-32V input in ETH port 1, passthrough in port 2
      mPCIE: 2x populated with radios (but replaceable)
      OpenWrt is preinstalled from factory. To install use <your-image>-sysupgade.bin
      using the web interface or with sysupgrade -n.
      Flash from bootloader (in case failsafe does not work)
      1. Connect the LibreRouter with a serial adapter (TTL voltage) to the UART
         header in the board.
      2. Connect an ETH cable and configure static ip addres
      3. Turn on the device and stop the bootloader sending any key through the serial
      4. Use a TFTP server to serve <your image>-sysupgrade.bin file.
      5. Execute the following commands at the bootloader prompt:
          ath> tftp 82000000 <your image>-sysupgrade.bin
          ath> erase 0x9f050000 +$filesize
          ath> cp.b 0x82000000 0x9f050000 $filesize
          ath> bootm 0x9f050000
      More docs
      * Bootloader https://github.com/librerouterorg/u-boot
      * Board details (schematics, gerbers): https://github.com/librerouterorg/board
      Signed-off-by: default avatarSantiago Piccinini <spiccinini@altermundi.net>
    • David Bauer's avatar
      ipq40xx: fix FRITZBox 7530 NAND controller node · 93601d64
      David Bauer authored
      This removes the 'cs-gpios' property from the AVM FRITZ!Box 7530 NAND
      controller node. As pointed out by Christian Lamparter, the property is
      not needed by the Qualcomm NAND controller driver.
      Signed-off-by: default avatarDavid Bauer <mail@david-bauer.net>
    • Christian Lamparter's avatar
      ipq40xx: fix phy interrupt setting · 784f2e73
      Christian Lamparter authored
      This patch fixes a problem that was discovered during DSA
      development. On the MR33, the link change events from the
      external AR8035-PHY would never make it to the qca8k driver.
      The issue turned out to be a misplaced memcpy that was copying
      over the zero-initialized irq table, when it should have been
      set to PHY_POLL. Hence this patch moves the memcpy after the
      array has been initialized.
      Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
    • Christian Lamparter's avatar
      ipq40xx: tidy up 02_networks · 39092ad9
      Christian Lamparter authored
       - fix linksys' EA6350v3 order
       - remove whitespace that should have been tabs
      Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
  4. 12 Mar, 2019 4 commits
    • Eneas U de Queiroz's avatar
      openssl: disable digests by default, misc fixes · 2407b1ed
      Eneas U de Queiroz authored
      Openssh uses digest contexts across forks, which is not supported by the
      /dev/crypto engine.  The speed of digests is usually not worth enabling
      them anyway.  This changes the default of the DIGESTS option to NONE, so
      the user still has the option to enable them.
      Added another patch related to the use of encryption contexts across
      forks, that ignores a failure to close a previous open session when
      reinitializing a context, instead of failing the reinitialization.
      Added a link to the Cryptographic Hardware Accelerators document to the
      engine pacakges description, to provide more detailed instructions to
      configure the engines.
      Revert the removal of the OPENSSL_ENGINE_CRYPTO symbol, currently used
      by openssh.  There is an open PR to update openssh; when merged, this
      symbol can be safely removed.
      Signed-off-by: default avatarEneas U de Queiroz <cote2004-github@yahoo.com>
      Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [refresh patches]
    • Daniel Golle's avatar
      oxnas: install wireless driver on pogoplugpro · 8c593804
      Daniel Golle authored
      PogoPlug Pro comes with AzureWave AW-NE762H PCIe module containing
      Ralink's Rt3090 chip supported by the rt2x00 driver.
      Install the driver as well as wpad-basic.
      Signed-off-by: default avatarDaniel Golle <daniel@makrotopia.org>
    • Daniel Golle's avatar
      mac80211: rt2x00: import and update pending patches · 36530ba7
      Daniel Golle authored
      Imported from patchwork, patches marked with '=' have already been in
      our tree:
       [v3,1/4] cfg80211: add ratelimited variants of err and warn
       [v3,2/4] rt2x00: use ratelimited variants dev_warn/dev_err
       [v3,3/4] rt2x00: check number of EPROTO errors
      =[v3,4/4] rt2x00: do not print error when queue is full
      Signed-off-by: default avatarDaniel Golle <daniel@makrotopia.org>
    • Daniel Golle's avatar
  5. 11 Mar, 2019 9 commits
    • Daniel Golle's avatar
    • Wojciech Dubowik's avatar
    • Piotr Dymacz's avatar
      ath79: add support for TP-Link RE350K v1 · db914187
      Piotr Dymacz authored
      TP-Link RE350K v1 (FCC ID: TE7RE350K) is a wall-plug AC1200 Wi-Fi range
      extender with 'Kasa Smart' support. Device is based on Qualcomm/Atheros
      QCA9558 + QCA9882 + AR8035 platform and is available only on US market.
      - 720/600/200 MHz (CPU/DDR/AHB)
      - 128 MB of RAM (DDR2)
      - 16 MB of flash (SPI NOR)
      - 1x 1 Gbps Ethernet (AR8035)
      - 2T2R 2.4 GHz (QCA9558), with ext. PA (SE2565T) and LNA (SKY65971-11)
      - 2T2R 5 GHz (QCA9882), with ext. PA (SE5003L1-R) and LNA (SKY65981-11)
      - 2x U.FL connector on PCB
      - 2x dual-band PCB antennas
      - 1x LED, 2x dual-color LED (all driven by GPIO)
      - 3x button (app config, led, reset)
      - 1x mechanical on/off slide switch
      - 1x UART (4-pin, 2.54 mm pitch) header on PCB
      - 1x JTAG (8-pin, 1.27 mm pitch) header on PCB
      Flash instruction:
      Use 'factory' image directly in vendor GUI (default IP:,
      default credentials: admin/admin).
      This device does not include any kind of recovery mechanism in U-Boot.
      Vendor firmware access:
      You can access vendor firmware over serial (RX line requires jumper
      resistor in R306 place, near XTAL) with: root/sohoadmin credentials.
      Signed-off-by: default avatarPiotr Dymacz <pepe2k@gmail.com>
    • Piotr Dymacz's avatar
    • Piotr Dymacz's avatar
      ramips: add support for ALFA Network Tube-E4G · 9b641398
      Piotr Dymacz authored
      ALFA Network Tube-E4G is an outdoor, dual-SIM LTE Cat. 4 CPE, based on
      MediaTek MT7620A, equipped with Quectel EC25 miniPCIe modem.
      - MT7620A (580 MHz)
      - 64/128/256 MB of RAM (DDR2)
      - 16/32 MB of flash (SPI NOR)
      - 1x 10/100 Mbps Ethernet, with passive PoE support (24 V)
      - 1x miniPCIe slot (with PCIe and USB 2.0 buses)
      - 2x SIM slot (mini, micro) with detect and switch driven by GPIO
      - 1x detachable antenna (modem main)
      - 1x internal antenna (modem div)
      - 1x GPS passive antenna (optional)
      - 5x LED (all driven by GPIO)
      - 1x button (reset)
      - UART (4-pin, 2.54 mm pitch) header on PCB
      Default SIM slot is selected at an early stage by U-Boot, based on
      'default_sim' environment value: 1 or unset = SIM1 (mini), 2 = SIM2
      (micro). U-Boot also resets the modem, using #PERST signal, before
      starting kernel.
      Flash instruction:
      You can use the 'sysupgrade' image directly in vendor firmware which is
      based on OpenWrt (make sure to not preserve settings - use 'sysupgrade
      -n -F ...' command). Alternatively, use web recovery mode in U-Boot:
      1. Power the device with reset button pressed, the LAN LED will start
         blinking slowly and after ~3 seconds, when it starts blinking faster,
         you can release the button.
      2. Setup static IP on your PC.
      3. Go to in browser and upload 'sysupgrade' image.
      Signed-off-by: default avatarPiotr Dymacz <pepe2k@gmail.com>
    • Michael Heimpold's avatar
      mxs: disable unused serial drivers · 6ac5144b
      Michael Heimpold authored
      This disables PL010 and 8250 serial support for this platform
      as both drivers are not used: the debug UART is PL011 and the
      application UARTs use a dedicated MXS specific driver.
      The kernel size reduction is neglectable, but it also removes
      the non-working (confusing) /dev/ttyS0 and /dev/ttyS1 devices
      in a running system (which generate errors when trying to use):
        root@OpenWrt:~# echo "hello world" > /dev/ttyS0
        ash: write error: I/O error
      Signed-off-by: default avatarMichael Heimpold <mhei@heimpold.de>
    • Hans Dedecker's avatar
      busybox: add missing install dir · 2cd28c9a
      Hans Dedecker authored
      Add missing /usr/sbin install dir fixing :
      install: cannot create regular file 'build_dir/target-x86_64_musl/busybox-1.30.1/.pkgdir/busybox/usr/sbin/ntpd-hotplug': No such file or directory
      Signed-off-by: default avatarHans Dedecker <dedeckeh@gmail.com>
    • Daniel Golle's avatar
      oxnas: fix oxnas-rps-timer dt-match · b4917fa9
      Daniel Golle authored
      Signed-off-by: default avatarDaniel Golle <daniel@makrotopia.org>
    • Daniel Golle's avatar