INAGAKI Hiroshi [Fri, 24 May 2024 04:38:02 +0000 (13:38 +0900)]
realtek: add support for XikeStor SKS8300-8X
XikeStor (Seeker) SKS8300-8X is a 8 ports Multi-Gig switch, based on
RTL9303.
Specification:
- SoC : Realtek RTL9303
- RAM : DDR3 512 MiB
- Flash : SPI-NOR 32 MiB (Winbond W25Q256JVFIQ)
- Ethernet : 8x 1/2.5/10 Gbps (SFP+)
- LEDs/Keys (GPIO): 1x/1x
- UART : "Console" port on the front panel
- type : RS-232C
- connector : RJ-45
- settings : 9600n8
- Watchdog : Diodes PT7A7514WE
- Power : 12 VDC, 2 A
Flash instruction using initramfs image:
1. Prepare TFTP server with an IP address "192.168.2.36"
2. Connect your PC to Port1 on SKS8300-8X
3. Power on SKS8300-8X and interrupt by Ctrl + B
4. Login to the vendor CLI by Ctrl + F and "diagshell_unipoe_env"
5. Login to the U-Boot CLI by "debug_unish_env" command
6. Enable Port1 with the following commands
9. On the initramfs image, backup the stock firmware if needed
10. Upload (or download) sysupgrade image to the device
11. Erase "firmware" partition to cleanup JFFS2 of stock FW
mtd erase firmware
12. Perform sysupgrade with the sysupgrade image
13. Wait ~120 sec to complete flashing
Notes:
- A kernel binary "nos.img" needs to be stored into JFFS2 filesystem
using 4KiB erase block instead of 64KiB.
- PT7A7514WE is handled by hardware-assited system LED output
(blinking).
- Some Japanese users asked to XikeStor about maximum power limit of
SFP+ ports and got approximate criteria:
- per port : <= 2.9 W
- total (8 ports): <= 15.8 W
1. Prepare OpenWrt SDK to use the mkfs.jffs2 tool contained in it
Note: the official mkfs.jffs2 tool in mtd-utils doesn't support 4KiB
erase size and not usable for SKS8300-8X
2. Create a directory for working
3. Download official firmware for SKS8300-8X from XikeStor's official
website
4. Rename the downloaded firmware to "nos.img" and place it to the
working directory
5. Create a JFFS2 filesystem binary with the working directory
Lech Perczak [Mon, 20 Jan 2025 23:10:50 +0000 (00:10 +0100)]
ath79: meraki-mr18: fix initramfs build
Now, that initramfs images built for ZTE devices work, by moving
LZMA_TEXT_START further up the available RAM - same fix works
successfully for Meraki MR18 too. Apply it and reenable initramfs
generation again.
Fixes: 1d49310fdb5e ("ath79: add Cisco Meraki MR18") Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17680 Signed-off-by: Robert Marko <robimarko@gmail.com>
Mikhail Zhilkin [Sat, 11 Jan 2025 14:55:17 +0000 (14:55 +0000)]
mediatek: Xiaomi AX3000t: fix soft brick for the rd23 model
This commit fixes Xiaomi AX3000t soft bricks. Issue affects at least rd23
model (Global version) users: Link: https://forum.openwrt.org/t/openwrt-support-for-xiaomi-ax3000t/180490/452
I also found that these nvram settings are wrong for the rd23 model and
U-Boot erase them:
'''
flag_try_sys1_failed 8
flag_try_sys2_failed 8
'''
As a result, platform.sh -> xiaomi_initial_setup() function sometimes ends
early without applying settings for the rd23 model.
RD03 model strategy:
1. Don't touch values those were set up by platform.sh ->
xiaomi_initial_setup() function
RD23 model strategy:
1. Apply correct nvram settings at every boot
2. Use bulk fw_setenv call
SoC: 720Mhz QCA9558
RAM: 256MB
Storage: 64MB of FLASH (SPI NOR - S25FL512S)
1x AR8327 GB switch
Ethernet: 1x1000M port #3 on AR8327,
1x1000M (802.3at POE), port #5 on AR8327
Wireless: QCA988X HW2.0 802.11ac
AR9550 2.4GHz 802.11b/g/n
5x GPIO LED
1x GPIO Reset Button
1x DC Jack 12v
1x UART, 3.3v, 115200
1x TPM, SLB9645TT12
2x Beamforming antennas configured via 74LV164
MAC addresses:
1. art 0x807E | Factory bridged | f0:3e:90:XX:XX:80 |
2. art 0x66 | eth0 | f0:3e:90:XX:XX:83 | (port 5, cpu port 6) - PoE port
3. art 0x6c | eth1 | f0:3e:90:XX:XX:84 | (port 3, cpu port 0) - non PoE port
Serial console: 115200-8-N-1 on internal H4 header.
Pinout:
H1
-----------
|1|x|3|4|5|
-----------
Pin 1 is near the "H4" marking.
1 - RX
x - no pin
3 - VCC (3.3V)
4 - GND
5 - TX
JTAG: Connector H2, similar to MIPS eJTAG, standard, unpoulated.
1. Setup tftp server on the local network
2. Connect to UART with TTL
3. Interupt U-boot process with Ctrl-C
4. Setup appropriate ipaddr and serverip in setenv:
- setenv ipaddr 192.168.1.1
- setenv serverip 192.168.1.2
5. On TFTP Server - copy openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin to /srv/tftp
6. On R500 boot into initrd image
- tftpboot 0x81000000 openwrt-ath79-generic-ruckus_r500-initramfs-kernel.bin
- bootm 0x81000000
7. On TFTP server - scp -O openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin root@192.168.1.1:/tmp
8. Ensure the boot command is set before flashing the image:
fw_setenv bootcmd 'bootm 0xbf1c0000'
9. On R500 - sysupgrade /tmp/openwrt-ath79-generic-ruckus_r500-squashfs-sysupgrade.bin
10. If not done in 8; set boot command from U-boot shell itself:
- setenv bootcmd bootm 0xbf1c0000
- saveenv
- reset
This patch adapted from https://github.com/victhor393/openwrt-ruckus-r500/tree/ruckus-r500-master
Signed-off-by: Damien Mascord <tusker@tusker.org>
- Heavily refactored the device tree
- Extended commit message
- Documented onboad connectors
- Refactored MAC and calibration data setups to use nvmem-layout
- Made both network interfaces LAN ports and bridge them, this makes
more sense for an access point and is consistent with the rest of
Ruckus APs.
- Enable lzma-loader for compressed initramfs
- Enabled the optional internal USB port
- Added missing LEDs and according pinctrl settings
- Added reserved memory region used for bootloader communication
- Added the bit-banged I²C bus and onboard TPM
- Refactored boot scheme and flash layout to match earlier Ruckus
devices and maximize usable space for user data.
Quirks:
- H7 is the physical presence switch for the SLB9645TT12 TPM.
TODO:
- Link state reporting on the Ethernet ports doesn't work and both ports
report "up" due to limitation of swconfig ar8327 driver. With DSA
conversion, this shall be rectified.
- Locate 2nd shift register (U7) controlling beamforming antennas, probably
on ath10k GPIOs which are currently unsupported in the driver. For
this, there is a device tree node describing that - but explicitly
disabled.
- At the moment of adding support, there is an endianness bug in the TPM
driver causing it to not detect the TPM module because of ID mismatch.
kernel: fix rootfs initramfs not updating on subsequent single build
There is currently a problem where the rootfs in an initramfs image for
single target build is not updated on subsequent run. This is caused by
a bug introduced in d78dec3e19e3 ("kernel: copy kernel build dir on
Per-Device Initramfs compilation") where the initramfs_data.cpio rm was
moved to PrepareConfigPerRootfs. This caused the side effect of dropping
the rm call for single target build making the kernel reusing the
previous generated initramfs_data.cpio.
To correctly handle this, restore the original location of this call
right after the touch /init call. This way the kernel will always
regenerate the initramfs embedded rootfs ALSO for single target build.
Fixes: d78dec3e19e3 ("kernel: copy kernel build dir on Per-Device Initramfs compilation") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Dustin Gathmann [Wed, 15 Jan 2025 14:55:29 +0000 (15:55 +0100)]
lantiq: fritz_cal_extract with reverse option for AVM FritzBox 7430
This implementation of fritz_cal_extract can also retrieve firmware
data stored in reverse byte order, as found in the AVM 7430 device.
This is done by intermediate storage in a buffer presumably large enough
to hold the complete data set. Currently, this buffer size is 128kB + 1kB
(some extra space for skipped data).
In the usual case of "forward" data, this implementation should behave
like the original implementation in all common cases. limit [-l] will
determine the amount of data read and size of buffer allocated.
However, if you are reading reversed data or didn't set a limit, the buffer
may be too small to hold all data. In this case, you can choose a higher
limit [-l] to enforce a sufficient buffer size.
The image size has been changed to prevent failures in routers and bootloop
when flashing a large image using a stock bootloader. The LED trigger
package has been removed for 1910, which is no longer in use.
mediatek: EX5601-T0 add Zyxel EX5601-T1 and T-56 alias
Define EX5601-T1 and T-56 as alternative name, to explicitly show
the device is supported using existing image. EX5601-T1 does not
have the option to switch between WAN/SFP port. The switch port
is hardwired to the WAN port. The Zyxel T-56 is the odido-branded
version of the EX5601-T1.
Lech Perczak [Wed, 20 Nov 2024 02:45:21 +0000 (03:45 +0100)]
ath79: lzma-loader: expose LZMA_TEXT_ADDRESS configuration again
initramfs for some devices grew so big, that it can't be loaded within
the previous 32MB RAM limit. Make the LZMA_TEXT_ADDRESS configurable
per-target once again, to fix it for bigger devices, while maintaining
compatibility with previous ones.
Tony Ambardar [Wed, 1 Jan 2025 12:48:56 +0000 (04:48 -0800)]
mac80211: Fix tracing backport
Update handling of macro __assign_str() to also support the one-argument
variant when building against kernel 6.10 or later. This is needed for
building the next LTS kernel 6.12.
Fixes: 384d079fd8 ("mac80211: update to version 6.11") Signed-off-by: Tony Ambardar <itugrok@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/17456 Signed-off-by: Robert Marko <robimarko@gmail.com>
Manuel Fombuena [Tue, 14 Jan 2025 12:37:20 +0000 (12:37 +0000)]
generic: add leds_st1202 patch to fix NULL pointer access
As per @KanjiMonster comment: st1202_dt_init() calls devm_led_classdev_register_ext() before the internal data structures are properly setup, so the leds become visible to user space while being partially initialized, leading to a window where trying to access them causes a NULL pointer access.
Move devm_led_classdev_register_ext() to the last thing to happen during initialization.
Florian Maurer [Thu, 16 Jan 2025 08:29:55 +0000 (09:29 +0100)]
mediatek-filogic: fix wax220 wifi leds
The WAX220 does have a 2.4GHz and 5GHz wifi led, which was set to trigger on netdev before.
This commit changes this to trigger on activity of the respective radio
ipq4019: patch initialization of Lantiq DSL on FritzBox 7530.
Some VRX518 modems fail to initialize properly with the error message
"dc_ep_clk_on failed". As a result, the DSL data path doesn't work.
This hack, which is based on code from the FRITZ!Box 7530 GPL archive,
fixes the issue. It changes the PCIe vendor/device ID to values matching
a Lantiq SoC. It also appears to emulate a Lantiq CPU ID register for
connected PCIe devices, by remapping the matching address area to a
specially crafted buffer using the address translation unit.
A dedicated compatible is created to activate this in
the device tree, so this shouldn't affect any devices other than
FRITZ!Box 7530/7520.
Original investigation was done in https://github.com/janh/openwrt/commit/59f52125178146a9dc44290c11c63e5e029e8044 which used the "avm,host_magic" property to enabled the patch.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: Florian Maurer <f.maurer@outlook.de> Link: https://github.com/openwrt/openwrt/pull/17622 Signed-off-by: Robert Marko <robimarko@gmail.com>
Robert Marko [Sat, 18 Jan 2025 11:25:01 +0000 (12:25 +0100)]
qualcommax: dl-wrx36: fix 2.5G port LED-s
Currently, 2.5G port LED-s on Dynalink are incorrectly configured and thus
they will light up all of the time.
So, lets fix this by:
1. Current green LED is actually yellow, change the color
2. Fix its polarity as its actually active-low
3. The yellow LED that was registered as being connected to LED_1 pin on
the PHY is not actually connected at all, so remove it.
4. The actual green LED is connected to LED_2 on the PHY so add it.
Fixes: 75ad5c24142a ("qualcommax: switch to qca8081 upstream PHY driver") Fixes: #14502 Link: https://github.com/openwrt/openwrt/pull/17656 Signed-off-by: Robert Marko <robimarko@gmail.com>
Sander Vanheule [Sat, 18 Jan 2025 12:45:55 +0000 (13:45 +0100)]
realtek: rtl839x: Enable AUX MDIO controller
Enable the driver for the Realtek Otto auxiliary MDIO driver so RTL839x
devices can use it. The related node is added to the base devicetree for
rtl839x-based devices, so they can enabled and use it when required.
Sander Vanheule [Sat, 18 Jan 2025 12:28:44 +0000 (13:28 +0100)]
realtek: Update aux-mdio driver
For RTL839x, the driver was producing frequent timeouts on bus accesses.
Increasing the timeout to the one from a recent Realtek SDK resolves
these timeouts. To minimize overhead on different SoCs, each controller
can specify their own timeout.
This also add support for the register format as used on RTL93xx.
Support is added for the RTL930x "ext gpio" controller.
generic: r8169: remove reverted temperature sensor patch
The patch adding temperature sensor support for r8169 has been removed upstream
and the functionality will be added to Realtek PHY instead:
https://github.com/torvalds/linux/commit/1f691a1fc4bef1c5cf5f503e14e1a22fc37c97e3
Felix Fietkau [Thu, 16 Jan 2025 11:35:47 +0000 (12:35 +0100)]
netifd: improve packet steering on ipq40xx (and possibly others)
Some platforms a single ethernet device for all ports with multiple rx rings
and NAPI threading enabled. In this case, the steering script was limiting
performance by keeping all NAPI threads assigned to the same CPU.
Fix this by assigning each rx queue and the corresponding NAPI task separately.
Additionally, if the number of rx queues is at least as big as the number of
CPUs, skip weight based assignment and distribute the load across all CPUs
directly.
Fixes: https://github.com/openwrt/openwrt/issues/17611 Signed-off-by: Felix Fietkau <nbd@nbd.name>
Sander Vanheule [Thu, 16 Jan 2025 12:23:54 +0000 (13:23 +0100)]
realtek: Use atomic poll for aux-mdio commands
regmap_read_poll_timeout() relies on usleep_range() to time the polling
loop. With the current, rather large, scheduling interval, a short
usleep_range() may take a lot longer than expected, causing performance
issues.
Switch the driver over to using regmap_read_poll_timeout_atomic(), which
uses udelay() to time the polling loop.
For comparision, the 'ethtool -m <dev>' command is about 10 times faster
with the atomic variant.
Using 'perf -r10 ethtool -m lan25':
- Driver using regmap_read_poll_timeout():
2.0117 +- 0.0118 seconds time elapsed ( +- 0.58% )
- Driver using regmap_read_poll_timeout_atomic():
0.1674 +- 0.0250 seconds time elapsed ( +- 14.95% )
Fabian Groffen [Wed, 15 Jan 2025 19:12:02 +0000 (20:12 +0100)]
realtek: HPE 1920 24G PoE+ 180W/370W move fans to hwmon
Apply the equivalent of commit f64541db020e ("realtek: HPE 1920 8G PoE+
180W move fans to hwmon") to the 24-ports variants of the HPE 1920 PoE+
switches, with model numbers JG925A and JG926A.
Copy from the original commit message:
Move to using hwmon and gpio-fan. This is by adding gpio_fan_array to
DTS and kmod-hwmon-gpiofan to DEVICE_PACKAGES.
In combination with the new rtl8231 gpio driver the default fan
behaviour will be maximum fan speed.
Bump compat value to 1.1 due to existing config in /etc/config/system
via gpio_switch. Also notify in device compat that fan is now going to
be at bootloader setting (maximum in this case) by default unless turned
down.
As the init script 03_gpio_switches does not perform any action after
removing these devices from it, the file can be dropped.
Evan Jobling [Tue, 14 Jan 2025 12:13:21 +0000 (12:13 +0000)]
realtek: HPE 1920 8G PoE+ 180W move fans to hwmon
The GPIO numbering has changed and is not stable. As a result fan
control via gpio_switch is broken, resulting in errors:
"export_store: invalid GPIO 456"
Move to using hwmon and gpio-fan. This is by adding gpio_fan_array to
DTS and kmod-hwmon-gpiofan to DEVICE_PACKAGES.
In combination with the new rtl8231 gpio driver the default fan
behaviour will be maximum fan speed.
Bump compat value to 1.1 due to existing config in /etc/config/system
via gpio_switch. Also notify in device compat that fan is now going to
be at bootloader setting (maximum in this case) by default unless turned
down.
MAC:
LAN MAC: label mac (eeprom@4)
WAN MAC: label mac (eeprom@4)
2.4G MAC: label mac (eeprom@4)
5G MAC: label mac + 1 (eeprom@8004)
Installation:
The stock firmware is OpenWrt-based. If you can reach LuCI or SSH, just use the sysupgrade image
with the 'Keep settings' option turned off.
Changes (breaking):
- Remove support for building 802.3bt TLVs (broken).
Fix:
- Fix memory leaks in EDP/FDP decoding when receiving some TLVs twice.
- Do not set interface description continuously.
- Use a different Netlink socket for changes and queries.
The package coreutils-stty is not part of the OpenWrt main packages. A
board can not depend on it. Remove the dependency to fix a build problem
seen in the build bots.
Fixes: 8fb805aa1f25 ("mvebu: Add support for WD Cloud Mirror Gen2") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Disassembly:
There are 2 screws at the bottom. After removing the screws, pry the gray plastic part around (it is secured with latches) and remove it.
Serial Interface:
The serial interface can be connected to the 4 pin dots to the left of the radiator.
Pins (from LAN ports to LEDs):
3.3V (do not connect)
TX
RX
GND
Settings: 57600, 8N1
Flashing via OEM recovery software:
1. Download the OEM recovery software from the manufacturer's website
2. Download the firmware image (for OpenWRT it is *-squashfs-factory.bin), rename it to KN-1910_recovery.bin
3. Replace the file in the fw folder OEM recovery software with the file from step 2.
4. Run the OEM recovery software and follow the instructions.
Flashing via TFTP:
1. Connect your PC and router to port 1-4, configure PC interface using IP 192.168.1.2, mask 255.255.255.252
2. Serve the firmware image (for OpenWRT it is *-squashfs-factory.bin) renamed to KN-1910_recovery.bin via TFTP
3. Power up the router while pressing Reset button on the back
4. Release Restart button when Power LED starts blinking
To revert back to OEM firmware:
The return to the OEM firmware is carried out by using the methods described above with the help of the appropriate firmware image.
Keenetic's bootloader supports booting a LZMA compressed kernel but seems to fail if the uncompressed data is larger than a fixed buffer therefore it is safer to use a uimage-lzma-loader. When using OEM bootloader, the firmware image size cannot exceed the size of one OEM «Firmware_x» partition or Kernel + rootFS size.
David Bauer [Mon, 13 Jan 2025 14:18:31 +0000 (15:18 +0100)]
ipq40xx: use correct wired MAC-addresses for RUTX50
The Teltonika RUTX50 mac-addresses on its wired interfaces are currently
random on every boot.
Setting the mac-addresses from device-tree using nvmem does not work, as
the vendor bootloader mangles the mtd partitions, removing the
nvmem-cells property.
To remedy the random mac-addresse, set the correct ones in preinit.
Lech Perczak [Sat, 7 Dec 2024 03:34:00 +0000 (04:34 +0100)]
ath79: teltonika-rut230: fully support digital output lines
Remove GPIO hog for modem power, as well as define userspace GPIO
switches for enabling and resetting the modem. While at that, define a
switch for the external GPIO available on the power connector.
Lech Perczak [Sat, 4 Jan 2025 01:12:42 +0000 (02:12 +0100)]
ath79: teltonika-rut230: drop reg_usb_vbus
USB VBUS regulator was attached to GPIO19, which isn't in fact
controlling the modem power itself, but rather modem power key - which
has to be asserted high for at least 500ms, to start the modem. Keeping
it high allows the modem to reboot upon shutdown - so it is desirable to
control this line from userspace, for example - to allow clean modem
shutdown down upon powering off the router part.
Lech Perczak [Mon, 6 Jan 2025 16:31:44 +0000 (17:31 +0100)]
ath79: teltonika-rut230: fix failsafe boot without SIM tray
Due to "SIM present" input defaulting to "button" type, it is
interpreted as such when booting, and causes the system to enter
failsafe, if the tray is missing. Similarly to rfkill switch on
TP-Link WDR4300 and Archer C7, make it EV_SW instead, to stop it from
interfering with the boot process.
ramips: mt76x8: add support for Keenetic Extra (KN-1711)
Specification:
SoC: MediaTek MT7628AN
RAM: 128 MB, ESMT M14D1G1664A (DDR2)
Flash: 32MB, Winbond 25Q256JVFQ (Dual Boot, SPI)
Switch: MediaTek MT7628AN, 5 ports 100 Mbps
WiFi: MediaTek MT7603 2T2R/2.4GHz 802.11n and MediaTek MT7613AEN 2T2R/5GHz 802.11ac
USB: 1 port USB 2.0
GPIO: 3 buttons (Wi-Fi, Reset, FN), 4 LEDs (Power, Internet, FN, Wi-Fi), USB port power controls
Disassembly:
At the bottom there are 4 screws hidden by rubber feet. After removing the screws, pry the gray plastic part around (it is secured with latches) and remove it.
Serial Interface:
The serial interface can be connected to the 4 pin dots to the left of the flash.
Pins (from LEDs to LAN ports):
3.3V (do not connect)
TX
RX
GND
Settings: 115200, 8N1
Flashing via OEM recovery software:
1. Download the OEM recovery software from the manufacturer's website
2. Download the firmware image (for OpenWRT it is *-squashfs-factory.bin), rename it to KN-1711_recovery.bin
3. Replace the file in the fw folder OEM recovery software with the file from step 2.
4. Run the OEM recovery software and follow the instructions.
Flashing via TFTP:
1. Connect your PC and router to port 1-4, configure PC interface using IP 192.168.1.2, mask 255.255.255.252
2. Serve the firmware image (for OpenWRT it is *-squashfs-factory.bin) renamed to KN-1711_recovery.bin via TFTP
3. Power up the router while pressing Reset button on the back
4. Release Restart button when Power LED starts blinking
To revert back to OEM firmware:
The return to the OEM firmware is carried out by using the methods described above with the help of the appropriate firmware image.
When using OEM bootloader, the firmware image size cannot exceed the size of one OEM «Firmware_x» partition or Kernel + rootFS size.
Use USB2.0 FAT32 pendrive with openwrt-mvebu-cortexa9-wd_cloud-mirror-gen2-initramfs-kernel.bin
1. stop boot by pressing 1
2. usb start
3. fatload usb 0:1 0x02000000 openwrt-mvebu-cortexa9-wd_cloud-mirror-gen2-initramfs-kernel.bin;bootm 0x02000000 -
4. do backup mtd1 mtd3
5. use sysupgrade
Or tftp
1. stop boot by pressing 1
2. setenv ethact egiga2;setenv serverip 192.168.11.114;setenv ipaddr 192.168.11.113
3. tftpboot 0x02000000 openwrt-mvebu-cortexa9-wd_cloud-mirror-gen2-initramfs-kernel.bin; bootm 0x02000000 -
4. do backup mtd1 mtd3
5. use sysupgrade
or Evgeny Kolesnikov <evgenyz@gmail.com> method from his failed PR 2040
- Using original firmware's network settings obtain SSH access to the device.
- Put *-image-cfs-factory.bin and *-uImage-factory.bin images into device's /tmp directory.
- Write kernel (uImage) image 'flash_eraseall /dev/mtd1 && nandwrite --markbad -p /dev/mtd1 /tmp/*-uImage-factory.bin'.
- Write rootfs (image-cfs) image 'ubiformat /dev/mtd3 -f /tmp/*-image.cfs-factory.bin -y'.
- Reboot the device.
Installation (upgrade):
Use *-sysupgrade.bin in a usual way.
Weltrend MCU control is done via uart1 19200
stty -F /dev/ttyS1 raw speed 19200
stty -F /dev/ttyS1 raw speed 19200
Power LED Control
Blue
echo -n -e '\xfa\x26\x00\x11\x00\x01\xfb' > /dev/ttyS1
Red
echo -n -e '\xfa\x26\x00\x14\x00\x01\xfb' > /dev/ttyS1
Orange
echo -n -e '\xfa\x26\x00\x12\x00\x01\xfb' > /dev/ttyS1
more here: https://github.com/c-MM/mcm-daemon/blob/master/mcm.h
Rosen Penev [Mon, 23 Dec 2024 21:20:49 +0000 (13:20 -0800)]
ath79: gl-ar150: fix USB GPIO usage
Currently, an OpenWrt hack is used to turn the GPIO on in terms of the
PHY driver when it should be the USB driver that controls it. The
chipidea USB2 driver has support for a vbus-supply property. Use it
instead of the local OpenWrt solution that just turns on the GPIO.
Subtarget xrx200_legacy supports only a few devices. They all use
the integrated Lantiq GSWIP switch and lantiq xway PHYs. The atheros
and icplus PHYs can be safely disabled.
Switches used by individual devices are listed below.
lantiq: xrx200: add alternative names for Plusnet Hub One and BT Business Hub 5A
The Plusnet Hub One and BT Business Hub 5A have the same hardware as
the BT Home Hub 5A. This commit adds alternative names so that both
devices can be easily found in the firmware selector.
lantiq: xrx200_legacy: add alternative names for TP-Link TD-W9980(B)
The TP-Link TD-W9980(B) shares the same hardware with the TP-Link TD-W8980.
The only difference is that the TD-W8980 does not support VDSL. This is a
software limitation and once the software is changed, both work equally
supporting VDSL. This commit adds alternative names for devices so they
can be easily found in the firmware selector.
ramips: mt76x8: fixs for Keenetic Air (KN-1613) and Extra (KN-1713)
A new syntax for LEDs was used, and migration of the LEDs configuration was
added. Used lower case hex characters for the addresses. Fixed a USB port
power issue.
Sander Vanheule [Tue, 7 Jan 2025 13:59:20 +0000 (14:59 +0100)]
realtek: switch RTL8231 driver for HPE 1920-16/24G
Update the base DTS file for the 16 and 24 port HPE 1920 devices
(JG923A, JG924A, JG925A, JG926A), causing the new RTL8231 MFD driver to
be loaded at start-up.
The manufacturer Cudy usually releases signed openwrt firmware, to
facilitate the migration from the proprietary version to the official
versions of openwrt. In contact with the manufacturer tells me that only
releases the firmware of the WR3000H if and only if
there is an official version. With this proposal I pretend to have an
initial operative version so that they do their part, and facilitate to
the users the possibility of using openwrt. In the present state, it is
only possible to use this firmware by uploading and installing it with
UART connection.
AX3000 2.5G Dual Band Wi-Fi 6 Mesh Router (WR3000H)
MAC:
LAN MAC: label mac
WAN MAC: label mac + 1
2.4G MAC: label mac
5G MAC: label mac + 1 with LA bit set
Installation
------------
1. Connect to the serial port as described in the "Hardware" section.
2. Power on the device + press reset pin. Keep pressing reset pin to
enter the U-Boot shell (The recovery.bin image load process must fail).
3. Download the OpenWrt initramfs image. Place it on an TFTP server
connected to the Cudy LAN ports. Make sure the server is reachable at
192.168.1.88. Rename the image to "cudy3000h.bin"
5. IMPORTANT: Make backup from original firmware. System -> Backup
/Flash Firmware -> Save mtdblock contents. All mtdblock one by one,
keep unaltered (BL2, u-boot-env, Factory, bdinfo, FIP, and ubi).
6. Transfer the OpenWrt sysupgrade image to the device using scp.
Install with sysupgrade.
Warning for BL2 and U-BOOT developers
-------------------------------------
The nand partition layout from vendor is slightly diferent from "standard".
The FIP partition starts at 0x3c0000 be carefull with BL2 to BL31.
The UBI partition start at 0x5c0000 be carefull.
DO NOT OVERWRITE bdinfo partition it contains hardware MAC definition
Layout is start-end (not start size)
- 0x000000000000-0x000007800000 : "nmbm0"
- 0x000000000000-0x000000100000 : "bl2"
- 0x000000100000-0x000000180000 : "u-boot-env"
- 0x000000180000-0x000000380000 : "factory"
- 0x000000380000-0x0000003c0000 : "bdinfo"
- 0x0000003c0000-0x0000005c0000 : "fip"
- 0x0000005c0000-0x0000045c0000 : "ubi"
ALLWAYS for U-BOOT operations check this
setenv mtdids nmbm0=nmbm0
setenv mtdparts nmbm0:1024k(bl2),512k(u-boot-env),2048k(factory),256k(bdinfo),2048k(fip),65536k(ubi)
qualcommax: ipq60xx: add TP-Link EAP610-Outdoor support
TP-Link EAP610-Outdoor is a 802.11ax AP claiming AX1800 support. It is
wall or pole mountable, and rated for outdoor use. It can only be
powered via PoE.
Set up the device using the vendor's web UI. After that go to
Management->SSH and enable the "SSH Login" checkbox. Select "Save".
The connect to the machine via SSH:
ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device>
Disable signature verification:
cliclientd stopcs
Rename the "-web-ui-factory" image to something less than 63
characters, maintaining the ".bin" suffix.
* Go to System -> Firmware Update.
* Under "New Firmware File", click "Browse" and select the image
* Select "Update" and confirm by clicking "OK".
If the update fails, the web UI should show an error message.
Otherwise, the device should reboot into OpenWRT.
TFTP method
-----------
To flash via tftp, first place the initramfs image on the TFTP server.
setenv serverip <ip of tftp server>
setenv ipaddr <ip in same subnet as tftp server>
tftpboot tplink_eap610-outdoor-initramfs-uImage.itb
bootm
This should boot OpenWRT. Once booted, flash the sysupgrade.bin image
using either luci or the commandline.
The tplink2022 image format
============================
The vendor images of this device are packaged in a format that does
not match any previous tplink formats. In order for flashing to work
from the vendor's web UI, firmware updates need to be packaged in
this format. The `tplink-mkimage-2022.py` is provided for this
purpose.
This script can also analyze vendor images, and extract the required
"support" string. This string is checked by the vendor firmware, and
images with a missing or incorrect string are rejected.
Kien Truong [Sat, 11 Jan 2025 05:20:12 +0000 (12:20 +0700)]
rockchip: disable kernel preemption
This setting is more suitable for device running OpenWRT.
Most OpenWRT targets are already default to this configuration,
and it has shown better performance in VPN (wireguard).
OpenWRT on the WNDAP6x0 refuses to sysupgrade to itself
due to a compat_version imbalance. The Image is generated
with version 2.0, but the uci-defaults says that it needs
to be at 3.0 for the device.
Fix this by downgrading WNDAP6x0 05_fix-compat-version's
values back to 2.0 so it matches what we use.
Fixes: 5815884c3a2a ("apm821xx: migrate to DSA") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>