Łukasz M [Tue, 31 Oct 2023 15:15:06 +0000 (16:15 +0100)]
mediatek: mt7981: improve fan behaviour
This doubles the number of cooling-levels.
In addition the fan is turned on with a low speed at lower temperatures
and with a higher speed at higher temperatures.
This also attempts to reduce the likelihood of constant start-stop actions.
The change only affects the GL.iNet MT3000 and has been tested with it.
Fortinet FAP-220-B is a dual-radio, dual-band 802.11n enterprise managed
access point with PoE input and single gigabit Ethernet interface.
Hardware highlights:
Power: 802.3af PoE input on Ethernet port, +12V input on 5.5/2.1mm DC jack.
SoC: Atheros AR7161 (MIPS 24kc at 680MHz)
RAM: 64MB DDR400
Flash: 16MB SPI-NOR
Wi-Fi 1: Atheros AR9220 2T2R 802.11abgn (dual-band)
Wi-Fi 2: Atheros AR9223 2T2R 802.11bgn (single-band)
Ethernet: Atheros AR8021 single gigabit Phy (RGMII)
Console: External RS232 port using Cisco 8P8C connector (9600-8-N-1)
USB: Single USB 2.0 host port
LEDs: Power (single colour, green), Wi-Fi 1, Wi-Fi 2, Ethernet, Mode, Status
(dual-colour, green and yellow)
Buttons: reset button hidden in bottom grill,
in the top row, 2nd column from the right.
Label MAC address: eth0
FCC ID: TVE-220102
Serial port pinout:
3 - TxD
4 - GND
6 - RxD
Installation: The same methods apply as for already supported FAP-221-B.
For both methods, a backup of flash partitions is recommended, as stock firmware
is not freely available on the internet.
(a) Using factory image:
1. Connect console cable to the console port
2. Connect Ethernet interface to your PC
3. Start preferred terminal at 9600-8-N-1
4. Have a TFTP server running on the PC.
5. Put the "factory" image in TFTP root
6. Power on the device
7. Break boot sequence by pressing "Ctrl+C"
8. Press "G". The console will ask you for device IP, server IP, and filename.
Enter them appropriately.
The defaults are:
Server IP: 192.168.1.1 # Update accordingly
Device IP: 192.168.1.2 # Update accordingly
Image file: image.out # Use for example: openwrt-ath79-generic-fortinet_fap-220-b-squashfs-factory.bin
9. The device will load the firmware over TFTP, and verify it. When
verification passes, press "D" to continue installation. The device
will reboot on completion.
(b) Using initramfs + sysupgrade
1. Connect console cable to the console port
2. Connect Ethernet interface to your PC
3. Start preferred terminal at 9600-8-N-1
4. Have a TFTP server running on the PC.
5. Put the "initramfs" image in TFTP root
6. Power on the device.
7. Break boot sequence by pressing "Ctrl+C"
8. Enter hidden U-boot shell by pressing "K". The password is literal "1".
9. Load the initramfs over TFTP:
> setenv serverip 192.168.1.1 # Your PC IP
> setenv ipaddr 192.168.1.22 # Device IP, both have to share a subnet.
> tftpboot 81000000 openwrt-ath79-generic-fortinet_fap-220-b-initramfs-kernel.bin
> bootm 81000000
10. (Optional) Copy over contents of at least "fwconcat0", "loader", and "fwconcat1"
partitions, to allow restoring factory firmware in future:
Return to stock firmware:
1. Boot initramfs image as per initial installation up to point 9
2. Copy over the previously backed up contents over network
3. Write the backed up contents back:
Quirks and known issues:
- The power LED blinking pattern is disrupted during boot, probably due
to very slow serial console, which prints a lot during boot compared
to stock FW.
- "mac-address-ascii" device tree binding cannot yet be used for address
stored in U-boot partition, because it expects the colons as delimiters,
which this address lacks. Addresses found in ART partition are used
instead.
- Due to using kmod-owl-loader, the device will lack wireless interfaces
while in initramfs, unless you compile it in.
- The device heats up A LOT on the bottom, even when idle. It even
contains a warning sticker there.
- Stock firmware uses a fully read-write filesystem for its rootfs.
- Stock firmware loads a lot of USB-serial converter drivers for use
with built-in host, probably meant for hosting modem devices.
- U-boot build of the device is stripped of all branding, despite that
evidence of it (obviously) being U-boot can be found in the binary.
- The user can break into hidden U-boot shell using key "K" after
breaking boot sequence. The password is "1" (without quotes).
- Telnet is available by default, with login "admin", without password.
The same is true for serial console, both drop straight to the Busybox
shell.
- The web interface drops to the login page again, after successfull
login.
- Whole image authentication boils down to comparing a device ID against
one stored in U-boot.
- And this device is apparently made by a security company.
Big thanks for Michael Pratt for providing support for FAP-221-B, which
shares the entirety of image configuration with this device, this saved
me a ton of work.
In preparation for FAP-220-B support, rename ar934x_fortinet_loader.dtsi
to arxxxx_fortinet_loader.dtsi, to avoid confusion, as FAP-220-B shares
flash layout with FAP-221-B exactly despite different SoC.
While at that, add a label to U-boot partition to allow for nvmem MAC
binding in future.
Installing OpenWrt:
- sysupgrade image is compatible with vendor firmware.
Recovery:
- Connect to any of the Ethernet ports, configure local IP:
10.10.10.3/24 (or 192.168.10.19/24, depending on OEM)
- Provide firmware file named 'mt7621.img' on TFTP server.
- Hold down both, RESET and WPS, then power on the board.
- Watch network traffic using tcpdump or wireshark in realtime to
observe progress of device requesting firmware. Once download has
completed, release both buttons and wait until firmware comes up.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Jo-Philipp Wich [Fri, 3 Nov 2023 14:13:58 +0000 (15:13 +0100)]
firewall4: update to latest Git HEAD
4101dd4 fw4: perform strict validation of zone and set names a923c88 fw4: pass zone to templates whenever possible 597dc90 fw4: add support for zone log_limit 1874050 fw4: add log_limit to rules and redirects 19a8caf ruleset: dispatch ct states using verdict map a5553da ruleset: reduce ksoftirqd load by refering to looopback by numeric id de3483c tests: adjust zone log limit testcases 7392792 ruleset: do not emit redundant drop invalid rules 698a533 ruleset: apply egress MSS fixup later to apply final MTU before wire
ath10k-ct: add patch fixing compilation error in debug
ath10k-ct based on kernel 6.4 doesn't have a fix present in previous
kernel. Add patch that port the compilation error fix from previous
kernel in the new 6.4 kernel.
Fixes: 7d3651f1b9be ("ath10k-ct: switch to 6.4") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Mikhail Zhilkin [Sun, 29 Oct 2023 15:10:58 +0000 (15:10 +0000)]
ramips: fix wrong permissions on dts files
This commit fixes wrong permissions on dts files. Before the commit these
dts files are executable:
-rwxrwxr-x mt7620a_dlink_dir-806a-b1.dts
-rwxrwxr-x mt7621_wavlink_wl-wn573hx1.dts
Fixes: #13758 Fixes: 6b23836071b1 ("package: avoid the use of eval to parse ipcalc.sh output") Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Robert Marko [Sun, 29 Oct 2023 16:00:29 +0000 (17:00 +0100)]
qualcommax: ipq807x: move subtarget specific kernel options
Currently, qualcommax target contains the full kernel config for the
ipq807x subtarget, but since I am working on ipq60xx as well it makes
sense to split out the ipq807x specific kernel options to subtarget
config.
ipq60xx will use the same approach and use subtarget config.
Should result in the same end kernel config, verified by comparing the
generated kernel .config.
Petr Štetiar [Mon, 30 Oct 2023 19:31:03 +0000 (19:31 +0000)]
tools: macOS: types.h: fix missing unsigned types
For some reason unsigned types were not added in commit 0a06fcf608dd
("build: fix kernel 5.4 on macos"), which led to bunch of hacks, like
commit 3cc57ba4627c ("uboot-sunxi: add missing type __u64") or
commit 997ff740dc44 ("uboot-mediatek: fix build on Mac OS X").
So lets add the missing unsigned types to workaround it in a bit more
maintainable way.
Fixes: #13833 Signed-off-by: Petr Štetiar <ynezz@true.cz>
Sandro Jäckel [Thu, 2 Nov 2023 02:16:52 +0000 (03:16 +0100)]
build: use long hashes when generating feed.buildinfo
Short hashes are not guaranteed to be unambiguous forever and could
collide if the repo grows over time. Git also estimates how many
characters are roughly required to prevent such a collision and slowly
increases the amount of characters beginning from 6, OpenWrt is already
at 8. Lets use the full hash the have a predictable length and keep
hashes unambiguous forever.
Petr Štetiar [Thu, 19 Oct 2023 04:09:25 +0000 (04:09 +0000)]
ci: add workflow for automated GitHub release
Implement a GitHub Actions workflow for automated project releases.
The workflow triggers on Git tags, ensuring that a GitHub release is
created whenever a new tag is pushed.
That new release is going to be created in draft and pre-release mode
and needs to be manually promoted to the proper release, once its
decided, that its good enough and prepared.
This is a start of a streamlined and consistent release process for
GitHub, reducing manual intervention.
Acked-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Fri, 27 Oct 2023 07:37:52 +0000 (07:37 +0000)]
hostapd: fix broken WPS on broadcom-wl and ath11k
Upgrading wpa_supplicant from 2.9 to 2.10 breaks broadcom-wl/ath11k
based adapters. The reason for it is hostapd tries to install additional
IEs for scanning while the driver does not support this.
The kernel indicates the maximum number of bytes for additional scan IEs
using the NL80211_ATTR_MAX_SCAN_IE_LEN attribute. Save this value and
only add additional scan IEs in case the driver can accommodate these
additional IEs.
Petr Štetiar [Tue, 24 Oct 2023 08:27:13 +0000 (08:27 +0000)]
build: add CycloneDX SBOM JSON support
CycloneDX is an open source standard developed by the OWASP foundation.
It supports a wide range of development ecosystems, a comprehensive set
of use cases, and focuses on automation, ease of adoption, and
progressive enhancement of SBOMs (Software Bill Of Materials) throughout
build pipelines.
So lets add support for CycloneDX SBOM for packages and images
manifests.
Petr Štetiar [Thu, 26 Oct 2023 16:11:47 +0000 (16:11 +0000)]
package-dumpinfo,metadata: add ABI version information to package index
There is no standard for ABI versioning, so its not possible to find out
from `libext2fs2`, `libiwinfo20230701` or `libss2` package names if
thats just package name or package name with ABI version included. To
help with the decision, lets make ABI version aviable in package index.
David Bauer [Tue, 24 Oct 2023 01:07:48 +0000 (03:07 +0200)]
hostapd: fix OWE association with mbedtls
The code for hostapd-mbedtls did not work when used for OWE association.
When handling association requests, the buffer offsets and length
assumptions were incorrect, leading to never calculating the y point,
thus denying association.
Also when crafting the association response, the buffer contained the
trailing key-type.
Fix up both issues to adhere to the specification and make
hostapd-mbedtls work with the OWE security type.
David Bauer [Mon, 9 Oct 2023 21:10:10 +0000 (23:10 +0200)]
uqmi: configure PDP type and APN to modem
Configure the PLMN and APN to the modem. This is required in cases,
where either the SGSN or GGSN does not permit the selection of IPv4v6
pdp type.
Previously, the modem always tried to establish a dual-stacked PDP
context regardless of the configured PDP type in uci. As this setting
can not be parameterized when creating a WDS context, configure it to
the modems internal list of profiles. This way, the PDP type is taken
into account when creating the WDS context.
David Bauer [Mon, 9 Oct 2023 21:08:01 +0000 (23:08 +0200)]
uqmi: fix non-working PLMN selection
The PLMN selection was reset when calling network-register, thus
rendering the sepcific selection of a carrier unapplied.
Set the PLMN selection after executing network-register. This seems to
cause the modem to re-select the carrier eventually.
That being said, qmi does allow the parameterization of the
network-register to include dpecific PLMN settings, however this is
currently not implemented in uqmi.
David Bauer [Sat, 7 Oct 2023 20:28:00 +0000 (22:28 +0200)]
uqmi: increase wait time before checking connection state
Increase the wait time before polling the connection state for the first
time.
Depending on the prior state of the modem, the first poll might still
return a connected state. The script then tries to establish a PDP
session, which subsequently fails as the modem by then is in scan state.
Increasing the wait-time to 3 seconds mitigates this from happening.
David Bauer [Sat, 7 Oct 2023 20:27:03 +0000 (22:27 +0200)]
uqmi: add illegal SIM state recovery
On some network-triggered disconnections the UIM state might end up in
"illegal". This prevents the modem from attaching to any network in
non-restricted service modes.
Detect this state and reset the SIM card. This way, the modem can attach
to networks again.
David Bauer [Sat, 7 Oct 2023 10:33:45 +0000 (12:33 +0200)]
uqmi: don't block restart on failed registration
Failing the registration does not necessarily mean we can not bring this
interface up. For example, roaming SIM cards are possibly steered by the
home-operator.
Don't block restart of the QMI interface in this case.
Til Kaiser [Fri, 15 Sep 2023 12:06:38 +0000 (14:06 +0200)]
x86: add support for Mellanox Spectrum SN2000 Switches
The Mellanox Spectrum SN2000 Series Switches are Managed Ethernet
Switches with a maximum speed of 100Gb/s and up to 56 ports.
Tested on a Mellanox Spectrum SN2100 with the following specs:
- CPU: Intel ATOM x86 dual-core 2.4GHz
- RAM: 8GB
- Disk: 16GB SSD
- Ports: 16x QSFP28 100GbE, 1x 100M Mgmt Port, 1x RJ45 Serial Port
- USB: 1x mini 2.0
- Button: 1x (reset)
- LEDs: 6x
Installation:
- Create a bootable USB device (either by flashing this image
onto it or another Linux distribution)
- Unzip the generic OpenWrt x64 image
and copy it onto the USB device
- Plug the USB device into the Mellanox Switch and boot from it
- Flash the image (e.g., with dd) onto the internal SSD
of the switch (should be /dev/sda)
To enter the BIOS, reboot the switch and press CTRL+B while you see
the BIOS information text (American Megatrends …). The default password
to enter the BIOS is admin. To boot from the USB device, switch to the
Boot index tab and set your USB device at the top of the boot order
(the internal SSD should be currently there). Don't forget to set
the SSD back at the top after you have flashed the image.
Signed-off-by: Til Kaiser <til.kaiser@gmx.de>
[unify with generic x64 image] Signed-off-by: David Bauer <mail@david-bauer.net>
Download the OpenWrt initramfs image. Copy the image to a TFTP server
reachable at 192.168.1.70/24. Rename the image to TUF-AX6000.bin.
Connect to the serial console, interrupt the auto boot process by
pressing '4' when prompted or press '1' and set client IP, server
IP and name of the image.
yOU don't need to open the case or even soldering anything.
use three goldpin wires, remove their plastic cover and connect
them to the console pinout via the case holes.
You can see three holes
From Bottom: RX, TX, Ground - partially covered
Download & Boot the OpenWrt initramfs image.
In case of option '4'
$ setenv ipaddr 192.168.1.1
$ setenv serverip 192.168.1.70
$ tftpboot 0x46000000 TUF-AX6000.bin
$ bootm 0x46000000
In case of option '1'
1: Load System code to SDRAM via TFTP.
Please Input new ones /or Ctrl-C to discard
Input device IP (192.168.1.1) ==:
Input server IP (192.168.1.70) ==:
Input Linux Kernel filename (TUF-AX6000.trx) ==:
Wait for OpenWrt to boot. Transfer the sysupgrade
image to the device using scp and install using sysupgrade.
$ sysupgrade -n <path-to-sysupgrade.bin>
Missing features
================
2.5Gb LAN port LED is ON during boot or when the LAN cable is disconnected
The cover yellow light is not supported. (only blue one)
Shiji Yang [Sat, 27 May 2023 09:18:50 +0000 (17:18 +0800)]
mac80211: ath: add struct_group for struct ath_cycle_counters
Add a struct_group to around all members in struct ath_cycle_counters.
It can help the compiler detect the intended bounds of the memcpy() and
memset().
This patch fixes the following build warning:
In function 'fortify_memset_chk',
inlined from 'ath9k_ps_wakeup' at /home/db/openwrt/build_dir/target-mips_24kc_musl/linux-ath79_generic/backports-6.1.24/drivers/net/wireless/ath/ath9k/main.c:140:3:
./include/linux/fortify-string.h:314:25: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning]
314 | __write_overflow_field(p_size_field, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
INAGAKI Hiroshi [Sun, 13 Nov 2022 08:22:26 +0000 (17:22 +0900)]
mvebu: add support for IIJ SA-W2
Internet Initiative Japan Inc. (IIJ) SA-W2 is a network appliance with
11ac (Wi-Fi 5) wlan, based on 88F6810.
Specification:
- SoC : Marvell Armada 380 88F6810
- RAM : DDR3 256 MiB (Micron MT41K64M16TW-107:J x2)
- Flash : SPI-NOR 32 MiB (Winbond W25Q256JVFIQ)
- WLAN : 2.4/5 GHz, Mini PCI-E
- 2.4 GHz : Silex SX-PCEGN (Atheros AR9287 (2T2R))
- 5 GHz : Silex SX-PCEAC (Qualcomm Atheros QCA9880 (3T3R))
- Ethernet : 10/100/1000 Mbps x5
- Switch : Marvell 88E6172
- LEDs/Keys : 12x/1x
- UART : "CONSOLE" port (RJ-45, RS-232C)
- settings : 115200n8
- assignment: 1:NC, 2:NC, 3:TXD, 4:GND,
5:GND, 6:RXD, 7:NC, 8:NC
- note : compatible with Cisco console cable
- Power : DC Input or PoE
- DC Input : 12 VDC, 3 A
- PoE : 802.3af
- module : Silvertel Ag9712-2BR
- note : USB ports shouldn't be used when powered by PoE
- Bootloader : PMON2000 based
- Stock : NetBSD based
Flash instruction using sysupgrade image:
1. Prepare TFTP server with IP address 192.168.0.10 and put sysupgrade
image to TFTP directory
2. Connect PC to "GE0/PoE" port on SA-W2
3. Power on SA-W2, interrupt count-down by Esc and enter to bootloader
CLI
4. Set IP address of the device
#firmcheck
[Normal firmware]
ident: 'SEIL2015'
copyright: 'ARM OpenWrt Linux-5.15.93'
version format: 1
version major: 9
version minor: 99
version release: 'r22060+36-5163bb5e54'
body size: 3578524
checksum: 0x8a083cb8
[Rescue firmware]
ident: 'SEIL2015'
copyright: 'Copyright (c) 2017 Internet Initiative Japan Inc. All rights reserved.'
version format: 1
version major: 3
version minor: 70
version release: 'Release'
body size: 10152458
checksum: 0x8f9518c2
7. Boot with the flashed firmware
boot
Note:
- The bootloader on this device is not U-Boot and it's environment space
("bootloader-env") has no compatibility with U-Boot tools.
- eth1 is connected to port6 of 88E6172 switch, but multi-cpu port can't
be handled on Linux Kernel and not defined.
- Powering by PoE hasn't been tested yet.
- This device has 2x OS images on flash and they can be switched by
setting "BOOTDEV" variable on bootloader CLI.
That variable supports the following values:
- "flash" : primary image on flash ("firmware")
- "rescue": secondary image on flash ("rescue")
- "usb" : usb storage (broken?)
- "lan0/1": network
command to set:
set BOOTDEV=<dev>
example:
set BOOTDEV=rescue
This commit also supports booting from secondary partition.
- To execute initramfs image on bootloader CLI, use "go" command.
("go" command is not listed on the output of "help", but available)
example (download and execute):
address 192.168.0.1
tftpload 192.168.0.10 openwrt-mvebu-cortexa9-iij_sa-w2-initramfs-kernel.bin
go
devcontainer: Add development environment for gihub codespace
This adds a configuration for github codespace using our buildbot
container. This allows users to start VS code in the browser using the
buildbot build container.
Shiji Yang [Fri, 14 Jul 2023 15:09:55 +0000 (23:09 +0800)]
ath79: increase the rfkill debounce interval for TP-Link Archer C7 v2
Due to circuit issue or silicon defect, sometimes the WiFi switch button
of the Archer C7 v2 can be accidentally triggered multiple times in one
second. This will cause WiFi to be unexpectedly shut down and trigger
'irq 23: nobody cared'[1] warning. Increasing the key debounce interval
to 1000 ms can fix this issue. This patch also add the missing rfkill
key label.
Shiji Yang [Tue, 26 Sep 2023 12:12:45 +0000 (20:12 +0800)]
ramips: fix Gigabit Ethernet port of the HiWiFi HC5861
HiWiFi HC5861 has a GbE port which connected to the RTL8211E PHY
chip. This patch adds the missing Realtek PHY driver package and
sets the correct external PHYs base address to make it work again.
Anari Jalakas [Sat, 14 Oct 2023 12:18:34 +0000 (15:18 +0300)]
iptables: opt-out of lto usage
This fixes building with USE_LTO enabled.
<artificial>:(.text+0xc22): relocation R_MIPS16_26 against `libxt_DNAT_init' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol printf
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
Anari Jalakas [Sat, 7 Oct 2023 12:16:47 +0000 (15:16 +0300)]
lua: opt-out of lto usage
This fixes building with USE_LTO enabled.
<artificial>:(.text+0xcc8): relocation R_MIPS16_26 against `luaL_argerror' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol strcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
Anari Jalakas [Sat, 7 Oct 2023 13:13:21 +0000 (16:13 +0300)]
libsepol: opt-out of lto usage
This fixes building with USE_LTO enabled.
<artificial>:(.text+0x4194): relocation R_MIPS16_26 against `cil_printf.lto_priv.0' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol memcmp
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
Anari Jalakas [Sat, 7 Oct 2023 13:43:09 +0000 (16:43 +0300)]
libselinux: opt-out of lto usage
This fixes building with USE_LTO enabled:
<artificial>:(.text.exit+0x6e): relocation R_MIPS16_26 against `pthread_key_delete' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol stpcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
Anari Jalakas [Sat, 7 Oct 2023 12:10:50 +0000 (15:10 +0300)]
iwinfo: opt-out of lto usage
This fixes building with USE_LTO enabled.
<artificial>:(.text+0x400c): relocation R_MIPS16_26 against `iwinfo_close' cannot be used when making a shared object; recompile with -fPIC
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: non-dynamic relocations refer to dynamic symbol strcpy
./openwrt/staging_dir/toolchain-mips_24kc_gcc-12.3.0_musl/lib/gcc/mips-openwrt-linux-musl/12.3.0/../../../../mips-openwrt-linux-musl/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
Rani Hod [Sun, 8 Oct 2023 15:18:13 +0000 (18:18 +0300)]
build: hide kmod-zram config unless enabled
Currently the zram default compressor choice is displayed whether or not
zram is activated. Since the default choice is lzo-rle, this adds a
false dependency on kmod-lib-lzo.
With this patch, the choice options appear only when activating zram.
* Log in as root using ssh to 192.168.1.1
* scp OpenWrt initramfs-recovery.bin image to root@192.168.1.1:/tmp/
* Prepare bootloader config by running:
nvram setro uboot DebugFlag 0x1
nvram setro uboot CheckBypass 0
nvram commit
* Run "mtd_write -w write /tmp/initramfs-recovery.bin Kernel" and reboot
* Wait for OpenWrt to boot and ssh to root@192.168.1.1
* Run sysupgrade with OpenWrt squashfs-sysupgrade.bin image
For mode details about flashing see: 2449a63208 (ramips: mt7621: Add support for ZyXEL NR7101, 2021-04-19)
Unsupported:
* FXS/Voice
Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
Hauke Mehrtens [Sun, 29 Oct 2023 17:38:47 +0000 (18:38 +0100)]
firmware-utils: bump to git HEAD
a170683 firmware-utils: fix use of NULL string progname 89875fc tplink-safeloader: CPE510: add Canadian support 9e211d2 mktplinkfw2: add support to extract bootloader images c18f662 mktplinkfw2: add support to pack bootloader 3dc1339 mktplinkfw2: show exact exceed bytes when the image is to big d16ff79 tplink-safeloader: WPA8631: add v4 AU, US 0fa1cc5 zytrx: add LTE5398-M904 6354661 firmware-utils: ptgen: add SiFive GPT partition support
Matt Merhar [Sun, 29 Oct 2023 01:15:46 +0000 (21:15 -0400)]
kernel: fix jffs2 compilation with GCC_PLUGIN_RANDSTRUCT enabled
Designated initializers are required when using the randstruct GCC
plugin, otherwise an error like the following is seen:
./include/linux/lzma.h:60:31: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
1. Power on FG-30E and interrupt to show bootmenu
2. Call "[I]: System information." -> "[S]: Set serial port baudrate."
and set baudrate to 9600 bps
3. Call "[R]: Review TFTP parameters.", check TFTP parameters and
connect computer to "Image download port" in the parameters
4. Prepare TFTP server with the parameters obtained above
5. Rename OpenWrt initramfs image to "image.out" and put to TFTP
directory
6. Call "[T]: Initiate TFTP firmware transfer." to download initramfs
image from TFTP server
7. Type "r" key when the following message is showed, to boot initramfs
image without flashing to spi-nor flash
"Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?"
8. On initramfs image, backup mtd if needed
minimum:
- "firmware-info"
- "kernel"
- "rootfs"
9. On initramfs image, upload sysupgrade image to the device and perform
sysupgrade
10. Wait ~200 seconds to complete flashing and rebooting.
If the device is booted with stock firmware, login to bootmenu and
call "[B]: Boot with backup firmware and set as default." to set the
first OS image as default and boot it.
Notes:
- Both colors of Bi-color LEDs on the front panel cannot be turned on at
the same time.
- "PWR" and "Logo" LEDs are connected to power source directly.
- The following partitions are added for OpenWrt.
These partitions are contained in "uboot" partition (0x0-0x1fffff) on
stock firmware.
(eth0): 70:4C:A5:xx:xx:CE (board-info, 0xd880 (hex))
WAN : 70:4C:A5:xx:xx:CF
LAN 1 : 70:4C:A5:xx:xx:D0
LAN 2 : 70:4C:A5:xx:xx:D1
LAN 3 : 70:4C:A5:xx:xx:D2
LAN 4 : 70:4C:A5:xx:xx:D3
Fix the building issue setting CC to KERNEL_CC in kernel.mk. The
kernel backports by default uses CC to compile kconf. A new patch is
added to mac80211 to compile kconf with host gcc.
Furong Xu [Fri, 27 Oct 2023 15:22:49 +0000 (23:22 +0800)]
uboot-mediatek: Sync phy-mode for Xiaomi Redmi Router AX6000
Commit 572ea6807053 ("uboot-mediatek: add patches for MT7988 and
builds for RFB") renamed HSGMII to 2500basex, but forgot to update
the dts of Redmi Router AX6000, makes the network unusable.
This patch makes the network usable again.
Fixes: #13724 Fixes: 572ea6807053 ("uboot-mediatek: add patches for MT7988 and builds for RFB") Signed-off-by: Furong Xu <xfr@outlook.com>
qualcommax: ipq807x: add support for Netgear WAX630
```
Specifications:
* CPU: Qualcomm IPQ8074A, SoC Version: 2.0, Quad core 1651 MHz
* RAM: 1 GiB of DDR3 466 MHz
* Flash: NAND 512 MiB (Winbond W29N04GZ)
* 6 RGB LEDs: Power, LAN1, LAN2, 2.4GHz, 5GHz H and 5GHz L
* UART: One 4-pin populated header next to the heatsink and a chip.
GND RXD TXD, beginning from the external antennas. 115200n8.
Lan:
* One 100/1000/2.5GBASE-T Gigabit Ethernet 802.3bt/at
* One 100/1000 Gigabit Ethernet
Wlan:
* 4x4 in 2.4GHz : 802.11b/g/n/ax
* 4x4 in 5.0GHz L: 802.11a/n/ac/ax
* 4x4 in 5.0GHz H: 802.11a/n/ac/ax
* OFDM and OFDMA
* Bidir and MU-MIMO
* Internal antenna 2.86/4.41/4.98 dBi (2.4GHz/5GHz L/5GHz H)
Power:
* 802.3bt/at 30.1W
* DC 12V/3.5A
Mounting: Wall and ceiling
```
```
1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
2. Connect to the console on the AP, and connect the LAN port to your LAN
3. Stop auto boot to get to U-boot shell, interrupt the autoboot process by pressing '0' when prompted
4. Set active_fw in env
4. Set active_fw in env
# setenv active_fw 1
5. Transfer the initramfs image with TFTP
# setenv serverip 192.168.1.10 (IP of TFTP server host)
# setenv ipaddr 192.168.1.1 (IP used by the router for getting the image, must be in the same subnet as the TFTP host)
# tftpboot openwrt-qualcommax-ipq807x-netgear_wax630-initramfs-uImage.itb
6. Reboot and load the image
# bootm
7. SCP factory image to the AP
# scp openwrt-qualcommax-ipq807x-netgear_wax630-squashfs-factory.ubi root@192.168.1.1:/tmp/
8. Connect to device using SSH (use the LAN port)
9. Flash squashfs-factory.ubi from within the initramfs instance of OpenWRT
Before you flash, please check your mtd partitions where mtdX is the right mtd rootfs partition.
# cat /proc/mtd (To check MTD partitions)
# ubiformat /dev/mtd18 -y -f /tmp/openwrt-qualcommax-ipq807x-netgear_wax630-squashfs-factory.ubi
10. Set active_fw to 0
# /usr/sbin/fw_setenv active_fw 0
11. Reboot the AP and your done
# reboot
```
Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Kristian Skramstad <kristian+github@83.no>
Contains the following update: 52a1c29 ipq8074: add Netgear WAX630 Board file for Netgear WAX630. Extracted from stock (WAX630_BDF.bin) firmware and repacked. e7701b8 ipq8074: update RegDB in new submitted BDF cd04ab7 qcn9074: update RegDB in new submitted BDF
Signed-off-by: Kristian Skramstad <kristian+github@83.no>
Gain SSH access:
1. Login into web interface, and download the configuration.
2. Enter fakeroot, decompress the configuration:
tar -zxf cfg_export_config_file.conf
3. Edit 'etc/config/dropbear', set 'enable' to '1'.
4. Edit 'etc/shadow', update (remove) root password:
'root::19523:0:99999:7:::'
5. Repack 'etc' directory:
tar -zcf cfg_export_config_file.conf etc/
* If you find an error about 'etc/wireless/mediatek/DBDC_card0.dat',
just ignore it.
6. Upload new configuration via web interface, now you can SSH to RAX3000M.
Check stroage type:
Check the label on the back of the device:
"CH EC CMIIT ID: xxxx" is eMMC version
"CH CMIIT ID: xxxx" is NAND version
eMMC Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'factory' part.
('data' partition can be ignored, it's useless.)
2. Write new GPT table:
dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Erase and write new BL2:
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Erase and write new FIP:
dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
IP 192.168.1.254, GW 192.168.1.1
6. Serve OpenWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.
9. Additionally, if you want to have eMMC recovery boot feature:
(Don't worry! You will always have TFTP recovery boot feature.)
dd if=openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb of=/dev/mmcblk0p4 bs=512 conv=fsync
NAND Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'Factory' part.
2. Erase and write new BL2:
mtd erase BL2
mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2
3. Erase and write new FIP:
mtd erase FIP
mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip FIP
4. Set static IP on your PC:
IP 192.168.1.254, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, erase UBI volumes:
ubidetach -p /dev/mtd0
ubiformat -y /dev/mtd0
ubiattach -p /dev/mtd0
8. Create new ubootenv volumes:
ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Additionally, if you want to have NAND recovery boot feature:
(Don't worry! You will always have TFTP recovery boot feature.)
ubimkvol /dev/ubi0 -n 2 -N recovery -s 20MiB
ubiupdatevol /dev/ubi0_2 openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
10. Perform sysupgrade.
Chukun Pan [Sun, 15 Oct 2023 15:18:27 +0000 (23:18 +0800)]
sunxi: fixes led for nanopi boards
Kernel 5.15 already supports the NanoPi R1 and NanoPi R1S H5,
and they use new LED bindings that do not match the existing
settings in 01_leds. Update led settings to fixes that.
List the led node on NanoPi R1S H5:
root@OpenWrt:~# ls /sys/class/leds/
green:lan green:wan red:status
Luca Barbato [Tue, 8 Aug 2023 09:02:41 +0000 (11:02 +0200)]
kernel: Enable hwmon for nvme
Expose the temperature sensors as hwmon, it improves the overall
user experience since on tiny boards the nvme can become a substantial
source of heat.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Reviewed-by: Robert Marko <robimarko@gmail.com>