This commit adds 4 patches, one per kernel version that was used for
picking updates. This adds support for few new PHYs.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
TP-Link Archer C59v1 is a dual-band AC1350 router, based on Qualcomm/Atheros
QCA9561+QCA9886.
Specification:
- 775/650/258 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- USB 2.0 port
- 8x LED (controled by 74HC595), 3x button
- UART header on PCB
TP-Link Archer C60v1 is a dual-band AC1350 router, based on Qualcomm/Atheros
QCA9561+QCA9886.
Specification:
- 775/650/258 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH (SPI NOR)
- 3T3R 2.4 GHz
- 2T2R 5 GHz
- 5x 10/100 Mbps Ethernet
- 7x LED, 2x button
- UART header on PCB
Currently not working:
- Port LAN1 on C59, LAN4 on C60
- WiFi 5GHz (missing ath10k firmware for QCA9886 chip)
- Update from oficial web interface ( tplink-saveloader not support "product-info")
Flash instruction:
1. Set PC to fixed ip address 192.168.0.66
2. Download lede-ar71xx-generic-archer-cXX-v1-squashfs-factory.bin
and rename it to tp_recovery.bin
3. Start a tftp server with the file tp_recovery.bin in its root directory
4. Turn off the router
5. Press and hold Reset button
6. Turn on router with the reset button pressed and wait ~15 seconds
7. Release the reset button and after a short time
the firmware should be transferred from the tftp server
8. Wait ~30 second to complete recovery.
Flash instruction under U-Boot, using UART:
1. tftp 0x81000000 lede-ar71xx-...-sysupgrade.bin
2. erase 0x9f020000 +$filesize
3. cp.b $fileaddr 0x9f020000 $filesize
4. reset
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
[Jo-Philipp Wich: remove duplicate ATH79_MACH_ARCHER_C59/C60_V1 entries]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This device has 2 TRX partitions (main one and failsafe one) and Linux
may not detect them properly failing to run userspace.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Even when the disk uses 4k blocks, the partition table still uses units
of 512 byte sectors. Always use ibs=512 for the offsets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
The ZyXEL NSA310 device is a Kirkwood based NAS:
- SoC: Marvell 88F6702 1200Mhz
- SDRAM memory: 256MB DDR2 400Mhz
- Gigabit ethernet: Realtek (over pcie)
- Flash memory: 128MB
- 1 Power button
- 1 Power LED (blue)
- 5 Status LED (green/red)
- 1 Copy/Sync button
- 1 Reset button
- 2 SATA II port (1 internal and 1 external)
- 2 USB 2.0 ports (1 front and 1 back)
- Smart fan
The stock u-boot cannot read ubi so it should be replaced with the
LEDE/OpenWRT's u-boot or with a u-boot from here
https://github.com/mibodhi/u-boot-kirkwood
This device's boot ROM supports "kwboot" tool
(in mainline u-boot, built automatically if CONFIG_KIRKWOOD is declared)
that sends an uboot image to the board over serial connection, it is very easy to unbrick.
The stock bootloader can use usb and read from FAT filesystems,
so the installation process is simple, place the uboot file on a USB flashdrive
formatted as FAT (here it is "openwrt-kirkwood-nsa310.bin", then connect TTL
to the board and write the following commands in the bootloader console:
usb reset
fatload usb 0 0x1000000 openwrt-kirkwood-nsa310.bin
nand write 0x1000000 0x00000 0x100000
reset
Now you are rebooting in the new u-boot, write this in its console to install the firmware:
usb reset
fatload usb 0 0x2000000 lede-kirkwood-nsa310b-squashfs-factory.bin
nand erase.part ubi
nand write 0x2000000 ubi 0x600000
If your firmware file is bigger than 6 MiBs you should write its size in hex
instead of 0x600000 above, or remove that number entirely (it will take a while in this case).
If you are using another uboot that can read ubi, set mtdparts like this
mtdparts=mtdparts=orion_nand:0x00c0000(uboot),0x80000(uboot_env),0x7ec0000(ubi)
And set your bootcmd to be like this
bootcmd=run setenv bootargs; ubi part ubi; ubi read 0x800000 kernel; bootm 0x800000
Then you can install the firmware as described above.
After you installed (or configured) the u-boot for booting the firmware,
write the device's mac address in the ethaddr u-boot env.
The MAC address is usually on a sticker under the device (one of the two codes is the serial),
it should begin with "107BEF" as it is assigned to ZyXEL.
write in the u-boot console (use your MAC address instead of the example)
setenv ethaddr 10:7B:EF:00:00:00
saveenv
to save the mac address in the u-boot.
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
Instead of referencing u-boot packages from device profiles and having a
-all metapackage, make the u-boot packages hidden (they don't install to
bin/ anyway), and name the files in KERNEL_BUILD_DIR appropriately
Signed-off-by: Felix Fietkau <nbd@nbd.name>
According to some reports, -march=pentium-mmx is a better choice for
older Geode CPUs than -march=geode anyway.
Bump the minimum architecture of the legacy target from i486 to
pentium-mmx. Anything older is not worth supporting anyway.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
The le64 and be64 subtargets do not share a package architecture with
any other targets, so they are pretty wasteful for a development-only
target.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
While rt288x only has a MIPS 4KEc processor, it implements the MIPS32r2
architecture just like the 24Kc, so the instruction set should be 100%
compatible.
Switching it to 24kc allows it to share the package architecture with a
lot of other targets instead of creating a special case, saving
buildbot resources.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Support Abicom International Scorpion SC450 Board
QCA9550 700MHz Extended Temperature Range
256MB DDR2
256MB NAND Flash
16MB NOR Flash
10/100/1000 Ethernet
15W Max, 3x3 Mode, Full Power TX Power
802.3-at POE+ & DC Input options
100x 85mm
USB
PCIe
SFP
GPIO/LED
Signed-off-by: Conor O'Gorman <i@conorogorman.net>
Support Abicom International Scorpion SC300M Module
QCA9550 700MHz Extended Temperature Range
256MB DDR2
256MB Nand Flash
16MB SPI Flash
802.11a/na/b/g/ng
GPIO x 22, USB x2, PCIe x2
10/100/1000 Ethernet
23dBm, Optional Onboard Antenna
DC Input, 8-20V DC
85 x 55 mm
Signed-off-by: Conor O'Gorman <i@conorogorman.net>
Changes the platform to use the Chipidea driver instead of the
generic USB host driver which has support for both host and
device modes (selected on boot).
The changes in 930-chipidea-pullup.patch are already in mainline.
I'll upstream 920-usb-chipidea-AR933x-platform-support.patch once I
can test the changes with a newer kernel.
Signed-off-by: Svetoslav Neykov <svetoslav@neykov.name>
erlite mtdparts exposes boot0, boot1 and eeprom regions
as read/write.
this patch adds readonly flags, so these regions can't be
modified. same as it is already for ER profile.
Signed-off-by: Jiri Kastner <cz172638@gmail.com>
Disabling ethernet during reboot (only to enable it again when the
ethernet driver attaches) can put the chip into a faulty state where it
corrupts the header of all incoming packets.
This happens if packets arrive during the time window where the core is
disabled, and it can be easily reproduced by rebooting while sending a
flood ping to the broadcast address.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Since the MIPS IRQ stack patches, lantiq devices were emitting a storm
of messages like this:
[ 567.872172] Spurious IRQ: CAUSE=0x1100c300
Fix this by reworking the IRQ dispatch code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This patch adds support for the Netgear WN3000RPv3
http://www.netgear.com/support/product/wn3000rpv3.aspx
Specifications:
- SoC: MediaTek MT7620A (580MHz, ramips)
- RAM: 32MB DDR
- Storage: 8MB NOR SPI flash
- Wireless: builtin MT7620A, 2x2:2 with u.FL connectors
- Ethernet: 1x100M
- Serial: JP1 header, 57600-8N1
- Stock firmware based on OpenWRT Kamikaze
Like the EX2700, the bootloader expects a secondary image signature,
see https://forum.openwrt.org/viewtopic.php?pid=312577#p312577
This is why the same fakeroot image is used for the WN3000
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
The soft_config partition must be writeable for rbcfg to be able to
enact changes to the routerboot configuration.
The read-only flag was a mistake in the initial patch. Removing it
brings mach-rb941.c in line with all other RB platforms.
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
D7800 has a simular hardware to R7800 and uses dual QCA9980 for both 2.4GHz and 5GHz band.
However there is no proper initialization for them, which causes a kernel panic due to failed firmware loading.
This patch adds d7800 to ath10k caldata extraction list.
I can get two functional wireless bands after making change to it.
Signed-off-by: Zhang Jingye <934526987@qq.com>
For the miwifi-mini, the offset of ethernet mac should be 0x28
which you can easyily dump from 'Factory' partition.
Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
This change adds the sp5100_tco driver as a kernel module for the x86
target. Specifically, this can be used by the PCEngines APU2/APU3. The
reason for having this as a kernel module is to allow users to
load/unload it on demand, as the I2C interface on the APU2/APU3 will not
work while this module is loaded. More info can be found on GitHub at
https://github.com/riptidewave93/LEDE-APU2/pull/5#issuecomment-255667736
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
This adds the following patches to the x86 target:
sp5100_tco: Add AMD Mullins platform support
sp5100_tco: Add AMD Carrizo platform support
sp5100_tco: fix the device check for SB800 and later chipsets
watchdog: sp5100_tco: properly check for new register layouts
With these added, the sp5100_tco driver can then be used on newer AMD
platforms, such as the PCEngines APU2/APU3 boards.
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Mikrotik RB411U has only one ethernet port - eth0. This patch allows to create
correct config with one lan section.
Signed-off-by: Cezary Jackiewicz <cezary@eko.one.pl>
Add full support for Mikrotik RB-941-2nD (hAP lite)
Original patch by Sergey Sergeev <adron@yapic.net> and
more information is available here:
https://wiki.openwrt.org/toh/mikrotik/rb941_2nd
I updated and adapted the patch to apply cleanly to LEDE trunk
and added proper numbering for the switch ports (matching case
labels).
Tested working on actual hardware with the information
provided in the above webpage. Sysupgrade works.
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Remove the wget2nand script, drop the need for manual installation,
use sysupgrade instead.
There are now two different NAND images, one for 64 MiB flashes, the
other for >= 128 MiB
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Running ar8327_get_arl_entry() early after boot leads to MDIO related system
lockups on several devices using this driver.
Since dumping the ARL table contens is an optional, uncritical feature, simply
disable the code for now.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This fixes hangs in igb that happen if the update call interrupts an
already existing dev_get_stats call. In that case the calling CPU
deadlocks because it's trying to acquire the same spinlock recursively.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This specifies wireless limitations for Netgear R8000 making sure people
won't use channels incorrectly (limited performance). There are also 2
new DTS files not used by us yet.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
At the moment we have 2 seperate device tree sources: 1 for ipq8064 soc located
in kernel source and 1 custom in LEDE for ipq8065.
ipq8064 and ipq8065 SoCs are completely identical except ipq8065 has higher cpu
frequencies and adjusted corresponding power supply.
This commit makes ipq8065 DTS to contain only specific for ipq8065 DT entries while
pulling all the basic SoC stuff from ipq8064 DTS.
It makes easier to manage ipq806x device trees and instead of committing changes into
2 seperate equal DTS we are ending up with only 1.
It also enables ipq8065 devices to automatically receive changes made in upstream kernel.
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
According to Qualcomm SDK usb3 phy suspend should be disabled for
ipq806x.
This may solve issue on some ipq806x devices that breaks usb3
storage peripherals during system boot.
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
This patch adds support for the Onion Omega2 and Omega2+ (https://onion.io)
Specifications:
- SoC: MediaTek MT7688AN (580MHz, ramips)
- Omega2
- RAM: 64MB DDR
- Storage: 16MB NOR SPI flash onboard
- Omega2+
- RAM: 128MB DDR
- Storage: 32MB NOR SPI flash onboard + microSD slot
- Wireless: Built into MT7688AN (mt76) with onboard 1x chip antenna and u.FL connecter
- Ethernet: 1x100M pins on Omega2 & Omega2+, can use Ethernet Expansion and an Omega Dock to get a physical Ethernet port
- Strongly recommend using the Omega2 & Omega2+ with a Dock (Expansion Dock, Power Dock, Arduino Dock 2, Mini Dock)
- All Docks Provide:
- Micro-USB port to provide power to the Omega
- On the Expansion and Mini Docks, can also access the terminal (UART0) via serial
- USB 2.0 socket connected to Omega
- Just the Expansion Dock, Power Dock, and Arduino Dock 2 provide:
- Omega GPIO breakout
- Allows for connection of Omega Expansions:
- Ethernet Expansion
- Relay Expansion
- PWM Expansion
- OLED Expansion
- Ethernet Expansion
- Proto Expansion
- Cellular Expansion
Signed-off-by: Lazar Demin <lazar@onion.io>
I made a commit that added the RTC driver to the kernel config with
the intent that it would fix hctosys. Unfortunately while the RTC
driver is in there, it's connected through I2C, the driver for which
comes in module form and is thus loaded late. After this commit, it
works fine.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Prevents crashes when IRQs arrive when the current kernel stack context
already contains deeply nested function calls, e.g. when stacking lots
of network devices on top of each other
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Unify switch configuration on Linksys WRTxx00AC series.
LAN = eth0, WAN = eth1
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
[Álvaro]: also change WAN LEDs
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This reduces the amount of hacks in the makefile code.
Remove the apm821xx code to do the same - it was broken and left both
compressed and uncompressed images in $(BIN_DIR)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
It could cause crashes with some forms of virtualization, and it is
unlikely to work properly with most systems.
It's safer to just disable it.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
There's a GPIO that can switch between power to USB pins for the
internal MiniPCIe slot or the external USB port.
People are more likely to use the external one so enable it by default.
Existing configurations should be unaffected
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Is it used by VMware Fusion by default. This allows images to boot
without further config changes in VMware.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Partition label "linux" prevents the root file system to be mounted at
boot time leading to a kernel panic. After changing it to "firmware",
the 2 uimage partitions "kernel", "rootfs" and squashfs "rootfs_data"
are correctly recognized.
The attached IP175C 10/100 MBit switch cannot connect to a link with
fixed 1000Mbit speed. The correct link speed is 100MBit. The switch
is detected and can be configured via mdio bus and should allow two
separable VLANs to be configured for the 4 available ports.
Signed-off-by: Yo Abe <abe.geel@gmail.com>
[picked from openwrt/PR#330]
Signed-off-by: Mathias Kresin <dev@kresin.me>
This patch adds support for the VoCore VoCore2 and its complementary
"ultimate" dock.
Specifications:
- SoC: MediaTek MT7628AN (580MHz, ramips)
- RAM: 128MB DDR2 166MHz
- Storage: 16MB NOR SPI flash onboard + microSD slot on dock
- Wireless: Built into MT7628AN (mt76) with 1T1R firmware on VoCore2
boards with onboard 1x chip antenna
- Ethernet: 1x100M (port0) on dock, 1x100M (port2) on PCB header
- Dock hardware:
- USB 2.0 socket
- MicroSD socket
- 100Mbps Ethernet x1
- 3.5mm headphone jack (TRRS) connected to Everest Semi ES8388 I2S
DAC/ADC (support WIP)
- Micro USB for power and console (UART2)
Initial installation:
- VoCore2 comes preinstalled with a fork of OpenWrt CC and AP on
SSID "VoCore2"
- Connect to VoCore2 by Ethernet or Wi-Fi
- `ssh root@192.168.1.1` (password is "vocore")
- scp/wget/etc. LEDE sysupgrade.bin to VoCore2
- `sysupgrade -n <your image>.bin` (don't keep old config, as the
original firmware uses Ralink SDK Wi-Fi drivers and not
mt76+mac80211)
- after sysupgrade completes, Wi-Fi will be disabled by default so use
Ethernet or the micro USB console to configure Wi-Fi again
Signed-off-by: Andrew Yong <me@ndoo.sg>
This patch adds support for serial console on Mikrotik RB411 and RB433
series devices.
Signed-off-by: David Varga <duvi@duvinet.hu>
[picked from FS#377]
Signed-off-by: Mathias Kresin <dev@kresin.me>
The hardware queue scheduling is apparently configured with fixed
priorities, which creates a nasty fairness issue where traffic from one
CPU can starve traffic from all other CPUs.
Work around this issue by forcing all tx packets to go through one CPU,
until this issue is fixed properly.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Commit af79fdbe4a changed the code to use tx_nbits for dual SPI tx
transfers, however the SPI stack only allows this when the device mode
includes the relevant bit as well
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This code was marked as incompatible to Linux 4.4 well over a year ago
and nobody cared, and now it's breaking builds.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This target has consistently failed builds for a long time and it does
not look like it has any users left, nor any maintainers.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Without this patch swconfig will only allow setting up a total of 16
VLANs, with VLAN ID range of 0-15.
Tested on ubnt-erx.
Signed-off-by: Antonis Kanouras <antonis@metadosis.eu>
Fixing pvs1 bin voltage as found in GPL tarball and Qualcomm SDK.
Also adjusting smb208_s2a/b minimum voltage to reflect lowest value in pvs table.
Current ipq8065 devices in LEDE choose (based on eFuse data) pvs bin n4, that has
correct values in DT, but in future a new device may choose n1 or n6.
Without this change n1 is semi-correct and n6 is not available, because OPP driver
disregards bins with voltage values that regulator cannot supply.
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
This adds USB initialization fixes for Danube, Amazon SE and xrx300 and
should fix the clock on at least Danube which hopefully closes FS#351.
The xrx200 usb driver now uses more memory for the dwc2 fifos, this was
increased in the chip compared to ar9.
This is based in part on the vendor documentation and the vendor code
base as a reference.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The DMA controller used only local locks, which will not lock the
section against other CPUs, fix this by using spin locks.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Now that we generate images with metadata attached, require it in order
to prevent accidentally flashing the wrong image to a board.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Add support for the integrated AC97 sound device on motherboards
with AMD CS5535/CS5536 chipsets.
Tested on Wyse Winterm S30.
Signed-off-by: Cezary Jackiewicz <cezary@eko.one.pl>
The boot loader of many boards provides a kernel boot argument with a
broken console parameter to the kernel. This will be taken before the
stdout-path defined in device tree and the serial will not work on this
board. Multiple boards are affected by this problem, so revert this
patch for all boards. Later we can remove the boot arguments from the
device tree again, after the individual board was checked to work.
This partly reverts this commit:
commit 4995c64857
Author: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sun Dec 11 21:55:00 2016 +0100
lantiq: specify console using stdout-path instead of cmdline argument
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>