openwrt/openwrt.git
6 years agoar71xx: complete support for RB mAP 2nD
Robert Marko [Tue, 14 Nov 2017 11:15:03 +0000 (12:15 +0100)]
ar71xx: complete support for RB mAP 2nD

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>
6 years agoar71xx: fix network setup for UniFi
Paul Wassi [Fri, 20 Oct 2017 15:35:48 +0000 (17:35 +0200)]
ar71xx: fix network setup for UniFi

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>
6 years agoar71xx: complete support for RB wAP 2nD
Robert Marko [Sat, 28 Oct 2017 10:30:39 +0000 (12:30 +0200)]
ar71xx: complete support for RB wAP 2nD

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>
6 years agoar71xx: add support for TP-Link TL-WR810N v2
Paul Wassi [Fri, 10 Nov 2017 21:18:09 +0000 (22:18 +0100)]
ar71xx: add support for TP-Link TL-WR810N v2

TP-Link TL-WR810N v2 is a compact Wi-Fi router with two Ethernet ports.

Specification:

- QCA9533 (650 MHz)
- 32 MB RAM
- 8 MB Flash
- 300 Mbps Wi-Fi 2.4 GHz
- 2x 10/100 Mbps Ethernet (eth0, eth1)
- UART on testpads on PCB
- 1x LED (GPIO-controlled)
- 1x reset/WPS button
- 1x slide-switch with 2 GPIO inputs

Flash instructions:

- Flash as regular firmware update in Web UI
- Default: 192.168.0.254 / admin / admin
- Select *-factory.bin

When holding reset button during power-up, U-Boot requests a file
'wr810nv1_tp_recovery.bin' from TFTP server at 192.168.0.66

Signed-off-by: Paul Wassi <p.wassi@gmx.at>
6 years agofirmware-utils: tplink-safeloader: add more country codes for Archer C7 v4
Dmitry Tunin [Fri, 3 Nov 2017 14:31:54 +0000 (17:31 +0300)]
firmware-utils: tplink-safeloader: add more country codes for Archer C7 v4

If codes do not match, it is impossible to flash from the stock
firmware.

Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
6 years agouboot-envtools: add support for Wallys DR342
Piotr Dymacz [Mon, 23 Oct 2017 11:39:30 +0000 (13:39 +0200)]
uboot-envtools: add support for Wallys DR342

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: add support for Wallys DR342
Piotr Dymacz [Mon, 23 Oct 2017 11:30:20 +0000 (13:30 +0200)]
ar71xx: add support for Wallys DR342

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>
6 years agoramips: add support for UniElec U7628-01
Piotr Dymacz [Fri, 3 Nov 2017 20:12:49 +0000 (21:12 +0100)]
ramips: add support for UniElec U7628-01

UniElec U7628-01 is a router platform board based on MediaTek MT7628AN.
The device has the following specifications:

