Cudy AP3000 Indoor AKA Jupiter 2 and OpenWRT: Difference between revisions
| Line 6: | Line 6: | ||
Nope. Sadly Cudy doesn't make an InitRAMFS BIN file for the AP3000 (Indoor), even though the file for the AP3000 would work it weren't for their gosh darned 'security feature' of having a signed file. Side note: Is there really an instance where this has helped an end user, or is it about manufacturer control? | Nope. Sadly Cudy doesn't make an InitRAMFS BIN file for the AP3000 (Indoor), even though the file for the AP3000 would work it weren't for their gosh darned 'security feature' of having a signed file. Side note: Is there really an instance where this has helped an end user, or is it about manufacturer control? | ||
Anyway, that's out, so what about a TTY / Serial session? Not a chance. Why? Well: ethernet@15100000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! It appears that the u-boot image is busted in that the Ethernet Interface does NOT work. It shows as 'active', but no link light on a switch and it just doesn't work. Blame this guy: U-Boot 2022.07-rc3 (Sep 01 2023 - 07:34:59 +0000), Build: jenkins-AP3000-19 (well, either he did it, didn't know what he did, or was told to do it, in any instance, is doesn't help the end owner of the device that wants OpenWRT installed) | Anyway, that's out, so what about a TTY / Serial session via Ethernet? Not a chance. Why? Well: ethernet@15100000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! It appears that the u-boot image is busted in that the Ethernet Interface does NOT work. It shows as 'active', but no link light on a switch and it just doesn't work. Blame this guy: U-Boot 2022.07-rc3 (Sep 01 2023 - 07:34:59 +0000), Build: jenkins-AP3000-19 (well, either he did it, didn't know what he did, or was told to do it by his corporate overlords, in any instance, is doesn't help the end owner of the device that wants OpenWRT installed) | ||
But there is a solution: TTY / Serial | But there is a solution: TTY / Serial Communication via a Serial Port and a good 'ole fashion TTL UART Serial Console Port. | ||
No details here on what is needed for that as there is plenty of information out there. This website has some pictures: https://eko.one.pl/forum/viewtopic.php?id=24096 | No details here on what is needed for disassembly of the unit that as there is plenty of information out there. This website has some pictures: https://eko.one.pl/forum/viewtopic.php?id=24096 | ||
You'll probably notice the great spot for the vias to solder in some pins, directly under the heat sink (on most models), right? Well good news is that there is lots of space if one solders the pins on the backside of the PCB. | |||
Oh, and the default IP Address for the device, with "Cudy Software" installed is 192.168.10.254. Just FYI. And that's as of 2025. Who knows if it'll change in the future. | |||
==Pins / Holes for Serial / TTY== | ==Pins / Holes for Serial / TTY== | ||
As noted, the Pin Headers for the TTY / Serial communication are covered by a heat sink (on the top of the PCB) and a base plate (on the bottom of the PCB). It has been noticed that there is a minor design difference on some models where the Header Pin Holes on some models are visible because of a smaller base plate. Others have a base plate that covers the holes. | |||
The Header Pin Holes from the left, labeled from the edge of the PCB closest to the holes (which is to the right of the picture) or just look at the picture of the top of the PCB (at the bottom of the page) with the Header Pin Holes labeled with a screen printing. | The Header Pin Holes from the left, labeled from the edge of the PCB closest to the holes (which is to the right of the picture) or just look at the picture of the top of the PCB (at the bottom of the page) with the Header Pin Holes labeled with a screen printing. | ||
| Line 22: | Line 26: | ||
*GND / Negative | *GND / Negative | ||
*RX | *RX | ||
*TX (the square solder pad) | *TX (the square solder pad, you know the one covered by the Blue Inserted Pin, far left in picture) | ||
Oh, and notice the little "PCB Test Clips" / "Test Points" / "Through Hole Loops" (various names they're referred to as). No solder needed, works great. Why not just solder in some pins? Remember, if you've got a model that has the bigger base plate, they'll need to be unsoldered too. Clip Leads? In the middle of the board. Difficult if not impossible. Some spring "grabber" style might work if there's something on the other side to grab onto. | Oh, and notice the little "PCB Test Clips" / "Test Points" / "Through Hole Loops" (various names they're referred to as). No solder needed, works great. Why not just solder in some pins? Remember, if you've got a model that has the bigger base plate, they'll need to be unsoldered too. Clip Leads? In the middle of the board. Difficult if not impossible. Some spring "grabber" style might work if there's something on the other side to grab onto. | ||
| Line 29: | Line 33: | ||
*https://www.ebay.com/itm/324836665545 (for bigger holes, not these, just noting this one so it is known there are different sizes)<br />And don't forget, it'll probably be wiser to do all of this from the bottom and gently screw the heatsink back in place over the SoCs so nothing melts while the upgrade is taking place. | *https://www.ebay.com/itm/324836665545 (for bigger holes, not these, just noting this one so it is known there are different sizes)<br />And don't forget, it'll probably be wiser to do all of this from the bottom and gently screw the heatsink back in place over the SoCs so nothing melts while the upgrade is taking place. | ||
== | ==Stuff Ya Need (sorry, Windows just doesn't have the tools, well Subsystem for Linux)== | ||
*Target Device: Cudy AP3000 (MediaTek MT7981 SoC) | *Target Device: Cudy AP3000 (MediaTek MT7981 SoC) | ||
*Access: Serial console via FTDI or CH340 USB-UART adapter | *Access: Serial console via FTDI or CH340 USB-UART adapter | ||
*Host OS: Rocky Linux 9 | *Host OS: Rocky Linux 9 | ||
*Tools used: `sx`, `loadx`, `iminfo`, `bootm`, `LuCI` | *Software "Tools" used: `sx`, `loadx`, `iminfo`, `bootm`, `LuCI` | ||
==U-Boot Setup and Memory Layout== | ==U-Boot Setup and Memory Layout (just FYI)== | ||
From `bdinfo` output: | From `bdinfo` output: | ||
| Line 66: | Line 70: | ||
==Uploading OpenWRT initramfs FIT image== | ==Uploading OpenWRT initramfs FIT image== | ||
First, start at "Power Off", while holding down the Reset Button plug the device in (network cable), it will stop at the 'network challenged' U-Boot prompt. | |||
Use Putty or any other SSH software to connect to the device and U-Boot (if using a USB "TTY" Device, look for ttyUSBx in /dev for the right device to connect to) | |||
===In U-Boot (via serial)=== | ===In U-Boot (via serial)=== | ||
| Line 104: | Line 111: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
OpenWRT should be available soon (watch it boot up via the Serial Console) at 192.168.1.1. Make sure the load address is the 0x42..., not something higher like `0x48000000`. Not done! This is only the InitRAMFS version of OpenWRT running. Nothing is written to NVRAM (yet). | |||
==Permanent Installation== | ==Permanent Installation== | ||
| Line 127: | Line 134: | ||
[[File:Cudy AP3000 (Indoor Jupiter 2) TTY Serial Headers.jpg|alt=Cudy AP3000 (Indoor Jupiter 2) TTY Serial Headers|center|thumb|Cudy AP3000 (Indoor Jupiter 2) TTY Serial Headers]] | [[File:Cudy AP3000 (Indoor Jupiter 2) TTY Serial Headers.jpg|alt=Cudy AP3000 (Indoor Jupiter 2) TTY Serial Headers|center|thumb|Cudy AP3000 (Indoor Jupiter 2) TTY Serial Headers]] | ||
== References (minor as they might be) == | ==References (minor as they might be)== | ||
https://eko.one.pl/forum/viewtopic.php?id=24096 (some parts are in Polish, so use your web browser's translate capability) | https://eko.one.pl/forum/viewtopic.php?id=24096 (some parts are in Polish, so use your web browser's translate capability) | ||