-
-
Notifications
You must be signed in to change notification settings - Fork 11.4k
Backport support for Linksys MX4300 to 24.10 branch #17889
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backport support for Linksys MX4300 to 24.10 branch #17889
Conversation
CC @testuser7 @robimarko first time submitting a multi-commit backport, so please let me know if I should do it differently (e.g. maybe split Lessons learned here would be handy, because I'd like to backport the HomeWRK commits as well, once this is in. |
Honestly, considering that 24.10 final has been released I think its too late to backport this device, especially since its not just a simple DTS addition |
@rkboni, thanks for the PR.
@robimarko, I planned to add a backport for these 3 PRs:
The changes you mention have been used by many users for quite some time now. There have been no reports related to this. |
It was late during RC-s as well, this is not a simple backport |
I hear you, just wish that had been communicated previously, ie a "too big
to backport" vs a "now is not the time".
Since @testuser7 has it on his plate and it's his work, I'll let him push
for it.
…On Fri, Feb 7, 2025, 8:37 AM Robert Marko ***@***.***> wrote:
It was late during RC-s as well, this is not a simple backport
—
Reply to this email directly, view it on GitHub
<#17889 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAM2AOJ6TNHL7JZUWWK57RD2OSZIFAVCNFSM6AAAAABWVDHHMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNBSHE3TANRZHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
MX4300 is a very popular device in the community. Providing an official stable 24.10.1 version would be very beneficial to many, far more than just about any recent device that has been added. PR has been well tested for many months now without incident. Not all users are comfortable being on the bleeding edge using SNAPSHOT. |
Which changes are you worried about? |
Basically all of them, its my position that backporting anything more complicated than DTS changes or bugfixes beats the purpose of a stable release. |
Support for the MX4300 was added before branch 24.10 was created. Because it is a popular (cheap) model, custom builds have been created and used successfully since support was added. |
Look, I understand your reasoning, but I do not want to deal with more regressions. Couple of Tested-by could probably change my opinion, especially on other devices. |
Thanks, Robert. I'm sure we can scare up a number of testers who have used
the various backported builds via the forums. Presumably, you're also
interested in getting tests of other qualcommax target builds from the
backported codebase -- any particular low-hanging fruit we can try and get
tested there? (or any particularly tricky hardware you're worried about?).
I'm also happy to add my Tested-by.
…On Mon, Feb 10, 2025 at 7:19 AM Robert Marko ***@***.***> wrote:
Look, I understand your reasoning, but I do not want to deal with more
regressions.
Couple of Tested-by could probably change my opinion, especially on other
devices.
—
Reply to this email directly, view it on GitHub
<#17889 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAM2AOIUYQZOZHLVMW6AJOL2PCKNTAVCNFSM6AAAAABWVDHHMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNBXHAZDIOBRGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Yes, other ipq807x boards with this backported especially, no board in particular but just a couple and then we can take the risk |
I have prepared test builds: Branch |
Should we expand that to build all hardware for the qualcommax/ipq807x
target so we can ask for testers on non-Linksys MX... hardware to show that
this merge doesn't cause other regressions? I'm happy to find the relevant
threads for other existing hardware (or make a new one and invite users who
have participated in other ipq807x threads to jump in and test the updated
build).
…On Mon, Feb 10, 2025 at 1:16 PM testuser7 ***@***.***> wrote:
I have prepared test builds:
- https://github.com/testuser7/openwrt/releases/tag/qualcommax-c793b6c
Branch openwrt-24.10 + 3 PR that I mentioned without a single commit:
- 9decfc8
<9decfc8>
—
Reply to this email directly, view it on GitHub
<#17889 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAM2AOPFBXL7ZBXNKDA2FLL2PDUIDAVCNFSM6AAAAABWVDHHMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNBYHA3DQMRYGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I tested your MX8500 test build. The 2.4g and 5g wireless do not come up. Kernel log: [ 14.060500] ath11k c000000.wifi: fw_version 0x290b84a5 fw_build_timestamp 2024-09-23 11:32 fw_build_id WLAN.HK.2.9.0.1-02146-QCAHKSWPL_SILICONZ-1 |
Did you install the image or run initramfs? In case of initramfs, BDF files may be missing. I checked and there is no equivalent BDF files in all images. This is because config contains many devices. |
I used your sysupgrade.bin. The included board-2.bin is "variant=Linksys-HomeWRK" which was why it didn't work. I replaced with the board-2.bin from 24.10 which is "variant=Linksys-MX8500" and then everything works as expected. |
Probably ipq-wifi needs to be updated which is yet another thing I do not like |
I have prepared new images with the correct board packages: #17889 (comment) |
Yes but only for HomeWRK. MX4300 uses the same BDF files as MX4200v1. |
I think the only thing that needs to be checked is |
Tested new MX8500 build. Works fine now. |
I bought couple of them a while ago for $10 each on sale. I played with it for a while dd-wrt and some part with openwrt. I forgot about them. I was wondering what are these boxes. I opened them yesterday and tried Openwrt-fanboy version from snapshot.
Thanks Openwrt-FanBoy |
Thanks but the case here is to check the backport for version 24.10. |
The default value for the "root" parameter is "/dev/ubiblock0_0" and there is no need to append it to bootargs. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: openwrt#16070 (cherry picked from commit fee2d93) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: openwrt#17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
Create a generic Linksys MX4x00 dts file and extract the specific configuration for MX4200v1/v2 to a new file. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: openwrt#16070 (cherry picked from commit ff85f88) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: openwrt#17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
Define shared configuration for Linksys MX4x00 devices. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: openwrt#16070 (cherry picked from commit 73fc1e0) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: openwrt#17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
Currently for Linksys MX4200v2 all u-boot ethXaddr variables share the same MAC address and there is no need to check them one by one. Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: openwrt#16070 (cherry picked from commit 80c8678) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: openwrt#17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
Fix a bug in linksys_bootcount.c that resetbc won't work on nand with min I/O size> 2048. Check the boot-log entry's intergrity with checksum. Signed-off-by: Qiyuan Zhang <zhang.github@outlook.com> Link: openwrt#16070 (cherry picked from commit 62da99e) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: openwrt#17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
Add kernel command line replacement hack to qualcommax. Now we can find and replace arguments in the kernel command line by setting bootargs-find-1, bootargs-replace-1, bootargs-exact-match-1 and bootargs-find-2, bootargs-replace-2, bootargs-exact-match-2 under the chosen node in the device tree. This hack replaces the first occurence of bootargs-find-X with bootargs-replace-X. When bootargs-exact-match-X is set to "y", then the replacement happens only if the kernel command line is identical to bootargs-find-X. Signed-off-by: Qiyuan Zhang <zhang.github@outlook.com> Link: openwrt#16070 (cherry picked from commit 337f6f7) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: openwrt#17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
Check the return value of malloc and pread in case they fail. Signed-off-by: Qiyuan Zhang <zhang.github@outlook.com> Link: openwrt#16070 (cherry picked from commit 3f01454) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: openwrt#17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
Hardware specification: ======== SoC: Qualcomm IPQ8174 Flash: 1GB (Micron MT29F8G08ABBCAH4 or AMD/Spansion S34MS08G2) RAM: 2GB (2x Kingston B5116ECMDXGJD or ESMT M15T2G16128A DDR3L) Ethernet: 4x 10/100/1000Mbps (Qualcomm QCA8075) WiFi1: 5GHz ax 2x2 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 36-64 (low band) WiFi2: 2.4GHz ax 2x2 (Qualcomm QCN5024 + Skyworks SKY85340-11) WiFi3: 5GHz ax 4x4 (Qualcomm QCN5054 + Skyworks SKY85755-11) - channels 100-177 (high band) LED: 1x RGB status (NXP PCA9633) USB: 1x USB 3.0 Button: WPS, Reset Flash instructions: ======== 1. Manually upgrade firmware using openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin image. More details can be found here: https://support.linksys.com/kb/article/6564-en/ After first boot check actual partition: - fw_printenv -n boot_part and install firmware on second partition using command in case of 2: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel and in case of 1: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel 2. Installation using serial connection from OEM firmware (default login: root, password: admin): - fw_printenv -n boot_part In case of 2: - flash_erase /dev/mtd21 0 0 - nandwrite -p /dev/mtd21 openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin or in case of 1: - flash_erase /dev/mtd23 0 0 - nandwrite -p /dev/mtd23 openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin After first boot install firmware on second partition: - mtd -r -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel or: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel 3. Installation from initramfs image using USB drive: Put the initramfs image on the USB drive: - dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_mx4300-initramfs-uImage.itb of=/dev/sdX Stop u-boot and run: - usb start && usbboot $loadaddr 0 && bootm $loadaddr Write firmware to the flash from initramfs: - mtd -e kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin kernel and: - mtd -r -e alt_kernel -n write openwrt-qualcommax-ipq807x-linksys_mx4300-squashfs-factory.bin alt_kernel 4. Back to the OEM firmware: - mtd -e kernel -n write FW_MX4300_1.0.4.215382_prod.img kernel and: - mtd -r -e alt_kernel -n write FW_MX4300_1.0.4.215382_prod.img alt_kernel 5. USB recovery: Put the initramfs image on the USB: - dd bs=1M if=openwrt-qualcommax-ipq807x-linksys_mx4300-initramfs-uImage.itb of=/dev/sdX Set u-boot env: - fw_setenv bootusb 'usb start && usbboot $loadaddr 0 && bootm $loadaddr' - fw_setenv bootcmd 'run bootusb; if test $auto_recovery = no; then bootipq; elif test $boot_part = 1; then run bootpart1; else run bootpart2; fi' Co-authored-by: Qiyuan Zhang <zhang.github@outlook.com> Signed-off-by: Paweł Owoc <frut3k7@gmail.com> Link: openwrt#16070 (cherry picked from commit 4d310b1) Signed-off-by: Rafal Boni <rafal.boni@gmail.com> Link: openwrt#17889 Signed-off-by: Robert Marko <robimarko@gmail.com>
b985575
to
4c9cae1
Compare
Thanks! Rebased on top of openwrt-24.10 and merged! |
Thanks @robimarko 🙏 @testuser7 since I don't have a HomeWRK to test do you want to do the honors for the remaining PRs? |
Backport support for Linksys MX4300 to 24.10 branch:
b985575 qualcommax: ipq807x: add support for Linksys MX4300 (LN1301)
df5ea1a mtd: check the return value of malloc and pread
492ddd1 qualcommax: add kernel cmdline replacement hack
7d0bccd mtd: fix resetbc on nand w/ min I/O size > 2048
f0b940f qualcommax: ipq807x: fix mac setup for Linksys MX4200v2
4b859cc qualcommax: ipq807x: define configuration for Linksys MX4x00 devices
53375be qualcommax: ipq807x: create generic Linksys MX4x00 dts
ababd7a qualcommax: ipq807x: remove unnecessary bootargs-append for MX4200