This commit removes the fixed kernel size-padding for the Netgear
DNI image creation as it is not necessary for a working image.
The fake rootfs still needs to be padded to the blocksize.
Tested-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: David Bauer <mail@david-bauer.net>
Without this patch PowerCloud CR5000 AR9382 PCIe 5GHz Wifi uses
the mac address from eeprom instead the one specified when
initializing the PCIe chip. There were two issues:
1) ap94_pci_init on the second PCIe wmac is wrong as there is only one
PCIe wmac on this device (the other wmac is the AR1022/AR9342 SoC wmac).
2) Without specifying pdata->use_eeprom there is a failure to load
firmware and caldata.
Thanks to Christian Lamparter (@chunkeey) for the heavy lifting and
help. [0]
[0] <https://github.com/openwrt/openwrt/pull/1613>
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
This patch, in a variety of forms, has been around since beginning 2016
as e756c2bb07, ending up in present form 0aa6c7df60 (kernel 4.4.13 bump)
and carried forward ever since.
There have been a number of MIPS kernel memory handling changes since,
including VDSO fixes that meant openwrt patches have been dropped with
no apparent fallout.
Simple tests (ntfs-3g) on a HIGHMEM 512MB mt7621 device have not turned
up data corruption issues which would otherwise be expected. Similarly
running on other MIPS based devices for the past 2 months hasn't turned
up anything obvious to retain this out of tree patch.
With thanks to Rosen Penev for testing on the known 'highmem' device and
Felix Fietkau for testing advice. Not putting acked-by as it's my fault
if it breaks :-)
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Patch generation process:
- rebase rpi/rpi-4.14.y on v4.14.89 from linux-stable
- git format-patch v4.14.89
Patches skipped during rebase:
- lan78xx: Read MAC address from DT if present
- lan78xx: Enable LEDs and auto-negotiation
- Revert "softirq: Let ksoftirqd do its job"
- sc16is7xx: Fix for multi-channel stall
- lan78xx: Ignore DT MAC address if already valid
- lan78xx: Simple patch to prevent some crashes
- tcp_write_queue_purge clears all the SKBs in the write queue
- Revert "lan78xx: Simple patch to prevent some crashes"
- lan78xx: Connect phy early
- Arm: mm: ftrace: Only set text back to ro after kernel has been marked ro
- Revert "Revert "softirq: Let ksoftirqd do its job""
- ASoC: cs4265: SOC_SINGLE register value error fix
- Revert "ASoC: cs4265: SOC_SINGLE register value error fix"
- Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends"
- Revert "Revert "net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends""
Patches dropped after rebase:
- net: Add non-mainline source for rtl8192cu wlan
- net: Fix rtl8192cu build errors on other platforms
- brcm: adds support for BCM43341 wifi
- brcmfmac: Mute expected startup 'errors'
- ARM64: Fix build break for RTL8187/RTL8192CU wifi
- ARM64: Enable RTL8187/RTL8192CU wifi in build config
- This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator
- brcmfmac: add CLM download support
- brcmfmac: request_firmware_direct is quieter
- Sets the BCDC priority to constant 0
- brcmfmac: Disable ARP offloading when promiscuous
- brcmfmac: Avoid possible out-of-bounds read
- brcmfmac: Delete redundant length check
- net: rtl8192cu: Normalize indentation
- net: rtl8192cu: Fix implicit fallthrough warnings
- Revert "Sets the BCDC priority to constant 0"
- media: cxd2880: Bump to match 4.18.y version
- media: cxd2880-spi: Bump to match 4.18.y version
- Revert "mm: alloc_contig: re-allow CMA to compact FS pages"
- Revert "Revert "mm: alloc_contig: re-allow CMA to compact FS pages""
- cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880 with
MEDIA_SUBDRV_AUTOSELECT
- 950-0421-HID-hid-bigbenff-driver-for-BigBen-Interactive-PS3OF.patch
- 950-0453-Add-hid-bigbenff-to-list-of-have_special_driver-for-.patch
Make I2C built-in instead of modular as in upstream defconfig; also the
easiest way to get MFD_ARIZONA enabled, which is required by
kmod-sound-soc-rpi-cirrus.
Add missing compatible strings from
4.9/960-add-rasbperrypi-compatible.patch, using upstream names for
compute modules.
Add extra patch to enable the LEDs on lan78xx.
Compile-tested: bcm2708, bcm2709, bcm2710 (with CONFIG_ALL_KMODS=y)
Runtime-tested: bcm2708, bcm2710
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Add kernel module for the fan on the PoE HAT for the 3B+ model in kernel
4.14. Without this, the fan will not turn on.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
It requires sound card support in the new kernel. HDMI CEC support is
disabled for now; enabling it turned out to be non-trivial.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Since kernel 4.12, this driver appeared in staging. The rpi-4.14.y
kernel tree uses these as well.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Support for RaspiDac3 has been removed from the rpi-4.14.y kernel tree.
Make the kmod package depend on kernel 4.9.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Since kernel 4.12, this driver appeared in staging. The rpi-4.14.y
kernel tree uses these as well.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
The LS1021A-IoT gateway reference design based on the
QorIQ LS1021A processor is a purpose-built, small
footprint hardware platform with a wide array of
high-speed connectivity and low-speed serial interfaces
to support secure delivery of IoT services for home,
business or other commercial location.
- Combines standards-based, open source software with a
feature-rich IoT gateway design to establish a common,
open framework for secured IoT service delivery and
management.
- Provides a wide assortment of high-speed and serial-based
connectivity in a compact, highly secure design.
- High efficiency through the use of the Arm-based QorIQ
LS1021A embedded processor.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
This patch is to upgrade kernel to 4.14 for layerscape.
patches-4.14 for layerscape included two categories.
- NXP Layerscape SDK kernel-4.14 patches
All patches on tag LSDK-18.09-V4.14 were ported to OpenWrt
kernel. Since there were hundreds patches, we had to make
an all-in-one patch for each IP/feature.
See below links for LSDK kernel.
https://lsdk.github.io/components.htmlhttps://source.codeaurora.org/external/qoriq/qoriq-components/linux
- Non-LSDK kernel patches
Other patches which were not in LSDK were just put in patches-4.14.
Kept below patches from patches-4.9.
303-dts-layerscape-add-traverse-ls1043.patch
821-add-esdhc-vsel-to-ls1043.patch
822-rgmii-fixed-link.patch
Renamed and rebase them as below in patches-4.14,
303-add-DTS-for-Traverse-LS1043-Boards.patch
712-sdk-dpaa-rgmii-fixed-link.patch
824-mmc-sdhci-of-esdhc-add-voltage-switch-support-for-ls.patch
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
While building 4.19 for ath79 with CONFIG_ALL_KMODS=y with verbose mode
enabled I was asked by kernel config about few symbols/modules so I'm
adding those missing symbols to the generic config.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Originally, cns3xxx used it's own functions for mapping, reading and writing registers.
Upstream commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
removed the internal PCI config write function in favor of the generic one:
cns3xxx_pci_write_config() --> pci_generic_config_write()
cns3xxx_pci_write_config() expected aligned addresses, being produced by cns3xxx_pci_map_bus()
while the generic one pci_generic_config_write() actually expects the real address
as both the function and hardware are capable of byte-aligned writes.
This currently leads to pci_generic_config_write() writing
to the wrong registers on some ocasions.
First issue seen due to this:
- driver ath9k gets loaded
- The driver wants to write value 0xA8 to register PCI_LATENCY_TIMER, located at 0x0D
- cns3xxx_pci_map_bus() aligns the address to 0x0C
- pci_generic_config_write() effectively writes 0xA8 into register 0x0C (CACHE_LINE_SIZE)
This seems to cause some slight instability when certain PCI devices are used.
Another issue example caused by this this is the PCI bus numbering,
where the primary bus is higher than the secondary, which is impossible.
Before:
00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 255
Bus: primary=02, secondary=01, subordinate=ff, sec-latency=0
After fix:
00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 255
Bus: primary=00, secondary=01, subordinate=02, sec-latency=0
And very likely some more ..
Fix all by omitting the alignment being done in the mapping function.
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Use pad-offset and append-string to create the cameo factory images for
the D-LINK DIR-825 C1/DIR-835 A1 factory images.
Tested-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Mathias Kresin <dev@kresin.me>
Backort upstream patch which preserves oif of IPv6 link scoped packets.
The outgoing interface of IPv6 link scope packets can be changed by the
function ip6_route_me_harder. This is unwanted behavior for link local
packets and multicast packets as the outgoing interface is fixed and must
not be altered as it can break neighbor discovery and multicast listener
discovery.
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Alberto Bursi reported:
>The patch "ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300"
>prevents boot on my B1300. I compiled from latest sources.
The GL-B1300 was using the discouraged direct subnodes method to declare
the partitions on the flash.
|The partition table should be a subnode of the flash node and should be named
|'partitions'. This node should have the following property:
|- compatible : (required) must be "fixed-partitions"
|Partitions are then defined in subnodes of the partitions node.
|
|For backwards compatibility partitions as direct subnodes of the flash device are
|supported. This use is discouraged.
|NOTE: also for backwards compatibility, direct subnodes that have a compatible
|string are not considered partitions, as they may be used for other bindings.
<https://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt>
Hence, this patch converts the device to the "partitions" layout.
Fixes: 1cbe457cf9 ("ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300")
Reported-by: Alberto Bursi <bobafetthotmail@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Since commit 61b5b4971e ("mac80211: make ath10k-ct the default ath10k")
select ath10k-ct and the -ct firmwares by default.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Backport net: Allow class-e address assignment via ifconfig ioctl
While most distributions long ago switched to the iproute2 suite
of utilities, which allow class-e (240.0.0.0/4) address assignment,
distributions relying on busybox, toybox and other forms of
ifconfig cannot assign class-e addresses without this kernel patch.
While CIDR has been obsolete for 2 decades, and a survey of all the
open source code in the world shows the IN_whatever macros are also
obsolete... rather than obsolete CIDR from this ioctl entirely, this
patch merely enables class-e assignment, sanely.
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=65cab850f0eeaa9180bd2e10a231964f33743edf
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
>From the Documentation/devicetree/bindings/leds/common.txt:
- default-state : The initial state of the LED. Valid values are "on", "off",
and "keep". If the LED is already on or off and the default-state property is
set the to same value, then no glitch should be produced where the LED
momentarily turns off (or on). The "keep" setting will keep the LED at
whatever its current state is, without producing a glitch. The default is
off if this property is not present.
So setting the default-state of the LEDs to `off` is redundant as `off`
is default LED state anyway. We should remove it as almost every new
PR/patch submission contains this property by default which seems to be
just copy&paste from some DTS file already present in the tree.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This patch adds support for TP-Link Archer A7
Specification:
- SOC: QCA9563
- Flash: 16 MiB (SPI)
- RAM: 128 MiB (DDR2)
- Ethernet: 4x 1Gbps LAN + 1x 1Gbps WAN
- Wireless:
- 2.4GHz (bgn) SoC internal
- 5GHz (ac) QCA988x
- USB: 1x USB 2.0 port
- Button: 1x power, 1x reset, 1x wps
- LED: 10x LEDs
- UART: holes in PCB
- Vcc, GND, RX, TX from ethernet port side
- 115200n8
Flash instructions:
Upload openwrt-ath79-generic-tplink_archer-a7-v5-squashfs-factory.bin
via the Webinterface.
Flash instruction using tftp recovery:
1. Connect the computer to one of the LAN ports of the Archer A7
2. Set the computer IP to 192.168.0.66
3. Start a tftp server with the OpenWrt factory image in the tftp
root directory renamed to ArcherC7v5_tp_recovery.bin
2. Connect power cable to Archer A7, press and hold the reset button
and turn the router on
3. Keep the reset button pressed for ~5 seconds
4. Wait ~150 seconds to complete flashing
Changes since first revision:
- Flash instructions using stock image webinterface
- Changed "Version 5" in model string to "v5"
- Split DTS file in qca9563_tplink_archer-x7-v5.dtsi
and qca9563_tplink_archer-a7-v5.dts
- Firmware image is now build with dynamic partitioning
- Default to ath10k-ct
Changes since second revision:
- Changed uboot@0 to uboot@20000 in DTS file
- Fixed ordering issue in board led script
- Specify firmware partition format in DTS file
- Rebased Makefile device definition on common
Device/tplink-safeloader-uimage definition
- Merged switch section in network script
(same configuration as tplink,tl-wdr3600
and tplink,tl-wdr4300)
Signed-off-by: Karl-Felix Glatzer <karl.glatzer@gmx.de>
This patch fixes wrong usage of debounce-interval subnode property of
gpio-keys-polled nodes, which was used inproperly in parent node, but it
belongs to the subnodes, excerpt from the docs:
Optional subnode-properties:
- debounce-interval: Debouncing interval time in milliseconds.
If not specified defaults to 5.
And the docs are up to date as the source code matches that description
as well:
if (fwnode_property_read_u32(child, "debounce-interval",
&button->debounce_interval))
button->debounce_interval = 5;
While at it, I've also re-formatted gpio-keys-polled nodes, usually just
adding new lines after every key subnode.
Cc: Tomasz Maciej Nowak <tomek_n@o2.pl>
Cc: Matt Merhar <mattmerhar@protonmail.com>
Cc: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Currently it's quite hard to diff debugging output between ar71xx and
ath79, so this patch tries to improve it by adding the same
ag71xx_dump_regs function and placing debugging output from the
registers to relatively same places.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Since commit 8e9a59a6b9 (build: add
mkrasimage) a proper factory image can be provided for the ZyXEL
NBG6817, which can be flashed from the OEM firmware or used for
tftp based push-button recovery, therefore the previously used
partition images for mmcblk0p5-rootfs.bin and mmcblk0p4-kernel.bin
are no longer required (and using them properly has always been
slightly difficult and risky) and can now be dropped from the image
generation code.
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
This commit ports both dir-825-c1 and dir-835-a1 from ar71xx to ath79.
They're pretty much identical, except dir-835-a1 has less LEDs.
The routers come with 128 MByte of RAM and 16 MBytes of flash and sport
2.4GHz and 5.0GHz wireless. Both routers have entries already in
OpenWrt's TOH. Please check there for more information on these
antiquities.
https://openwrt.org/toh/hwdata/d-link/d-link_dir-825_c1https://openwrt.org/toh/hwdata/d-link/d-link_dir-835_a1
Installation:
1. Connect to the web interface of the vendor firmware (usually
listening on 192.168.0.1).
2. Go to "Tools", then "Firmware".
3. In the "Firmware Upgrade" box click "Browse".
4. Select the OpenWrt factory image for your router.
5. Click "Upload", confirm the popups if you agree to flash the file you
selected.
6. Wait for firmware upgrade to complete. It takes about 5 minutes.
Run-tested on dir-825-c1. dir-835-a1 should work as well, but I don't
have this router so I can't confirm.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [trivial changes]
- replace licence texts with SPDX-License-Identifier where
applicable.
- make node-names more generic to fit with Device-Tree Release v0.2
Section 2.2.2 Generic Names Recommendation.
- utilize wifi0/1, blsp1_uart1 labels
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This activates the CONFIG_USB_SUPPORT option in the in the gemini kernel
again which will provide the core USB support and makes it possible to
compile the rest of the USB parts into modules. Without this change USB
will not be available in the gemini target and some modules fail to
compile because the feature list indicates USB support.
Fixes: 10ec966f7b ("gemini: Break out USB to packages")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Netgear R6350 is a wireless router, aka Netgear AC1750.
Specification:
- SoC: Mediatek MT7621AT (2 CPU cores, 4 threads)
- RAM: 128MiB (Nanya NT5CC64M16GP-DI)
- ROM: 128MiB NAND Flash (Macronix MX30LF1G18AC-TI)
- Wireless:
for 11b/g/n (upto 300Mbps): MT7603
for 11a/ac (upto 1450Mbps) : MT7615, is not avaliable now
- Ethernet LAN speed: up to 1000Mbps
- Ethernet LAN ports: 4
- Ethernet WAN speed: up to 1000Mbps
- Ethernet WAN ports: 1
- USB ports: 1 (USB 2.0)
- LEDs: 4 (all can be controlled by SoC's GPIO)
- buttons: 2
- serial ports: unknown
Installation through telnet:
- Copy kernel.bin and rootfs.bin to a USB flash disk,
plug to usb port on the router.
- Enable telnet with link: http://192.168.1.1/setup.cgi?todo=debug
(login if required, default: admin password)
- You will see "Debug Enabled!"
- Telnet 192.168.1.1 and login with "root"
- ls /mnt/shares/ to find out path of your USB disk.
'myUdisk' for example.
- cd /mnt/shares/myUdisk
- mtd_write write rootfs.bin Rootfs
- mtd_write write kernel.bin Kernel
- reboot
recovery when bricked:
nmrpflash can be used to recover to the netgear firmware
if a broken image was flashed.
The SC_PART_MAP partition suggests that an on flash partition table
exists. After implementing a partition parser/builder for the sercom
partition format, the definitions don't match the flash layout used by
the stock firmware.
It either means the partition format has not yet been completely
understood or it isn't used by the stock firmware. For now, use fixed
partitions instead.
Signed-off-by: NOGUCHI Hiroshi <drvlabo@gmail.com>
[apply latest ramips changes and document the on flash partition map
issues]
Signed-off-by: Mathias Kresin <dev@kresin.me>
I've sent this one upstream. This patch is critical if you want to run
with "prove lock correctness" (lockdep) and you happen to have certain
mtd devices. The misuse of the uninitialized object is undefined
behaviour, but being zeroed it does not appear to have actually broken
anything other than the lockdep engine.
Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
Disable Marvell's hardware level MAC learning because it breaks station roaming.
When enabled it drops all frames that arrive from a MAC address
that is on a different port at learning table.
Problem description:
Multiple APs with inter-AP roaming connected to different ports,
when station moves from one AP on one port to another AP on another port,
traffic flow breaks down because the learning table is not updated.
Signed-off-by: Anderson Luiz Alves <alacn1@gmail.com>
[Replaced with upstream version, move to generic]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The current stats always have a 'ms' suffix, and they're used by luci.
Introduce dsl.latency_[down|up] values, exported in µs without suffix.
Signed-off-by: Andre Heider <a.heider@gmail.com>
This ports support for TP-Link TL-WR842N/ND v1 from ar71xx.
CPU: Atheros AR7241 400 MHz
RAM: 32 MiB
FLASH: 8 MiB
PORTS: 4 Port 100/10 Switch, 1 Port 100/10 Wan
WiFi: Atheros AR9287
LED: SYS, WiFi, LAN, WAN, 3G, QSS
BTN: WiFi, Reset/WPS
AR71xx target used "tl-mr3420" as board id so force flag is needed
if upgrading from old target.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [trivial cleanup]
Ben Greear reported in his patch:
|Subject: netgear r7800: Fix mac address of radios.
|
|Reloading the driver causes the phyX to change, and that
|caused the MAC address to change.
This is because all ODM/OEMs except QCA bothered to write
the correct MAC address for the ath10k wifi into the
calibration data.
This patch copies over the MAC patching helper functions from ipq40xx's
target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
file and converts all the devices to patch the correct MACs into the
extracted calibration data before it gets sent to the driver, which sets
up the device with the correct MAC address. It also removes the entries
in the 10_fix_wifi_mac file as they have served their purpose for good.
Please note the C2600: There is conflicting information on what
the offset for the second wifi is supposed to be. This patch uses
what was specified in 10_fix_wifi_mac.
According to Ben Greear this method is save to use with the
stock firmware too. As he explained that the stock firmware
messes up rx-bssid mask calculation when the MAC is changed
after the first vif is created.
Reported-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
- Mark other partitions as read-only for HC5x61
- Only enable USB and PCIe for HC5761/HC5861
HC5661 doesn't have a USB port, and there is nothing attached to its PCIe.
- Fix HC5761 switch ports
HC5761 has only 3 ethernet ports (1x WAN + 2x LAN). Remove unused ports.
- Fix HC5861 5GHz radio
HC5861 has MT7612EN 5GHz WiFi chip, not MT7610EN.
- Fix HC5761/HC5861 WiFi LEDs
After 5GHz is enabled, it becomes wlan0. And 2.4GHz would be wlan1.
- Fix HC5x61 image size
It should be 15872k (0xf80000)
Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
In the thread: "ipq806x: add ath10k calibration data MAC addresses patching"
Chuanhong Guo <gch981213@gmail.com> noted that:
"All ath10k calibration data have a checksum at 0x2.
ath10kcal_patch_mac works for QCA9880/QCA9882 only because
the ath10k firmware for these two chips doesn't check the
checksum value. (QCA proprietary driver checks this and
refuses to use caldata with incorrect checksum.)"
This patch updates 11-ath10k-caldata of the ipq40xx target accordingly.
Reported-by: Chuanhong Guo <gch981213@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
In mainline kernel commit 02c7b25e5f5 ("netfilter: nf_tables: build-in
filter chain type") all chain filters were merged into one file and into
one kernel module to save some memory. The code protected by these
configuration options CONFIG_NF_TABLES_BRIDGE, CONFIG_NF_TABLES_IPV4,
CONFIG_NF_TABLES_ARP, CONFIG_NF_TABLES_IPV6, CONFIG_NF_TABLES_NETDEV and
CONFIG_NF_TABLES_INET was merged into the nft_chain_filter.c file which
is now always compiled into the nf_tables.ko file.
This only happened in kernel 4.19 and OpenWrt has to select these as
modules in older kennel versions. Mark them as build-in in the kernel
4.19 specific kernel configuration file which will then not be
overwritten by the package specific settings which try to make them
modular again.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
In kernel commit 0168e8b361 ("netfilter: nat: merge ipv4/ipv6 masquerade
code into main nat module") the CONFIG_NF_NAT_MASQUERADE_IPV4 and
CONFIG_NF_NAT_MASQUERADE_IPV6 kernel configuration option were changed
to bool and the code will not be compiled as a own module any more, but
it will be integrated into nf_nat_ipv4.ko or nf_nat_ipv6.ko to save some
memory.
Activate these options as bool in the generic kernel 4.19 configuration
only, to always build them into the nf_nat_ipv*.ko modules. The kmod
file will still try to select them as module, but the generic
configuration will not be overwritten.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
CONFIG_OF_NET depends on CONFIG_NVMEM in kernel 4.19. To fix some build
problems in mainline Linux kernel CONFIG_NVMEM was changed from tristate
to bool in commit 2a37ce25d9 ("nvmem: disallow modular CONFIG_NVMEM").
This patch in OpenWrt revert the upstream commit and changes
CONFIG_NVMEM back to tristate we just have to make sure to build this in
for all targets which select CONFIG_OF_NET.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
CONFIG_HW_RANDOM_TPM does not activate a separate kernel module any
more, but it only activates the random code in the tpm.ko.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This makes the patches which were just copied in the previous commit
apply on top of kernel 4.19.
The patches in the backports-4.19 folder were checked if they are really
in kernel 4.19 based on the title and only removed if they were found in
the upstream kernel.
The following additional patches form the pending folder went into
upstream Linux 4.19:
pending-4.19/171-usb-dwc2-Fix-inefficient-copy-of-unaligned-buffers.patch
pending-4.19/190-2-5-e1000e-Fix-wrong-comment-related-to-link-detection.patch
pending-4.19/478-mtd-spi-nor-Add-support-for-XM25QH64A-and-XM25QH128A.patch
pending-4.19/479-mtd-spi-nor-add-eon-en25qh32.patch
pending-4.19/950-tty-serial-exar-generalize-rs485-setup.patch
pending-4.19/340-MIPS-mm-remove-mips_dma_mapping_error.patch
Bigger changes were introduced to the m25p80 spi nor driver, as far as I
saw it in the new code, it now has the functionality provided in this
patch:
pending-4.19/450-mtd-m25p80-allow-fallback-from-spi_flash_read-to-reg.patch
Part of this patch went upstream independent of OpenWrt:
hack-4.19/220-gc_sections.patch
This patch was reworked to match the changes done upstream.
The MIPS DMA API changed a lot, this patch was rewritten to match the
new DMA handling:
pending-4.19/341-MIPS-mm-remove-no-op-dma_map_ops-where-possible.patch
I did bigger manual changes to the following patches and I am not 100% sure if they are all correct:
pending-4.19/0931-w1-gpio-fix-problem-with-platfom-data-in-w1-gpio.patch
pending-4.19/411-mtd-partial_eraseblock_write.patch
pending-4.19/600-netfilter_conntrack_flush.patch
pending-4.19/611-netfilter_match_bypass_default_table.patch
pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
hack-4.19/211-host_tools_portability.patch
hack-4.19/221-module_exports.patch
hack-4.19/321-powerpc_crtsavres_prereq.patch
hack-4.19/902-debloat_proc.patch
This is based on patchset from Marko Ratkaj <marko.ratkaj@sartura.hr>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This just copies the files from the kernel 4.14 specific folders into
the kernel 4.19 specific folder, no changes are done to the files in
this commit.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The b53 driver was added as a dsa driver into the mainline Linux kernel,
but we still use the swconfig based driver. The header file b53.h is
used by both drivers, but the swconfig one needs an extra member, add
this one in a patch to not overwrite the version shipped with the
mainline kernel.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The ledtrig-netdev was added to upstream Linux kernel 4.16, replace our
own version with the patch based on the upstream version.
This will remove the ledtrig-netdev support from kernel 3.18, because I
not want to spend time on backporting it to 3.18. This will make it
easier to use the upstream version with kernel 4.19, by just not
applying this patch.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
It's no longer needed as all mt7621 devices use DT binding (supported by
upstream mtd code) for specifying "firmware" part format explicitly.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
The qca9557/qca956x reset-controller aren't a simple bus. A simple bus
would require node unit addresses.
Add the node unit addresses for the qca9557 usb phys. Add the regs for
the USB_PWRCTL and USB_CONFIG registers even not yet used.
Fix the wrong ar7100 pcie controller node unit address as well.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Due to the enforced image metadata we ensure that the correct image is
uploaded. Checks based on a magic arn't required any more.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Beside one exception, no one took care of these two remaining boards
still using the legacy image build code during the last two years.
Since OpenWrt 14.07 the ALLNET ALL0239-3G image building is broken.
The Sitecom WL-341 v3 image build code looks pretty hackish and broken.
It's questionable if the legacy image works as all.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Drop the factory images and the firmware tool to create them. They don't
work any more, since the factory image has an uImage header covering the
whole kernel + rootfs. This way the uImage splitter will not be able to
find the rootfs and the kernel will panic later on.
The factory images were most likely added at a time the board had
distinct partitions for kernel and rootfs.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Fix the imagetag on the HG655b to allow a correct partition detection at boot time.
It turns out that it was defined at the wrong partition. Just move the imagetag to
the linux firmware partition.
The bug is present since the 18.06 release. Without this fix, the board won't boot.
Fixes: a27d59bb42 ("brcm63xx: switch to new partition layout specification")
Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
The reset mask for the bcm6368 switch core was left at 0 due to a copy &
paste error. Fix this by setting it to the correct value.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Remove the sky.mk causing a duplicate device profile to be added in
image builder. The generic device code already generates a profile for
the device.
Fixes FS#1780.
Fixes: d591260407 ("brcm63xx: initial support for Sky SR102 router")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Buildbot revealed some subtargets are still missing the new symbol.
Fixes: dfbf836a52 ("kernel: bump 4.9 to 4.9.143")
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This patch fixes a build warning triggered by a semicolon in
the dts after the #include directive.
netgear-wndap620.dts:11:33: warning: extra tokens at end of #include directive
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This property (and value) came from Netgear's WNDR4700
stock firmware dts. However, other devices do not set
it and the EMAC default is 16, which matches that of
the programming notes of the APM82181 spec.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
In commit d70ec3008d, a firmware compatible
string of "denx,uimage" was added for the Dlink DIR-860L-B1. Unfortunately,
this was the wrong string. It needs "seama" instead.
Signed-off-by: Russell Senior <russell@personaltelco.net>
This add support for TP-Link TL-WA801ND v4 (same as TL-WA801ND v3) :
Specification:
- System-On-Chip: Qualcomm Atheros QCA9533
- CPU/Speed: 650 MHz
- Flash-Chip: Winbond W25Q32BVSIG
- Flash size: 4096 KiB
- RAM: 32 MiB
- Wireless No1: SoC-integrated: QCA9533 2.4GHz 802.11bgn
Flash instructions:
1) To flash the image, rename the file
openwrt-ar71xx-generic-tl-wa801nd-v4-squashfs-factory.bin
to firmware.bin
2) Connect your device to the LAN port, then upload the firmware
through web interface. It will try to download the image and
flash it.
It can take up to 2-3 minutes to finish. When it reaches 100%, the
router will reboot itself.
Signed-off-by: Romain MARIADASSOU <roms2000@free.fr>
PowerCloud Systems CAP324 has a bicolor power LED and OpenWrt DTS files /
base files support using both colours to better inform user of state
and to better match stock firmware, so use green power to indicate
normal operation.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
I-O DATA WN-AG300DGR is a 2T2R 2.4/5 GHz 11n router, based on Atheros
AR1022.
WN-AG300DGR does not have an LED to indicates power or system status,
I set "router" LED as OpenWrt status LED.
There is no eeprom data for 5 GHz wlan in "art" partition.
Specification:
- Atheros AR1022
- 64 MB of RAM (DDR2)
- 8 MB of Flash (SPI-NOR)
- 2T2R 2.4/5GHz wifi
- 2.4 GHz: SoC internal
- 5 GHz: Atheros AR93x2
- 5x 10/100/1000 Mbps Ethernet
- 6x LEDs, 6x keys (4x buttons, 1x slide switch)
- 1x USB 2.0 Type-A
- UART through-hole on PCB
- Vcc, GND, TX, RX from ethernet port side
- 115200n8
Flash instruction using factory image:
1. Connect the computer to the LAN port on WN-AG300DGR
2. Connect power cable to WN-AG300DGR and turn it
3. Access to "http://192.168.0.1/" and open firmware update page
("ファームウェア")
4. Select the OpenWrt factory image and click update ("更新") button
5. Wait ~150 seconds to complete flashing
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
WB2000 is a dual-band 11N AP using AR9344.
The factory firmware used the original DB120 partition table
with a small kernel partition at the end of firmware and the
kernel will easily get oversized in the future. Since it has
to be flashed using UART I also swapped kernel/rootfs and
changed the default load address.
Specification:
- SoC: Atheros AR9344
- RAM: 128 MB
- Flash: 16 MB
- Ethernet: 10/100/1000 Mbps (Atheros AR8035)
- 2x USB 2.0
- WIFI: AR9344(2G) + AR9382(5G)
- RTC: DS1338
Known issue:
5G ath9k led doesn't work due to commit ccab68f.
Flash instruction:
Set up a TFTP server on your computer and configure static IP.
Connect UART (J11 TX/GND/RX) and press any key to enter U-boot
shell.
1. Change the default boot command:
setenv bootcmd 'bootm 0x9f050000 || bootm 0x9fd50000'
saveenv
2. Set your router ipaddr and server ipaddr. e.g.:
setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.50
3. Load and flash the firmware:
tftp 0x80060000 fw.bin
erase 0x9f050000 +$filesize
cp.b $fileaddr 0x9f050000 $filesize
4. Reset your router:
reset
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
[Drop the i2c node unit address. Move the ath9k-leds node out of the spi
node, it doesn't belong there. Add the #gpio-cells property to the pci
wifi node. All fix dtc compiler warnings]
Signed-off-by: Mathias Kresin <dev@kresin.me>
merge
This commit fixes several issues in eth0 on ETG3-R, and solve slowdown
in NA(P)T speed.
- add gmac-config with correct configurations
- fix pll-data value
And I added ref clock-frequency.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Neither the seama nor the wrgg splitter are used at the moment. Drop
them for now to not bloat the target from the beginning.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The userspace boardname derived from the dts compatible was out of sync
with the expected board added to the image metadata. This way a
sysupgrade is refused.
Sync the userspace boardname and the baordname used in the image metdata
to allow a seamless sasupgrade.
Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit adds firmware partition compatible for the
AVM FRITZ!Box 4020 and AVM FRITZ!WLAN Repeater 300E.
This allows to select the correct mtdsplit parser
instead of trying all available ones one by one.
Signed-off-by: David Bauer <mail@david-bauer.net>
Parsing "firmware" partition (to create kernel + rootfs) was implemented
using OpenWrt downstream code enabled by CONFIG_MTD_SPLIT_FIRMWARE. With
recent upstream mtd changes we can do it in a more clean way for DTS
targets. It just requires adding a proper "compatible" string to the
"firmware" partition node.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
The latest dtc compiler considers nodes named i2c or spi as the
respective bus:
/pinctrl/i2c: incorrect #address-cells for I2C bus
/pinctrl/spi: incorrect #address-cells for SPI bus
Rename the node to fix the false positives.
Fix the spi node unit address for the DWR-512-B and UBNT-ER-e50 to get
rid of the following warning:
SPI bus unit address format error, expected "n"
Signed-off-by: Mathias Kresin <dev@kresin.me>
Select the matching mt76 driver for the PCI wireless of the following
devices:
- HiWiFi HC5861B
- Mercury MAC1200R v2.0
- Netgear AC1200 R6120
- Buffalo WCR-1166DS
- ZyXEL Keenetic Extra II
- Wavlink WL-WN575A3
Because every device has selected the corresponding mt76 driver, we can
include kmod-mt7603 instead of the mt76 metapackage, which used for the
wireless of the mt7628 and mt7688 WiSoC.
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
[select kmod-mt7603 as target default package, add wireless driver for
WL-WN575A3]
Signed-off-by: Mathias Kresin <dev@kresin.me>
qca9533 is a costdown version of qca9531 which doesn't have USB and PCIE.
Rename the misleading dtsi names and fix the SoC type of gl-ar300m.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
[apply the changes for the gl-x750 as well]
Signed-off-by: Mathias Kresin <dev@kresin.me>
Currently OpenWrt doesn't support switching MT7628 into AP mode
(which is done by writing some undocumented registers in MTK SDK)
Without doing so, enabling SD breaks 4 FE ports and the SD controller
doesn't work since SD pins aren't configured correctly.
Disable SDHC on HC5661A to recover the 4 FE ports.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
[drop the sdhci node completely]
Signed-off-by: Mathias Kresin <dev@kresin.me>
I wanted to add status LEDs support to my imx6 based board and have found out,
that I could use diag.sh script found in ramips platform, which seems to be
also shared in a few other platforms:
4801276bc2078c5bcf03003c831e3b0a target/linux/ramips/base-files/etc/diag.sh
4801276bc2078c5bcf03003c831e3b0a target/linux/ipq40xx/base-files/etc/diag.sh
4801276bc2078c5bcf03003c831e3b0a target/linux/ath79/base-files/etc/diag.sh
And @chunkeey suggested to me, that I can also add lantiq, ipq806x and
apm821xx to the list of platforms which could share this generic
diag.sh.
I've extended the base diag.sh in a way, that if it detects any of the
DTS LED aliases, then it would use the generic DTS set_led_state code.
The code in platform's diag.sh has moved to base-files package in this
commit:
base-files: diag.sh: Make it more generic towards DTS so it could be reused
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Tested-by: Christian Lamparter <chunkeey@gmail.com> (apm821xx and ipq40xx)
This change enables support to select phy4 in RGMII mode and
enables RGMII TX/RX clock internal delays.
Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
We have IPQ8064 AP161 board which has three GMAC's
* RGMII x2
* SGMII x1.
The existing ar8327 driver does not have support for
three GMAC's connection, hence this change adds support
for the same. This has been verified on AP148 and AP161
board.
Signed-off-by: xiaofeis <xiaofeis@codeaurora.org>
Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
This commit adds the default usb packages
- kmod-usb-core
- kmod-usb2
- kmod-usb-ledtrig-usbport
for Archer C7 v4 and v5.
(The C7 v5 configuration is based on the v4, therefore the change for v4
also applies for v5.)
Signed-off-by: Daniel Halmschlager <dh@dev.halms.at>
The tar extraction depends on the order in which the files
are added to the tar file. Since the order is not guaranteed
and depends on the host system, the combined mtd write fails
with sysupgrade images built on some systems.
Fix by changing to tar file order independent mtd write.
Fixes: 86e18f6706 ("ipq806x: add support for OpenMesh A42")
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
SOC: IPQ4018 / QCA Dakota
CPU: Quad-Core ARMv7 Processor rev 5 (v7l) Cortex-A7
DRAM: 256 MiB
NOR: 32 MiB
ETH: Qualcomm Atheros QCA8072
WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2
WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2
INPUT: RESET Button
LEDS: Power, LAN, MESH, WLAN 2.4GHz, WLAN 5GHz
1. Load Ramdisk via U-Boot
To set up the flash memory environment, do the following:
a. As a preliminary step, ensure that the board console port is connected to the PC using these RS232 parameters:
* 115200bps
* 8N1
b. Confirm that the PC is connected to the board using one of the Ethernet ports. Set a static ip 192.168.99.8 for Ethernet that connects to board. The PC must have a TFTP server launched and listening on the interface to which the board is connected. At this stage power up the board and, after a few seconds, press 4 and then any key during the countdown.
U-BOOT> set serverip 192.168.99.8 && set ipaddr 192.168.99.9 && tftpboot 0x84000000 openwrt.itb && bootm
2. Load image via GUI
a. Upgrade EAP1300 to FW v3.5.3.2
In the GUI, System Manager > Firmware > Firmware Upgrade, to do upgrade.
b. Transfer to OpenWrt from EnGenius.
In Firmware Upgrade page, to upgrade yours openwrt-ipq40xx-engenius_eap1300-squashfs-sysupgrade.bin.
3. Revert to EnGenius EAP1300
To flash openwrt-ipq40xx-engenius_eap1300-squashfs-factory.bin by using sysupgrade command and "DO NOT" keep configuration.
$ sysupgrade –n openwrt-ipq40xx-engenius_eap1300-squashfs-factory.bin
Signed-off-by: Steven Lin <steven.lin@senao.com>
To be able to use the camera module, start_x=1 has to be set in
config.txt. This will cause the bootloader to load the GPU firmware that
contain the extra video codecs. Install these firmware files.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This reverts commit 7e88753ace.
Using subpartitions (hierarchical layout) resulted in calling MTD ops of
parent partition instead of master device ops. That was expected and
should work but testing revealed some bugs.
Apparently the way MTD_ERASE_PARTIAL is implemented in the OpenWrt
breaks something and using parent partition ops triggers using that
code.
On SmartRG SR400ac it was resulting in:
[ 225.487519] jffs2: Erase at 0x01ac0000 failed immediately: errno -22
on the second boot (for some reason erasing was starting over) and it
was breaking flash access in a long term.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
The DWR-118-A1 Wireless Router is based on the MT7620A SoC.
Specification:
- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 16 MB of FLASH
- 1x 802.11bgn radio
- 1x 802.11ac radio (MT7610EN)
- 3x 10/100 Mbps Ethernet (3 LAN)
- 2x 10/100/1000 Mbps ICPlus IP1001 Ethernet PHY (1 WAN AND 1 LAN)
- 1x internal, non-detachable antenna
- 2x external, non-detachable antennas
- 1x USB 2.0
- UART (J1) header on PCB (57600 8n1)
- 7x LED (5x GPIO-controlled), 2x button
- JBOOT bootloader
Known issues:
- WIFI 5G LED not working
- flash is very slow
The status led has been assigned to the dwr-118-a1:green:internet led.
At the end of the boot it is switched off and is available for other
operation. Work correctly also during sysupgrade operation.
Installation:
Apply factory image via http web-gui or JBOOT recovery page
How to revert to OEM firmware:
- push the reset button and turn on the power. Wait until LED start
blinking (~10sec.)
- upload original factory image via JBOOT http (IP: 192.168.123.254)
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Because every device has selected the corresponding mt76 driver, we can
now disable the mt76 metapackage by default to make sure that other
devices (those don't need mt76) avoid selecting unwanted packages.
We can find the hardware specifies and determine the dependencies on
these sites:
https://wikidevi.com/wiki/https://openwrt.org/toh/hwdata/
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
All boards neither expose the PCIe as Mini-PCIe nor have anything
attached to the PCIe Bus. Disable PCIe for those by dropping the node
from the dts files.
Signed-off-by: Mathias Kresin <dev@kresin.me>
This helper uses hierarchical partitions layout following the way
upstream parsers work. It's closer to what we should use when mainlining
our solutions. It also doesn't require hacky casting of struct
mtd_partition to the const.
THIS WILL AFFECT KERNEL PRINTING PARTITIONS IN THE LOG
Something like:
[ 3.930158] 0x0000004e0000-0x000001fb0000 : "rootfs_data"
will get replaced by:
[ 3.907338] Creating 1 MTD partitions on "rootfs":
[ 3.912142] 0x00000031d400-0x000001ded400 : "rootfs_data"
It's important to understand that "rootfs_data" in above example is a
*subpartition* of the "rootfs" now. To get absolute addresses (e.g. for
some debugging purposes) one has to add them to the "rootfs", e.g.
[ 3.912548] 0x0000001c2c00-0x000001fb0000 : "rootfs"
(0x1c2c00 + 0x31d400 = 0x4e0000)
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Indoor low-power router with 2.4 GHz radio
CPU: Atheros AR7241 rev 1
RAM: 32 MB
Flash: 8 MB NOR SPI
Switch: Atheros AR7240
Ports: 1x WAN, 4x LAN 10/100 Ethernet
WLAN: Atheros AR9285 (2.4 GHz)
USB: 1x USB2 host port
Note: Ethernet WAN/LAN port naming is reversed from ar71xx.
WAN is eth0; LAN is eth1.1.
UART settings: 115200, 8N1
LEDs
+--------------------------
|
|
|
|
|
|
|
|
VCC | x x
RX | * x
| x x
| x x
TX | * x
GND | * x
|
|
|
|
+--------------------------
ETHERNET PORTS
Installation from Ubiquiti firmware, is as for other ubnt-xm AirOs devices.
Signed-off-by: Russell Senior <russell@personaltelco.net>
Moving binding mount before check for saved sysupgrade configuration
made it unreachable. Fix it by moving binding mount after the check.
Fixes: f78b2616 (x86: mount writable bootfs)
Reported-by: Lucian Cristian <luci@powerneth.ro>
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Compile the loader if the relocate-kernel image recipe is used and get
rid of the legacy build code to do so.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Specify firmware partition format by compatible string.
List of devices:
-DWR-116-A1
-DWR-118-A2
-DWR-512-B
-DWR-921-C1
-LR-25G001
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
MTC Wireless Router WR1201 is the OEM name of the board. It is also sold
rebranded as STRONG Dual Band Gigabit Router 1200.
Specification:
- SoC: MediaTek MT7621A (880 MHz)
- Flash: 16 MiB
- RAM: 128 MiB
- Wireless: 2.4Ghz(MT7602EN) and 5Ghz (MT7612EN)
- Ethernet speed: 10/100/1000
- Ethernet ports: 4+1
- 1x USB 3.0
- 1x microSD reader
- Serial baud rate of Bootloader and factory firmware: 57600
The OEM webinterface writes only as much bytes as listed in the
uImage header field to the flash. Also, the OEM webinterface
evaluates the name field of uImage header before flashing (the
string "WR1201_8_128")
To flash via webinterface, is mandatory to use first initramfs.bin
and after (from the OpenWrt) the sysupgrade.bin
Some notes:
- Some microSD will not work:
mtk-sd 1e130000.sdhci: no support for card's volts
mmc0: error -22 whilst initialising SDIO card
mtk-sd 1e130000.sdhci: no support for card's volts
mmc0: error -22 whilst initialising MMC card
mtk-sd 1e130000.sdhci: no support for card's volts
mmc0: error -22 whilst initialising SDIO card
mtk-sd 1e130000.sdhci: card claims to support voltages below defined range
mtk-sd 1e130000.sdhci: no support for card's volts
mmc0: error -22 whilst initialising MMC card
mtk-sd 1e130000.sdhci: no support for card's volts
mmc0: error -22 whilst initialising SDIO card
mtk-sd 1e130000.sdhci: no support for card's volts
mmc0: error -22 whilst initialising MMC card
Signed-off-by: Valentín Kivachuk <vk18496@gmail.com>
Specify firmware partition format by compatible string.
formats in ramips:
- denx,uimage
- tplink,firmware
- seama
It's unlikely but the firmware splitting might not work any longer for
the following boards, due to a custom header:
- EX2700: two uImage headers
- BR-6478AC-V2: edimax-header
- 3G-6200N: edimax-header
- 3G-6200NL: edimax-header
- BR-6475ND: edimax-header
- TEW-638APB-V2: umedia-header
- RT-N56U: mkrtn56uimg
But it rather looks like the uImage splitter is fine with the extra
header.
The following dts are not touched, due to lack of a compatible string in
the matching firmware splitter submodule:
- CONFIG_MTD_SPLIT_JIMAGE_FW
DWR-116-A1.dts
DWR-118-A2.dts
DWR-512-B.dts
DWR-921-C1.dts
LR-25G001.dts
- CONFIG_MTD_SPLIT_TRX_FW
WCR-1166DS.dts
WSR-1166.dts
- CONFIG_MTD_SPLIT_MINOR_FW
RBM11G.dts
RBM33G.dts
- CONFIG_MTD_SPLIT_LZMA_FW
AR670W.dts
- CONFIG_MTD_SPLIT_WRGG_FW
DAP-1522-A1.dts
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Use .bin as file extension where possible. The user doesn't need to that
sysupgrade images for NAND boards are tarballs.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Having MIT as alternative is sometimes preferred by upstream maintainers
and allows sharing that simple code with other projects. We don't really
want multiple DTS versions for the same device.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Having MIT as alternative is sometimes preferred by upstream maintainers
and allows sharing that simple code with other projects. We don't really
want multiple DTS versions for the same device.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Having MIT as alternative is sometimes preferred by upstream maintainers
and allows sharing that simple code with other projects. We don't really
want multiple DTS versions for the same device.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
The previous offset was invalid and pointed to the end of the partition,
which was causing issues with mt76
Signed-off-by: Felix Fietkau <nbd@nbd.name>
The find statement would not return any results if the KDIR_BASE pointed to a
symlink. Ran into this issue due to a custom Kernel/Prepare that was installing
a symlink to the kernel directory.
The extra slash at the end fixes this scenario and does no harm for targets that
have a proper KDIR.
Signed-off-by: Karl Vogel <karl.vogel@gmail.com>
The 5GHz radio of this device uses an mt7610e PCI-E chip, which has
been recently started to be supported.
mt76x0e 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
mt76x0e 0000:01:00.0: ASIC revision: 76100002
mt76x0e 0000:01:00.0: Firmware Version: 0.1.00
mt76x0e 0000:01:00.0: EEPROM ver:01 fae:00
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Specify firmware partition format to denx,uimage in compatible DTS property.
2 uimage-fw partitions found on MTD device firmware
Creating 2 MTD partitions on "firmware":
0x000000000000-0x00000017f72b : "kernel"
0x00000017f72b-0x000000f70000 : "rootfs"
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Flash partitions were moved under partition table node, but addition of
compatible property was omitted which lead to following boot failure:
VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
1f00 16384 mtdblock0
(driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Fixes: e4d9217f (ramips: improve BDCOM WAP2100-SK support)
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Since we do nothing special for mxs based boards,
we can simply use the generic existing code.
We just need to convert scripts to use the DT
compatible strings.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
The 5 GHz radio of this device uses an mt7610e pci-e chip, which has
been recently added support.
Tested on the actual device as AP and client, TCP throughput ~90 Mbps
U/D.
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Add support for UniElec U7621-06 variant with 512MB RAM and 64MB flash.
Additional specs are below:
CPU: MT7621 (880Mhz)
Bootloader: Ralink U-Boot
Flash: 64MB
- U-Boot identifies as Macronix MX66L51235F
- kernel identifies as MX66L51235l (65536 Kbytes)
RAM: 512MB
Rest of the details as per commit 46ab81e405 ("ramips add support for
UniElec U7621-06")
Signed-off-by: Nishant Sharma <nishant@unmukti.in>
[use generic board detection, add firmware partition compatible, extend
firmware partition to use all of the remaining flash space, add a
maximum image size matching the firmware partition size]
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use the generic board detection for the board instead of the target
specific one. Mark the sysupgrade image compatible with the former used
userspace boardname to allow an upgrade from earlier versions.
Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit adds support for the ROSINSON WR818 WiFi-Router
SoC: Qualcomm Atheros QCA9563,
FLASH: Winbond W25Q128FV 16MBytes,
WiFi: QCA9563 b/g/n 3x3 450Mbit/s,
USB: 1x USB 2.0 Type A, 1x USB2.0 Type C,
IN: WPS/Reset button GPIO1,
OUT: Power LED red, Internet LED red, WLAN LED red,
LAN1 LED red, LAN2 LED red, System LED red,
UART: RX-GPIO18, TX-GPIO22,
Tested and working:
- Ethernet (LAN + WAN)
- WiFi
- OpenWRT sysupgrade
- Button
- LEDs
Installation of OpenWRT from vendor firmware:
- Connect to the Web-interface at http://192.168.1.1
- Go to "Administration" -> "Firmware Upgrade"
- Upload the OpenWrt sysupgrade image
Signed-off-by: Rosy Song <rosysong@rosinson.com>
The board doesn't come in different flash type flavours, hence there is
no need to keep a dtsi + dts for this purpose.
While at it, fix some whitespace issues.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The RavPower WD03 is a mt7620n based baord. With the change applied, I2C
should work now with the RavPower WD03.
Signed-off-by: Matthias Badaire <mbadaire@gmail.com>
[reworded commit message]
Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit adds firmware partition compatible for the
TP-Link Archer C58 v1 and Archer C59 v1.
Since a22311e this allows to select the correct mtdsplit
parser instead of trying all available ones one by one.
Signed-off-by: David Bauer <mail@david-bauer.net>
This commit adds firmware partition compatible for the
OCEDO Raccoon and OCEDO Koala.
Since a22311e this allows to select the correct mtdsplit
parser instead of trying all available ones one by one.
Signed-off-by: David Bauer <mail@david-bauer.net>
Specify firmware partition format (denx,uimage) by compatible string
for ELECOM WRC-300GHBK2-I.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
With ed25e3ac02 ("ramips: fix some clocks in mt7621.dtsi") the
cpuclock node was dropped from the mt7621.dtsi without removing the
references to this node from the GB-PC1/PC2 dts files.
Remove them now, to fix the build error.
Signed-off-by: Mathias Kresin <dev@kresin.me>
It has to be <board>:<colour>:<function> and is expected exactly this
way by the userspace scripts.
While at it, fix some whitespace issues in the dts file and rename the
flash node as required upstream.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Multicast ARL entries can have multiple destination ports. Get and dump
all destination ports of each entry, not just the lowest.
Signed-off-by: Günther Kelleter <guenther.kelleter@devolo.de>
Use the generic board detection instead of the target specific one as
all recent additions are doing.
Setup the USB led via devicetree (a58535771f) and include the required
driver by default. Merge the led userspace setting with an existing
identical case.
Use the wps led for boot status indication.
Move the partitions into a partition table node (6031ab345d) and drop
needless labels. Drop misplaced cells properties (53624c1702).
Cleanup the pinmux and only switch pins to gpio functions which a
referenced as gpio in the dts.
Match the maximum image size with the size of the firmware partition.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The sd function of the nd_sd group configures two of the groups pins as
gpios. The pins are used as PCIe reset/power.
Due to the driver load order, the pins are configured way to late if
triggered by the sd-card driver.
To not introduce another kind of driver load order dependency and
configure the pins as early as possible, means during pinmux driver
load.
Signed-off-by: Mathias Kresin <dev@kresin.me>
In case the nd_sd group is set to the sd-card function, Pins 45 + 46 are
configured as GPIOs. If they are blocked by the sd function, they can't
be used as GPIOs.
Reported-by: Kristian Evensen <kristian.evensen@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
This reverts commit dcdc6d9dad.
Even if described this way in the datasheet, it causes a bootloop on a
RT-N56U (v1):
of-flash 1c000000.nor-flash: do_map_probe() failed for type cfi_probe
of-flash 1c000000.nor-flash: do_map_probe() failed
VFS: Cannot open root device “(null)” or unknown-block(0,0): error -6
Fixes: FS#1930
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use the generic board detection instead of the target specific one as
all recent additions are doing.
Add the wireless led according the gpio number from the datasheet.
Rename the board part of the leds to match the name used for the
compatible string. Finally, do not hijack the wps led for boot status
indication longer than necessary.
Merge userspace config into existing cases.
Include the manufacture Name in the dts model string.
Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit modifies mtd partitions define for Buffalo BHR-4GRV2 and
move it to generic subtarget.
In Buffalo BHR-4GRV2, "kernel" partition is located behined "rootfs"
partition in the stock firmware. This causes the size of the kernel
to be limited by the fixed value.
0x50000 0xe80000 0xff0000
+-------------------------------+--------------+
| rootfs | kernel |
| (14528k) | (1472k) |
+-------------------------------+--------------+
After ar71xx was updated to Kernel 4.14, the kernel size of BHR-4GRV2
exceeded the limit, and it breaks builds on official buildbot.
Since this issue was also confirmed in ath79, I modified the mtd
partitions to get rid of that limitation.
0x50000 0xff0000
+----------------------------------------------+
| firmware |
| (16000k) |
+----------------------------------------------+
However, this commit breaks compatibility with ar71xx firmware, so I
dropped "SUPPORTED_DEVICES += bhr-4grv2".
This commit requires new flash instruction instead of the old one.
Flash instruction using initramfs image:
1. Connect the computer to the LAN port of BHR-4GRV2
2. Set the IP address of the computer to 192.168.12.10
3. Rename the OpenWrt initramfs image to
"bhr4grv2-uImage-initramfs-gzip.bin" and place it into the TFTP
directory
4. Start the tftp server on the computer
5. While holding down the "ECO" button, connect power cable to
BHR-4GRV2 and turn on it
6. Flashing (orange) diag LED and release the finger from the button,
BHR-4GRV2 downloads the intiramfs image from TFTP server and boot
with it
7. On the initramfs image, create "/etc/fw_env.config" file with
following contents
/dev/mtd1 0x0 0x10000 0x10000
8. Execute following commands to add environment variables for
u-boot
fw_setenv ipaddr 192.168.12.1
fw_setenv serverip 192.168.12.10
fw_setenv ethaddr 00:aa:bb:cc:dd:ee
fw_setenv bootcmd "bootm 0x9f050000 || bootm 0x9fe80000"
9. Perform sysupgrade with squashfs-sysupgrade image
10. Wait ~150 seconds to complete flashing
And this commit includes small fix; BHR-4GRV2 has QCA9557 as a SoC,
not QCA9558.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Remove the source-only flag from ath79, its supposed to replace ar71xx after next stable release but buildbots are not currently generating images for it.
So in order to expand testing as much as possible and prepare for moving to ath79 lets enable the buildbots to actually build the target.
Signed-off-by: Robert Marko <robimarko@gmail.com>
The Lava LR-25G001 Wireless Router is based on the MT7620A SoC.
Specification:
- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 16 MB of FLASH
- 1x 802.11bgn radio
- 1x 802.11ac radio (MT7610EN)
- 5x 10/100/1000 Mbps AR8337 Switch (1 WAN AND 4 LAN)
- 2x external, detachable antennas
- 1x USB 2.0
- UART (J3) header on PCB (57600 8n1)
- 8x LED (3x GPIO-controlled), 2x button
- JBOOT bootloader
Known issues:
- Work only three Gigabit ports (3/5, 1 WAN and 2LAN)
Installation:
Apply factory image via http web-gui or JBOOT recovery page
How to revert to OEM firmware:
- push the reset button and turn on the power. Wait until LED start
blinking (~10sec.)
- upload original factory image via JBOOT http (IP: 192.168.123.254)
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Some boards have external switches different than mt7530.
This patch allow to use mdio-mode without 0x1f register.
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Driver crash when 'phydev->adjust_link' isn't provided.
This patch check if 'phydev->adjust_link' exist before
call the method.
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
For a long time the mt7621 uses a fixed cpu clock which causes a problem
if the cpu frequency is not 880MHz.
This patch fixes the cpu clock calculation and adds the cpu/bus clkdev
which will be used in dts.
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
The memc node from mt7621.dtsi has incorrect register resource.
Fix it according to the programming guide.
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
These two patches both modified the mt7621.c, and the patch file
998-mt7621-needs-jiffies.patch adds only one line which is used by the
another patch file. So merge them into one file.
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
These option can be useful in developement/packagig applications for
OpenWrt. Instead of searching them by hand in Config-build.in lets
expose them for easier access.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Introduce mt76x0e device tree node in RT-AC51U dts.
Define mt76x0e mtd partition and offset
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
This was not converted to the new, dt-based board name.
Fixes: e90dc8d272 ("apm821xx: convert to device-tree board detection")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
In a patch for the ath79, Mathias Kresin mentioned that
helper scripts should be in front of the device targets.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch adds support for the Netgear WNDAP620 and WNDAP660,
they are similar devices, but due to the LAN LED configuration,
the switch setup and WIFI configuration each gets a different
device target.
Hardware Highlights WNDAP620:
CPU: AMCC PowerPC APM82181 at 1000 MHz
DRAM: 128 MB, 2 x 64 MiB DDR2 Hynix H5PS5162GF
CPU: AMCC PowerPC APM82181 at 1000 MHz
FLASH: 32 MiB, NAND SLC, Hynix HY27US08561A
Ethernet: RealTek RTL8363SB 2x2-Port Switch PHY - Only 1 GBit Port (POE)
Wifi: Atheros AR9380 minipcie - Dual-Band - 3x3:3
Serial: console port with RJ45 Interface (9600-N-8-1)
LEDS: Power, LAN-Activity, dual color LAN-Linkspeed, 2.4GHz, 5GHz LEDs
Button: Soft Reset Button
Antennae: 3 internal dual-band antennae + 3 x RSMA for external antennaes
Hardware Highlights WNDAP660:
CPU: AMCC PowerPC APM82181 at 1000 MHz + 2 Heatsinks
DRAM: 256 MB, 2 x 128 MiB DDR2
FLASH: 32 MiB, NAND SLC, Hynix HY27US08561A
Ethernet: RealTek RTL8363SB 2x2-Port Switch PHY (POE)
Wifi1: Atheros AR9380 minipcie - Dual-Band - 3x3:3
Wifi2: Atheros AR9380 minipcie - Dual-Band - 3x3:3
Serial: console port with RJ45 Interface (9600-N-8-1)
LEDS: Power, LAN-Activity, 2x dual color LAN-Linkspeed, 2.4GHz, 5GHz LEDs
Button: Soft Reset Button
Antennae: 6 internal dual-band antennae + 3 x RSMA for external antennaes
Flashing requirements:
- needs a tftp server at 192.168.1.10/serverip.
- special 8P8C(aka RJ45)<->D-SUB9 Console Cable
("Cisco Console Cable"). Note: Both WNDAP6x0 have
a MAX3232 transceivers, hence no need for any separate
CMOS/TTL level shifters.
External Antenna:
The antennae mux is controlled by GPIO 11 and GPIO14. Valid Configurations:
= Config# = | = GPIO 11 = | = GPIO 14 = | ===== Description =====
1. | 1 / High | 0 / Low | Use the internal antennae (default)
2. | 0 / Low | 1 / High | Use the external antennae
The external antennaes are only meant for the 2.4 GHz band.
One-way Flashing instructions via u-boot:
0. connect the serial cable to the RJ45 Console Port
Note: This requires a poper RS232 and not a TTL/USB adaptor.
1. power up the AP and interrupt the u-boot process at
'Hit any key to stop autoboot'
2. setup serverip and ipaddr env settings
Enter the following commands into the u-boot shell
# setenv ipaddr 192.168.1.1
# setenv serverip 192.168.1.10
3. download the factory.img image to the AP
Enter the following commands into the u-boot shell
# tftp ${kernel_addr_r} openwrt-apm821xx-nand-netgear_wndap660-squashfs-factory.img
4. verfiy image integrity
Enter the following commands into the u-boot shell
# crc32 $fileaddr $filesize
If the calculated crc32 checksum does not match, go back to step 3.
5. flash the image
Enter the following commands into the u-boot shell
# nand erase 0x110000 0x1bd0000
# nand write ${kernel_addr_r} 0x110000 ${filesize}
6. setup uboot environment
Enter the following commands into the u-boot shell
# setenv bootargs
# setenv fileaddr
# setenv filesize
# setenv addroot 'setenv bootargs ${bootargs} root=/dev/ubiblock0_0'
# setenv owrt_boot 'nboot ${kernel_addr_r} nand0 0x110000; run addroot; run addtty; bootm ${kernel_addr_r}'
# setenv bootcmd 'run owrt_boot'
# saveenv
7. boot
# run bootcmd
Booting initramfs instructions via u-boot:
Follow steps 0 - 2 from above.
3. boot initramfs
Enter the following commands into the u-boot shell
# tftp ${kernel_addr_r} openwrt-apm821xx-nand-netgear_wndap660-initramfs-kernel.bin
# run addtty
# bootm ${kernel_addr_r}
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch adds the feature to parse the existing cpu_port DT
property, which is used to specify which port is the cpu port
of the switch.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
On the WNDAP620, the mdio and mdc lines are controlled by
the EMAC ethernet device. This results in a hen-vs-egg problem.
The rtl8367b driver is probed before the ethernet driver and
the mdio-bus is not available yet, which caused the rtl8367b
driver to fail.
This patch changes the rtl8366_smi_probe_of() function to
return -EPROBE_DEFER if the mdio-bus lookup failed and changes
rtl8366_smi_probe()'s signature to return the error code back to
the callee, so it can propagate back to the kernel. Which, will
retry the switch probe at a later time.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Specification:
- SoC: Qualcomm Atheros IPQ8064 ARM-v7 Dual Core SMP CPU
- RAM: 512MB DDR3 System Memory
- NOR Flash: 32MB SPI NOR
- NAND Flash: 256MB NAND
- Ethernet: 5 x 1G via QCA8337N
- USB: 2 x USB 3.0 SuperSpeed
- PCIe: 3x Mini PCIe 2.0 Slots
Three PCIE2.0 connectors can connect two or three radio cards
such as the CUS260 for 2.4 GHz WLAN and the CUS239 for 802.11ac WLAN
How to flash via u-boot console:
tftpboot 0x44000000 openwrt-ipq806x-qcom_ipq8064-ap161-squashfs-nand-factory.bin
nand erase 0x1340000 0x4000000
nand write 0x44000000 0x1340000 $filesize
setenv bootargs ‘console=ttyMSM0,115200 ubi.mtd=ubi root=/dev/ubiblock0_1’
saveenv
bootm
Further upgrades via sysupgrade.
Tested on IPQ8064 AP161 Board:
1) NAND boot
2) Tested USB and PCIe interfaces
3) WDOG test
4) cpu frequency scaling
5) ethernet, 2G and 5G WiFi
6) ubi sysupgrade
Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
RouterBOARD(s) bootloader actully turns Power LED off just before
it starts the kernel. So we need to set the LED default status to On
instead of Keep in order to keep LED on during kernel boot.
This change fixes Power LED off during the kernel boot on the RB91x and
SXT Lite boards.
Fixes: 6cad8ee0bd ("ar71xx: keep the RouterBOARD Power LED in On state")
CC: Mathias Kresin <dev@kresin.me>
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
This way the radio (phy) name can be the same through module reloads.
To set the desired name:
uci set wireless.@wifi-device[0].phyname=wiphy0
I guess this only works on ipq6086 boards as I could not find a more
generic place to put this. Maybe someone can improve it.
Signed-off-by: Ben Greear <greearb@candelatech.com>
Create initrd enries for x86 images, that'll load amd microcode as early
as possible. Also remove the preinit script responsible for late load of
microcode.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
This commit adds support for the Archer C58 v1 and C59 v1, previously
supported in the ar71xx target.
CPU: Qualcomm QCA9561
RAM: 64M (C58) / 128M (C59)
FLASH: 8M (C58) / 16M (C59)
WiFi: QCA9561 bgn 3x3:3
QCA9888 nac 2x2:2
LED: Power, WiFi 2.4, WiFi 5, WAN green, WAN amber, LAN, WPS
Only C59: USB
BTN: WPS, WiFi, Reset
Installation
------------
Via Web-UI:
Update factory image via Web-UI.
Via TFTP:
Rename factory image to "tp_recovery.bin" and place it in the root-dir
of your tftp server. Configure to listen on 192.168.0.66. Power up the
router while holding down the reset-button. The router will flash itself
and reboot.
Note: For TFTP, you might need a switch between router and computer, as
link establishment might take to long.
Signed-off-by: David Bauer <mail@david-bauer.net>
The gpio-ralink driver has everything it needs to be used as an
interrupt controller except for device tree support. This simple patch
adds that support by configuring the irq domain to use two cells and
adding the appropriate documentation to the devicetree bindings.
Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
this patch adds supports for GL-X750.
Specification:
- SOC: QCA9531 (650MHz)
- Flash: 16 MiB (W25Q128FVSG)
- RAM: 128 MiB DDR2
- Ethernet: 10/100: 1xLAN + 10/100: 1xWAN
- Wireless: 2.4GHz (bgn) and 5GHz (ac)
- USB: 1x USB 2.0 port
- Button: 1x reset button
- LED: 5x LEDS (green)
Flash instruction:
The original firmware is openwrt, so both LuCI or sysupgrade can be used.
Signed-off-by: Luo chongjun <luochongjun@gl-inet.com>
This adds the build option for UniFi AC Mesh Pro as well as
model detection for it.
The device is a hardware clone of the AC Pro.
- SoC: QCA9563-AL3A (775Mhz)
- RAM: 128MiB
- Flash: 16MiB - dual firmware partitions!
- LAN: 2x 1000M - POE+
- Wireless:
2.4G: QCA9563
5G: UniFi Chip, QCA988X compatible
Signed-off-by: Christoph Krapp <achterin@googlemail.com>
On the bottom sticker it's branded as ZTE ZXECS EBG3130 device, but in factory
OpenWrt image it's referenced as BDCOM WAP2100-SK device.
Specifications:
- SoC: MediaTek MT7620A
- RAM: 128 MB
- Flash: 16 MB
- Ethernet: 5 FE ports
- Wireless radio: 2T2R 2.4 GHz and 1T1R 5 GHz (MT7610EN, unsupported)
- UART: 1 x UART on PCB marked as J2 (R=RX, T=TX, G=GND) with 115200 8N1 config
- LEDs: Power, FE ports 1-5, WPS, USB, RF 2.4G, RF 5G
- Other: USB port, SD card slot and 2x external antennas (non-detachable)
Flashing instructions:
A) The U-Boot has HTTP based firmware upgrade
A1) Flashing notes
We've identified so far two different batches of units, unfortunately
each batch has different U-Boot bootloader flashed with different
default environment variables, thus each batch has different IP address
for accessing web based firmware updater.
* First batch has web based bootloader IP address 1.1.1.1
* Second batch has web based bootloader IP address 192.168.1.250
In case you can't connect to either of those IPs, you can try to get
the default IP address via two methods:
A1.1) Serial console, then the IP address is visible during the boot
...
HTTP server is starting at IP: 1.1.1.1
raspi_read: from:40004 len:6
HTTP server is ready!
...
A1.2) Over telnet/SSH using this command:
root@bdcom:/# grep ipaddr= /dev/mtd0
ipaddr=1.1.1.1
A2) Flashing with browser
* Change IP address of PC to 1.1.1.2 with 255.255.255.0 netmask
* Reboot the device and try to reach web based bootloader in the
browser with the following URL http://1.1.1.1
* Quickly select the firmware sysupgrade file and click on the
`Update firmware` button, this all has to be done within 10 seconds,
bootloader doesn't wait any longer
If done correctly, the web page should show UPDATE IN PROGRESS page
with progress indicator. Once the flashing completes (it takes roughly
around 1 minute), the device will reboot to the OpenWrt firmware
A3) Flashing with curl
sudo ip addr add 1.1.1.2/24 dev eth0
curl \
--verbose \
--retry 3 \
--retry-delay 1 \
--retry-max-time 30 \
--connect-timeout 30 \
--form "firmware=@openwrt-ramips-mt7620-BDCOM-WAP2100-SK-squashfs-sysupgrade.bin" \
http://1.1.1.1
Now power on the router.
B) The U-boot is based on Ralink SDK so we can flash the firmware using UART.
1. Configure PC with a static IP address and setup an TFTP server.
2. Put the firmware into the tftp directory.
3. Connect the UART line as described on the PCB (G=GND, R=RX, T=TX)
4. Power up the device and press 2, follow the instruction to set device and
tftp server IP address and input the firmware file name. U-boot will then load
the firmware and write it into the flash.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Create initrd enries for x86 images, that'll load intel microcode as
early as possible. To achieve that the test module for grub is enabled
which provides shell-like conditionals. Also restrict the late load of
microcode to AMD processors.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Add files to bootfs image from selected as built-in packages, which want
to install files to targets boot file system.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Mount boot file system with rw option to allow installation of packages
which install files to /boot directory.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Ubiquity allows flashing of unsigned factory images via TFTP recovery
method[1]. They claim in airOS v6.0.7 release changelog[2] following:
All future airOS versions will be signed in this way and not allow
unsigned firmware to be loaded except via TFTP.
U-boot bootloader on M-XW devices expects factory image revision
version in specific format. On airOS v6.1.7 with `U-Boot 1.1.4-s1039
(May 24 2017 - 15:58:18)` bootloader checks if the revision major(?)
number is actually a number, but in currently generated images there's
OpenWrt text and so the check fails:
Hit any key to stop autoboot: 0
Setting default IP 192.168.1.20
Starting TFTP server...
Receiving file from 192.168.1.25:38438
Received 4981148 bytes
Firmware check failed! (1)
By placing arbitrary correct number first in major version, we make the
bootloader happy and we can flash factory images over TFTP again:
Received 3735964 bytes
Firmware Version: XW.ar934x.v6.0.4-42.r8474-56aa1ac-OpenWrt
Setting U-Boot environment variables
Un-Protected 1 sectors
Erasing Flash.... done
Patch provided by AREDN[3] project, tested on Bullet M2 XW (ynezz) and
Nanostation M5 XW (ae6xe).
1. https://help.ubnt.com/hc/en-us/articles/204910124-UniFi-TFTP-Recovery-for-Bricked-Access-Points
2. https://dl.ubnt.com/firmwares/XW-fw/v6.0.7/changelog.txt
3. https://github.com/aredn
Signed-off-by: Petr Štetiar <ynezz@true.cz>
CPU: AR9342 SoC
RAM: 64 MB DDR2
Flash: 8 MB NOR SPI
Ports: 100 MBit (24V PoE in)
WLAN: 2.4/5 GHz
UART: 1 UART on PCB marked as J1 with 115200 8N1 config
LEDs: Power, Ethernet, 4x RSSI LEDs (orange, red, 2x green)
Buttons: Reset
UART connection details
.---------------------------------.
| |
[ETH] J1 [ANT]
| o VCC o RX o TX o GND |
`---------------------------------'
Flashing instructions
A) Serial console, U-Boot and TFTP
1. Connect to serial header J1 on the PCB
2. Power on device and enter U-Boot console
3. Set up TFTP server serving an OpenWrt initramfs build
4. Load initramfs build using the command tftpboot in the U-Boot cli
5. Boot the loaded image using the command bootm
6. Copy squashfs OpenWrt sysupgrade build to the booted device
7. Use mtd to write sysupgrade to partition "firmware"
8. Reboot and enjoy
B) Experimental factory image flashing over SSH from airOS v6.1.7
1. You need to flash your UBNT M2HP with airOS v6.1.7 firmware
no other airOS version is currently supported
2. git clone https://github.com/true-systems/ubnt-bullet-m2hp-openwrt-flashing
3. cd ubnt-bullet-m2hp-openwrt-flashing
4. make flash-factory FW_OWRT=/path/to/your/openwrt-ath79-generic-ubnt_bullet-m-xw-squashfs-factory.bin
Tested only on Bullet M2HP.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Belkin F5D8235 v2 has two ethernet switches on board.
One internal rt3052 and rtl8366rb on rgmii interface.
Looks like internal switch settings were lost in
translation to device tree infrastructure.
Signed-off-by: Roman Yeryomin <roman@advem.lv>
Specifically, SKW92A_E16, described here:
http://www.skylabmodule.com/wp-content/uploads/SkyLab_SKW92A_V1.04_datasheet.pdf
Specification:
- MediaTek MT7628N/N (580 Mhz)
- 64 MB of RAM
- 16 MB of FLASH
- 2T2R 2.4 GHz
- 5x 10/100 Mbps Ethernet
- 2x u.FL
- Power by micro-USB connector at USB1 on EVB
- UART via micro-USB connector at USB3 on EVB (57600 8n1)
- 5x Ethernet LEDs
- 1x WLAN LEDs
- 1x WPS LED connected by jumper wire from I2S_CK on J20 to WPS_LED pin hole next
to daughter board on EVB
- WPS/Reset button (S2 on EVB)
- RESET button (S1 on EVB) is *not* connected to RST hole next to daughter board
Flash instruction:
>From Skylab firmware:
1. Associate with SKYLAP_AP
2. In a browser, load: http://10.10.10.254/
3. Username/password: admin/admin
4. In web admin interface: Administration / Upload Firmware, browse to
sysupgrade image, apply, flash will fail with a message:
Not a valid firmware. *** Warning: "/var/tmpFW" has corrupted data!
5. Telnet to 10.10.10.254, drops you into a root shell with no credentials
6. # cd /var
7. # mtd_write -r write tmpFW mtd4
Unlocking mtd4 ...
Writing from tmpFW to mtd4 ... [e]
8. When flash has completed, you will have booted into your firmware.
>From U-boot via TFTP and initramfs:
1. Place openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin on a TFTP server
2. Connect to serial console at USB3 on EVB
3. Connect ethernet between port 1 (not WAN) and your TFTP server (e.g.
192.168.11.20)
4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC
5. Apply power to EVB
6. Interrupt u-boot with keypress of "1"
7. At u-boot prompts:
Input device IP (10.10.10.123) ==:192.168.11.21
Input server IP (10.10.10.3) ==:192.168.11.20
Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-initramfs-kernel.bin
8. Move ethernet to port 0 (WAN) on EVB
9. At new OpenWrt console shell, fetch squashfs-sysupgrade image and flash
with sysupgrade.
>From U-boot via TFTP direct flash:
1. Place openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin on a TFTP server
2. Connect to serial console at USB3 on EVB (57600 8N1)
3. Connect ethernet between port 1 (not WAN) an your TFTP server (e.g.
192.168.11.20)
4. Start terminal software (e.g. screen /dev/ttyUSB0 57600) on PC
5. Apply power to EVB
6. Interrupt u-boot with keypress of "2"
7. At u-boot prompts:
Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N) Y
Input device IP (10.10.10.123) ==:192.168.11.21
Input server IP (10.10.10.3) ==:192.168.11.20
Input Linux Kernel filename (root_uImage) ==:openwrt-ramips-mt76x8-skw92a-squashfs-sysupgrade.bin
8. When transfer is complete or as OpenWrt begins booting, move ethernet to
port 0 (WAN).
Signed-off-by: Russell Senior <russell@personaltelco.net>
This is probably theoretical problem as the Ventana is defined first in
the image Makefile, but once the position of the definition would change
in the future (alphabetical sorting?) it would get bootscript from the
previous board which would have BOOT_SCRIPT set.
Cc: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Both devices come with a MediaTek MT7610E 5GHz 802.11ac 1T1R radio
which wasn't supported at the time the devices were added to OpenWrt.
Now that we got it, include kmod-mt76x0e in images for those devices.
Reported-by: Arian Sanusi <openwrt@semioptimal.net>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This allows us to use the bridge as a managed switch and gracefully
handle mixed tagged and untagged frames. Prior to this, the only
alternative was creating one bridge per vlan which quickly becomes a
nightmare and still won't let you mix both tagged and untagged frames on
the physical port without some complex ebtables magic.
This is in line with the notion that OpenWRT is the network go-to swiss
army knife when you need a nice set-and-forget, low maintenance box to
handle a specific task.
Current builds of the ip-bridge package already fully support this
feature so the only requirement is enabling the kernel config.
This is disabled by default so existing bridge configurations will not
be affected. This patch only gives the ability to turn it on with an
'ip link' command. If there is interest, I could look into making the
feature accessible via uci configuration.
It causes about 3.1% hit on raw bridging speed, which is relatively
trivial considering that I had to use 300 byte packets to strain the CPU
enough to notice a slowdown at all. The ER8 would chug along at wire
speed otherwise, and that's using only one core. Since the typical
bridge use case on OpenWRT is wireless, I doubt it would be noticeable
at all.
With BRIDGE_VLAN_FILTERING
iperf -u -c 192.168.1.105 -b 1G -l 300
------------------------------------------------------------
Client connecting to 192.168.1.105, UDP port 5001
Sending 300 byte datagrams, IPG target: 2.24 us (kalman adjust)
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.12 port 58045 connected with 192.168.1.105 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 977 MBytes 820 Mbits/sec
[ 3] Sent 3414986 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 811 MBytes 680 Mbits/sec 0.000 ms
581210/3414986 (0%)
Without BRIDGE_VLAN_FILTERING
iperf -u -c 192.168.1.105 -b 1G -l 300
------------------------------------------------------------
Client connecting to 192.168.1.105, UDP port 5001
Sending 300 byte datagrams, IPG target: 2.24 us (kalman adjust)
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.12 port 36645 connected with 192.168.1.105 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 977 MBytes 820 Mbits/sec
[ 3] Sent 3414990 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 836 MBytes 701 Mbits/sec 0.000 ms
493950/3414990 (0%)
In terms of kernel size, it uses 16KB (6753K vs 6737K on ER8) so a
0.002% hit. The exact 16KB is probably just due to how the kernel is
compressed.
Suggested-by: Jonathan Thibault <jonathan@navigue.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Specify the new "firmware" partition format for Netgear WNDR3700
and WNDR3700v2 similarly as ffd082aa did for WNDR3800, the third
device in the family.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
No single target/arch uses it and most likely there is no need to make
such a potential code target/arch specific.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
If "compatible" is being used that should trigger a proper parser
directly. It's more reliable thanks to not trying parsers one by one. In
such case partition shouldn't be split automatically to avoid parsing it
twice.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Currently, the b53 MDIO switch driver registers the switch on
config-init and not on device probe. Because of this, the switch
gets added every time the associated interface comes up.
This commit fixes this behavior by registering the switch on device
probe.
Compile- and run-tested on OCEDO Koala.
Signed-off-by: David Bauer <mail@david-bauer.net>
It's more reliable as mtd subsystem doesn't have to blindly try that
parser. It allows disabling MTD_SPLIT_FIRMWARE completely (TRX is
handled in a similar way).
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
It makes more sense to add run_parsers_by_type() in a patch that
introduces parser types. That makes the other one just add a code using
it.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
There was a bug in ubifs related to the O_TMPFILE. When reapplying
changes after power cut data could be lost. This problem was exposed by
overlayfs and the upstream commit 3a1e819b4e80 ("ovl: store file handle
of lower inode on copy up").
This fixes a regression introduced when switching from 4.9 to 4.14.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
It has been rejected upstream and instead a nice/more generic solution
has been implemented. It's possible now to describe partitions format
using "compatible" DT string.
No OpenWrt target uses "linux,part-probe" anymore, leave it only in case
some forks need it. It will be dropped with support for new kernels.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
as indicated in commit c5bf408ed6 "(ramips: fix image generation for mt76x8")
more rework was needed to fix the other issues.
Building on another machine, but using the same arch, showed
the application failing again for different reasons.
Fix this by completely rewriting the application, fixing following found issues:
- buffer overflows, resulting in stack corruption
- flaws in memory requirement calculations (too small, too large)
- memory leaks
- missing bounds checking on string handling
- non-reproducable images, by using unitilized memory in checksum calculation
- missing error handling, resulting in succes on specific image errors
- endianness errors when building on BE machines
- various minor build warnings
- documentation did not match the code actions (header item locations)
- allowing input to be decimal, hex or octal now
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Following errors were seen in the past on imx6 when using serial:
[ 22.617622] imx-uart 2020000.serial: DMA transaction error.
[ 22.623228] imx-uart 2020000.serial: DMA transaction error.
[ 22.628826] imx-uart 2020000.serial: DMA transaction error.
[ 22.648951] imx-uart 2020000.serial: DMA transaction error.
[ 22.654558] imx-uart 2020000.serial: DMA transaction error.
[ 22.660156] imx-uart 2020000.serial: DMA transaction error.
Which is the reason why DMA for the serial ports
got disabled in commits:
efb362cd93 ("imx6: disable dma on uart")
3b4241071d ("imx6: disable UART dma")
As indicated on mailinglist discussion, the cause seems to be
the usage of very old SDMA firmware which is present in the soc:
[ 0.624302] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[ 0.624318] imx-sdma 20ec000.sdma: Falling back to user helper
[ 64.531607] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
This patch adds the new firmware binary. (2196 bytes)
It is required to embed the binary into the kernel image, as it
gets loaded very early in the boot process where the rootfs is not
available yet:
[ 0.622966] imx-sdma 20ec000.sdma: loaded firmware 3.3
Extended testing shows that the DMA errors are not seen anymore
when using this newer firmware version.
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
The bump to kernel 4.14 caused a massive increase in kernel size.
For most targets, switching them to dynamic partitioning allowed
to cope with this.
On some targets, the kernel partition is located behind the rootfs,
which disallows switching to dynamic partitioning as the boot location
would be altered, requiring a u-boot change.
Also within the tiny section, which disables kernel symbols etc
to decrease the image size, the partition size is still too small.
Disable these targets for now, fixing image generation:
- Buffalo BHR-4GRV2
- Zbtlink ZBT-WE1526
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
The NBG6617's LEDs are wrongly identified in the 01_leds boardinit
script (board instead of boardname), resulting in referencing
non-existent LEDs in UCI.
Signed-off-by: David Bauer <mail@david-bauer.net>
For each board, set the legacy name as well as the new based on the
compatible-string from devicetree.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
remove /lib/oxnas.sh platform-specific board-detection and use
generic which is based on device-tree compatible node instead.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The BDFs for all boards were upstreamed to the ath10k-firmware
repository and linux-firmware.git.
We switched to the upstream board-2.bin, hence the files can be removed
here.
Keep the ipq-wifi package in case new boards are added. It might take
some time till board-2.bins send upstream are merged.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The NBG6617's boardfile was merged and this device can
now switch to the upstream ath10k board-2.bin.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch replaces the custom autoload quirk of the
RT-AC58U with a bootargs-append overwrite.
The vendor's u-boot doesn't leave the bootargs / cmdline alone,
so the it can't be overwritten in any other way right now...
And of course, this will be a lot of fun to deal with once
the device switches to the new spi-nand subsystem.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Kernel 4.14 is pretty large causing a build error as the partition is too small.
Expand the kernel partition a bit to make it fit.
* ubnt-uap-pro
* ubnt-unifi-outdoor-plus
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This target causes a build failure as the kernel image does not fit
into the kernel partition.
As the kernel is located behind the rootfs, it cannot be enlarged
as the boot entry location would get altered.
Disable this target for now.
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Targets:
- TP-LINK ER355
- TP-LINK C25 V1
- TP-LINK C59 V1
- TP-LINK C7 V4
- TP-LINK C7 V5
Fixes build issues seen due to the kernel being too big
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
As mentioned in commit 5f24933 recent changes on ar71xx (switch to 4.14,
memory compaction, ...) cause an increase in kernel size, making it too
big for RE450.
RE450 images were not build due to the following error message:
os-image partition too big (more than 1572864 bytes): Success
Tested on RE450, device boots and was used to send this patch.
Reported-by: Enrico Mioso <mrkiko.rs@gmail.com>
Suggested-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Radek Dostál <rd@radekdostal.com>
[rewrote commit msg keeping it tight + fixed SoB lines]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This changes the OCEDO Koala flash-layout to a unified firmware
partition, thus making the ar71xx-generic kernel fit in flash.
Compile and runtested on OCEDO Koala.
Signed-off-by: David Bauer <mail@david-bauer.net>
[small title reword]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit adds support for the Ubiquiti LiteAP ac (LAP-120), an outdoor
5 GHz AC access point with an integrated 120° 16 dBi antenna. The device
was previously known as LiteBeam AP ac but was later rebranded.
CPU: Atheros AR9342 SoC
RAM: 64 MB DDR2
Flash: 16 MB NOR SPI
Ports: 1 GbE port (PoE in)
WLAN: 5 GHz QCA899X (PCI)
The integrated QCA899X is a Ubiquiti branded part with modified vendor
and product id (0777:11ac9). It is very similar to the NanoStation loco
AC, except for the 2.4 GHz management radio (missing here).
Installation procedure is the same as the NanoStation [loco] AC:
1. Connect to serial header on device
2. Power on device and enter uboot console
3. Set up tftp server serving an openwrt initramfs build
4. Load initramfs build using the command tftpboot in the uboot cli
5. Boot the loaded image using the command bootm
6. Copy squashfs openwrt sysupgrade build to the booted device
7. Use mtd to write sysupgrade to partition "firmware"
8. Reboot and enjoy
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Regression introduced with 4.10 by 43c9127d94d62a232ed33ed2eab8a08657ce5472
Build will fail if system 'ar' does not support deterministic builds.
e.g. macOS with Xcode toolchain
Appears to be fixed upstream in 4.18 by af3901cbbd3de182aafb8ee553c825c0074df6a2
Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
The WNDR4700 and the MBL have a dedicated HDD activity LED.
This patch adds the default led triggers to the DTS and
removes the entries in 01_leds.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
- order entries by mmio address where possible
- switch to lower-case address values
- comment on BSP u-boot behaviour in regards to
what it edits and look for
- annotate irq lines with the help of interrupt-names
- remove deprecated "device_type" properties
The pci and network device_type had to stay since
they are required by the drivers and u-boot.
the cpu and memory device_types will remain as well
as they are still part of the DT Spec.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
With the upcoming 4.19 release, the serial console on the
Netgear WNDR4700 would no longer work as it is never really
set and always relied on the kernel's serial code not to
change the baud rate.
On the stock firmware, Netgear forced the console setting
through a custom CONFIG_CMDLINE in their kernel to 115200.
Normally, they should have done it in a different way and
just passed the baudrate through a "console=..." kernel
parameter via the bootargs in the "/chosen" dt node.
But in their default u-boot bootcmd setting, they somehow
forgot to add the "run addtty", so there's no easy way to
pass the baudrate from u-boot to the kernel. So it has
to be forced as otherwise it ends up as 9600 baud.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
I noticed that the image generator for the Gemini generates
some 10+ MB files for the second (application) partition.
This is just wrong. The first 6144K partition named initramfs
easily fits OpenWRTs squashfs,jffs2 overlayed partitions
with nice headroom for storing configuration files.
Generate a blank partition for the hddapp.tgz file and delete
it after generating the firmware image - when performing
updates manually you just want the "rd.z" file around
anyways.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This creates a new kernel package for the fotg210 host
controller and uses that with the gemini to shrink the
kernel. The SQ201 needs the USB2 PCI package as well.
The build system required me to make kernel_oldconfig
beofore it would build without errors so some minor
unrelated Kconfig entries are changed.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Newer batches of several Mikrotik boards contain this yet-unsupported
flash chip, for instance:
- rb941-2nd (hAP lite)
- rb952ui-5ac2nd (hAP ac lite)
- RBM33G
and probably other Mikrotik boards need this patch as well.
The patch was submitted upstream by Robert Marko: https://patchwork.ozlabs.org/patch/934181/
Closes: FS#1715
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
Cc: Robert Marko <robimarko@gmail.com>
Refreshed all patches.
Altered patches:
- 666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
New symbol for arm targets:
- HARDEN_BRANCH_PREDICTOR
Compile-tested on: ar71xx, cns3xxx, imx6
Runtime-tested on: ar71xx, cns3xxx, imx6
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
In commit fec8fe8069 ("kernel: bump 4.9 to 4.9.116") [1], the following patch for removed:
- 403-mtd_fix_cfi_cmdset_0002_status_check.patch
This patch contained fixes for both write and erase functions.
While the chip-detects for erase got fixed upstream [2],
some modifications are still required, even with the fixes applied.
While at it, also apply the same fix for target ath79,
which suffers the same issue.
Not doing so results in following errors seen:
Collected errors:
* pkg_write_filelist: Failed to open //usr/lib/opkg/info/luci-lib-ip.list: I/O error.
* opkg_install_pkg: Failed to extract data files for luci-lib-ip. Package debris may remain!
* opkg_install_cmd: Cannot install package luci-ssl.
* opkg_conf_write_status_files: Can't open status file //usr/lib/opkg/status: I/O error.
[ 0.780920] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 8.406396] jffs2: notice: (415) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[ 8.423476] mount_root: switching to jffs2 overlay
[ 270.902671] jffs2: Write of 1989 bytes at 0x005ce6f8 failed. returned -5, retlen 962
[ 270.931965] jffs2: Write of 1989 bytes at 0x005ceec0 failed. returned -5, retlen 0
[ 270.939631] jffs2: Not marking the space at 0x005ceec0 as dirty because the flash driver returned retlen zero
[ 270.950397] jffs2: Write of 68 bytes at 0x005ceec0 failed. returned -5, retlen 0
[ 270.957838] jffs2: Not marking the space at 0x005ceec0 as dirty because the flash driver returned retlen zero
[ 270.968584] jffs2: Write of 68 bytes at 0x005ceec0 failed. returned -5, retlen 0
[ 270.976027] jffs2: Not marking the space at 0x005ceec0 as dirty because the flash driver returned retlen zero
[ 270.986735] jffs2: Write of 68 bytes at 0x005ceec0 failed. returned -5, retlen 0
[ 270.994225] jffs2: Not marking the space at 0x005ceec0 as dirty because the flash driver returned retlen zero
[1] https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=fec8fe806963c96a6506c2aebc3572d3a11f285f
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v4.9.133&id=a0239d83e1cb60de5e78452d4708c083b9e3dcbe
Fixes: fec8fe8069 ("kernel: bump 4.9 to 4.9.116")
Signed-off-by: Fabio Bettoni <fbettoni@gmail.com>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Recent changes on ar71xx (switch to 4.14, memory compaction, ...) cause
an increase in kernel size, making it too big for some devices.
Move these devices to the tiny target, where kernel symbols and
optimization for speed are disabled, reducing the kernel size.
Devices:
- EnGenius ENS202EXT
- OCEDO Koala
Compile-tested targets:
- ar71xx->generic->default
- ar71xx->smallFlash->Default
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Add out of the box support for 802.11r and 802.11w to all targets not
suffering from small flash.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias did all the heavy lifting on this, but I'm the one who should
get shouted at for committing.
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
It's required to support devices using adjustable SoC pins for some
specific purpose (e.g. I2C, PWM, UART1).
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Instead of reverting whole commit it's enough to just revert a single
line change. It seems the real problem with the regressing commit was a
bump of read chunk size. Switching back to 256 B chunks is enough to fix
the problem/regression.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Compaction is the only memory management component to form high order (larger
physically contiguous) memory blocks reliably. The page allocator relies on
compaction heavily and the lack of the feature can lead to unexpected OOM
killer invocations for high order memory requests. You shouldn't disable this
option unless there really is a strong reason for it.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Michal Hrusecky <michal.hrusecky@nic.cz>
Optimized inlining was disabled by default when gcc 4 was still
relatively new. By now, all gcc versions handle this well and there
seems to be no real reason to keep it x86-only.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit adds support for the TP-Link TL-WR901ND v2 access point.
CPU: Atheros AR9132 400MHz
RAM: 32MB
FLASH: 4MiB
WiFi: Atheros AR9103 3x3:2 bgn
LED: Power (static on)
LAN (controlled by PHY)
SYS, WiFi, QSS toggleable
BTN: Reset, QSS
Installation:
Upload the factory image via the vendor-GUI.
Signed-off-by: David Bauer <mail@david-bauer.net>
Buffalo WZR-HP-G302H is a 2T2R 2.4 GHz 11n router, based on Atheros
AR7242.
It is Japanese market model of WZR-HP-G300NH2, but there are some
diffrences. This commit is based on WZR-HP-G300NH2 in ar71xx.
And, G302H has several hardware versions and hardware is different
dependent on the versions. This commit adds support for "A1A0"
version.
Specification:
- Atheros AR7242
- 64 MB of RAM (DDR2)
- 32 MB of Flash
- 2x 16 MB SPI-NOR flash
- 2.4 GHz 2T2R wifi
- Atheros AR9283
- 5x 10/100/1000 Mbps Ethernet
- Atheros AR8316
- 7x LEDs, 5x keys
- LED: 1x gpio-leds, 6x ath9k-leds
- key: 3x buttons, 2x slide switches
- UART header on PCB
- Vcc, GND, TX, RX from ethernet port side
- 115200n8
Flash instruction using factory image:
1. Boot WZR-HP-G302H normaly and connect the computer to its LAN port
2. Access to "http://192.168.11.1/" and move to firmware update page
("ファーム更新")
3. Select the OpenWrt factory image and click update ("更新実行")
button to perform firmware update
4. Wait ~200 seconds to complete flashing
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
In order to be able to set the value of "hardware version" other than
"3", I added the "hwver" parameter.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
This PR adds support for TP-Link TL-WR842N-v2 router which is supported by ar71xx to ath79.
This is a low cost model with following specs:
CPU: Atheros AR9341 SoC
RAM: 32 MB DDR1
Flash: 8 MB NOR SPI
Switch: Internal AR9341 5 port 10/100 Mbit
Ports: 5x 10/100 Mbit(1x WAN, 4x LAN)
USB: 1x USB2.0
WLAN: 2.4 GHZ AR9341
Installation:
Simply flash the factory image through stock firmware WEB UI.
Signed-off-by: Robert Marko <robimarko@gmail.com>
The sysupgrade_pre_upgrade hook was removed with 5e1b4c57de ("base-files:
drop fwtool_pre_upgrade") while there were still scripts using it:
* target/linux/ar71xx/base-files/lib/upgrade/allnet.sh
* target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
* target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh
Not running the hooks can either prevent a successful upgrade or brick the
device because the fw_setenv program cannot be started correctly.
Instead of adding this hook again, the directory /var/lock for fw_setenv
can also just be created directly before fw_setenv is called.
Fixes: 5e1b4c57de ("base-files: drop fwtool_pre_upgrade")
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
The sysupgrade_pre_upgrade hook was removed with 5e1b4c57de ("base-files:
drop fwtool_pre_upgrade") while there were still scripts using it:
* target/linux/ar71xx/base-files/lib/upgrade/allnet.sh
* target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
* target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh
Not running the hooks can either prevent a successful upgrade or brick the
device because the fw_setenv program cannot be started correctly.
Instead of adding this hook again, the directory /var/lock for fw_setenv
can also just be created directly before fw_setenv is called.
Fixes: 5e1b4c57de ("base-files: drop fwtool_pre_upgrade")
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
The install_bin from /lib/upgrade/common.sh is no longer creating the
symlinks when a secondary parameter is added. But the fw_setenv program was
always copied this way to the ramdisk for the upgrade.
Instead, this should be done using RAMFS_COPY_* like on all other
platforms.
Fixes: 438dcbfe74 ("base-files: automatically handle paths and symlinks for RAMFS_COPY_BIN")
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
The image build code for the Ubiquiti Nanostation AC series adds the
factory image as to be build image. The same is already done by an
included recipe which results into an expanded IMAGE variable of:
IMAGES = sysupgrade.bin factory.bin factory.bin
The build system doesn't like these duplicates and issues the following
warning:
Makefile:82: warning: overriding recipe for target...
Get remove the duplicate factory image to get rid of the warning.
Fixes: 5736af8024 ("ath79: Add support for Ubiquiti NanoStation AC loco")
fa3c2676ab ("ath79: Add support for Ubiquiti Nanostation AC")
Signed-off-by: Mathias Kresin <dev@kresin.me>
Don't hijack the status led to indicate the wireless state. If we don't
have a dedicated wireless led, it's as simply as the wireless status
can't be indicated.
Such a led misuse should be set by the user and not shipped by default.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Release the led used for boot status indication via devicetree instead
of setting a default off trigger in userspace.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use diag.sh version used for other targets supporting different leds
for the different boot states.
The existing led sequences should be the same as before.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Assign the usbdev trigger via devicetree for all subtargets and drop
the userspace handling of the usb leds.
With the change all usb ports are triggering the usb led instead of
only usb 1.1 XOR usb 2.0 XOR usb 3.0 as it was before.
Signed-off-by: Mathias Kresin <dev@kresin.me>
5 GHz AC wireless outdoor PoE CPE with internal 2.4 GHz management radio
CPU: Atheros AR9342 SoC
RAM: 64 MB DDR2
Flash: 16 MB NOR SPI
Switch: QCA8334
Ports: 2 GbE ports (1x PoE in, 1x PoE passthrough)
WLAN: 5 GHz QCA899X (PCI) and 2.4 GHZ AR9342
Successor to the old NanoStation M5 with AC wireless.
The integrated QCA899X is a Ubiquiti branded part with modified vendor and
product id (0777:11ac9).
Serial
Serial settings: 115200, 8N1
* = plated through hole
0 = nylon screw
[Top of device]
+--------------------------+
| [label] |
| 0 |
| 0 |
| [ubnt] |
| [logo] 3V3 * |
| TX * |
| RX * |
| GND * |
| |
| * |
| * |
| * |
| * |
| 0 |
| 0 |
| |
| |
Installation
1. Connect to serial header on device
2. Power on device and enter uboot console
3. Set up tftp server serving an openwrt initramfs build
4. Load initramfs build using the command tftpboot in the uboot cli
5. Boot the loaded image using the command bootm
6. Copy squashfs openwrt sysupgrade build to the booted device
7. Use mtd to write sysupgrade to partition "firmware"
8. Reboot and enjoy
Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
Atheros AR9342, 16 MB flash, 64 MB RAM
Successor to the old NanoStation M5 loco with AC wireless.
Includes a mac80211 patch for ath10k_pci because Ubiquiti uses a Ubiquiti
branded and customized QCA988X with vendor id 0777 and device id 11ac for
AC wireless.
Installation
1. Connect to serial header on device (8N1 115200)
2. Power on device and enter uboot console
3. Set up tftp server serving an openwrt initramfs build
4. Load initramfs build using the command tftpboot in the uboot cli
5. Boot the loaded image using the command bootm
6. Copy squashfs openwrt sysupgrade build to the booted device
7. Use mtd to write sysupgrade to partition "firmware"
8. Reboot and enjoy
Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
I added mtd-mac-address for WZR-HP-G450H and BHR-4GRV in
1df1ea4d7e, but that address in ART is
incorrect for BHR-4GRV.
WZR-HP-G450H has wlan eeprom and MAC address in ART, but BHR-4GRV
has only MAC address in ART.
- WZR-HP-G450H
- eeprom: 0x1000
- MAC: 0x1002
- BHR-4GRV
- MAC: 0x0
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
only thing not working is the b43 5GHz wifi band as upstream
kernel
doesn't supporthe 0x4360 chip so far
Signed-off-by: Rene Kjellerup <rk.katana.steel@gmail.com>
The IRQ init structs are marked as __initconst which
means this memory can be free after init.
On this platform, the PCI IRQ init happens very late _after_ the
kernel already freed the memory allocated for these structs.
During IRQ allocation, the allocation function is passed
with invalid data at this point leading to following error:
[ 0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[ 2.382828] Freeing unused kernel memory: 264K
[ 34.414816] pci 0000:00:00.0: no irq found for pin 1
and
[ 0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[ 2.125401] Freeing unused kernel memory: 284K
[ 9.526479] pci 0000:00:00.0: no irq found for pin 1
After this patch:
[ 14.960814] pci 0000:00:00.0: using irq 40 for pin 1
Commit 318e19ba67 ("ar71xx: add v4.14 support") fixed this for the
default targets already present in the source by default but forgot
to remove the __initconst attribute for targets QCA953x and QCA956x
which are only added later through platform patches.
Fixes: 318e19ba67 ("ar71xx: add v4.14 support")
Reported-by: Sven Schönhoff <sven.schoenhoff@gmail.com>
Reported-by: Dirk Brenken <dev@brenken.org>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Tested-by: Dirk Brenken <dev@brenken.org>
CONFIG_SUN4I_A10_CCU controls both the A10 and the A20 enabling of the
CCU (LCCF) driver, this will be necessary once we move beyond kernel
4.14 because 4.15 has commit f18698e1c66338b902de386e4ad97b8b1b9d999d
("ARM: dts: sun7i: Convert to CCU") which requires this driver.
Fixes: ad2b3bf310 ("sunxi: Add support for kernel 4.14")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>