- MT7628AN (580MHz)
- 64/128/256 MB of RAM (DDR2)
- 8/16 MB of flash (SPI NOR)
- 5x 10/100 Mbps Ethernet (MT7628 built-in switch)
- 1x 2T2R 2.4 GHz Wi-Fi (MT7628)
- 1x miniPCIe slot (with PCIe and USB 2.0 buses)
- 1x miniSIM slot
- 1x microSD slot
- 1x USB 2.0 port
- 7x single-color LEDs (GPIO-controlled)
- 1x bi-color LED (green GPIO-controlled, red -> LED_WLAN# in miniPCIe)
- 1x reset button
- 1x UART header (4-pins)
- 1x SDXC/GPIO header (10-pins, connected with microSD slot)
- 1x DC jack for main power (12 V)

The following has been tested and is working:

- Ethernet switch
- miniPCIe slot (tested with modem and Wi-Fi card)
- miniSIM slot
- sysupgrade
- reset button
- USB 2.0 port*

Due to a missing driver (MMC over GPIO) this is not supported:

- microSD card reader

* Warning:
USB buses in miniPCIe and regular A-type socket are connected together,
without any proper analog switch or USB HUB.

Installation:

This board might come with a different firmware versions (MediaTek SDK,
PandoraBox, Padavan, etc.). If your board comes with PandoraBox, you can
install LEDE using sysupgrade. Just SSH to the router and perform forced
sysupgrade (due to a board name mismatch). The default IP of this board
should be: 192.168.1.1 and username/password: root/admin. In case of a
different firmware, you can use web based recovery described below.

Use the following command to perform the sysupgrade (for the 128MB
RAM/16MB flash version):

sysupgrade -n -F lede-ramips-mt76x8-u7628-01-128M-16M-squashfs-sysupgrade.bin

Recovery:

This board contains a Chinese, closed-source bootloader called Breed
(Boot and Recovery Environment for Embedded Devices). Breed supports web
recovery and to enter it, you keep the reset button pressed for around
5 seconds during boot. Your machine will be assigned an IP through DHCP
and the router will use IP address 192.168.1.1. The recovery website is
in Chinese, but is easy to use. Click on the second item in the list to
access the recovery page, then the second item on the next page is where
you select the firmware. In order to start the recovery, you click the
button at the bottom.

SDXC/GPIO header (J3):

 1. SDXC_D3  / I2C_SCLK
 2. SDXC_D2  / I2C_SD
 3. SDXC_D1  / I2S_DI
 4. SDXC_D0  / I2S_WS
 5. SDXC_CMD / I2S_CLK
 6. SDXC_CLK / GPIO0
 7. SDXC_CD  / UART_RXD1
 8. UART_TXD1
 9. 3V3
10. GND

Other notes:

1. The board is available with different amounts of RAM and flash. We
have only added support for the 128/16 MB configuration, as that seems
to be the default. However, all the required infrastructure is in place
for making support for the other configurations easy.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
6 years agoramips: add support for UniElec U7621-06
Piotr Dymacz [Thu, 2 Nov 2017 15:04:49 +0000 (16:04 +0100)]
ramips: add support for UniElec U7621-06

UniElec U7621-06 is a router platform board based on MediaTek MT7621AT.
The device has the following specifications:

- MT7621AT (880 MHz)
- 256/512 MB of RAM (DDR3)
- 8/16/32/64 MB of FLASH (SPI NOR)
- 5x 1 Gbps Ethernet (MT7621 built-in switch)
- 1x ASMedia ASM1061 (for mSATA and SATA)
- 2x miniPCIe slots (PCIe bus only)
- 1x mSATA slot (with USB 2.0 bus for modem)
- 1x SATA
- 1x miniSIM slot
- 1x microSD slot
- 1x USB 3.0
- 12x LEDs (3 GPIO-controlled)
- 1x reset button
- 1x UART header (4-pins)
- 1x GPIO header (30-pins)
- 1x FPC connector for LEDs (20-pin, 0.5 mm pitch)
- 1x DC jack for main power (12 V)

The following has been tested and is working:

- Ethernet switch
- miniPCIe slots (tested with Wi-Fi cards)
- mSATA slot (tested with modem and mSATA drive)
- miniSIM slot
- sysupgrade
- reset button
- microSD slot

Installation:

This board might come with a different firmware versions (MediaTek SDK,
PandoraBox, Padavan, etc.). If your board comes with PandoraBox, you can
install LEDE using sysupgrade. Just SSH to the router and perform forced
sysupgrade (due to a board name mismatch). The default IP of this board
should be: 192.168.1.1 and username/password: root/admin. In case of a
different firmware, you can use web based recovery described below.

Use the following command to perform the sysupgrade (for the 256MB
RAM/16MB flash version):

sysupgrade -n -F lede-ramips-mt7621-u7621-06-256M-16M-squashfs-sysupgrade.bin

Recovery:

This board contains a Chinese, closed-source bootloader called Breed
(Boot and Recovery Environment for Embedded Devices). Breed supports web
recovery and to enter it, you keep the reset button pressed for around
5 seconds during boot. Your machine will be assigned an IP through DHCP
and the router will use IP address 192.168.1.1. The recovery website is
in Chinese, but is easy to use. Click on the second item in the list to
access the recovery page, then the second item on the next page is where
you select the firmware. In order to start the recovery, you click the
button at the bottom.

LEDs list (top row, left to right):

- LED_WWAN# (connected with pin 42 in LTE/mSATA slot)
- Power (connected directly to 3V3)
- CTS2_N (GPIO10, configured as "status" LED)
- TXD2 (GPIO11, configured as "led4", without default trigger)
- RXD2 (GPIO12, configured as "led5", without default trigger)
- LED_WLAN# (connected with pin 44 in wifi0 slot)

LEDs list (bottom row, left to right):

- ESW_P0_LED_0
- ESW_P1_LED_0
- ESW_P2_LED_0
- ESW_P3_LED_0
- ESW_P4_LED_0
- LED_WLAN# (connected with pin 44 in wifi1 slot)

Other notes:

1. The board is available with different amounts of RAM and flash. We
have only added support for the 256/16 MB configuration, as that seems
to be the default. However, all the required infrastructure is in place
for making support for the other configurations easy.

2. The manufacturer offers five different wireless cards with MediaTek
chipsets, based on MT76x2, MT7603 and MT7615. Images of the board all
show that the miniPCIe slots are dedicated to specific Wi-Fi cards.
However, the slots are generic.

3. All boards we got access to had the same EEPROM content. The default
firmware reads the Ethernet MAC from offset 0xe000 in factory partition.
This offset only contains 0xffs, so a random MAC will be generated on
every boot of the router. There is a valid MAC stored at offset 0xe006
and this MAC is shown as the WAN MAC in the bootloader. However, it is
the same on all boards we have checked. Based on information provided
by the vendor, all boards sold in small quantities are considered more
as samples for development purposes.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
6 years agoar71xx: increase kernel partition size for TP-Link RE450 v1
Piotr Dymacz [Mon, 6 Nov 2017 22:17:24 +0000 (23:17 +0100)]
ar71xx: increase kernel partition size for TP-Link RE450 v1

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>
6 years agoar71xx: fix typo in Kconfig.openwrt
Piotr Dymacz [Mon, 23 Oct 2017 11:22:10 +0000 (13:22 +0200)]
ar71xx: fix typo in Kconfig.openwrt

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: image: fix typo in tp-link.mk
Piotr Dymacz [Thu, 2 Nov 2017 21:51:17 +0000 (22:51 +0100)]
ar71xx: image: fix typo in tp-link.mk

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: increase kernel partition size for some TP-Link boards
Henryk Heisig [Thu, 26 Oct 2017 22:23:17 +0000 (00:23 +0200)]
ar71xx: increase kernel partition size for some TP-Link boards

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>
6 years agootrx: add support for -A (append) and -a (align) options
Rafał Miłecki [Mon, 13 Nov 2017 22:07:47 +0000 (23:07 +0100)]
otrx: add support for -A (append) and -a (align) options

They are inspired and compatible with the original and mjn3's trx tool.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agootrx: optimize memory usage when creating TRX image
Rafał Miłecki [Mon, 13 Nov 2017 22:07:46 +0000 (23:07 +0100)]
otrx: optimize memory usage when creating TRX image

There is no need to allocate buffer as big as the whole image in order
to calculate CRC32. It's enough to use small buffer and just read file
content block by block.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agootrx: use helper function when checking image's CRC32
Rafał Miłecki [Mon, 13 Nov 2017 22:07:45 +0000 (23:07 +0100)]
otrx: use helper function when checking image's CRC32

This requires changing this helper to accept initial/current CRC32
value as argument but it allows dropping duplicated (complex?) code
calculating the CRC32.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agoigmpproxy: remove firewall rules when service is stopped
Hans Dedecker [Mon, 13 Nov 2017 21:33:48 +0000 (22:33 +0100)]
igmpproxy: remove firewall rules when service is stopped

Remove multicast routing firewall rules when the igmpproxy is stopped by
triggering a firewall config change.
Keeping the firewall open from the wan for igmp and udp multicast is not
desired when the igmpproxy service is inactive.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agolayerscape: enable CONFIG_CRYPTO_ARC4 in kernel 4.9
Yangbo Lu [Tue, 14 Nov 2017 11:17:17 +0000 (19:17 +0800)]
layerscape: enable CONFIG_CRYPTO_ARC4 in kernel 4.9

This patch is to enable CONFIG_CRYPTO_ARC4 in kernel 4.9
which is a dependency for mac80211 package.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agodnsmasq: fix swapped ubus args mac and ip
Jaroslav Safka [Mon, 13 Nov 2017 22:02:46 +0000 (23:02 +0100)]
dnsmasq: fix swapped ubus args mac and ip

Fix swapped arguments "mac" and "ip" when calling function
"ubus_event_bcast".

Signed-off-by: Jaroslav Safka <devel@safka.org>
6 years agoopenvpn: add support to start/stop single instances
Martin Schiller [Mon, 9 Oct 2017 08:12:04 +0000 (10:12 +0200)]
openvpn: add support to start/stop single instances

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> (PKG_RELEASE increase)
6 years agorpcd: fix packagelist memory leak
Daniel Golle [Mon, 13 Nov 2017 00:58:18 +0000 (01:58 +0100)]
rpcd: fix packagelist memory leak

a0231be8fbc61 sys: fix memory leak in packagelist

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agopackage/elfutils: add CFLAG -Wno-format-nonliteral
Alexander Couzens [Fri, 4 Aug 2017 11:09:12 +0000 (13:09 +0200)]
package/elfutils: add CFLAG -Wno-format-nonliteral

When a library is using fortify-packages GCC will complain about
"error: format not a string literal, argument types not checked".

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
6 years agoopenssl: update to 1.0.2m
Peter Wagner [Thu, 9 Nov 2017 23:35:35 +0000 (00:35 +0100)]
openssl: update to 1.0.2m

don't set no-ssl3-method when CONFIG_OPENSSL_WITH_SSL3 di disabled otherwise the compile breaks with this error:

../libssl.so: undefined reference to `SSLv3_client_method'

Fixes CVE: CVE-2017-3735, CVE-2017-3736

Signed-off-by: Peter Wagner <tripolar@gmx.at>
6 years agorpcd: update to the latest version from 2017-11-12
Daniel Golle [Sun, 12 Nov 2017 19:43:43 +0000 (20:43 +0100)]
rpcd: update to the latest version from 2017-11-12

4e483312b0216 sys: add packagelist method

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agowireguard: fix portability issue
Felix Fietkau [Sat, 11 Nov 2017 12:15:24 +0000 (13:15 +0100)]
wireguard: fix portability issue

Check if the compiler defines __linux__, instead of assuming that the
host OS is the same as the target OS.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agowireguard: move to kernel build directory
Felix Fietkau [Sat, 11 Nov 2017 12:01:50 +0000 (13:01 +0100)]
wireguard: move to kernel build directory

It builds a kernel module, so its build dir should be target specific

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoprocd: update to latest git HEAD
John Crispin [Fri, 10 Nov 2017 22:35:38 +0000 (23:35 +0100)]
procd: update to latest git HEAD

7c9aa7c service: add data within the service itself
e2b819a service: fix calls to blobmsg_parse()

Signed-off-by: John Crispin <john@phrozen.org>
6 years agoprocd: service_data: Support data within the service itself
Pierre Lebleu [Wed, 25 Oct 2017 16:05:15 +0000 (18:05 +0200)]
procd: service_data: Support data within the service itself

Use the same approach than the service_triggers for the service_data.

Signed-off-by: Pierre Lebleu <pme.lebleu@gmail.com>
6 years agolayerscape: fix pfe module autoload issue
Yangbo Lu [Mon, 6 Nov 2017 09:18:48 +0000 (17:18 +0800)]
layerscape: fix pfe module autoload issue

There was a typo in module.mk for pfe module autoload.
This patch is to fix this and remove useless rc.local
which was for loading pfe module.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: add a README for build and deployment
Yangbo Lu [Thu, 26 Oct 2017 10:58:03 +0000 (18:58 +0800)]
layerscape: add a README for build and deployment

Added a README for layerscape targets build and deployment.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: add ls1012afrdm device support
Yangbo Lu [Tue, 24 Oct 2017 10:07:38 +0000 (18:07 +0800)]
layerscape: add ls1012afrdm device support

The QorIQ FRDM-LS1012A Board is an ultra-low-cost
development platform for QorIQ LS1012A Series Network
Processors built on ARM Cortex-A53 processor.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: enlarge ext4 rootfs size to 30MB
Yangbo Lu [Mon, 23 Oct 2017 11:03:00 +0000 (19:03 +0800)]
layerscape: enlarge ext4 rootfs size to 30MB

This patch is to enlarge ext4 rootfs size to 30MB.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: add ppa firmware package
Yangbo Lu [Thu, 26 Oct 2017 07:49:31 +0000 (15:49 +0800)]
layerscape: add ppa firmware package

This patch is to add PPA (The Primary Protected Application)
package and also enable it for all layerscape devices.
LSDK github provides ppa source code git tree, but it
only could be compiled with 64-bit toolchain. For 32-bit
devices, there was no method to use it.
https://github.com/qoriq-open-source/ppa-generic

This patch is to directly use a private ppa binary tree for
both 32-bit and 64-bit devices.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: support LSDK ppfe
Yangbo Lu [Thu, 26 Oct 2017 07:33:00 +0000 (15:33 +0800)]
layerscape: support LSDK ppfe

This patch is to use ppfe git tree on LSDK github
instead of private git tree, and support the latest
ppfe on ls1012ardb.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: fix ls1046ardb 32-bit call trace
Yangbo Lu [Fri, 20 Oct 2017 09:40:35 +0000 (17:40 +0800)]
layerscape: fix ls1046ardb 32-bit call trace

Enabled CONFIG_ARCH_DMA_ADDR_T_64BIT in kernel to
resolve below call trace when ls1046ardb 32-bit
started up kernel.

[    0.142141] Bman ver:0a02,02,01
[    0.145326] ------------[ cut here ]------------
[    0.149969] WARNING: CPU: 0 PID: 1 at arch/arm/mm/ioremap.c:303 __arm_ioremap_pfn_caller+0x1ac/0x1d8
[    0.159152] Modules linked in:
[    0.162216] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.51-g9c76e024 #2
[    0.169036] Hardware name: Generic DT based system
[    0.173853] [<c02236a4>] (unwind_backtrace) from [<c021ed94>] (show_stack+0x10/0x14)
[    0.181638] [<c021ed94>] (show_stack) from [<c04d2d38>] (dump_stack+0x98/0xac)
[    0.188899] [<c04d2d38>] (dump_stack) from [<c0245bcc>] (__warn+0xe4/0x100)
[    0.195896] [<c0245bcc>] (__warn) from [<c0245c98>] (warn_slowpath_null+0x20/0x28)
[    0.203504] [<c0245c98>] (warn_slowpath_null) from [<c0229e24>] (__arm_ioremap_pfn_caller+0x1ac/0x1d8)
[    0.212861] [<c0229e24>] (__arm_ioremap_pfn_caller) from [<c0229f0c>] (ioremap_cache+0x20/0x28)
[    0.221608] [<c0229f0c>] (ioremap_cache) from [<c105e390>] (parse_mem_property.part.3+0x18/0x50)
[    0.230441] [<c105e390>] (parse_mem_property.part.3) from [<c105e6dc>] (qman_init_early+0x314/0x334)
[    0.239623] [<c105e6dc>] (qman_init_early) from [<c0201a24>] (do_one_initcall+0xb4/0x168)
[    0.247844] [<c0201a24>] (do_one_initcall) from [<c1000e84>] (kernel_init_freeable+0x1d8/0x280)
[    0.256590] [<c1000e84>] (kernel_init_freeable) from [<c0adbcfc>] (kernel_init+0x8/0x114)
[    0.264812] [<c0adbcfc>] (kernel_init) from [<c021bb28>] (ret_from_fork+0x14/0x2c)
[    0.272423] ---[ end trace 39aaeef329e2a0a2 ]---
[    0.277058] qman-fqd addr 0xfb000000 size 0x800000

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: update config-4.9
Yangbo Lu [Wed, 1 Nov 2017 09:52:10 +0000 (17:52 +0800)]
layerscape: update config-4.9

Some new options were introduced by kernel patches.
And some options should be removed/added.
The config-4.9 should be updated accordingly.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: update kernel patches
Yangbo Lu [Mon, 16 Oct 2017 10:48:11 +0000 (18:48 +0800)]
layerscape: update kernel patches

Updated kernel patches to align layerscape kernel
with latest LSDK linux (LSDK-17.09-update-103017-V4.9 tag).

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: stop pfe before starting up kernel
Yangbo Lu [Thu, 19 Oct 2017 11:42:59 +0000 (19:42 +0800)]
layerscape: stop pfe before starting up kernel

For ls1012ardb, pfe should be stopped before starting up
kernel.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: update u-boot to LSDK-1709-update-103017 tag
Yangbo Lu [Thu, 26 Oct 2017 06:46:47 +0000 (14:46 +0800)]
layerscape: update u-boot to LSDK-1709-update-103017 tag

Updated u-boot to LSDK-1709-update-103017 tag.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: use 1GHz CPU fequency for ls1012ardb
Yangbo Lu [Mon, 23 Oct 2017 07:57:33 +0000 (15:57 +0800)]
layerscape: use 1GHz CPU fequency for ls1012ardb

Used 1GHz CPU fequency for ls1012ardb instead of 800MHz.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: update rcw to LSDK-17.09-update-103017 tag
Yangbo Lu [Thu, 26 Oct 2017 06:16:58 +0000 (14:16 +0800)]
layerscape: update rcw to LSDK-17.09-update-103017 tag

Updated rcw to LSDK-17.09-update-103017 tag.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: support LEDE boot for ls1088ardb/ls2088ardb
Yangbo Lu [Mon, 16 Oct 2017 05:06:51 +0000 (13:06 +0800)]
layerscape: support LEDE boot for ls1088ardb/ls2088ardb

Added u-boot patches to support LEDE boot for ls1088ardb
and ls2088ardb.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: support all-in-one firmware for ls1088ardb/ls2088ardb
Yangbo Lu [Mon, 16 Oct 2017 03:22:04 +0000 (11:22 +0800)]
layerscape: support all-in-one firmware for ls1088ardb/ls2088ardb

Suppport all-in-one firmware for ls1088ardb/ls2088ardb by
integrating u-boot/rcw/mc/dpl/restool.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: remove default profile
Yangbo Lu [Thu, 26 Oct 2017 05:55:11 +0000 (13:55 +0800)]
layerscape: remove default profile

Default profile had to enable many packages for all devices
support. This made these packages still enabled when built
for single device. This patch is to remove default profile.
For multiple devices build, it's proper to build with multiple
devices profile.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: add restool package
Yangbo Lu [Wed, 18 Oct 2017 02:37:58 +0000 (10:37 +0800)]
layerscape: add restool package

restool is a user space application providing the
ability to dynamically create and manage Layerscape
DPAA2 containers and objects from Linux.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: add dpl firmware package
Yangbo Lu [Mon, 16 Oct 2017 02:35:37 +0000 (10:35 +0800)]
layerscape: add dpl firmware package

This patch is to add data path layout files for the
second generation Data Path Acceleration Architecture.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: add mc firmware package
Yangbo Lu [Mon, 16 Oct 2017 02:23:45 +0000 (10:23 +0800)]
layerscape: add mc firmware package

This patch is to add package support for Management
Complex Firmware for the second generation Data Path
Acceleration Architecture.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: move fman/rcw/ppfe packages to layerscape/
Yangbo Lu [Mon, 16 Oct 2017 01:52:32 +0000 (09:52 +0800)]
layerscape: move fman/rcw/ppfe packages to layerscape/

This patch is to create a layerscape directory for all
firmware packages of layerscape.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agolayerscape: clean up kernel patches
Yangbo Lu [Wed, 1 Nov 2017 08:41:08 +0000 (16:41 +0800)]
layerscape: clean up kernel patches

A previous patch disaggregated kernel patch 601 intending to
reverse the ndo_get_stats64 change, but it also dropped
many other changes without a reason. This caused build issue
for layerscape. This patch is to fix that with below steps.
1. Reversed patch "1c4415a layerscape: reverse changes to ndo_get_stats64",
   but kept kernel patch 701 which was a proper fix.
2. Reversed the ndo_get_stats64 change in kernel patch 601.
3. Renamed patch 601 (net patch) to 202 (core-linux patch). Maybe it's
   more proper.

Fixes: 1c4415a679f9 ("layerscape: reverse changes to ndo_get_stats64")
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
6 years agobrcm47xx: fix switch port mapping on Asus RT-N16
Tim Thorpe [Tue, 10 Oct 2017 14:48:54 +0000 (09:48 -0500)]
brcm47xx: fix switch port mapping on Asus RT-N16
On the Asus RT-N16, the ports are not mapped the in the same way as
the RT-N12.  It is, however, the same as the Linksys E3000v1.

Signed-off-by: Tim Thorpe <timfthorpe@gmail.com>
6 years agoar71xx: fix regression in 74x164 initialization with 4.9
Felix Fietkau [Thu, 9 Nov 2017 23:51:44 +0000 (00:51 +0100)]
ar71xx: fix regression in 74x164 initialization with 4.9

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>
6 years agorpcd: update to the latest version from 2017-11-09
Rafał Miłecki [Thu, 9 Nov 2017 16:27:41 +0000 (17:27 +0100)]
rpcd: update to the latest version from 2017-11-09

9a8640183c031 plugin: use RTLD_LOCAL instead of RTLD_GLOBAL when loading library

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 years agobuild: fix generating dtb with / in DEVICE_DTS
Felix Fietkau [Thu, 9 Nov 2017 13:26:24 +0000 (14:26 +0100)]
build: fix generating dtb with / in DEVICE_DTS

Fixes layerscape build error

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agotoolchain/musl: update to version 1.1.18
Felix Fietkau [Sun, 5 Nov 2017 18:01:02 +0000 (19:01 +0100)]
toolchain/musl: update to version 1.1.18

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agotools/coreutils: install readlink
Felix Fietkau [Thu, 9 Nov 2017 11:21:15 +0000 (12:21 +0100)]
tools/coreutils: install readlink

Parts of the build system use non-portable invocation of readlink

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agobase-files: fix getting gid from group_add_next
Yousong Zhou [Thu, 9 Nov 2017 09:29:56 +0000 (17:29 +0800)]
base-files: fix getting gid from group_add_next

Shell function return code only has range [0, 255].  Other values will
be truncated, e.g. return 65536 will have the same effect as return 0

While at it, drop other "return $rc" where rc will almost always take
value 0 and whose value current callers actually do not check

Fixes FS#988

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
6 years agolantiq: add missing macaddr retrieval for Netgear DGN3500
Daniel Gimpelevich [Wed, 8 Nov 2017 20:29:57 +0000 (12:29 -0800)]
lantiq: add missing macaddr retrieval for Netgear DGN3500

The MAC addresses were not being set for LAN and WAN. This will now use the
same MAC mechanism as the rest of the target.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
6 years agoramips: add support for TP-Link TL-WR840N v5
Robert Marko [Wed, 8 Nov 2017 13:00:06 +0000 (14:00 +0100)]
ramips: add support for TP-Link TL-WR840N v5

TP-Link TL-WR840N v5 is simple N300 router with 5-port FE switch and
non-detachable antennas, based on MediaTek MT7628NN (aka MT7628N) WiSoC.

Specification:

- MT7628N/N (580 MHz)
- 64 MB of RAM (DDR2)
- 4 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- 1x LED (GPIO-controlled), 1x button

* LED in TL-WR840N v5 is a dual-color, dual-leads type which isn't
  (fully) supported by gpio-leds driver. This type of LED requires both
  GPIOs state change at the same time to select color or turn it off.
  For now, we support/use only the green part of the LED.
  Orange LED is registered so you can later use it for your own purposes.

  Flash instruction:

  Unlike TL-WR840N v4 flashing through WEB UI works in v5.
  1. Download lede-ramips-mt76x8-tl-wr840n-v5-squashfs-sysupgrade.bin image.
  2. Go to 192.168.0.1
  3. Flash the sysupgrade image through Firmware upgrade section of WEB UI.
  4. Wait until green LED stops flashing and use the router.

Notes:
TFTP recovery is broken since TP-Link reused bootloader code for v4 and
that does not take into account only 4 MB of flash and bricks the device.
So do not use TFTP Recovery or you will have to rewrite SPI flash.
They fixed it in later GPL code,but it is unknown which version of
bootloader you have.

After manually compiling and flashing bootloader from GPL sources TFTP
recovery works properly.

Signed-off-by: Robert Marko <robimarko@gmail.com>
6 years agofunctions.sh: fix default_postinst function
Marko Ratkaj [Tue, 7 Nov 2017 05:48:09 +0000 (06:48 +0100)]
functions.sh: fix default_postinst function

When we run "opkg install" on a package that installs an uci-defaults
script, functions.sh will fail to evaluate that script in its
default_postinst function.

This happens because there is no "./" present and it searches for the
file in paths specified by the PATH variable. This would work on bash,
but it will not work on ash and some other shells like sh, zsh. This
applys to the ". filename" directive used in this case.

This patch will make the path relative to the /etc/uci-defaults
directory.

Fixes: FS#1021
Signed-off-by: Marko Ratkaj <marko.ratkaj@sartura.hr>
6 years agogeneric: make mtdsplit-tplink.c honor rootfs offset
Thibaut VARÈNE [Sat, 28 Oct 2017 12:48:08 +0000 (14:48 +0200)]
generic: make mtdsplit-tplink.c honor rootfs offset

The splitter ignored the rootfs offset from the header, probably
because until c1e6e61 it was invalid.

This patch fixes the splitter to use the now correct header data.

Regarding target/linux/ar71xx/files/drivers/mtd/tplinkpart.c,
this particular splitter "falls back" to the correct rootfs offset
reading and as such it doesn't need to be updated, although it will
report a kernel partition length that can be larger than the actual
length as it assumes that partition fills the entire segment up to
the rootfs partition.

Tested-by: Mathias Kresin <dev@kresin.me>
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Tested-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Tested-by: Henryk Heisig <hyniu@o2.pl>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
6 years agotools/firmware-utils: mktplinkfw* fix rootfs offset
Thibaut VARÈNE [Fri, 27 Oct 2017 18:12:15 +0000 (20:12 +0200)]
tools/firmware-utils: mktplinkfw* fix rootfs offset

With '-a' specified on the command line, the current code:
- computes an aligned _kernel length_ instead of an aligned _rootfs
  offset_.
- does not update the rootfs offset after computing the new kernel
  length, and instead retains the layout default.

When the kernel length exceeds the available space left with this
fixed offset, the resulting image header contains invalid data, with
the recorded rootfs offset overlapping the kernel area.

This patch ensures that rootfs offset is correctly computed and
reflected in the final image.

Furthermore, the build_fw() function special cases the rootfs_align
option because of the above invalid logic. This is also fixed and
the computed (or command-line provided, or layout-provided) rootfs_ofs
value is used in all cases.

There seems to be no valid reason to extend the kernel length beyond
the actual length of the kernel itself (OFW images don't do it) so this
part of the existing behavior is dropped.

Example image before the patch:
Kernel data offset     : 0x00000200 /      512 bytes
Kernel data length     : 0x00158438 /  1410104 bytes
Kernel load address    : 0x00000080
Kernel entry point     : 0x00000080
Rootfs data offset     : 0x00140000 /  1310720 bytes
Rootfs data length     : 0x001e4f7e /  1986430 bytes

Example image after the patch:
Kernel data offset     : 0x00000200 /      512 bytes
Kernel data length     : 0x001583fe /  1410046 bytes
Kernel load address    : 0x00000080
Kernel entry point     : 0x00000080
Rootfs data offset     : 0x00158600 /  1410560 bytes
Rootfs data length     : 0x001e4e22 /  1986082 bytes

Tested-by: Mathias Kresin <dev@kresin.me>
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Tested-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Tested-by: Henryk Heisig <hyniu@o2.pl>
Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
6 years agoltq-ptm: add missing depency to ltq-?dsl-*-mei
Jonas Gorski [Sat, 4 Nov 2017 11:25:53 +0000 (12:25 +0100)]
ltq-ptm: add missing depency to ltq-?dsl-*-mei

Add the required dependency to the mei driver as cought by the depenceny
checker.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
6 years agoltq-atm: fix dependency for xrx200
Jonas Gorski [Sat, 4 Nov 2017 11:23:50 +0000 (12:23 +0100)]
ltq-atm: fix dependency for xrx200

Ad the missing dependency for the xrx200 variant, which depends on the
vdsl mei driver.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
6 years agoltq-adsl-mei: use the same file name for all variant
Jonas Gorski [Sat, 4 Nov 2017 11:19:14 +0000 (12:19 +0100)]
ltq-adsl-mei: use the same file name for all variant

Due to limitations in the symvers treatment and the mei drivers
exporting the same funtions, modpost might use the wrong mei driver
to link against.

Work around this by renaming them all to the same name, making it
always the "right" module name even if the wrong file was used.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
6 years agopartially revert "mwlwifi: switch to AutoProbe"
Jonas Gorski [Fri, 3 Nov 2017 10:11:21 +0000 (11:11 +0100)]
partially revert "mwlwifi: switch to AutoProbe"

Apearently we need to ensure mwlwifi loads before mwifiex on
the WRT3200ACM, else mwifiex will claim the wifi.

Fix this by reverting to AutoLoad, but keep the removal of
mac80211 line.

This partially reverts commit 471d5dc6e3c16a2bef9bde2b788b563a00357292.

Fixes: 471d5dc6e3c1 ("mwlwifi: switch to AutoProbe")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
6 years agobuild: fix module symbol collection if build_dir is a symlink
Jonas Gorski [Fri, 3 Nov 2017 09:59:00 +0000 (10:59 +0100)]
build: fix module symbol collection if build_dir is a symlink

If PKG_BUILD_DIR contains symlinks, the generated Module.symvers will
contain the resolved paths, not the virtual path with the symlink name.

This breaks the filter for the module's own symbols, so to fix this
ensure we also grep for the resolved path.

Reported-by: Roman Yeryomin <roman@advem.lv>
Tested-by: Roman Yeryomin <roman@advem.lv>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
6 years agofirewall: update to latest git HEAD
Hans Dedecker [Tue, 7 Nov 2017 21:30:47 +0000 (22:30 +0100)]
firewall: update to latest git HEAD

c430937 ubus: parse the firewall data within the service itself

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agoinclude: kernel.mk: simplify module autoloading
Jo-Philipp Wich [Wed, 23 Aug 2017 20:27:32 +0000 (22:27 +0200)]
include: kernel.mk: simplify module autoloading

Let the generic postinstall script invoke "kmodloader" when the just
installed package contains any /etc/module.d/ entries.

This allows us to skip the explicit "insert_module()" calls in the
package postinstall.

Due to the removed insert_module calls we do not need to assemble a
complete list of modules per package anymore, which allows for vast
simplification of the package generation code.

While we're at it, also support specifying default parameters for
modules using either the MODPARAM or MODPARAM.modulename variables
in KernelPackage.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agouhttpd: fix query string handling
Jo-Philipp Wich [Mon, 6 Nov 2017 11:04:25 +0000 (12:04 +0100)]
uhttpd: fix query string handling

Update to latest Git in order to fix potential memory corruption and invalid
memory access when handling query strings in conjunction with active basic
authentication.

a235636 2017-11-04 file: fix query string handling

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agonetifd: fix PKG_MIRROR_HASH
Daniel Golle [Mon, 6 Nov 2017 23:17:39 +0000 (00:17 +0100)]
netifd: fix PKG_MIRROR_HASH

commit fbde9ac7184 set an incorrect sha256sum which doesn't match the
file http://sources.lede-project.org/netifd-2017-10-31-0f96606b.tar.xz
or a locally packaged checkout (which resulted in a file identical with
the one referenced by the URL above).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 years agohostapd: remove default r1_key_holder generation
Yury Shvedov [Thu, 19 Oct 2017 14:29:28 +0000 (17:29 +0300)]
hostapd: remove default r1_key_holder generation

By default, hostapd assumes r1_key_holder equal to bssid. If LEDE
configures the same static r1 key holder ID on two different APs (BSSes) the
RRB exchanges fails behind them.

Signed-off-by: Yury Shvedov <yshvedov@wimarksystems.com>
6 years agonetfilter, iptables: add optional CHECKSUM module
Denis Osvald [Sun, 22 Oct 2017 20:21:23 +0000 (22:21 +0200)]
netfilter, iptables: add optional CHECKSUM module

Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
6 years agosunxi: add Orange Pi 2 support
Zoltan HERPAI [Mon, 23 Oct 2017 20:33:00 +0000 (22:33 +0200)]
sunxi: add Orange Pi 2 support

- H3 @ 1.3 GHz
- 1GiB DDR3
- 10/100Mbps Ethernet
- Realtek RTL8189ETV wifi
- 4 USB 2.0

Difference to the "Orange Pi Plus" is the lack of Gbit ethernet
and lack of onboard flash.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 years agoag71xx: Switch from driver to kernel macro for NAPI_WEIGHT.
Rosen Penev [Tue, 17 Oct 2017 16:25:56 +0000 (09:25 -0700)]
ag71xx: Switch from driver to kernel macro for NAPI_WEIGHT.

NAPI_POLL_WEIGHT was introduced in the kernel for exactly this purpose 5 years ago.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agoixp4xx: drop the jumbo frame support
Sergey Ryazanov [Sun, 15 Oct 2017 23:31:19 +0000 (02:31 +0300)]
ixp4xx: drop the jumbo frame support

Current jumbo frame support code allocates rxbuffers of the maximum size
supported by the hardware (~14KB). This happens at the device open time
even if the configured MTU is lower (e.g. if it configured to standard
1500 bytes). Such behavior effectivly prevents interface start on boards
with a low ammount of RAM (e.g. WRT300N v2), since the kernel simly can
not allocates of ~0.8MB (14KB x 64).

So remove jumbo frame support for now.

Reported-by: Nerijus Baliunas <nerijus@users.sourceforge.net>
Tested-by: Nerijus Baliunas <nerijus@users.sourceforge.net>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
6 years agoixp4xx: fix non-standard phy support
Sergey Ryazanov [Sun, 15 Oct 2017 23:31:18 +0000 (02:31 +0300)]
ixp4xx: fix non-standard phy support

The patch, which adds multiphy support, adds new path for non-standard
PHYs (e.g. MV88E6060 switch IC) to avoid using kernel phy framework. All
work well except the link status traking (Duplex and Speed), which is
reseted as soon as PHY connection procedure is done. This leads to lost
of the link status of non-standard PHY, which is configured exactly in
the ixp4xx_phy_connect() function.

Move the generic reset of a link state to the ixp4xx_phy_connect()
function to the code path, which is intended for handling of a normal
PHY.

Reported-by: Nerijus Baliunas <nerijus@users.sourceforge.net>
Tested-by: Nerijus Baliunas <nerijus@users.sourceforge.net>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
6 years agopackage: kernel: dtc: Add DTO support
Marek Vasut [Sun, 22 Oct 2017 20:21:21 +0000 (22:21 +0200)]
package: kernel: dtc: Add DTO support

Add patch with the DT overlay support into the DTC package.

Signed-off-by: Marek Vasut <marex@denx.de>
6 years agoopenssl: fix cryptodev config dependency
Ralph Sennhauser [Sun, 22 Oct 2017 20:21:22 +0000 (22:21 +0200)]
openssl: fix cryptodev config dependency

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
6 years agosunxi: Added profile for HAOYU Electronics Marsboard A10
Kayo Phoenix [Sun, 22 Oct 2017 20:21:25 +0000 (22:21 +0200)]
sunxi: Added profile for HAOYU Electronics Marsboard A10

The MarsBoard was a short-lived credit-card sized, extendable board with an Allwinner A10 SoC.
http://linux-sunxi.org/MarsBoard_A10

Signed-off-by: Kayo Phoenix <kayo@illumium.org>
[Forward-ported to new target layout:]
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
6 years agoiwinfo: add "PKG_MIRROR_HASH" to the Makefile
Arjun AK [Mon, 23 Oct 2017 14:03:34 +0000 (19:33 +0530)]
iwinfo: add "PKG_MIRROR_HASH" to the Makefile

Defining it will let the build tool download the tarball file from
a buildbot server, avoiding a clone of the source repo.

Signed-off-by: Arjun AK <lede@arjunak.com>
6 years agoar71xx: only use SPI NOR 4K sectors on smaller flash chips for mikrotik devices
Felix Fietkau [Sat, 4 Nov 2017 06:51:34 +0000 (07:51 +0100)]
ar71xx: only use SPI NOR 4K sectors on smaller flash chips for mikrotik devices

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>
6 years agokernel: add support for limiting 4K erase sector support based on flash chip size
Felix Fietkau [Fri, 3 Nov 2017 08:53:54 +0000 (09:53 +0100)]
kernel: add support for limiting 4K erase sector support based on flash chip size

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>
6 years agoubox: update to the latest version, fixes syslog issues
Felix Fietkau [Mon, 6 Nov 2017 10:56:37 +0000 (11:56 +0100)]
ubox: update to the latest version, fixes syslog issues

7a49632 logd: use uloop instead of ustream_fd for syslog
69d6542 logd: only create pipe in stream mode
df30c8c logread: terminate after EOF
bdcacad logd: implement oneshot mode for stream log read
4a10d4e logread: use oneshot mode without -f, wait for logd to close
ea3d7fa logd: enforce line length limit for ubus based log messages as well
960a29d logread: remove leftover debug code
a081904 logread: fix line buffer size
2c0d9cf logd: move stripping of newlines to log_add()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoiperf3: update to 3.3 and refresh patches
Philip Prindeville [Tue, 31 Oct 2017 20:19:51 +0000 (14:19 -0600)]
iperf3: update to 3.3 and refresh patches

Taking the same patchset I've submitted upstream for inclusion.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
6 years agobubox: update to latest git HEAD
John Crispin [Mon, 6 Nov 2017 09:06:35 +0000 (10:06 +0100)]
bubox: update to latest git HEAD

729f47f jshn: read and write 64-bit integers

Signed-off-by: John Crispin <john@phrozen.org>
6 years agoip806x: nbg6817: sysupgrade support both targets for kernel/ rootfs partitions
Stefan Lippers-Hollmann [Sun, 29 Oct 2017 02:11:51 +0000 (03:11 +0100)]
ip806x: nbg6817: sysupgrade support both targets for kernel/ rootfs partitions

With this commit and the previous "nbg6817: don't hardcode the rootfs location
by using append-rootblock instead" applied, it is possible to boot- and
sysupgrade from both dual-boot sets (the primary mmcblk0p4+mmcblk0p5 or the
alternative mmcblk0p7+mmcblk0p8). However the sysupgrade support does not
toggle between both dual-boot sets between firmware upgrades so far.

The partition map of the eMMC used in the nbg6817 is:

Found valid GPT with protective MBR; using GPT.
Disk /dev/mmcblk0: 7471104 sectors, 3.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): XXX
Partition table holds up to 12 entries
First usable sector is 34, last usable sector is 7471070
Partitions will be aligned on 2-sector boundaries
Total free space is 1 sectors (512 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34            8225   4.0 MiB     FFFF  rootfs_data
   2            8226           16417   4.0 MiB     FFFF  romd
   3           16418           18465   1024.0 KiB  FFFF  header
   4           18466           26657   4.0 MiB     FFFF  kernel
   5           26658          157729   64.0 MiB    FFFF  rootfs
   6          157730          159777   1024.0 KiB  FFFF  header_1
   7          159778          167969   4.0 MiB     FFFF  kernel_1
   8          167970          299041   64.0 MiB    FFFF  rootfs_1
   9          299042          823329   256.0 MiB   FFFF  bu1
  10          823330         7471069   3.2 GiB     FFFF  bu2

rootfs_data is the ext4 formatted overlay of the OEM firmware, LEDE
ignores it due to its (too) small size.

romd/ bu1 are initialized with zeroes (0x00) and unused.

bu2 is formatted with ext4 and used for streamboost and other optional
functionality by the OEM firmware, it is reformatted during factory
resets of the OEM firmware.

header/ header_1 contains version information for the corresponding
vendor firmwares installed to kernel/rootfs or kernel_1/ rootfs_1, the
format hasn't been completely reverse engineered so far and remains
left untouched by LEDE:

V1.00(ABCS.2)C0:
 00000000  00 00 a7 74 01 32 f0 00  56 31 2e 30 30 28 41 42  |...t.2..V1.00(AB|
 00000010  43 53 2e 32 29 43 30 00  ff ff ff ff ff ff ff ff  |CS.2)C0.........|
 00000020  ff ff ff ff ff ff ff ff  00 00 d5 dc 4e 42 47 36  |............NBG6|
 00000030  38 31 37 00 ff ff ff ff  ff ff ff ff ff ff ff ff  |817.............|
 00000040  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 *
 00000060  ff ff ff ff ff ff ff ff  ff ff ff ff 00 00 22 a3  |..............".|
 00000070  00 1c 70 00 ff ff ff ff  ff ff ff ff ff ff ff ff  |..p.............|
 00000080  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 *
 00000800  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 *
 00100000

V1.00(ABCS.5)C0:
 00000000  00 00 bf 94 01 46 d8 00  56 31 2e 30 30 28 41 42  |.....F..V1.00(AB|
 00000010  43 53 2e 35 29 43 30 00  ff ff ff ff ff ff ff ff  |CS.5)C0.........|
 00000020  ff ff ff ff ff ff ff ff  00 00 d6 5a 4e 42 47 36  |...........ZNBG6|
 00000030  38 31 37 00 ff ff ff ff  ff ff ff ff ff ff ff ff  |817.............|
 00000040  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 *
 00000060  ff ff ff ff ff ff ff ff  ff ff ff ff 00 00 c0 2c  |...............,|
 00000070  00 1c 58 00 ff ff ff ff  ff ff ff ff ff ff ff ff  |..X.............|
 00000080  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
 *
 00010000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 *
 00100000

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
6 years agoip806x: nbg6817: don't hardcode the rootfs location by using append-rootblock instead
Stefan Lippers-Hollmann [Sun, 29 Oct 2017 01:55:27 +0000 (02:55 +0100)]
ip806x: nbg6817: don't hardcode the rootfs location by using append-rootblock instead

This changes the cmdline from:

Kernel command line: root=/dev/mmcblk0p5 rootfstype=squashfs,ext4 rootwait noinitrd
Bootloader command line (ignored): board=NBG6817 root=/dev/mmcblk0p5 rootwait zld_ver=2.04 console=ttyHSL1,115200n8 mtdparts=m25p80:0xC0000(SBL)ro,0x40000(TZ)ro,0x40000(RPM)ro,0x80000(u-boot)ro,0x10000(env)ro,0x10000(ART)ro,0x10000(dualflag),0x210000(reserved)

to

Kernel command line: rootfstype=squashfs,ext4 rootwait noinitrd root=/dev/mmcblk0p5
Bootloader command line (ignored): board=NBG6817 root=/dev/mmcblk0p5 rootwait zld_ver=2.04 console=ttyHSL1,115200n8 mtdparts=m25p80:0xC0000(SBL)ro,0x40000(TZ)ro,0x40000(RPM)ro,0x80000(u-boot)ro,0x10000(env)ro,0x10000(ART)ro,0x10000(dualflag),0x210000(reserved)

As a consequence booting from the alternative dual-boot partition set
(root=/dev/mmcblk0p8) becomes possible.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
6 years agouqmi: replace legacy command invoke with newer type
Koen Vandeputte [Tue, 24 Oct 2017 14:20:22 +0000 (16:20 +0200)]
uqmi: replace legacy command invoke with newer type

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agouqmi: also try newer pin verification
Koen Vandeputte [Tue, 24 Oct 2017 14:20:21 +0000 (16:20 +0200)]
uqmi: also try newer pin verification

Newer devices tend to only support the newer version of the pin
verification command, so also try that one.

Fixes PIN issues with modems like the Sierra Wireless MC7455

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agoubox: update to latest git HEAD
John Crispin [Mon, 6 Nov 2017 08:07:39 +0000 (09:07 +0100)]
ubox: update to latest git HEAD

da5b8b4 log/syslog: Add missing static to two structs.
dd61c9f ubox: Replace { 0 } with {}.

Signed-off-by: John Crispin <john@phrozen.org>
6 years agoprocd: update to latest git HEAD
John Crispin [Mon, 6 Nov 2017 07:50:18 +0000 (08:50 +0100)]
procd: update to latest git HEAD

53e92d4 procd: lower the logging threshold
b39c362 service: Start services normally when seccomp is disabled
3ba6b45 procd: add missing new lines inside debug code
56a02e3 service: fix service_handle_event array
d4a183f service: fix SERVICE_ATTR_NAME usage in service_handle_set

Signed-off-by: John Crispin <john@phrozen.org>
6 years agoprocd: Always tell cmake whether to include seccomp support or not
Michal Sojka [Fri, 3 Nov 2017 21:31:42 +0000 (22:31 +0100)]
procd: Always tell cmake whether to include seccomp support or not

Without this change, when a user disables seccomp support in .config,
procd does not get recompiled unless the package is cleaned manually.
It is because when -D option is missing from cmake command line, cmake
uses cached value from the previous run where seccomp was enabled.

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
6 years agoubus: update to latest git HEAD
John Crispin [Mon, 6 Nov 2017 07:31:38 +0000 (08:31 +0100)]
ubus: update to latest git HEAD

24ffe9b libubus-req: add data_cb callback handling for ubus notifications

Signed-off-by: John Crispin <john@phrozen.org>
6 years agoipq806x: ipq4019: add ap-dk01.1-c1 board support
Roman Yeryomin [Sun, 29 Oct 2017 23:24:26 +0000 (01:24 +0200)]
ipq806x: ipq4019: add ap-dk01.1-c1 board support

AP-DK01.1-C1 is QCA dev board with:
- ipq4018 quad core ARM @716.8MHz, 2x2 dual (11n+11ac) radio
- 256MB RAM
- 32MB SPI flash
- QCA8075 multiport ethernet phy (WAN port, 4x LAN ports)

First installation via u-boot:
sf probe
sf erase 0x180000 0x1a00000
tftpboot 0x84000000 lede-ipq806x-AP-DK01.1-C1-squashfs-sysupgrade.bin
sf write 0x84000000 0x180000 $filesize

Further upgrades via sysupgrade.

Changes:
- add partitions
- set memory size to 256MB
- add reserved memory mapping
- add correct compatible string
- add image generation
- extract pre-cal data from ART partition

Compile and run tested.
Wirespeed NAT can be achieved with spreading rx interrupts over different
cores. Wifi speed is ~550Mbps @5GHz in open air.

Note:
AP-DK01.1-C1 is fully compatible with AP-DK01.2-C1, which has
ipq4028 instead of ipq4018 on board.

Changes since v2:
- based on dts(i) rework/cleanup submitted:
  http://lists.infradead.org/pipermail/lede-dev/2017-October/009596.html
- precise reserved memory mapping
- more precise description
- compatible string

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agoipq806x: ipq4019: dts: fix maximum cpu speed
Roman Yeryomin [Sun, 29 Oct 2017 23:19:32 +0000 (01:19 +0200)]
ipq806x: ipq4019: dts: fix maximum cpu speed

Supported frequencies of all ipq40xx chips are 48, 200, 500 and 716.8 MHz.
Previous 666MHz setting was most likely related to instability of early
chips/boards made before mass production.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agoipq806x: ipq4019: dts: remove spi chip node from ap-dk01 dtsi
Roman Yeryomin [Sun, 29 Oct 2017 23:19:19 +0000 (01:19 +0200)]
ipq806x: ipq4019: dts: remove spi chip node from ap-dk01 dtsi

All ap-dk01 boards have different spi chips, thus no point in keeping it in dtsi.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agoipq806x: ipq4019: dts: move ap-dk01 networking entries to dtsi
Roman Yeryomin [Sun, 29 Oct 2017 23:19:02 +0000 (01:19 +0200)]
ipq806x: ipq4019: dts: move ap-dk01 networking entries to dtsi

That is mdio/ethernet and wifi are present on all ap-dk01 boards.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agoipq806x: ipq4019: dts: remove counter entry from ap-dk01 boards
Roman Yeryomin [Sun, 29 Oct 2017 23:18:51 +0000 (01:18 +0200)]
ipq806x: ipq4019: dts: remove counter entry from ap-dk01 boards

There is no code implementing "qcom,qca-gcnt", so no point in keeping it.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agoipq806x: ipq4019: dts: move ap-dk01 tcsr nodes to dtsi
Roman Yeryomin [Sun, 29 Oct 2017 23:18:38 +0000 (01:18 +0200)]
ipq806x: ipq4019: dts: move ap-dk01 tcsr nodes to dtsi

tcsr configuration is the same for all ap-dk01 boards

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agoipq806x: ipq4019: dts: remove crypto nodes from board dts
Roman Yeryomin [Sun, 29 Oct 2017 23:18:24 +0000 (01:18 +0200)]
ipq806x: ipq4019: dts: remove crypto nodes from board dts

crypto and cryptobam are already present in dtsi used by these boards:
- fritz4040
- nbg6617
- rt-ac58u

Signed-off-by: Roman Yeryomin <roman@advem.lv>