Here’s the bootlog. I pulled UART console successfully from the port I noted above. Correct pin order is TX,RX,GND,VCC starting from the white arrow mark. Top side diagram is basically correct, with rx and tx flipped, but bottom side diagram is inverted to the real pin order, so don't use the bottom diagram. I'd edit the post, but it's too old so I can't anymore.
I was on vacation and away from my computer, so it was a bit of a wait to get back to this. Hopefully I'll have time to make progress on the port now.
https://pastebin.com/CHA7Ne7A
I tried to add it to this post, but it was too long. Check the pastebin link.
Here's the init up to uBoot, which uses Ctrl+B for interruption.
Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.XF.0.3-00086-IPQ60xxLZB-1
S - IMAGE_VARIANT_STRING=IPQ6018LA
S - OEM_IMAGE_VERSION_STRING=crm-ubuntu200
S - Boot Interface: NAND
S - Secure Boot: Off
S - Boot Config @ 0x000a602c = 0x000002e5
S - JTAG ID @ 0x000a607c = 0x001390e1
S - OEM ID @ 0x000a6080 = 0x00000000
S - Serial Number @ 0x000a4128 = 0x8ce7aa3f
S - OEM Config Row 0 @ 0x000a4188 = 0x0000000000000000
S - OEM Config Row 1 @ 0x000a4190 = 0x0000000000000000
S - Feature Config Row 0 @ 0x000a4130 = 0x0000800018200021
S - Feature Config Row 1 @ 0x000a4138 = 0x02c3e83783000009
S - PBL Patch Ver: 1
S - I-cache: On
S - D-cache: On
B - 3413 - PBL, Start
B - 592 - bootable_media_detect_entry, Start
B - 4339 - bootable_media_detect_success, Start
B - 5207 - elf_loader_entry, Start
B - 5380 - auth_hash_seg_entry, Start
B - 7846 - auth_hash_seg_exit, Start
B - 8343 - elf_segs_hash_verify_entry, Start
B - 103760 - elf_segs_hash_verify_exit, Start
B - 107952 - auth_xbl_sec_hash_seg_entry, Start
B - 108098 - auth_xbl_sec_hash_seg_exit, Start
B - 114643 - xbl_sec_segs_hash_verify_entry, Start
B - 114644 - xbl_sec_segs_hash_verify_exit, Start
B - 115573 - PBL, End
B - 97478 - SBL1, Start
B - 237259 - GCC [RstStat:0x0, RstDbg:0x600000] WDog Stat : 0x4
B - 239699 - clock_init, Start
D - 2836 - clock_init, Delta
B - 248270 - boot_flash_init, Start
D - 30256 - boot_flash_init, Delta
B - 281728 - sbl1_ddr_set_default_params, Start
D - 274 - sbl1_ddr_set_default_params, Delta
B - 288347 - boot_config_data_table_init, Start
D - 4758 - boot_config_data_table_init, Delta - (575 Bytes)
B - 298168 - CDT Version:2,Platform ID:8,Major ID:3,Minor ID:2,Subtype:0
B - 303017 - Image Load, Start
D - 6619 - OEM_MISC Image Loaded, Delta - (0 Bytes)
B - 312350 - Image Load, Start
D - 5063 - PMIC Image Loaded, Delta - (0 Bytes)
B - 320219 - sbl1_ddr_set_params, Start
B - 325221 - CPR configuration: 0x366
B - 328393 - Pre_DDR_clock_init, Start
D - 183 - Pre_DDR_clock_init, Delta
D - 0 - sbl1_ddr_set_params, Delta
B - 361181 - Image Load, Start
D - 427 - APDP Image Loaded, Delta - (0 Bytes)
B - 379206 - Image Load, Start
D - 427 - QTI_MISC Image Loaded, Delta - (0 Bytes)
B - 381616 - Image Load, Start
D - 824 - Auth Metadata
D - 701 - Segments hash check
D - 22600 - QSEE Dev Config Image Loaded, Delta - (36458 Bytes)
B - 406168 - Image Load, Start
D - 6619 - Auth Metadata
D - 10309 - Segments hash check
D - 331352 - QSEE Image Loaded, Delta - (1419184 Bytes)
B - 737947 - Image Load, Start
D - 732 - Auth Metadata
D - 1006 - Segments hash check
D - 34862 - RPM Image Loaded, Delta - (102800 Bytes)
B - 774486 - Image Load, Start
D - 702 - Auth Metadata
D - 3629 - Segments hash check
D - 141886 - APPSBL Image Loaded, Delta - (650880 Bytes)
B - 931958 - SBL1, End
D - 834785 - SBL1, Delta
S - Flash Throughput, 4000 KB/s (2210569 Bytes, 452064 us)
S - Core 0 Frequency, 800 MHz
S - DDR Frequency, 466 MHz
U-Boot 2016.01 (Jul 19 2024 - 12:02:04 +0800), Build: jenkins-PROJECT_QCA_WIFI6_UBOOT-30
DRAM: smem ram ptable found: ver: 2 len: 4
512 MiB
NAND: ONFI device found
ID = 158061c8
Vendor = c8
Device = 61
SF: Unsupported flash IDs: manuf 00, jedec 0000, ext_jedec 0000
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
128 MiB
MMC: sdhci: Node Not found, skipping initialization
PCI0 is not defined in the device tree
In: serial@78B1000
Out: serial@78B1000
Err: serial@78B1000
machid: 8030200
No ART partition found
Find boot alter flag!
[board_info_detect:343] get config_name ok:config@EAP610-Outdoor_1_0_0!
[gpio_special_config 198]led gpio:37 yellow:35
reset button is not pressed for 10s.
turn on led
Hit Ctrl+B to stop autoboot: 0
Net: No ART partition found
MAC0 addr:0:3:7f:ba:db:ad
PHY ID1: 0x1c
PHY ID2: 0xc916
PHY ID1: 0x1c
PHY ID2: 0xc916
EDMA ver 1 hw init
Num rings - TxDesc:1 (0-0) TxCmpl:1 (0-0)
RxDesc:1 (15-15) RxFill:1 (7-7)
ipq6018_edma_alloc_rings: successfull
ipq6018_edma_setup_ring_resources: successfull
ipq6018_edma_configure_rings: successfull
ipq6018_edma_hw_init: successfull
eth0
IPQ6018#
As an aside, it seems like the kernel thinks it's an ipq6018 processor, even though the silicon markings show it's an ipq6000. Not sure if it's just lazy firmware coding or if the chip is actually just mislabelled. Guessing it's just lazy coding.
NAND Dumps (full and individual regions): https://www.mediafire.com/file/fvjnjdb0sgp4pl3/EAP610-Outdoor-v1.2-dump.zip/file
PS. Someone should totally reply so I can make more replies as I progress. Forum doesn't let you post more than 3 times consecutively, and has a word count limit, so not much choice when you're posting bootlogs.
EDIT:
Well I'll be damned. I went through the trouble of doing the porting work, but realized that the original image actually supports the eth phy out of the box. I went ahead and built the latest snapshot sysupgrade and RAM image successfully. Installing from the original firmware seems to be a bust, but TFTP booting from uboot and installing sysupgrade from there seemed to work. Note that snapshot images don't seem to come with all package directories yet, so you have to add them yourself.
Here's my flashing process (hardware UART port for uboot flashing):
-
Boot to uBoot terminal: Hold Ctrl+B on power on for the device. Wait until you see "IPQ6018#" in the terminal.
-
Using your tftp server (your choice, I used pumpkin tftp on Windows), add the image file to your root file directory. You should add both
openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-squashfs-sysupgrade.bin
and
openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-initramfs-uImage.itb
to your tftp server root.
You can download them from:
- In uBoot, press enter once to clear the buffer from the Ctrl+B inputs. Then, enter the following, but make edits for your desired ip addresses:
setenv openwrt_tftpboot 'setenv ipaddr <desired_static_ip_for_eap610_here>; setenv serverip <tftp_server_ip_here>; tftpboot 0x44000000 openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-initramfs-uImage.itb; bootm 0x44000000'
For example:
setenv openwrt_tftpboot 'setenv ipaddr 192.168.2.100; setenv serverip 192.168.2.245; tftpboot 0x44000000 openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-initramfs-uImage.itb; bootm 0x44000000'
When ready, press enter.
-
Enter
run openwrt_tftpbootinto the terminal and hit enter. Wait for it to boot. -
When text stops scrolling, press enter in the terminal to get the uci terminal.
-
Enter
ping <tftp_server_ip_here>and see if it responds. Use Ctrl+C in the terminal to cancel the ping process. -
Assuming all is good, enter the following commands in order.
cat >/etc/apk/repositories.d/customfeeds.list <<'EOF'
then, when the prompt shows up, enter:
# target-specific packages for your SoC
https://downloads.openwrt.org/snapshots/targets/qualcommax/ipq60xx/packages/packages.adb
# arch-wide feeds
https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/base/packages.adb
https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/packages.adb
https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/luci/packages.adb
https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/routing/packages.adb
https://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/telephony/packages.adb
EOF
and then press enter to save.
- Run the
apk updatecommand, and wait for it to finish. - Run
apk add atftpand wait for it to finish. - Run the following command block, making changes for your ip addresses.
atftp -g -r openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-squashfs-sysupgrade.bin \
-l /tmp/openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-squashfs-sysupgrade.bin \
<tftp_server_ip_here>
- enter
cd /tmpand then run the following command:
sysupgrade -T openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-squashfs-sysupgrade.bin
-
When complete, let the WAP reboot. Repeat the commands from step 7 to add your repositories again correctly.
-
Run
apk add luciand let it complete. You should now have a complete web interface with required packages. Configure your WAP from there.
NOTE: You could also skip step 7,8,9, and 10 if you want to use the web release. You can just do the cd /tmp and then use:
wget https://downloads.openwrt.org/snapshots/targets/qualcommax/ipq60xx/openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-squashfs-sysupgrade.bin
followed by
sysupgrade openwrt-qualcommax-ipq60xx-tplink_eap610-outdoor-squashfs-sysupgrade.bin
and it should work all the same. You'll still need to add the sources from Step 7 though before you can install Luci following the sysupgrade.
As an aside, after flashing, you may need to run these commands from uboot if you encounter the ## Error: "distro_bootcmd" not defined error.
setenv baudrate 115200
setenv bootargs console=ttyMSM0,115200n8
setenv bootcmd bootipq
setenv bootdelay 1
saveenv
run bootcmd
That should fix it. I assume this will fix things for @mk24 and @Adamzsite for their setups as well.
