While working on a new target (meson), the kernel build failed due to
missing DRM_DEBUG_MM_SELFTEST symbol. This can potentially happen on all
targets that enable DRM drivers in the kernel config or via kmod
packages, so add it to the generic config and remove it from x86
subtarget configs, together with DRM_DEBUG_MM.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
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>
Disable CONFIG_PROC_PAGE_MONITOR in most places and only keep it enabled
for virtual targets such as malta or potent ones like x86.
This saves up to 4KB of uncompressed kernel size and significantly
decreases CPU load under certain workloads.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* QCA IPQ401x
* 256 MB of RAM
* 32 MB of SPI NOR flash (s25fl256s1)
- 2x 15 MB available; but one of the 15 MB regions is the recovery image
* 2T2R 2.4 GHz
- QCA4019 hw1.0 (SoC)
- requires special BDF in QCA4019/hw1.0/board-2.bin with
bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=OM-A42
* 2T2R 5 GHz
- QCA4019 hw1.0 (SoC)
- requires special BDF in QCA4019/hw1.0/board-2.bin with
bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=OM-A42
* multi-color LED (controlled via red/green/blue GPIOs)
* 1x button (reset; kmod-input-gpio-keys compatible)
* external watchdog
- triggered GPIO
* 1x USB (xHCI)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x gigabit ethernet
* powered only via POE
- 802.3af POE on Ethernet 1
- 18-24v passive POE (mode B) on Ethernet 2
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the factory image to the u-boot when the device boots up.
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
The kernel driver gpio-wdt or the userspace tool om-watchdog can be used to
trigger external gpio watchdog chips. The gpio-wdt driver has the benefit
that it can be configured together with the rest of the device in the DTS
and better integrates in the OpenWrt via procd.
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
Use the generic board detection method:
- Board name: First compatible string from the device tree
- Board model: Model property from the device tree
Change occurrences of board name in userspace by the compatible
string, and removed target specific board detection script
Replace the definition of SUPPORTED_DEVICES in Device/Default
to extract the dt compatible string from each device definition.
Additionally, for devices supported by lede-17.01, append
the value of BOARD_NAME to SUPPORTED_DEVICES in the device
definition.
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
Use <manufacturer>_<modelname> as image name for board using the
devicetree compat string as boardname.
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
This will allow to maintain the current syntax for LEDs config
when switching to a device tree compatible string boardname.
None of the current boards use a comma in the boardname, so they
will be unaffected.
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
There are only artifacts for these boards in our tree and not even
partial support.
Drop teh stale files.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The 4.14 kernel configuration defaulted to a v4/v5 multiplatform while
4.9 was using a v6/v7 default configuration. Resync 4.14 against 4.9 so
they are nearly identical.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Add a bunch of missing configuration symbols found while building
armvirt for 4.14 after re-synchronization of the configuration between
4.9 and 4.14.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
This patch updates the apm821xx target to use the 4.14 kernel.
4.14 finally ships with a driver for the WNDR4700's tc654 fan
controller. The custom driver is deprecated in favor of the
upstream driver and the thermal cooling definitions in the DTS
are updated.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Without this patch one sdcard image with the following name is created
for all devices:
openwrt-at91-sama5--sdcard.img.gz
This makes the build system create device specific versions like:
openwrt-at91-sama5-at91-sama5d2_xplained-sdcard.img.gz
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This solution is more upstream compatible as it only requires specifying
of_match_table in the parser code and doesn't depend on linux,part-probe
which is solution made generic by a LEDE downstream patch that can't be
upstreamed.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This backports upstream support for "compatible" DT property set for the
"partitions" subnode of flash node. It allows specifying how partitions
should be created/parsed. Right now only "fixed-partitions" is
supported.
It should eventually replace our downstream "linux,part-probe" solution.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Multicast routing support is not needed in most setups, and increases the
size of the kernel considerably (>10K after LZMA). Add a config switch to
allow disabling it.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
The underlying issue breaking Spansion flash has been fixed with "mtd: spi-nor:
wait until lock/unlock operations are ready" and "mtd: spi-nor: wait for SR_WIP
to clear on initial unlock", so we can support unlocking for Winbond flash
again.
This is necessary to have writable flash on certain UBNT devices with some
bootloader versions.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Renaming an atm etherbride using 'ip link' (via hotplug) is racy since the
original netdev might disappear before br2684ctl has finished appling it's
setting:
local2.notice br2684ctl[1667]: Interface "nas0" created sucessfully
local2.notice br2684ctl[1667]: Communicating over ATM 0.8.35, encapsulation: LLC
kern.info kernel: dsl0: renamed from nas0
kern.err kernel: br2684:br2684_regvcc: tried to attach to non-existent device
local2.err br2684ctl[1667]: Could not configure interface:No such device or address
By passing the final used netdev name to br2684ctl_wrap another race
condition workaround will be enabled again.
Change the lantiq ptm driver to create a netdev with the name dsl as well.
Albeit the rename via 'ip link' works fine so far, using a different
approach for ptm then atm could be confusing.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Enable CONFIG_VFP again which was disabled during the 4.9 -> 4.14 bump.
Boot tested both 32 and 64 bit subtargets using initramfs images with the
qemu-system-arm and qemu-system-aarch64 emulators.
Fixes: aa100b66f2 ("armvirt: bump to v4.14")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
also known as
POGO-V4-A3-02
or
POGO-V4-A3-01
SoC: Marvell 88F6192 800Mhz
SDRAM memory: 128MB
Gigabit ethernet: 1 Marvell 88E1310
Flash memory: 128MB
2 status LEDs (one green one red)
1 "Eject" button on the back (used as "Reset" button)
1 USB 2.0 port (on upper side)
1 sata slot (power + data) for 2.5'' drives (upper side)
2 USB 3.0 ports from a controller on PCIe x1 of the SoC
1 full-size SDcard slot (fits a whole SD card into it)
This device supports the (linux-only) kwboot tool to send
a new uboot over serial console, so it is easy to unbrick
in case the uboot is erased and the device won't boot.
-----
Install instructions:
-----
Since it's not possible to get ssh access to these
devices, the only way to take control is to
solder pins to get TTL serial access.
Case can be opened by removing screws beneath two rubber
feet at back of device, then lifting while prying the
sides of the upper part out to unhook a latch on each
side about 2/3rds of the way toward the front.
Serial connection pins are those labeled "J11", left
of SD as you face SD opening.
Pins are (from left to right, i.e. the first in the list
is the nearest to the SD slot) GND, Rx, Tx.
Do not connect +V pin if you use a USB (self-powered)
TTL-to-USB dongle. Any USB TTL-to-USB converter will work.
Baud rate is 115200, parity "none", databits "8",
flow control "none".
Stock uboot is unable to read ubi partitions (nor usb)
so we will replace it first with our uboot.
Start a TFTP server at IP address 169.254.254.254, and
place the uboot.kwb file in the folder of the server.
Start the serial session and then power up the device.
As soon as you see text on the serial start pressing random
letter keys to stop the boot process.
If you see something like the following line you can proceed:
CE>>
Otherwise if text is still scrolling by you missed the
opportunity, pull the plug and try again.
write
printenv ethaddr
The uboot will write something like this:
ethaddr=00:50:43:00:02:02
This is the device's MAC address, also present in the sticker
under the device.
Write this down as we will need to add it in the
new uboot configuration.
Use the following commands to load the new uboot:
tftp 0x20000 u-boot.kwb
If the uboot confirms that the transfer was successful,
then you can write it to flash with the following commands:
nand erase 0 0x200000
nand write 0x20000 0 0x1c0000
if after the last command the uboot wrote
"xxxx bytes written: OK"
then it was written correctly and we can proceed.
If it did not go well, try again or ask assistence in forums.
Shutting down or rebooting at this time will brick
the device, to unbrick it you will need to use the kwboot
tool from a Linux PC or Virtual Machine.
Now write:
reset
and press enter, the device will reboot and you should see
again text scrolling by.
Press a random key to stop it, and now you should see
pogoplugv4>
We now add the MAC address back, write:
setenv ethaddr '00:50:43:00:02:02'
Confirm that the uboot has understood by writing
printenv ethaddr
If all looks ok, save the setting with
saveenv
At this point the uboot is configured, and we only need to load
the firmware in the flash memory.
Follow the steps below in "Firmware recovery procedure".
----
Firmware recovery procedure
----
The new uboot allows easy recovery from a bad firmware upgrade
where you can't access the device anymore over ssh or luci.
Take a USB flash drive formatted as FAT32, and copy the
initramfs image file in it (it will have "initramfs" in the
file name), then rename it as "initramfs.bin".
Insert the USB drive in the USB 2.0 port of the pogoplug
(the port at the top).
Power up the device, and wait for it to finish booting.
The uboot should find and load the "initramfs.bin"
from usb and if you are connected with serial you should
see the linux kernel boot log (text scrolling by).
Once it is done, press Enter and you will be greeted by
the OpenWRT banner.
If you were not connected with serial just wait a bit and,
you will be able to access it with ssh or luci web interface
(once you find its IP).
The recovery "initramfs" images are run from RAM, so you will
have to do a normal sysupgrade (firmware upgrade) to write
a firmware image to flash memory.
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
Use <manufacturer>_<modelname> as image name.
Use the BOARD_NAME variable to ensure that the former used boardname is
still used as the subdirectory name for the sysupgrade-tar image, to
not break sysupgrade from earlier versions.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Append and enforce image metadata. Remove the device specific image
checks, they are replaced by image metadata.
Signed-off-by: Mathias Kresin <dev@kresin.me>
There is no point in being that specifc in a generic dts covering a range
of boards. Keep only the the generic compat string to use it for a
devicetree based boardname.
Signed-off-by: Mathias Kresin <dev@kresin.me>
No image build code for the Guruplug, Sheevaplug and NSA310S exists. Drop
support for the boards for now.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Drop NAND_BLOCKSIZE, UBI_OPTS and UBIFS_OPTS. They are either used by
not supported filesystems or by the legacy image build code.
Add common used options/images to the default build code and override
the options where necessary.
Don't export the kernel image, it isn't required by any board.
While at it, change the file extension for the sysupgrade images to bin.
Signed-off-by: Mathias Kresin <dev@kresin.me>
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>
There are 3 ethernet ports on Y1. LAN1 on port1, LAN2 on port0 and WAN on
port4.
Use a standalone switch configuration to match this and use the switch
trigger so that LAN LED could indicate the connetction status for both
lan ports correctly.
This patch also drop the internet led configuration, because there is a
WAN led for port4 and eth0.2 isn't always used as WAN.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
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>
The Annex A and Annex B version are using the same (old) userspace
boardname. Update the SUPPORTED_DEVICES to allow an update from lede-17.01.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Supermicro puts "Super Server" into their product_name DMI value
for a whole slew of products, making this value about as useful
as not having been filled in at all. Instead, fall back on the
board_name instead.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
There might be other places (such as vendor-supplied preinit scripts)
where we wish to take a DMI name and clean it up in a consistent way,
so make the sed command into a function.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Rename unwinder config symbols to match upstream changes.
Refresh patches.
Update patch that no longer applies: 202-reduce_module_size.patch
Also enable CONFIG_PAGE_TABLE_ISOLATION. This feature was backported
from 4.15 to the 4.14 stable series. It is enabled by default, so enable
it in OpenWrt as well.
Compile-tested on x86/64.
Runtime-tested on x86/64.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
While bumping 4.14, the kernel build failed due to missing CONFIG_KASAN
symbol. Move it to generic config instead of defining it for all arm64
and x86/64 targets.
It was only added in 4.0, so not needed in config-3.18.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
The CPU sub type was set to a CPU version with FPU, but the FPU feature
was not activated before, so a soft float toolchain was created.
Activate also the FPU feature to create the correct toolchain.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This activates neon and VFPv4 support for this target. The CPU support
these feature so also use them.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Since BusyBox 1.25.0 dd command supports iflag=skip_bytes which allows
skipping requested amount of bytes without reducing blocksize. Thanks to
this we can leave default blocksize and let dd work more efficiently.
On Netgear R6250 "dd skip=58 iflag=skip_bytes" can be 5 times faster
than "dd bs=58 skip=1" when extracting TRX out of CHK.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
It's a device based on BCM5365P (0x5365 package 0x00). This SoC has
USB 1.1 controller but device has two USB 2.0 parts. They are handled by
PCI-based controllers: 1106:3038 UHCI and 1106:3104 EHCI.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This was broken in 7bab49fd ("lantiq: add compatible strings to dts
files"), causing for the dm200 garbled serial output during boot, and
likely other issues.
Signed-off-by: Thomas Nixon <tom@tomn.co.uk>
[fix the compat string of the P2601HNFX as well]
Signed-off-by: Mathias Kresin <dev@kresin.me>
That patch fixes handling SPI messages with two writing transfers. It's
important when using e.g. by m25p80 driver which uses one transfer for
opcode and another one for data.
Thanks to that fix we can now drop m25p80 workaround patch. It means one
less hack and also a better flash writing performance as there is no
more data buf copying.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
A lot of 1U x86_64 servers have NVMe support, which is lower-power
and higher speed than SSD or CFast drives, etc. The drivers
required to make this work are trivial.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Remove a stray -Wp left in host_c_flags causing build failures for newer
4.14 versions.
Reported-by: Michael Marley <michael@michaelmarley.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Advantages:
- preserves existing partition layout on the sd-card.
Only the boot and rootfs partition will be overwritten.
Please note that sysupgrade will refuse to upgrade, if the existing
installation has an incompatible partition layout. Future changes
to the bootfs and/or rootfs partition size will likely cause breakage
to the sysupgrade procedure. In these cases, the ext4-sdcard.img.gz
will have to be written to the sdcard manually.
Please don't forget to backup your configuration in this case.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Use the values populated by the generic board detect function. The
first compatible from the device tree source file will be the board
name in userspace. The model property from the device tree source file
will be the model name.
Change the board name where used in the userspace and drop the target
specific board detect, to use the generic one.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch adds the compatible string for the various RPIs from
4.14 upstream.
Note: The 4.14 upstream does not include the compute modules.
If the CM* would just house the SoC, it could in theory use the
"raw" chip compatible string. However, these CM boards also come
with RAM and eMMC. So they have to have a proper comaptible.
For now, "raspberrypi,compute-module-{1|3}" will be good enough.
Note2: The original CM was renamed to CM1 when CM3 was released.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch converts all the raspberrypi images to utilize
the common metadata-based image verification.
Note: the CM1 and CM3 currently use the same "rpi-cm"
boardname.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
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>
A few UBI messages lacks the trailing newline character which
leads to ugly lines in the bootlog like this:
[ 6.649159] UBI error: no valid UBI magic found inside mtd6[ 6.667751] Freeing unused kernel memory: 2196K
Add a newline character to the end of the messages to fix it.
After the fix the line from above looks better in the log:
[ 6.609182] UBI error: no valid UBI magic found inside mtd6
[ 6.627599] Freeing unused kernel memory: 2132K
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
A few UBI messages lacks the trailing newline character which
leads to ugly lines in the bootlog like this:
[ 6.649159] UBI error: no valid UBI magic found inside mtd6[ 6.667751] Freeing unused kernel memory: 2196K
Add a newline character to the end of the messages to fix it.
After the fix the line from above looks better in the log:
[ 6.609182] UBI error: no valid UBI magic found inside mtd6
[ 6.627599] Freeing unused kernel memory: 2132K
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
A few UBI messages lacks the trailing newline character which
leads to ugly lines in the bootlog like this:
[ 6.649159] UBI error: no valid UBI magic found inside mtd6[ 6.667751] Freeing unused kernel memory: 2196K
Add a newline character to the end of the messages to fix it.
After the fix the line from above looks better in the log:
[ 6.609182] UBI error: no valid UBI magic found inside mtd6
[ 6.627599] Freeing unused kernel memory: 2132K
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
The value DSL_ChipSetHWVersion is fetched from the dsl frontend
via the dsl_control service, but not really provided by the dsl
frontend firmware and for now always "UNKNOWN".
The lantiq support told us that this information wouldn't be
provided in the foreseeable future, so let's remove this
useless "UNKNOWN" information.
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Use a more appropriate compatible string. Fix the wireless led GPIO and
add the default wireless trigger. Use the wireless LED for boot state
indication as well.
Remove the GPIO pinmux for pins not exposed on the board.
Signed-off-by: Mathias Kresin <dev@kresin.me>
TP-Link TL-MR3420 v5 are simple N300 router with
5-port FE switch and non-detachable antennas.
Its very similar to TP-Link TL-WR841N V13.
Specification:
- MT7628N/N (580 MHz)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- USB 2.0 Port
- UART (J1) header on PCB (115200 8n1)
- 8x LED, 2x button, power input switch
Flash instruction:
The only way to flash LEDE image in mr3420v5 is to use
tftp recovery mode in U-Boot:
1. Configure PC with static IP 192.168.0.225/24 and tftp server.
2. Rename "lede-ramips-mt7628-tplink_tl-mr3420-v5-squashfs-tftp-recovery.bin"
to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with one of LAN ports, press the reset button, power up
the router and keep button pressed for around 6-7 seconds, until
device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
Move common tplink image build code into own recipe. Include the common
parts instead of including a full build recipe and overwriting former set
varaibles.
Signed-off-by: Mathias Kresin <dev@kresin.me>
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>
This patch converts all apm821xx devices to the device-tree
board-detection method. All instances of the legacy
boardnames (mbl,mr24,...) are converted to "vendor,device"
identifier.
The custom board-detection code in apm821xx.sh is removed as
it no longer serves any purpose.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch enables metadata-supported image verification
for all apm821xx supported devices. Since this method comes
with a built-in image verification tool (fwtool), the previous
image checks can be removed.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Currently, the device name handle does not include the
manufacturer. This can make it hard do differentiate
between products from different vendors that have the
same product name. As the handle is used to derive
the image name.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch rename all the DT source files in order to
match upstream's "manufacturer-device.dts" format.
Please note that the DEVICE_DTB isn't changed. This is
because the u-boot of the MyBook Live defines the
fdt_file variable to be "apollo3g/apollo3g.dtb".
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Meraki choose to use their product's codename as the main
compatible string. Mathias Kresin commented that this is
a poor choice as this will confuse the users and devs once
the device-tree compatible is used for board-detection and
possible the image name.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch appends the "apm,bluestone" or "amcc,apollo3g"
machine compatible string to the current device tree source.
Please note that unlike other archs the PPC DT code does
not regard the machine's compatible string as a priority
list. This is explained in the kernel's usage-model.txt as follows:
"PowerPC uses a slightly different scheme where it calls the .probe()
hook from each machine_desc, and the first one returning TRUE is used.
However, this approach does not take into account the priority of the
compatible list, and probably should be avoided for new architecture
support."
For this reason, the "apm,bluestone" compatible string can't be
added to the WNDR4700. As otherwise the target specific pci
fix-up code will get ignored and this causes the ath9k WIFI
to not get initialized.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch sets the BOARD_NAME variable on each affected
apm821xx device. The existing DEVICE_PROFILE and
DEVICE_NAME assignments are deprecated as they no longer
serve any purpose.
The BOARD_NAME variable is used by the sysupgrade-tar
method to specifiy a directory overwrite for the
sysupgrade-$dir directory in the generated tar file.
Keeping the original boardname in this context will be
necessary for targets that utilize the sysupgrade-tar
method. Otherwise, sysupgrade on an previous installation
will not recognize the newly generated images.
This step is necessary since an upcoming patch realigns
the existing shortname for a device with a proper
"manufacturer_device" identifier.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The commit 87b668765e
("image: when using the new image build code, gzip ext4 images by default")
forced that all targets that select the ext4 as the root filesystem
to always compress the generated rootfs. This is fine, but this method
doesn't not allow to append the metadata on a per-target base.
Therefore this patch changes the rootfs image production rule to generate
the gzip step manually. This way the metadata can be appended at a later
date.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
"PandoraBox" is not the name of the manufacturer, it's a firmware made by
the manufacturer actually. Their official English name is "D-Team".
PBR-M1 is the only one they use "PandoraBox" as a brand name. Their other
products are using "Newifi" as their trademark (including Y1 and Y1S which
used to be OEM products for Lenovo).
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
Previously Newifi D2 could only use PandoraBox M1's firmware.
It works fine, but LED GPIO is different.
As a result, a separated DTS file for this device should be implemented.
Hardware spec:
* CPU: MTK MT7621A
* RAM: 512MB
* ROM: 32MB SPI Flash
* WiFi: MTK MT7603+MT7612
* Button: 2 buttons (reset, wps)
* LED: 3 single-color LEDs (USB, WiFi 2.4GHz, WiFi 5GHz) &
2 dual-color LEDs (Power, Internet)
* Ethernet: 5 ports, 4 LAN + 1 WAN
Installation method:
Same as Newifi D1, users may need to request unlock code from the device
manufacturer. Otherwise, a SPI flash programmer may be necessary to get
the firmware flashed. After the device is unlocked, press and hold reset
button before power cable plugs in. Then go to http://192.168.1.1 to
upload and flash the firmware package.
Signed-off-by: Jackson Ming Hu <huming2207@gmail.com>
The VAR11N-300 is a tiny wireless-N device with a hardwired Ethernet
cable, one extra Ethernet port, and an internal antenna, based on the
MediaTek MT7620n chipset.
Specs:
- MT7620n WiSoC @ 600MHz
- 32 MB SDRAM
- 4 MB SPI flash
- 2T2R 2.4GHz WiFi-N
- 1 attached 10/100 Ethernet cable (LAN)
- 1 10/100 Ethernet port (WAN)
- 1 attached USB / barrel 5vdc power cable
- 5 LEDs (see notes below)
- 1 reset button
- 1 UART (3 pads on board)
Installation:
The stock firmware does not support uploading new firmware directly,
only checking the manufacturer's site for updates. This process may be
possible to spoof, but the update check uses some kind of homebrew
encryption that I didn't investigate. Instead, you can install via a
backdoor:
1. Set up a TFTP server to serve the firmware binary
(lede-ramips-mt7620-var11n-300-squashfs-sysupgrade.bin)
2. Factory reset the device by holding the reset button for a few
seconds.
3. Open the web interface (default IP: 192.168.253.254)
4. Log in with the "super admin" credentials: username `vonets`,
password `vonets26642519`.
5. On the "Operative Status" page, click the text "System Uptime", then
quickly click the uptime value.
6. If successful, an alert dialog will appear reading "Ated start", and
the device will now accept telnet connections. If the alert does not
appear, repeat step 5 until it works (the timing is a bit tricky).
7. Telnet to the device using credentials "admin / admin"
8. Retrieve the firmware binary from the tftp server: `tftp -l lede.bin
-r lede-ramips-mt7620-var11n-300-squashfs-sysupgrade.bin -g
<tftp-server-ip>`
9. Write the firmware to flash: `mtd_write write lede.bin /dev/mtd4`
10. Reboot
Tested:
- LAN / WAN ethernet
- WiFi
- LAN / WAN / status LED GPIOs (see notes below)
- Reset button
- Sysupgrade
Notes:
LEDs:
The board has 5 LEDs - two green LEDs for LAN / WAN activity, one blue
LED for WiFi, and a pair of "status" LEDs connected to the same GPIO
(the blue LED lights when the GPIO is low, and the green when it's
high). I was unable to determine how to operate the WiFi LED, as it
does not appear to be controlled by a GPIO directly.
Recovery:
The default U-boot installation will only boot from flash due to a
missing environment block. I generated a valid 4KB env block using
U-boot's `fw_setenv` tool and wrote it to flash at 0x30000 using an
external programmer. After this, it was possible to enter the U-boot
commandline interface and download a new image via TFTP (`tftpboot
81b00000 <image-filename>`), but while I could boot this image
sucessfully (`bootm`), writing it to flash (`cp.linux`) just corrupted
the flash chip. The sysupgrade file can be written to flash at 0x50000
using an external programmer.
Signed-off-by: Andrew Crawley <acrawley@gmail.com>
Add a helper variable which contains the boardname separated from the
vendor name. It allows to switch to a device tree compatible string
based boardname, by keeping the $board:colour:function syntax in
scripts handling/adding config for LEDs.
Boards not using the device tree compatible string as based boardname
are unaffected by the change, since none of them uses a comma in the
boardname.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use <manufacturer>_<modelname> as image name for board using the
devicetree compat string as boardname.
Replace the underline of the device define, to keep the SUPPORTED_DEVICES
in sync with a devicetree compat string based boardname.
Override the default SUPPORTED_DEVICES for board which are having an
userspace boardname with an underline.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The LinkIt Smart 7688/LinkIt Smart 7688 Duo are identical beside the
extra ATmega32U4 - accessible via UART - on the the Duo.
Since all relevant hardware is identical, drop the Duo special handling
in userspace.
Signed-off-by: Mathias Kresin <dev@kresin.me>
If we need to set the initial output value to GPIOF_OUT_INIT_HIGH (1) to
enable something, the pin is ACTIVE_HIGH. The same applies to
GPIOF_OUT_INIT_LOW (0) and ACTIVE_LOW.
Signed-off-by: Mathias Kresin <dev@kresin.me>
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>
The status led part was missed when changing the board name to *-nor.
Fixes: e12c72bb52 ("brcm63xx: Add Sercomm AD1018 support")
Reported-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Use <manufacturer>_<modelname> as image name.
Use the BOARD_NAME variable to ensure that the former used boardname is
still used as the subdirectory name for the sysupgrade-tar image, to
not break sysupgrade from earlier versions.
While at it, normalise the image filenames by using only lower case
characters and bin as file extension for sysupgrade images.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use the first compatible string as board name in userspace. Add the new
board name as well as the former used board name to the image metadata
to keep compatibilty with already deployed installations.
Don't add the former used boardname for boards which exists only in
master or evaluation boards.
Signed-off-by: Mathias Kresin <dev@kresin.me>
This adds basic support for kernel 4.14, this was tested in qemu only.
The subtarget configuration was refresh with kernel 4.14 and the
options needed to make it compile on kernel 4.9 were added manually.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
In kernel 4.14 kmod-bluetooth depends on kmod-crypto-ecdh, add
kmod-crypto-ecdh to LEDE.
Both packages also depend on the kmod-crypto-kpp package. To build this
we have to fix the dependency of CRYPTO_ECDH which has a typo.
This patch is already accepted upstream.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This adds initial support for kernel 4.14 based on the patches for
kernel 4.9.
In the configuration I deactivated some of the new possible security
features like:
CONFIG_REFCOUNT_FULL
CONFIG_SLAB_FREELIST_HARDENED
CONFIG_SOFTLOCKUP_DETECTOR
CONFIG_WARN_ALL_UNSEEDED_RANDOM
And these overlay FS options are also deactivated:
CONFIG_OVERLAY_FS_INDEX
CONFIG_OVERLAY_FS_REDIRECT_DIR
I activated this:
CONFIG_FORTIFY_SOURCE
CONFIG_POSIX_TIMERS
CONFIG_SLAB_MERGE_DEFAULT
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED
I am not sure if I did the porting correct for the following patches:
target/linux/generic/backport-4.14/020-backport_netfilter_rtcache.patch
target/linux/generic/hack-4.14/220-gc_sections.patch
target/linux/generic/hack-4.14/321-powerpc_crtsavres_prereq.patch
target/linux/generic/pending-4.14/305-mips_module_reloc.patch
target/linux/generic/pending-4.14/611-netfilter_match_bypass_default_table.patch
target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Just refresh the kernel configuration, some options are removed because
they are now in the generic kernel configuration.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
These are taken from the x86 target and should make support kernel 4.9
and 4.14 in the x86 target easier.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Cover temperature sensors for all mainstream 64-bit processors, including
AMD 10h and 15h families, Intel iCore, Xeon, Atom, and Via Nano. Also
add CPUID support for user-space applications to detect CPU type.
Include the on-chip sensors for 64-bit CPU's in the generic profile
in case someone builds a 32-bit kernel to run on a Xeon SoC, etc.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Backport the mdio-bus reset gpio support from 4.12 and use it instead
of toggling the reset ourself.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Add support for the Sercomm AD1018 router
This a BCM6328 based board, 128 MB RAM, 128 MiB NAND flash,
with an onboard BCM43217 wifi, 4 ethernet ports and 1 USB
host port (not soldered). The board also has an FXS chip (Si32177)
connected via SPI (SS2#), without support in LEDE.
Since NAND flash chips aren't still supported in brcm63xx, the
support is for now added to work only with SPI flash chips. Therefore
hardware modding, soldering a new SPI flash chip, is required
to make the board work with LEDE (tested and working OK).
The flash at dts is intentionally left without partitioning to let
the user choose a NOR chip of any size (8, 16 or 32 MB).
Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
[jonas.gorski: renamed ad1018 to ad1018-nor to signify the modification]
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.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>
When mtdsplit_minor.c is compiled under Linux 4.4, the compiler
drops the following warning:
CC drivers/mtd/mtdsplit/mtdsplit_minor.o
drivers/mtd/mtdsplit/mtdsplit_minor.c:106:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.parse_fn = mtdsplit_parse_minor,
^
drivers/mtd/mtdsplit/mtdsplit_minor.c:106:14: note: (near initialization for 'mtdsplit_minor_parser.parse_fn')
The second parameter of the parser function must not have a 'const'
qualifier in 4.4. The 001-mtdsplit_backport.patch removes the qualifier
from other partition parsers. Update it to handle mtdsplit_minor.c as
well.
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>