commit e15c63a375
ar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC)
changed the existing rb-nor-flash-16M-ac image in a way that it would
now only support the rb-wapg-5hact2hnd.
The board show however rather be added to the existing boards in the
rb-nor-flash-16M image template.
Reported-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The patch adds support for the MikroTik RB911-2Hn (911 Lite2)
and the RB911-5Hn (911 Lite5) boards:
https://mikrotik.com/product/RB911-2Hnhttps://mikrotik.com/product/RB911-5Hn
The two boards are using the same hardware design, the only difference
between the two is the supported wireless band.
Specifications:
* SoC: Atheros AR9344 (600MHz)
* RAM: 64MiB
* Storage: 16 MiB SPI NOR flash
* Ethernet: 1x100M (Passive PoE in)
* Wireless: AR9344 built-in wireless MAC, single chain
802.11b/g/n (911-2Hn) or 802.11a/g/n (911-5Hn)
Notes:
* Older versions of these boards might be equipped with a NAND
flash chip instead of the SPI NOR device. Those boards are not
supported (yet).
* The MikroTik RB911-5HnD (911 Lite5 Dual) board also uses the
same hardware. Support for that can be added later with little
effort probably.
Installation:
1. Setup a DHCP/BOOTP Server with the following parameters:
* DHCP-Option 66 (TFTP server name): pointing to a local TFTP
server within the same subnet of the DHCP range
* DHCP-Option 67 (Bootfile-Name): matching the initramfs filename
of the to be booted image. The usable intramfs files are:
- openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf
- openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf
- openwrt-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin
2. Press the reset button on the board and keep that pressed.
3. Connect the board to your local network via its ethernet port.
4. Release the button after the LEDs on the board are turned off.
Now the board should load and start the initramfs image from
the TFTP server.
5. Upload the sysupgrade image to the board with scp:
$ scp openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/fw.bin
5. Log in to the running system listening on 192.168.1.1 via ssh
as root (without password):
$ ssh root@192.168.1.1
7. Flash the uploaded firmware file from the ssh session via the
sysupgrade command:
root@OpenWrt:~# sysupgrade /tmp/fw.bin
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Add patches for the leds-gpio driver to make it usable with
open-drain and open-source kind of GPIO lines.
This type of functionality is required by various MikroTik boards.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Modify the rbspi_platform_setup() function to return the pointer of the
rb_info structure. This allows board specific setup routines to access
the various fields of the information. It is useful for investigating
the hardware option bits for example.
Also update the board setup codes, to ensure that those handle the new
return value correctly.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Add bit definitions for the 'hardware options' tag which is used in
the MikroTik devices' hardware configurations. These values can be
used in board setup codes, to do different initialization sequences.
The values were obtained from the RouterOS 6.41-rc38 patches.
Additionally, introduce two helper functions what make the processing
of the hardware options easy.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
The setup code of the OpenMesh OM5P ACv2 device uses nothing
from the mdio-gpio.h header, so remove the inclusion of that.
Also remove the kernel version check which is needed only
because the mdio-gpio.h header exists in a different path
in older kernels.
Compile tested only.
Cc: Sven Eckelmann <sven.eckelmann@openmesh.com>
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Commit e15c63a375 ("ar71xx: add support for MikroTik RouterBOARD wAP
G-5HacT2HnD (wAP AC") broke the format of the patches. In unified diff
format, the unchanged, contextual lines must be preceded by a space
character.
Refresh the patches with quilt to fix them.
Fixes: e15c63a375 ("ar71xx: add support for MikroTik RouterBOARD wAPG-5HacT2HnD (wAP AC")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
The patches introduced in commit 20e68f6d39 ("ar71xx: kernel: enable
PCI on QCA9556 SoC") have non standard format. In unified diff format,
the unchanged, contextual lines must be preceded by a space character.
Refresh the patches with quilt to fix them.
Fixes: 20e68f6d39 ("ar71xx: kernel: enable PCI on QCA9556 SoC")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
The setup code defines four individual structures for the
Reset buttons of the supported boards. The only difference
between the definitions is the GPIO number used for the
button.
Replace the different structures with one generic variant,
and add a helper function to simplify the button registration.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Match mapping of the switch LEDs according to the TP-Link
firmware behavior. LAN port 1 triggers the most right LAN LED,
LAN port 2 the second LAN LED from the right and so on.
Signed-off-by: David Bauer <mail@david-bauer.net>
Current EnGenius ENS202EXT factory image recipe version causes factory
images of the following devices to be corrupted. This issue wasn't
visible until recent changes of image Makefile snippets order.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This patch adds support for the MikroTik RouterBOARD wAP G-5HacT2HnD (wAP
AC), a small weatherproof dual band, dual-radio 802.11ac wireless AP with
integrated omnidirectional anntennae and one 10/100/1000 Mbps Ethernet
ports.
See https://mikrotik.com/product/RBwAPG-5HacT2HnD for more info.
Specifications:
- SoC: Qualcomm Atheros QCA9556
- RAM: 64 MB
- Storage: 16 MB NOR
- Wireless:
· Atheros AR9550 (SoC) 802.11b/g/n 2x2:2, 2 dBi antennae
· Qualcomm QCA9880 802.11a/n/ac 3x3:3, 2 dBi antennae
- Ethernet: Atheros AG71xx (SoC, AR8033), 1x 1000/100/10 port, passive
PoE in
Working:
- Board/system detection
- Sysupgrade
- Serial console
- Ethernet
- 2.4 GHz radio
- 5 GHz radio
- Reset button
Not working:
- LEDs (added according to Mikrotik's GPL sources but not functional)
Unsupported:
- ZT2046Q SPI temperature and voltage sensor
Contributors: Giuseppe Tipaldi (@Ciusss89)
Ricky (@rickydee)
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: whitespace fix, use PHYADDR instead of PHYMASK]
This patch enables the PCI bus on the QCA9556 SoC, the same way it is
done on the same family SoC QCA9558.
Tested on a MikroTik RouterBoard wAPG-5HacT2HnD (wAP AC).
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
GL.iNet GL-AR750 is a small size, dual-band (AC750) router, based on
Qualcomm/Atheros QCA9531 v2 + QCA9887. FCC ID: 2AFIW-AR750.
Specification:
- 650/597/216 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 3x 10/100 Mbps Ethernet
- 2T2R 2.4 GHz (QCA9531)
- 1T1R 5 GHz (QCA9887)
- 1x USB 2.0 (power controlled by GPIO)
- 1x microSD (GL857L)
- 3x LED (all driven by GPIO)
- 1x button (reset)
- 1x 2-pos switch
- header for optional PoE module
- 1x micro USB for main power input
- UART + I2C header on PCB
Flash instruction:
Vendor firmware is based on OpenWrt/LEDE. GUI or sysupgrade can be used
to flash OpenWrt/LEDE firmware.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
ALFA Network R36A is a successor of the previous model, the R36 (Ralink
RT3050F based). New version is based on Qualcomm/Atheros QCA9531 v2.
Specification:
- 650/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R (QCA9531) 2.4 GHz, 2x u.fl connectors on PCB
- 1x USB 2.0 (power controlled by GPIO)
- 6x LED (5 of them are driven by GPIO)
- 2x button (reset, wifi/wps)
- external h/w watchdog (EM6324QYSP5B, disabled and not used)
- DC jack for main power input (12 V)
- UART header on PCB
Flash instruction:
You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:
1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
device, wait for first blink of all LEDs (indicates network setup),
then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Teltonika RUT900 is an industrial 3G router based on Atheros AR9344.
There are available 3 other models in RUT9xx series: RUT905, RUT950 and
RUT955, which differ in availability of additional I/O ports, built-in
GSM modem type, GPS antenna and other features. FCC ID of the RUT950
model (LTE module built-in): 2AET4-RUT950.
This patch adds support for the RUT900 model only but can be easily
extended to cover whole series. Also, as there are several different
3/4G modules (Huawei, Quectel, Telit) used in whole series, packages
required for WWAN support are not included by default. It is up to the
user to install required software for built-in modem.
Specification:
- 550/400/200 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1
- 2T2R 2,4 GHz (AR9344), with ext. PA (MGA-22103) and LNA
- built-in 3G module (example: Telit HE910-D)
- 2x miniSIM slot
- 2x RP-SMA/F (Wi-Fi), 2x SMA/F (3G)
- PCA9539 16-bit GPIO I2C expander
- 12x LED (4 are driven by AR9344, 7 by PCA9539)
- 1x button (reset)
- DC jack for main power input (9-30 V)
- UART available on PCB edge connector
Serial console pinout:
- RX: pin1 (square) on top side of the main PCB (AR9344 is on top)
- TX: pin1 (square) on bottom side
Flash instruction:
Vendor firmware is based on OpenWrt CC release. Use the "factory" image
directly in GUI (make sure to uncheck "keep settings") or in U-Boot web
based recovery. To avoid any problems, make sure to first update vendor
firmware to latest version - "factory" image was successfully tested on
device running "RUT9XX_R_00.03.960" firmware and U-Boot "3.0.1".
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
ALFA Network N5Q is a successor of previous model, the N5 (outdoor
CPE/AP, based on Atheros AR7240 + AR9280). New version is based on
Atheros AR9344.
Specification:
- 550/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R 5 GHz (AR9344), with ext. PA (RFPA5542) and LNA, up to 27 dBm
- 8x LED (7 are driven by GPIO)
- 1x button (reset)
- external h/w watchdog (EM6324QYSP5B, disabled and not used)
- header for optional 802.3at/af PoE module
- DC jack for main power input (optional, not installed by default)
- UART header on PCB
Flash instruction:
You can use sysupgrade image directly in vendor firmare which is based
on OpenWrt/LEDE. Alternatively, you can use web recovery mode in U-Boot:
1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
device, wait for first blink of all LEDs (indicates network setup),
then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
ALFA Network AP91-5G is a 5 GHz outdoor AP/CPE board, based on Atheros
AR7240 + AR9280.
Specification:
- 400/400/200 MHz (CPU/DDR/AHB)
- 32 MB of RAM (DDR1)
- 8 MB of FLASH (SPI NOR)
- 1x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 1T1R 5 GHz (AR9280), with ext. PA (SE5004L) and LNA, up to 27 dBm
- 6x LED (5 are driven by GPIO)
- 1x button (reset)
- external h/w watchdog (EM6324QYSP5B, disabled and not used)
- header for optional 802.3at/af PoE module
- DC jack for main power input (optional, not installed by default)
- UART and LEDs headers on PCB
Flash instruction:
Use "factory" image in vendor GUI (in case of problems, make sure your
board has up to date firmware). Alternatively, TFTP in U-Boot can be
used: select option "2. Load system code then write to Flash via TFTP"
during early boot and use "sysupgrade" image.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This new subtarget sets the small_flash flag and removes unused kernel
configuration.
small_flash removes KERNEL_KALLSYMS, which saves ~107KB in the default
configuration; removing unneeded hardware support from ar71xx/tiny saves
another ~18KB (both after LZMA).
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Rather than including all machines for the generic subtarget in the base
configuration, leave the base configuration without specific machines and
create a proper subtarget config for ar71xx/generic. The configuration
diffs of the mikrotik and nand subtargets get significantly shorter, as
will the configurations of future subtargets.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
While we'd like to convert ar71xx to DT-based configuration
eventually, we aren't quite there yet, and shipping half-baked DT support
that is not used at all wastes precious space.
Saves ~120KB before LZMA, ~33KB after LZMA.
Run-tested on TP-Link CPE510 and TL-WR841 v7.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
The TP-Link firmware uses (primary_mac-1) as MAC-address
for the 5GHz WiFi. This applies the same behaviour to LEDE.
Currently, the MAC-address is retrieved from eth1, which
does not exist on the Archer C7 v4. As a result from this,
every C7 v4 with LEDE carries the same MAC-Address on the 5GHz WiFi.
Signed-off-by: David Bauer <mail@david-bauer.net>
Because the oldest supported kernel version on the ar71xx target is 4.4,
the condition that the kernel version is smaller than 4.4.0 is always
false. Remove the obsolete check from mach-rb4xx.c to clean up the code
a bit.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Because the oldest supported kernel version on the ar71xx target is 4.4,
the condition that the kernel version is smaller than 4.2.0 is always
false. Remove the obsolete check from ag71xx_main.c to clean up the code
a bit.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Because the oldest supported kernel version on the ar71xx target is 4.4,
the condition that the kernel version is smaller than 3.15.0 is always
false. Remove the obsolete checks from the target specific source files
to clean up the code a bit.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Disable the drivers for the following ethernet switches:
Realtek RTL8306
Realtek RTL8366/8367
Marvell 88E6060 (DSA)
Marvell 88E6063 (DSA)
Also disable the phy driver for Marvell PHYs.
None of the supported RouterBOARDs are using any device
which needs these drivers.
Disable the DSA framework too, because it is not required
by the remaining switch drivers.
This reduces the compressed kernel size by ~20KB.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
The Marvell 88E6063 ethernet switch driver depends on the DSA
framework. Add a 'depends on NET_DSA' statement to its Kconfig
entry to state that explicitly.
Fixes the following Kconfig warning:
warning: (NET_DSA_MV88E6060 && NET_DSA_MV88E6063) selects NET_DSA_TAG_TRAILER which has unmet direct dependencies (NET && NET_DSA)
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Building Linux 4.4 for ar71xx throws the following warnings in
drivers/net/phy/mdio-bitbang.c:
CC drivers/net/phy/mdio-bitbang.o
In file included from include/linux/irqflags.h:14:0,
from drivers/net/phy/mdio-bitbang.c:20:
drivers/net/phy/mdio-bitbang.c: In function 'mdiobb_read':
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
(void)(&__dummy == &__dummy2); \
^
include/linux/irqflags.h:63:3: note: in expansion of macro 'typecheck'
typecheck(unsigned long, flags); \
^
include/linux/irqflags.h:124:3: note: in expansion of macro 'raw_local_irq_save'
raw_local_irq_save(flags); \
^
drivers/net/phy/mdio-bitbang.c:162:2: note: in expansion of macro 'local_irq_save'
local_irq_save(flags);
^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
(void)(&__dummy == &__dummy2); \
^
include/linux/irqflags.h:68:3: note: in expansion of macro 'typecheck'
typecheck(unsigned long, flags); \
^
include/linux/irqflags.h:126:39: note: in expansion of macro 'raw_local_irq_restore'
#define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0)
^
drivers/net/phy/mdio-bitbang.c:175:2: note: in expansion of macro 'local_irq_restore'
local_irq_restore(flags);
^
drivers/net/phy/mdio-bitbang.c:159:11: warning: unused variable 'i' [-Wunused-variable]
int ret, i;
^
In file included from include/linux/irqflags.h:14:0,
from drivers/net/phy/mdio-bitbang.c:20:
drivers/net/phy/mdio-bitbang.c: In function 'mdiobb_write':
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
(void)(&__dummy == &__dummy2); \
^
include/linux/irqflags.h:63:3: note: in expansion of macro 'typecheck'
typecheck(unsigned long, flags); \
^
include/linux/irqflags.h:124:3: note: in expansion of macro 'raw_local_irq_save'
raw_local_irq_save(flags); \
^
drivers/net/phy/mdio-bitbang.c:185:2: note: in expansion of macro 'local_irq_save'
local_irq_save(flags);
^
include/linux/typecheck.h:11:18: warning: comparison of distinct pointer types lacks a cast
(void)(&__dummy == &__dummy2); \
^
include/linux/irqflags.h:68:3: note: in expansion of macro 'typecheck'
typecheck(unsigned long, flags); \
^
include/linux/irqflags.h:126:39: note: in expansion of macro 'raw_local_irq_restore'
#define local_irq_restore(flags) do { raw_local_irq_restore(flags); } while (0)
^
drivers/net/phy/mdio-bitbang.c:200:2: note: in expansion of macro 'local_irq_restore'
local_irq_restore(flags);
^
These are caused by the 900-mdio_bitbang_ignore_ta_value and
901-phy-mdio-bitbang-prevent-rescheduling-during-command patches.
The first patch removes some code but it does not remove the variable
which is used by the removed code only.
The second patch adds local_irq_{save,restore} calls. The type of the
argument of these calls must be 'unsigned long', but the patch defines
the variable as 'long'.
Fix both patches to silence the warnings.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Commit c312cef223 ("ar71xx: spi-rb4xx fix.") replaced the clk_enable() call
with clk_prepare_enable() to meet the common clock framework requirements.
However it did not change the clk_disable() call in the error patch which
thus leads to imbalance.
Fix the code by using the correct counterpart of clk_prepare_enable() in both
places.
Fixes: c312cef223 ("ar71xx: spi-rb4xx fix.")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
This patch adds support for the MikroTik RouterBOARD 921GS-5HPacD r2
(mANTBox 15s), an outdoor sector antenna with a built-in 802.11ac
wireless router. Additionally, it adds a new profile for devices with
>= 128 MB NAND flash and 802.11ac to the ar71xx/mikrotik subtarget.
See https://mikrotik.com/product/RB921GS-5HPacD-15S for more info.
Specifications:
- SoC: Qualcomm Atheros QCA9558 (720 MHz)
- RAM: 128 MB
- Storage: 128 MB NAND
- Wireless: external QCA9822 802.11a/ac 2x2:2
- Ethernet: 1x 1000/100/10 Mbps, integrated, via AR8031 PHY, passive PoE in
- SFP: 1x host
Working:
- Board/system detection
- NAND storage detection
- Wireless
- Ethernet
- 1x user LED
- Reset button
- Sysupgrade
Untested:
- SFP cage (probably not working)
Installation:
- Boot initramfs image via TFTP and then flash sysupgrade image
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Apply code from commits 9e1bc27e6d
(ar71xx: Fix UBIFS work on Mikrotik RB95x devices) and
665bb27499 (ar71xx: fix invalid pointer
dereference in rb95x_nand_scan_fixup()) to RB92x devices too.
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
In the stock firmware both eth0 and eth1 are set to br-lan,
add this behavior to our images.
Fixes: FS#1084
Signed-off-by: Marty E. Plummer <hanetzer@protonmail.com>
Since Linux 4.6, mtd->priv no longer points to the NAND specific
structure. Under 4.9 it contains NULL, thus using it to access
chip->options causes an invalid pointer dereference (FS#1200).
Update the code to use the mtd_to_nand() helper under 4.9 to obtain
the address of the chip specific data.
Fixes: 7bbf4117c6 ("ar71xx: Add kernel 4.9 support")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Since Linux 4.6, mtd->priv no longer points to the NAND specific
structure. Under 4.9 it contains NULL, thus using it to access
the fields of the nand_chip structure causes an invalid pointer
dereference.
Update the code to use the mtd_to_nand() helper under 4.9 to obtain
the address of the chip specific data.
Compile tested only.
Fixes: 7bbf4117c6 ("ar71xx: Add kernel 4.9 support")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
Tested-by: Christian Lamparter <chunkeey@gmail.com>
This reverts commit 256990cbc0.
this commit caused a compile error
"TL_WR1043_V5_GPIO_LED_WANORANGE" is undefined.
Signed-off-by: John Crispin <john@phrozen.org>
Add missing definitions for the orange WAN LED on the TL-WR1043N(D) v4 and
v5. Minor format correction on a constant for consistency.
Signed-off-by: Tim Thorpe <tim@tfthorpe.net>
This patch fixes the switch port numbering on Mikrotik RB951Ui-2nD (hAP).
Also fixes the switch port numbering shown on LuCI for Mikrotik RB493G.
Signed-off-by: João Chaínho <joaochainho@gmail.com>
For an unknown reason gcc tries to link in crti.o when building with a
glibc toolchain (this does not happen with other targets). Prevent this
by telling gcc explicitly to not do that.
Fixes the following build error:
/home/jonas/git/lede/staging_dir/toolchain-mips_24kc_gcc-5.5.0_glibc/lib/gcc/mips-openwrt-linux-gnu/5.5.0/../../../../mips-openwrt-linux-gnu/lib/crti.o: In function `_init':
(.init+0x18): relocation truncated to fit: R_MIPS_GOT16 against `__gmon_start__'
/home/jonas/git/lede/staging_dir/toolchain-mips_24kc_gcc-5.5.0_glibc/lib/gcc/mips-openwrt-linux-gnu/5.5.0/../../../../mips-openwrt-linux-gnu/lib/crti.o: In function `_init':
(.init+0x28): relocation truncated to fit: R_MIPS_CALL16 against `__gmon_start__'
collect2: error: ld returned 1 exit status
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
This will avoid some conflicts when doing a git rebase or merge,
specially when adding support to a new device.
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
[drop brcm47xx changes which rename the images]
Signed-off-by: Mathias Kresin <dev@kresin.me>
Recent RouterBOOT version (at least version 3.41 on RB911G-5HPacD)
use "Board=" kernel parameter instead of "board=" to pass the board
name to the kernel. Due to this change the board detection code is
not working on the devices shipped with the new RouterBOOT version.
Because the kernel is unable to identify these boards they become
unusable despite that they are supported by the current code.
Update the prom_init code to convert the 'Board' kernel parameter to
'board'. After this change, the board detection works also with the
new RouterBOOT versions.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
The boardname isn't used any longer to find the subdirectory in the
sysupgrade tar archive, which makes this override useless.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Qualcomm claims this reduces cache misses. Original commit message below:
From: Ben Menchaca <ben.menchaca@qca.qualcomm.com>
Date: Tue, 11 Jun 2013 12:18:46 -0500
Subject: [ag71xx] reduce NAPI weight
In an attempt to increase our cache warmth, we are decreasing NAPI.
This increases the warmth of the reused SKBs.
Signed-off-by: Ben Menchaca <ben.menchaca@qca.qualcomm.com>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
The motivation for this was misguided. It turns out tuning the NAPI weight could be useful for testing purposes. Therefore reverting.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit fixes LAN Port 1 not transferring data in case no
other LAN Port has active link-state on TP-Link Archer C58/C59.
Signed-off-by: David Bauer <mail@david-bauer.net>
TP-Link TL-WR802N v1 and v2 are set up with almost same configuration in
the mach-files. Merge the mach-files of these devices.
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
TP-Link TL-WR1043N v5 appears to be identical to the TL-WR1043ND v4,
except that the USB port has been removed and there is no longer a
removable antenna option.
The software is more in line with the Archer series in that it uses a
nested bootloader scheme.
Specifications:
- QCA9563 at 775 MHz
- 64 MB RAM
- 16 MB flash
- 3 (non-detachable) Antennas / 450 Mbit
- 1x/4x WAN/LAN Gbps Ethernet (QCA8337)
- reset and Wi-Fi buttons
Signed-off-by: Tim Thorpe <tim@tfthorpe.net>
Signed-off-by: Ludwig Thomeczek <ledesrc@wxorx.net>
The TL-WA901ND v5 has the same hardware as v4, although the PCB has
a different layout. Installation from factory is done via TFTP.
(rename -factory image to wa901ndv4_tp_recovery.bin for tftp)
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
This patch adds support for the MikroTik RouterBOARD mAP 2nD
https://mikrotik.com/product/RBmAP2nD
Specifications:
- SoC: Qualcomm QCA9531 (650 MHz)
- RAM: 64 MB
- Storage: 16 MB NOR SPI flash
- Wireless: builtin QCA9531, 2x2:2
- Ethernet: 2x100M (802.3af/at POE in and passive POE out on ETH2)
- USB: microUSB type AB port
This patch adds missing code to fully support mAP. Machfile already
contained configuration for mAP 2nD, but device specific configuration
like LEDs etc., was missing.
Note: The POE LED works but doesn't turn on when POE passthrough is
enabled, despite being configured with GPIO trigger.
Installation
1. Login to the Mikrotik WebUI to backup your licence keys
2. Setup a DHCP/BOOTP server with:
- DHCP-Option 66 (TFTP server name) pointing to a local TFTP
server within the same subnet of the DHCP range
- DHCP-Option 67 (Bootfile-Name) matching the initramfs filename
of the to be booted image
3. Connect the port labeled internet to your local network
4. Keep the reset button pushed down and power on the board
The board should load and start the initramfs image from the TFTP
server. Login as root/without password to the started LEDE via SSH
listing on IPv4 address 192.168.1.1. Use sysupgrade to install LEDE.
Revert to RouterOS
Use the "rbcfg" package on in LEDE:
- rbcfg set boot_protocol bootp
- rbcfg set boot_device ethnand
- rbcfg apply
Open Netinstall and reboot routerboard. Now Netinstall sees RouterBOARD
and you can install RouterOS. If NetInstall gets stuck on Sending offer
just wait for it to timeout and then close and open Netinstall again.
Click on install again.
In order for RouterOS to function properly, you need to restore license
for the device. You can do that by including license in NetInstall.
Signed-off-by: Robert Marko <robimarko@gmail.com>
The Ubiquiti UniFi APs just have eth0. Until now, the setup script fell
through to the default case and configured the (not present) eth1 as
WAN with DHCP.
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
This patch adds support for the MikroTik RouterBOARD wAP
https://mikrotik.com/product/RBwAP2nD
Specifications:
- SoC: Qualcomm QCA9533 (650 MHz)
- RAM: 64 MB
- Storage: 16 MB NOR SPI flash
- Wireless: built-in QCA9533, 2x2:2
- Ethernet: 1x100M (802.3af/at POE in)
This patch adds missing code to fully support wAP. Machfile already
contained configuration for wAP 2nD but device specific configuration
like LEDs etc. was missing.
Installation:
1. Login to the Mikrotik WebUI to backup your licence keys
2. Setup a DHCP/BOOTP server with:
- DHCP-Option 66 (TFTP server name) pointing to a local TFTP
server within the same subnet of the DHCP range
- DHCP-Option 67 (Bootfile-Name) matching the initramfs filename
of the to be booted image
3. Connect the port labeled internet to your local network
4. Keep the reset button pushed down and power on the board
The board should load and start the initramfs image from the TFTP
server. Login as root/without password to the started LEDE via SSH
listing on IPv4 address 192.168.1.1. Use sysupgrade to install LEDE.
Revert to RouterOS
Use the "rbcfg" package on in LEDE:
- rbcfg set boot_protocol bootp
- rbcfg set boot_device ethnand
- rbcfg apply
Open Netinstall and reboot routerboard. Now Netinstall sees RouterBOARD
and you can install RouterOS. If NetInstall gets stuck on Sending offer
just wait for it to timeout and then close and open Netinstall again.
Click on install again.
In order for RouterOS to function properly, you need to restore license
for the device. You can do that by including license in NetInstall.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Wallys DR342 is a 5 GHz, 2T2R AP/CPE board based on Atheros AR9342.
Short specification:
- 560/450/225 MHz (CPU/DDR/AHB)
- 1x Gbps Ethernet (AR8035) with passive PoE support (24-56 V)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 5 GHz with external FEM (SKY85728-11), up to 30 dBm
- 2x MMCX connectors
- miniPCIe connector with PCIe and USB 2.0 buses
- optional miniSIM slot
- 7x LED, 1x button
- UART, (E)JTAG and LED headers
- 1x DC jack for main power (12-56 V)
Flash instruction (do it under U-Boot, using UART):
1. tftp 0x82000000 lede-ar71xx-generic-dr342-squashfs-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000"
5. saveenv && reset
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This increases kernel partition size and fixes rootfs (file-system)
partition size on TP-Link RE450 v1. Also, while we are at it, switch
from statically defined kernel and rootfs partitions in kernel cmdline
to "tplink-fw" mtd splitter.
Fixes: FS#1072.
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This patch increases kernel partition size and re-enables image
generation for below TP-Link boards:
- archer-c58-v1
- archer-c60-v1
- tl-wr902ac-v1
- tl-wr942n-v1
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
[commit message and title reworded]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
The memcpy of the init data relies on chip->registers to be initialized,
which only happens later in the code. Move this initialization further
down to make it work.
This was breaking PCIe/USB on some MikroTik RouterBoard devices.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
On NOR based Mikrotik devices, 4K sectors significantly slow down
firmware flashing and jffs2 usage. On NAND based devices they may be
necessary to run rbcfg (the boot loader config is often on SPI NOR).
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Some targets need 4K sectors for small flash chips (e.g. some
routerboards, where the entire chip is just one "erase block"), whereas
on other devices 4K sectors lead to horrible flash erase/write
performance.
Set the default limit in the generic kernel configuration to 4 MiB to
ensure that all new platforms don't use 4K sectors for bigger flash
chips. On all existing targets use 16 MiB for now to avoid regressions.
They will be changed individually in follow-up commits.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This fixes the LED configuration for the D-Link DIR-869 A1. In order to
support the device I probed around using an initramfs image for the
UniFi AC. Pulling GPIO 15 to low enabled the LEDs while high disabled them.
GPIO 16 set to low meant that the color was white while pulling it to high
made the color change to orange. The past code was written based upon these
findings.
However, running a flashed image I now discovered that GPIO 15 controls the
orange LEDs while GPIO 16 controls the white ones and that both are active
when low. This means that the GPIOs were inverted and one active_low was set
wrong which this patch fixes.
Behavior of the LED front after this patch is applied:
cat /sys/devices/platform/leds-gpio/leds/d-link:white:status/brightness
0 -> white LEDs are OFF
255 -> white LEDs are ON
cat /sys/devices/platform/leds-gpio/leds/d-link🍊status/brightness
0 -> orange LEDs are OFF
255 -> orange LEDs are ON
If the brightness of both is set to 255 the LED front will be white.
If the brightness of both is set to 0 the LED front will be off.
Signed-off-by: Florian Beier <beier.florian@gmail.com>
The GPIOs are used for defined LEDs and therefore are ignored/unset in
the ath9k driver since 192f0a3db8. The wireless led led trigger is
added in userspace since e20965811d, which makes the
ap9x_pci_setup_wmac_led_pin() superfluous.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The platform data was missing the num_registers element which is now
mandatory in linux 4.9
Without this patch, the gpio probing would fail with:
gpio gpiochip1: (74x164): tried to insert a GPIO chip with zero lines
Fixes: #1106
Tested-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
This commit fix 5GHz wireless interface used in Archer C58/C59/C60v1
and set correctly MAC address on this interface.
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
Add the respective colour to the LED's names for the GL-AR150 to be conform
to the kernel. Also add netdev triggers for the LAN and WAN LED.
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
On RB91x (and possibly others), there is a small SPI flash to store boot
loader and configuration. It needs 4K sectors to be able to write the
configuration using rbcfg
Signed-off-by: Felix Fietkau <nbd@nbd.name>
In 4.9, gpio count is rounded up to 32 due to the use of bgpio in the
ath79 gpio controller driver.
Fix base values in mach files to account for that
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Change the Makefile to use LTO for better code optimisations. Gains are
very low, only 270 bytes saved, but it's only Makefile changes.
Signed-off-by: Julien Dusser <julien.dusser@free.fr>
Some bootloaders set a cache cohenrency to a very slow mode. Use code from
Linux kernel to set it to "Cacheable, noncoherent, write-back, write
allocate".
Perfomance impact is significant on TP-Link EAP245 board, kernel
decompression time fall from 33 seconds to less than 1.
Signed-off-by: Julien Dusser <julien.dusser@free.fr>
This affects the following boards:
* dr344
* archer-c58-v1
* archer-c60-v1
* tl-wr902ac-v1
* tl-wr942n-v1
* ubnt-uap-pro
* ubnt-unifi-outdoor-plus
The build fails for any of these boards because the resulting kernel
image will not fit into the kernel partition.
When CONFIG_KERNEL_KALLSYMS is not set it could be that the kernel will
fit onto the board again, this is the case for release images.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Kernel 4.9 support was added about 2 weeks ago and we haven't seen any
major regression so far. This patch was not ported to kernel 4.9, this
needs some additional work:
821-serial-core-add-support-for-boot-console-with-arbitr.patch
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
TP-Link Archer C7 v4 is a dual-band AC1750 router, based on Qualcomm/Atheros
QCA9561+QCA9888.
Specification:
- 775/650/258 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 3T3R 5 GHz
- 5x 10/100/1000 Mbps Ethernet
- 7x LED, 2x button
- UART header on PCB
Flash instruction:
1. Upload lede-ar71xx-generic-archer-c7-v4-squashfs-factory.bin via Web interface
Flash instruction using TFTP recovery:
1. Set PC to fixed ip address 192.168.0.66
2. Download lede-ar71xx-generic-archer-c7-v4-squashfs-factory.bin
and rename it to ArcherC7v4_tp_recovery.bin
3. Start a tftp server with the file tp_recovery.bin in its root directory
4. Turn off the router
5. Press and hold Reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time
the firmware should be transferred from the tftp server
8. Wait ~30 second to complete recovery.
Flash instruction under U-Boot, using UART:
1. tftp 0x81000000 lede-ar71xx-...-sysupgrade.bin
2. erase 0x9f040000 +$filesize
3. cp.b $fileaddr 0x9f040000 $filesize
4. reset
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Specifications:
- SoC: Qualcomm QCA9558 (720 MHz)
- RAM: 256MB
- Storage: 1MB NOR, 128 MB NAND flash
- Ethernet: 1x1000M
Installation:
1. Connect to serial console on the board
2. Boot initramfs image over u-boot
3. Copy image to the device and run sysupgrade
Installation without serial console is not supported at this time
Signed-off-by: Felix Fietkau <nbd@nbd.name>