Ordering
To order this reference platform, prpl members need to complete the following form and email a copy to mike.talbert@wnc.com.tw. Please include quantity requested and shipping address / phone number. Upon receiving your request, your company will be setup, and a quotation will be provided. Timeline for receipt is generally within a few weeks or receiving your purchase order.
Hardware details
Current release - prpl 3.0 (release v0.0.2) is available via: More information and is available to prpl members
General specs
- IPQ9070A SoC
- 2 GiB RAM
- 4 GiB eMMC
- 8MiB SPI NOR (MX25U6435F)
Ethernet/SFP
- 3x 1GigE ports (QCA8075)
- 1x 10GigE port (AQR113C)
- 1x SFP cage
Wi-Fi
- WiFi 6GHz 160MHz (QCN9074)
- WiFi 5GHz 80+80MHz (QCN5054)
- WiFi 2.4G (QCN5024)
Others
- ARM Standard 20-pin 2.54mm/0.1" JTAG (1V8 !!!)
- Bluetooth v5.0 + EDR with integrated Class 1 PA (CYW20704)
- 1x M.2 B-key socket with PCIe 3.0
- 1x USB 3.0 port
- Debug UART 3V3 using standard 4-pin 2.54mm/0.1" connector
- Reset and WPS buttons
Build process
Follow OpenWrt Build system setup to prepare your build system/host.
git clone https://gitlab.com/prpl-foundation/prplos/prplos.git prplos
cd prplos
./scripts/gen_config.py qca_ipq95xx prpl security
make -j$(nproc)
Flashing instructions
Flashing sysupgrade image from within U-Boot bootloader
In the uboot bootloader only the WAN port (10G Ethernet) can be used - all other ethernet ports are not active! So before booting the device via tftp or flash a firmware using the bootloader make sure that you connect the device's WAN port to your computer.
tftpboot 0x44000000 prplos-ipq95xx-prpl_freedom-squashfs-sysupgrade.bin
setenv untar_addr_kernel; setenv untar_addr_root
untar 0x$fileaddr 0x$filesize kernel root
if test -n $untar_addr_kernel; then flash "0:HLOS" 0x$untar_addr_kernel 0x$untar_size_kernel; else echo "kernel is not found"; fi
if test -n $untar_addr_root; then flash "rootfs" 0x$untar_addr_root 0x$untar_size_root; else echo "rootfs is not found"; fi
reset
If you get following error during the flashing:
IPQ9574# untar 0x$fileaddr 0x$filesize kernel root
Unknown command 'untar' - try 'help'
then you've likely board with old U-Boot version without untar command support, so update to U-Boot version 2016.01.02 and retry.
Bootloader
Caution
Flashing bootloader is always very risky procedure and you might brick your board. Recovery procedure is currently only available under NDA with Qualcomm (PCF-1433). If unsure, always consult your steps on #prpl-platforms Slack channel or directly with OEM/WNC.
The latest bootloader is 2023.04.02-prpl. You can check how to build and install there. Do not downgrade the bootloader from 2023.04 to 2016.01.
Known issues
Device has insufficient storage space for LCM containers
You might encounter error logs like:
Could not extract the layers for image <IMAGE>. Is the disk full?
Curl download content error [ERROR] URL [URL] - cannot write to file - disk full?
Could not extract the layers for image <IMAGE>. Is the disk full?
This happens when there is no dedicated /lcm partition (as defined in the prpl Standard Flash Layout V1.0). Without it, only about 70 MiB of storage is available for LCM containers.
Starting with prplOS 4.0.0, a workaround is available via the freedom-lcm-partitioner package. It provides the freedom-create-lcm-partition command, which creates an lcm_data partition in the eMMC GPT table. An accompanying init script, mount_lcm, automatically mounts this partition at /lcm on every boot, adding roughly 13 GiB of storage for LCM containers (PCF-1770).
Device is having random WAN MAC address
If you're experiencing random MAC address on the WAN interface and you see something like following in your dmesg:
[ 12.298587] GMAC6(ffffff807651a8c0) Invalid MAC@ - using 7a:d6:ce:ce:74:86
then check, that you've board shipped with U-Boot 2016.01 (Jul 18 2023 - 10:48:02 +0000) and if that's the case, then you've probably hit the PCF-1069
Workaround the issue by setting eth5addr
You can simply use the same MAC address from eth4addr variable or set it to some custom MAC address
setenv eth5addr $eth4addr
saveenv
Fix the issue by flashing fixed U-Boot version 2016.01.02
Download fixed U-Boot version 2016.01.02 file emmc-ipq9574_64-single-freedom-u-boot-2016.01.02-20231226.img and flash the board.
setenv machid 8050301
setenv ipaddr 192.168.1.1;setenv serverip 192.168.1.100
tftpboot 0x44000000 emmc-ipq9574_64-single-freedom-u-boot-2016.01.02-20231226.img
imgaddr=0x44000000 && source $imgaddr:script
saveenv
reset
Device takes more than two minutes to get WAN Ethernet ready
Fix the issue by updating the bootcmd environment variable at the bootloader prompt.
setenv bootcmd 'aq_load_fw 0x8 && bootipq'
saveenv
reset