Enable xdp-loader to attach multiple XDP programs to a single interface by
backporting the BPF trampoline implementation from Linux kernel 6.17 to
6.12 for LoongArch64.
The xdp-loader utility relies on libxdp, which in turn requires kernel
support for BPF trampoline. While x86_64 and other architectures have
this feature, LoongArch64 only gained it in kernel 6.17. Without this
backport, xdp-loader fails on LoongArch64 systems running kernel 6.12.
Changes backported include:
- BPF trampoline infrastructure for LoongArch64
- Necessary JIT compiler updates
- Related BPF subsystem changes
This allows full compatibility with the xdp-tools ecosystem on LoongArch64
systems running older kernel versions.
Reference: https://github.com/xdp-project/xdp-tools/tree/main/lib/libxdp
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21077
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Board name was specified incorrectly in the DT, fix.
This bug was introduced in #20580 (31f5fc8fea8931f5) which was
merged last week, and econet is still a mostly experimental target,
so it is considered unnecessary to update SUPPORTED_DEVICES.
Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/21023
Signed-off-by: Robert Marko <robimarko@gmail.com>
Instead of using the name from /proc/cpuinfo, use board_name from
/lib/functions.sh
Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/21023
Signed-off-by: Robert Marko <robimarko@gmail.com>
The ralink custom property is deprecated and only kept around for
byteswap capability.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21058
Signed-off-by: Robert Marko <robimarko@gmail.com>
Avoids having to create a custom LED for wifi.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21058
Signed-off-by: Robert Marko <robimarko@gmail.com>
Migrate wifi compatible from ralink,rt2880-wmac to ralink,rt2880-wifi to
align to new 6.18 backports version.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add opending patch fixing resource_size(9 if resource start and end is
set to zero.
This is to indirectly fix a helper rework in ath11k qmi code that cause
firmware load panic.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Move reserved_mem backports patch from airoha to generic dir as it will
be also used by backports package based on 6.18.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport support for faux base driver needed for backports package to
compile with kernel 6.18.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add missing address-cells and size-cells properties under the switch's
ports node to fix a multitude of below build warnings:
Warning (reg_format): /soc@0/mdio@90000/ethernet-switch@11/ports/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): /soc@0/mdio@90000/ethernet-switch@11/ports/port@1: Relying on default #address-cells value
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20982
Signed-off-by: Robert Marko <robimarko@gmail.com>
Although the bootloader tries to 'fixup' the qpic nand node, it actually
can't find it as the node was renamed to spi based on the new driver
architecture. The added benefit is that it also silences build warning:
Warning (spi_bus_reg): /soc@0/spi@79b0000/partitions: missing or empty reg property
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
---
Node rename:
old node name: qpic-nand@79b0000
new node name: spi@79b0000
Bootloader logs:
Booting using the fdt blob at 0x44d3fc78
Uncompressing Kernel Image ... OK
Loading Device Tree to 4a3f6000, end 4a3ff805 ... OK
fdt_fixup_qpic: QPIC: unable to find node '/soc/qpic-nand@79b0000'
parse_fdt_fixup: unable to find node '/soc/qpic-nand@79b0000/'
Link: https://github.com/openwrt/openwrt/pull/20982
Signed-off-by: Robert Marko <robimarko@gmail.com>
Avoids having to create a custom LED for wifi.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21059
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This partially reverts 78d259e7d2.
That commit broke mounting the root fs on Sophos RED 15w due to
partition size mismatch, and changed the partition sequence, causing
the OpenWrt partition numbers to change from mtd3:kernel/mtd4:ubi to
mtd4:kernel/mtd5:ubi.
Fixes: 78d259e7d2 ("mpc85xx: fix some dtc warnings")
Signed-off-by: Shine <4c.fce2@proton.me>
Link: https://github.com/openwrt/openwrt/pull/20745
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The stability issue doesn't seem to be found on newer rockchip SoCs
like RK3528, RK3576 and RK3588, so drop the sdr50 limitation.
In addtion, the HS200 limitation for NanoPC T6 is also removed as
upstream fixed the real issue in mmc driver.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/20432
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Every attempt to update a device with NOR flash
and RouterBOOT v6 resulted in the error:
“RouterBOOT 6 and earlier requires ELF-in-YAFFS image.”
The cause was that xargs did not fully remove whitespace,
so the condition "$bootentry" != "kernel" always evaluated to true.
Signed-off-by: Marcin Maj <marcinmajsc@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21034
Signed-off-by: Robert Marko <robimarko@gmail.com>
Commit 8f1914053b ("airoha: replace I2S patch with upstream pending
version") introduced a kernel panic with I2S driver.
Add the fixed patch to fix the kernel panic.
Fixes: 8f1914053b ("airoha: replace I2S patch with upstream pending version")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Enable I2S sound driver and add nodes for eMMC RFB board since it's the
one that always have the I2C codec and can use the sound card.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Replace I2S sound patch with upstream pending version. This adds ETDM
support and fix various bug in the downstream implementation.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This is about as simple as it gets, it's able to start up and put
the onboard switch into dumb switch mode and then send untagged
frames which become available on every switch port.
It is out-of-tree to allow for rapid development and it is being
proposed now because even in this state it brings a lot of value
to the EcoNet platform and it is a fairly complex ethernet system
so it will take some time before the driver is in a state that
may be considered for upstreaming.
Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/20685
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
In preparation for the introduction of ethernet, this patch normalizes the
partitions in the devices in DT so that the partition to upgrade will
always be called tclinux, no matter what it is called from the factory.
Also fix a math error in Nokia G240G-E partition table and remove leading
zeros from paritition offsets.
Finally, add NVMEM mac-address entries where they are left by the
factory. In preparation for the introduction of Ethernet and Wifi
support.
Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/20685
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Added missing platform data struct for RK3576 to fix boot issues,
fixed general stability issues and also improved random write
performance.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/21028
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Fixes:
```
LzmaDecode.c: In function 'RangeDecoderReverseBitTreeDecode':
LzmaDecode.c:199:5: error: 'symbol' undeclared (first use in this function)
199 | symbol |= (bit << i);
| ^~~~~~
LzmaDecode.c:199:5: note: each undeclared identifier is reported only once for each function it appears in
```
Fixes: 4ffd5aa239 ("treewide: fix coccinelle checks")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Fixes this compile problem:
```
drivers/net/ethernet/ralink/esw_rt3050.c: In function 'rt3050_esw_init':
drivers/net/ethernet/ralink/esw_rt3050.c:1467:12: error: 'pdev' is used uninitialized [-Werror=uninitialized]
1467 | if (!pdev)
| ^
drivers/net/ethernet/ralink/esw_rt3050.c:1461:33: note: 'pdev' was declared here
1461 | struct platform_device *pdev;
| ^~~~
cc1: all warnings being treated as errors
```
Fixes: 4ffd5aa239 ("treewide: fix coccinelle checks")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Fixes compile errors caused by static const arrays;
The lantiq firmware is const now.
ATTRIBUTE_GROUPS() does not take const.
Fixes: 5b263f3360 ("treewide: add const to static arrays")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
GL-MV1000 external SD controller was broken by a recent kernel update
due to a mistake in Device Tree: "regulator-gpio" was defined without
required "gpios" property.
Removing this regulator definition from the device tree fixes this issue
without any side effects so far.
"main" branch uses upstream devicetree for this device, so add a kernel
patch for the "mvebu" kernel family.
Relevant discussions:
https://github.com/openwrt/openwrt/issues/20309https://github.com/openwrt/openwrt/pull/20378
Signed-off-by: Mikhail Zadorozhnyi <zador.blood.stained+git@protonmail.com>
Link: https://github.com/openwrt/openwrt/pull/20390
Signed-off-by: Robert Marko <robimarko@gmail.com>
Microchip EV23X71A is a LAN9696 based EVB.
Specifications:
* CPU: Microchip LAN9696 switch SoC
* DRAM: 1GB DDR4
* Storage:
* 2MB QSPI NOR
* 4GB eMMC
* Networking:
* 24 x 10/100/1000 RJ45 via LAN8814 Quad PHY-s over QSGMII
* 4 x 100/1000/2500/5000/10000 SFP+ ports
* 1 x 10/100/1000 management RJ45 via LAN8840 PHY over RGMII (U-Boot too)
* USB: 1 x USB2.0 Type-A
* Management via USB-C (MCP2200):
* UART @ 115200 baud
* GPIO-s for bootstrap, reset and clock selection
* DIP switch for boostrap configuration
* LED-s:
* 2 per networking port (Green and Yellow)
* Green status LED
* Yellow reset LED
* Hard reset button
* Power:
* 12V DC barrel jack
* 48/56V DC screw terminal
* Selectable via toggle switch
* PTP support:
* Sync-E DPLL ZL30732B to generate the board required clocks
* Two SMAs for PTP and two for Station clock inputs and outputs
* Two ITU-T G.8275-compliant RS-422 interfaces for PTP applications
* External PoE:
* Option for PoE add-on, like EV14Y36A (IEEE 802.3af/at/bt Type 4
standard com-pliant)
* Option for external CPU control via SPI and PCIe
Installation instructions:
1. Connect to UART via the USB-C port
2. Connect the management port
3. Boot and interrupt U-Boot
4. TFTP the OpenWrt initramfs image and boot it
5. SCP the OpenWrt eMMC GPT image to a running OpenWrt initramfs to /tmp
openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img.gz
And decompress it via:
gzip -d /tmp/openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img.gz
6. Wipe eMMC with:
dd if=/dev/zero of=/dev/mmcblk0 bs=1M
7. Flash OpenWrt eMMC image with:
dd if=/tmp/openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img
of=/dev/mmcblk0
After a restart OpenWrt will boot, and then regular sysupgrade can be used
for upgrades.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Add a new microchipsw target aimed add supporting Microchip switch
SoC-s.
Start by supporting LAN969x SoC-s as the first subtarget.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Userspace handling is deprecated.
Also use led-sources for simplicity.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This AX3000 flying saucer-shaped device is sold under a few names:
- Widelantech WAP430X
http://www.widelantech.com/?m=home&c=View&a=index&aid=131
- Felicomm
- UeeVii UAP200 (sold on amazon.com)
True name, as marked on the PCB and as appears in the DTS, is WAP430X.
Hardware:
- SoC: Mediatek MT7981B
- RAM: 256MiB DDR3
- ROM: 16MiB NOR flash (Winbond 25Q128JVSQ)
- Wired: one GbE RJ45 port
- Wireless: Mediatek MT7976CN DBDC
- Antennas: Internal (two 2.4 GHz 4.5 dBi, three 5 GHz 6 dBi)
- GPIO: two blue LEDs (status, WLAN), one button (reset)
- Power: DC5521 (12V) or 802.3af PoE (48V 0.3A)
- UART: J500 on PCB [3v3] (Rx) (Tx) (Gnd), 115200n
Original firmware is GECOOS 8.0_2024081000, a fork of OpenWrt 21.02
created by Widelantech. All ports are closed except 443 (web management
interface) and 80 (redirects to 443). UART is locked down, but U-Boot
bootloader is friendly.
Installation is done via UART (see note below).
Method 1: press any key during boot to enter MTK U-Boot bootloader,
then choose option 2 (Upgrade firmware) and upload sysupgrade binary
via TFTP (or via Xmodem).
Method 2: put sysupgrade binary on a webserver (http, not https); after
GECOOS loads, choose option 4 (固件在线升级 = online firmware upgrade)
in the menu and enter the URL to the sysupgrade binary.
Note: GECOOS has a slick web management, and firmware can be uploaded
at https://6.6.6.6/#/system/sysupgrade but it's still not clear how to
convert the sysupgrade binary to a factory binary accepted by the web
interface (WIP).
Signed-off-by: Rani Hod <rani.hod@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20402
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Userspace handling is deprecated.
Also switch LED to led-sources for simplicity.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20529
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Unneeded semicolon
WARNING comparing pointer to 0
WARNING: NULL check before some freeing functions is not needed.
WARNING: casting value returned by memory allocation function to (u32 *)
ERROR: allocation function on line 378 returns NULL not ERR_PTR on failure
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19932
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Userspace handling is deprecated.
This is a weird one. It should be using u-boot,env, but the variable
name is unknown. Keep it as is.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20520
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tests with ingress shaping and enabled flow control showed really high
packet loss. It seems like the MAC pause frames are not created correctly
when both burst high off is set to the same value as burst high on.
By default, RTL930x has set the burst high values to:
* on: 64K
* off: 32K
Using the same 1:2 ratio seems to solve the high packet loss rate during
UDP tests.
Fixes: 2e74eb6d93 ("realtek: dsa: rtl93xx: Support per port throttling")
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21011
Signed-off-by: Robert Marko <robimarko@gmail.com>
CPR conversion to of_property_present is broken in multiple places, either
by leaving the comma after now the last argument or by attempting to replace
an instance that actually uses the returned length.
So, lets fix these in order for qualcommax to compile again.
Fixes: c9e7f32c4c ("treewide: use of_property_present")
Signed-off-by: Robert Marko <robimarko@gmail.com>
The Zyxel NWA210AX is a wall- and ceiling-mountable access point (AP).
Hardware specifications:
- SoC: Qualcomm IPQ8071A
- RAM: 1 GB (Samsung K4A8G165WC-BCTD)
- Flash: 8 MB (Winbond W25Q64DW), 256 MB (Winbond W29N02GZ)
- Ethernet: 1x 2.5 Gbps RJ45 port (QCA8081), 1x 1 Gbps RJ45 port (AR8033)
- WiFi: 2.4 GHz 802.11ax/b/g/n (QCN5024), 5 GHz 802.11 ac/ax/n (QCN5054)
- Power: DC 12V/PoE 802.3at
- Button: Reset
- LEDs: Multicolour red/green/blue/white via LP5562
Installation/flashing instructions:
1. In OEM web interface navigate to gear icon → System → SSH and enable SSH.
2. Log in via SSH (username/password are the same as for the web interface).
3. Run "debug dual-image show".
4. Verify that output is "Current Image num: 1".
5. If this is not the case (i.e. if the output is "Current Image num: 0"):
a. Either flash a fresh version of factory firmware, or
b. run "debug dual-image set boot-image image1" and then run "reboot".
6. Log in via SSH again and verify that output is "Current Image num: 1".
7. Rename "openwrt-qualcommax-ipq807x-zyxel_nwa210ax-squashfs-factory.bin" to
"openwrt.bin" to avoid upload errors in the OEM web interface.
8. Reopen OEM web interface, navigate to wrench icon → File Manager →
Firmware Package and upload the bin file. Once the upgrade process is
finished and OpenWrt has booted, the LED will light up green.
Switching between OpenWrt and OEM firmware:
- OpenWrt → Zyxel via ssh command "zyxel-bootconfig-ipq807x set image1".
- Zyxel → OpenWrt via ssh command "debug dual-image set boot-image image0".
This commit is based on the work of Pascal Beleiu <pascal@beleiu.de>:
93ca21f3 (qualcommax: ipq807x: add support for Zyxel NWA210AX, 2025-03-17)
Signed-off-by: Eric Schäfer <eric@es86.de>
Link: https://github.com/openwrt/openwrt/pull/19828
Signed-off-by: Robert Marko <robimarko@gmail.com>
Backport fix for premature SPI CS deassertion on RX-only transactions from
linux v6.18, which is needed for bmips (bcm63xx).
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
The MAC addresses of this device are not assigned by the bootloader.
Therefore, this alias is useless.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20478
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
On ipq40xx platform, some specific GPIO can be configured as hardware
controlled SPI CS pin. This commit is an example of how to convert the
chipselect pin to the hardware CS mode.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20478
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Adds support for Turris MOX, a modular router extendable by board modules (MOX B-G).
You can explore the idea behind the modules at: https://mox-configurator.turris.cz/
More information about Turris MOX can be found here: https://docs.turris.cz/hw/mox/intro/
Also works with Turris Shield (Turris MOX A and C with a simplified OS UI).
Specifications:
-----------------------
MOX A
- SoC: Marvell Armada 3720
- RAM: 512/1024 MB, DDR3
- Memory:
- 8 MB SPI NOR Flash for U-Boot and rescue system
- SD card slot
- 1x RJ-45, 1Gbps
- 1x USB 3.0
- 1x activity LED
- 1x reset button
- SDIO header
- misc pin header (UART, GPIO, JTAG, ...)
MOX B, G
- 1x mPCIe slot
- 1x SIM slot
MOX C
- 4x RJ-45, 1Gbps
MOX D
- SFP, 2.5Gbps
MOX E
- 8x RJ-45, 1Gbps
MOX F
- 4x USB 3.0
Module support:
-----------------------
Additional packages are needed for some modules.
MOX A (core)
- works as is
MOX B, G (mPCIe, mPCIe passthrough)
- works as is
MOX C, E (4x, 8x RJ-45)
- kmod-dsa
- kmod-dsa-mv88e6xxx
MOX D (SFP)
- kmod-sfp
- kmod-phy-marvell-10g
MOX F (4x USB 3.0)
- works as is
Wi-Fi 5, 3x3 card (WLE900VX)
- kmod-ath10k
- ath10k-board-qca988x
- ath10k-firmware-qca988x
Wi-Fi 6, DBDC, 2x2 card (MT7915DAN)
- kmod-mt7915e
- kmod-mt7915-firmware
Interface naming:
-----------------------
- MOX A's RJ-45 is assigned to `eth0`.
- MOX C, E (4x, 8x RJ-45) are assigned to `lan<number>@eth1`
- If MOX D (SFP) is connected directly to MOX A, the resulting interface
is `eth1`. If it's connected through MOX E (8x RJ-45), the resulting
interface is `sfp@eth1`.
Quirks:
-----------------------
- MOX is sensitive to the order of connected modules. Verify that the
confguration is valid at: https://mox-configurator.turris.cz/
- `CONFIG_MOXTET` and `CONFIG_GPIO_MOXTET` need to be enabled in kernel
config. Moxtet is a bus protocol needed to discover and configure MOX
modules. It must be compiled into the kernel for the modules to work.
Though it's very small so it won't bloat up the kernel image.
Flashing instructions:
-----------------------
1. Download `openwrt-*-ext4-sdcard.img.gz` and `gunzip` it.
2. Insert an SD card and flash the image to it using dd:
dd if=openwrt-*-ext4-sdcard.img.gz of=/dev/mmcblk0 bs=4096 conv=fsync
3. Plug the SD card into MOX.
Troubleshooting:
-----------------------
- https://docs.turris.cz/hw/serial/#turris-mox
- https://docs.turris.cz/hw/mox/rescue-modes/
Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
Link: https://github.com/openwrt/openwrt/pull/20356
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
NEC Aterm WF1200HP2 is a 2.4/5 GHz band 11ac (Wi-Fi 5) router with FE
ports, based on AR9344.
Specification:
- SoC : Atheros AR9344
- RAM : DDR2 128 MiB (2x ESMT M14D5121632A-2.5BG2A)
- Flash : SPI-NOR 8 MiB (Macronix MX25L6406EM2I-12G)
- WLAN : 2.4/5 GHz 2T2R
- 2.4 GHz : Atheros AR9344 (SoC)
- 5 GHz : Qualcomm Atheros QCA9882
- Ethernet : 4x 10/100 Mbps
- switch : Atheros AR9344 (SoC)
- LEDs/Keys (GPIO) : 12x/4x
- note : all LEDs are controlled by ath10k chip (QCA9882)
- UART : through-hole on PCB (J1)
- assignment : 3.3V, GND, NC, TX, RX from tri-angle marking
- settings : 9600n8 (U-Boot: 115200n8)
- Power : 12 VDC, 0.7 A (Max. 8 W)
- Stock OS : NetBSD based
Flash instruction using initramfs-factory.bin image (StockFW WebUI):
1. Boot WF1200HP2 with router mode
2. Access to the WebUI ("http://aterm.me/" or "http://192.168.10.1/") on
the device and open firmware update page ("ファームウェア更新")
3. Select the OpenWrt initramfs-factory.bin image and click update
("更新") button
4. After updating, the device will be rebooted and booted with OpenWrt
initramfs image
5. On the initramfs image, upload (or download) uboot.bin and
sysupgrade.bin image to the device
6. Replace the bootloader with uboot.bin image
mtd write <uboot.bin image> bootloader
7. Perform sysupgrade with sysupgrade.bin image
sysupgrade <sysuppgrade image>
8. Wait ~120 seconds to complete flashing and rebooting
Flash instruction using initramfs-factory.bin image (bootloader CLI):
1. Connect and open serial console
2. Power on WF1200HP2 and interrupt bootloader by ESC key
3. Login to the bootloader CLI with the password "chiron"
4. Start TFTP server by "tftpd" command
5. Upload initramfs-factory.bin via tftp from your computer
example (Windows): tftp -i 192.168.0.1 PUT initramfs-factory.bin
6. Boot initramfs image by "boot" command
7. On the initramfs image, backup the stock bootloader and firmware if
needed
8. Upload (or download) uboot.bin and sysupgrade.bin image to the
device
9. Replace the bootloader with uboot.bin image (see above)
10. Perform sysupgrade with sysupgrade.bin image (see above)
11. Wait ~120 seconds to complete flashing and rebooting
Notes:
- The stock bootloader requires the unknown filesystem on firmware area
in the flash chip. Booting OpenWrt from that filesystem cannot be
handled, so the bootloader needs to be replaced to mainline U-Boot
before OpenWrt installation.
Known issues:
- All LEDs on the front side are connected to the GPIO controller on the
ath10k chip (QCA9882) and controlled by it. The current ath10k driver
supports only one LED as "ath10k-phyN", but using as a GPIO controller
is not supported yet. As a result, all 12x LEDs on the front side
cannot be controlled by users.
MAC Addresses:
LAN : C0:25:A2:xx:xx:44 (config, 0x6 (hex))
WAN : C0:25:A2:xx:xx:45 (config, 0xc (hex))
2.4 GHz: C0:25:A2:xx:xx:46 (config, 0x0 (hex))
5 GHz : C0:25:A2:xx:xx:47 (config, 0x12 (hex))
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20611
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
NEC Aterm WF1200HP is a 2.4/5 GHz band 11ac (Wi-Fi 5) router with FE
ports, based on AR9344.
Specification:
- SoC : Atheros AR9344
- RAM : DDR2 128 MiB (2x ESMT M14D5121632A-2.5BG2A)
- Flash : SPI-NOR 8 MiB (Macronix MX25L6406EM2I-12G)
- WLAN : 2.4/5 GHz 2T2R
- 2.4 GHz : Atheros AR9344 (SoC)
- 5 GHz : Qualcomm Atheros QCA9882
- Ethernet : 4x 10/100 Mbps
- switch : Atheros AR9344 (SoC)
- LEDs/Keys (GPIO) : 12x/4x
- note : all LEDs are controlled by ath10k chip (QCA9882)
- UART : through-hole on PCB (J1)
- assignment : 3.3V, GND, NC, TX, RX from tri-angle marking
- settings : 9600n8 (U-Boot: 115200n8)
- Power : 12 VDC, 0.7 A (Max. 8 W)
- Stock OS : NetBSD based
Flash instruction using initramfs-factory.bin image (StockFW WebUI):
1. Boot WF1200HP with router mode
2. Access to the WebUI ("http://aterm.me/" or "http://192.168.10.1/") on
the device and open firmware update page ("ファームウェア更新")
3. Select the OpenWrt initramfs-factory.bin image and click update
("更新") button
4. After updating, the device will be rebooted and booted with OpenWrt
initramfs image
5. On the initramfs image, upload (or download) uboot.bin and
sysupgrade.bin image to the device
6. Replace the bootloader with uboot.bin image
mtd write <uboot.bin image> bootloader
7. Perform sysupgrade with sysupgrade.bin image
sysupgrade <sysuppgrade image>
8. Wait ~120 seconds to complete flashing and rebooting
Flash instruction using initramfs-factory.bin image (bootloader CLI):
1. Connect and open serial console
2. Power on WF1200HP and interrupt bootloader by ESC key
3. Login to the bootloader CLI with the password "chiron"
4. Start TFTP server by "tftpd" command
5. Upload initramfs-factory.bin via tftp from your computer
example (Windows): tftp -i 192.168.0.1 PUT initramfs-factory.bin
6. Boot initramfs image by "boot" command
7. On the initramfs image, backup the stock bootloader and firmware if
needed
8. Upload (or download) uboot.bin and sysupgrade.bin image to the
device
9. Replace the bootloader with uboot.bin image (see above)
10. Perform sysupgrade with sysupgrade.bin image (see above)
11. Wait ~120 seconds to complete flashing and rebooting
Notes:
- The stock bootloader requires the unknown filesystem on firmware area
in the flash chip. Booting OpenWrt from that filesystem cannot be
handled, so the bootloader needs to be replaced to mainline U-Boot
before OpenWrt installation.
Known issues:
- All LEDs on the front side are connected to the GPIO controller on the
ath10k chip (QCA9882) and controlled by it. The current ath10k driver
supports only one LED as "ath10k-phyN", but using as a GPIO controller
is not supported yet. As a result, all 12x LEDs on the front side
cannot be controlled by users.
MAC Addresses:
LAN : C0:25:A2:xx:xx:44 (config, 0x6 (hex))
WAN : C0:25:A2:xx:xx:45 (config, 0xc (hex))
2.4 GHz: C0:25:A2:xx:xx:46 (config, 0x0 (hex))
5 GHz : C0:25:A2:xx:xx:47 (config, 0x12 (hex))
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20611
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Userspace handling is deprecated.
Moved pcie wifi nodes out of dtsi as these devices differ in wifi
chipsets and thus calibration size. Added compatible lines too.
Removed pointless label_mac assignments as label-mac-device is already
implemented.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20303
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The ath9k driver creates an ath9k LED by default. Instead of having a
non functional LED, configure it properly and remove the extra as it's
not needed.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19865
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>