WPJ428 - Flashing of a freshly compiled OpenWrt firmware

Context

I filtered OpenWRT devices get from here (https://openwrt.org/supported_devices) according to those filters:

  • devicetype: Single Board Computer
  • availability: Available 2019 && Available 2017
  • unsupported_functions: NULL
  • bootloader: U-boot
  • cpu: text contains Qualcomm
  • detachableantennas: 2 && 3 && 4

I finally get those results:

devicetype brand model
Single Board Computer Abicom International Scorpion SC450
Single Board Computer Abicom International Scorpion SC1750
Single Board Computer Abicom International Scorpion SC300M
Single Board Computer 8devices Lima
Single Board Computer Compex WPJ428
Single Board Computer 8devices Jalapeno

Then, I am more familiar with ARM architectures and I need to be able to plug a cellular modem to the board.

Finally the WPJ428 was the only board which can approach my need.

Now I am at the point where I would like to build a fresh version of OpenWRT for this board. I finally reached to have a successful build and I get outputs which seem to be correct: in the openwrt/bin/targets/ipq40xx/generic directory, I have:

├── ./config.buildinfo
├── ./feeds.buildinfo
├── ./openwrt-ipq40xx-generic-compex_wpj428-initramfs-fit-uImage.itb
├── ./openwrt-ipq40xx-generic-compex_wpj428-squashfs-sysupgrade.bin
├── ./openwrt-ipq40xx-generic-device-compex-wpj428.manifest
├── ./packages
├── ./sha256sums
└── ./version.buildinfo

1 directory, 7 files

Now I would like to be able to flash the new firmware to the board.

I tried with the serial port method but I am not able to stop the autoboot mode in order to have a place where to run the tftpboot command (Compex told me this is linked to my USB-serial adapter, I will buy the one they recommended to me but I already tried 2 different adapters which work with other single board computers and moreover, the LED on the adapter blinks each time I press a key on my Desktop on minicom, so I am not convinced this is the problem).

I successfully reached to update the firmware from LuCI but with the firmware Compex gave me, which is in another format that the one I get from the OpenWRT compilation steps above-mentioned, LuCI seems to require an .img file.

Questions

  • Can someone confirm this board is compatible with the latest version of OpenWRT? Compex gave me a Chaos Calmer firmware and I need a newer one, so I apparently need to build/flash the firmware on my side (to be honest, I prefer this way, I just need help for flashing now).
  • Can someone help me to construct a format which I will be able to put to the 'LuCI firmware upgrade' section from the outputs of the OpenWRT build?

I had a few of these a while back ( a few years ago )
your UART-USB converter must use " PUSH-PULL" mode, not "standard" mode whicg relies on a pullup on the RX line of the WPJ428 ( DTE ).. I think they left it off of its too weak to work reliably...

I had to use a Bus pirate as my other USB-Uart converters also did not work...

if you have an real FTDI or a Silabs one you may be able to use their ( FTDI or Silabs ) utilities to configure the converter for push-pull / driven mode on TX.

Once you have the LEDE image on there you can update it using your

openwrt-ipq40xx-generic-compex_wpj428-squashfs-sysupgrade.bin

. from there on its "standard" Openwrt update procedures.

They had this readme back then.. :
I'm not sure if its still applicable to the current version of firmware they ship with he WPJ428 boards tho..

Firstly, download qca-reference firmware from: https://downloads.compex.com.sg/?dir=uploads/QSDK/QCA-Reference/WPJ428/b170123-IPQ40xx-Reference-Firmware
(Need to use the uboot from this firmware, otherwise ethernet driver will be crashed after reboot)
Then flash it with u-boot:
	set ipaddr 192.168.1.11
  	set serverip 192.168.1.10
  	saveenv
  	ping ${serverip}
  	tftpboot 0x84000000 nor-ipq40xx-single.img
  	imgaddr=0x84000000 && source $imgaddr:script

Then, flash the LEDE firmware:
	sf probe
	tftpboot 0x84000000 openwrt-ipq40xx-compex_wpj428-squashfs-sysupgrade.bin
	sf erase 0x00180000 +$filesize
	sf write 0x84000000 0x00180000 $filesize
	bootipq
1 Like

Thank you for those information @DDK. I will try to reconfigure the FTDI I have... this is such a pain... I am used to have a reference board when learning a new OS/distribution. For instance I learned Yocto Project with the reference board BBB (BeagleBone Black). On OpenWRT side, I read that there is no such "reference board" but maybe you have one to recommend? I would like to have the less hardware issue as possible because my key intervention is on the software part and here I am wasting a lot of time trying to learn "a board" whereas I would like to learn "an OS"... :cry:

For hardware recommendations please open a new topic in the Hardware Questions and Recommendations
category of this forum.

Please see https://openwrt.org/faq/which_router_should_i_buy before asking for recommendations.
This way you will get better recommendations and come to a quicker solution.

1 Like

Thank you @tmomas, you gave me the courage to do what I was procrastinating for :innocent:, so I posted an hardware recommendation request here.

You can also use the BBB as an openwrt router ( not a very useful one for routing as it only has 1 Network interface ). if you add a supported USB Wifi adapter then there is a bit more you can do with it.
it is an "outlyer" in terms of openwrt boards and boots off of an SD card, so if you mess up, then just reflash the SD card.. ( I have a few BBB based routers that we built as " test benches" for various parts of software we try and port into OpenWRT )

If you can.. Get a Bus pirate :smiley: ( works as a USB-UART, I2C, SPI and as a logic analyser )
very useful for hardware poking

1 Like

Haha, I have dozen of BBBs on my side (with nearly all existing caps :smiley: :yum:), images built/customized thanks to the awesome Yocto Project :heart: (also I am trying to put k3s on top of them :rocket:).

It is an excellent board, especially for educational purposed and I like it a lot. But it not "designed" to optimize network performances and it is where OpenWRT stands so I would like to have another "reference" board but "network oriented" instead of "kernel oriented". Also I would like to avoid using USB ports for modems, again because of the wish of network raw performances.

Anyway, thanks @DDK, I will also put OpenWRT on BBBs but I expect to have poor network performances (compared to the DR4029 for instance), but it will effectively be interesting to add it in the network benchmark :slightly_smiling_face:.

I agree the BBB has bad network performance when compared ot a "real" router with a built in or at least hardware switch

mmm, I have not figured out Yocto yet, seems quite complicated :stuck_out_tongue: ( used it on some Digi connectcore and Xilinx boards tho and have a few intel galileos lying around )

k3s is cool will have a look ! - I've used Docker on OpenWRT ( already an installable ipk ) and there is also a decent Web interface for it made by a 3rd party ( https://github.com/lisaac/luci-app-dockerman )

1 Like

I agree, Yocto is quite complicated... I only use it for the BBB as it is a reference board and it is always hard moments...

Nice, I would like to use Docker on OpenWRT too but as you see, for the moment I can't decide for a board so this part seems so far away for the moment :smiley:. Thanks for the luci-app-dockerman link! Clearly bookmarked! I am so hurry to be playing with LuCI (and in fact, much more with uci :man_technologist: :laughing:).

Hi @hadrien.toma Were you able to upload the firmware?
I followed the above mentioned steps and now I am able too run OpenWrt 19.07.4 on my wpj428.

Here I need some inputs:

  1. I was able to Connect my 5GHz radio to one of my other routers, and I am able to get the internet connectivity in my 2.4GHz radio (Have bridged the radios WWAN).

  2. I have configured WAN0(eth0) & WAN1(eth1) using luci page set-up.
    Now i am trying to make my ethernet ports work, but I am failing to do so.
    Here my intension would be to connect WPJ428 to my router through LAN(using ethernet port) and connect my other devices to WPJ428 Wifi for accessing internet.
    Can you please help me out on this?
    I am a newbie on OpenWrt.
    Can you help me on how to configure my "network" file?

Any help on this would be much appreciated.
Thanks.

Hello @Rp_Nm, thanks for reaching out, could you create a new topic to handle your other subject ?

1 Like

Sure Will do.

1 Like