Project

General

Profile

Compex WPJ342 » History » Version 9

Version 8 (Roger Pueyo Centelles, 07/23/2014 05:15 PM) → Version 9/16 (Roger Pueyo Centelles, 07/23/2014 05:50 PM)

h1. Compex WPJ342

This document explains several ways to compile compile qMp for a "Compex WPJ342":http://www.compex.com.sg/productdetailinfo.asp?model=WPJ342&acc1Panel=2.

h2. Standard compilation

1) Get the OpenWrt Attitude Adjustment 12.09 SDK for the WPJ342 from Compex: http://www.compex.com.sg/openwrtdownload.aspx

2) Save the OpenWrt SDK file to your working directory and extract it (as of 23rd July 2014, the latest version is sdkowrt-140604.tar.bz2, which comes inside the file b140604.rar):

<pre>
tar -xf sdkowrt-140604.tar.bz2
</pre>

and enter to the newly created directory "sdkowrt-140604".

3) By default this SDK builds the firmware for the WPJ344 board, not the WPJ342. The Makefile file needs to be slightly changed. Open it with your text editor and find the section "standard_config:":

<pre>
standard_config:
cp $(CONFIG_PATH)/wpj344.config $(OWRT_DIST_LOCAL_PATH)/.config
rm -rf $(OWRT_DIST_LOCAL_PATH)/tmp
</pre>

Replace it with:

<pre>
standard_config:
cp $(CONFIG_PATH)/wpj342.config $(OWRT_DIST_LOCAL_PATH)/.config
rm -rf $(OWRT_DIST_LOCAL_PATH)/tmp
</pre>

4) Run @make@ to compile OpenWrt (without qMp, by now):

<pre>
make
</pre>

This will take a while and will download several megabytes of files to ~/dl-openwrt. If you want extra verbosity, run @make V=99@ to get details of the compilation.

5) The compilation will fail, since the @hotplug2@ package sources are no longer available at the destination stated in its Makefile. Edit @openwrt/package/hotplug2/Makefile@ with your favourite editor and replace this:

<pre>
PKG_SOURCE_PROTO:=svn
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_SOURCE_SUBDIR:=hotplug2-$(PKG_VERSION)
PKG_SOURCE_URL:=http://svn.nomi.cz/svn/isteve/hotplug2
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
#PKG_SOURCE_URL:=http://isteve.bofh.cz/~isteve/hotplug2
#PKG_MD5SUM:=ea2c01d027b4002e4e6b0ff266f51a51
</pre>

with this:

<pre>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources/
PKG_MD5SUM:=7bab8ba67555a8400424f3c92ec67579
</pre>

See https://dev.openwrt.org/changeset/41503 for details.

6) Retry compilation:

<pre>
make
</pre>

7) Compilation should finish successfully, showing this last message and no more errors:

<pre>
make[1]: Leaving directory '/B/qMp/WPJ342/WPJ342_36088/openwrt'
</pre>

8) The binary file openwrt-ar71xx-generic-wpj342-squashfs-factory.img in the @openwrt/bin/ar71xx/@ directory:

<pre>
$ ls openwrt/bin/ar71xx/openwrt-ar71xx-generic-wpj342-squashfs-factory.img
openwrt/bin/ar71xx/openwrt-ar71xx-generic-wpj342-squashfs-factory.img
</pre>

Now OpenWrt is compiled. qMp packages still have to be added to the compilation.

9) Enter the @openwrt@ directory and edit the file @feeds.conf.default@ and add the following line:

<pre>
src-git qmp git://qmp.cat/qmp.git
src-git routing git://github.com/openwrt-routing/packages.git;for-12.09.x
</pre>

10) Update and install the feeds:
<pre>
./scripts/feeds update -a
./scripts/feeds install -a
</pre>

11) Using @menuconfig@ select the @qmp-small-node@ package:

<pre>
make menuconfig
</pre>

Browse to @qMp@ and select @qmp-small-node@:

<pre>
<*> qmp-small-node................... Required addons for small qMp mesh node
</pre>

12) Exit saving the configuration.

13) Compile again:

<pre>
make
</pre>

14) After the compilation process, the qMp image for the Compex WPJ342 is located at *openwrt/bin/ar71xx/openwrt-ar71xx-generic-wpj342-squashfs-factory.img*. You can flash it using your preferred method (web interface, TFPT, etc.). If you use TFTP, it seems that the board does not reboot automatically after writing the image to the NAND flash memory, so this must be done manually.

15) The image comes without a password for the @root@ user. Log in via @telnet@ or using the web interface and set it.

!!

h2. Compiling with the latest OpenWrt Attitude Adjustment 12.09 revision

The OpenWrt SDK provided by Compex is based on Attitude Adjustment 12.09 revision 36088, which does not contain several bugfixes and repository changes included in the following ones. It can be a good idea to build OpenWrt from the last revision, still version Attitude Adjustment 12.09.

1) Follow steps 1 to 3 in the [[Compex_WPJ342#Standard-compilation|Standard Compilation]] section.

2) Check the latest revision number for OpenWrt. Go to https://dev.openwrt.org/changeset and get the last change/revision number (as of 23rd July 2014 it is *41811*).

3) Edit the Makefile with your favourite text editor and replace this:

<pre>
OWRT_DIST_SVN_REV = 36088

...

OWRT_PKGS_SVN_REV = 36089
</pre>

with the latest revision:

<pre>
OWRT_DIST_SVN_REV = 41811

...

OWRT_PKGS_SVN_REV = 41811
</pre>

4) Check the latest revision number for LuCi. Go to http://svn.luci.subsignal.org and get the last revision number (as of 23rd July 2014 it is *10459*).

5) Edit the Makefile with your favourite text editor and replace this:

<pre>
FEEDS_LUCI_SVN_REV = 9656
</pre>

with the latest revision:

<pre>
FEEDS_LUCI_SVN_REV = 10459
</pre>

6) Edit the file @config/wpj342.config@ with your favourite editor. Replace this:

<pre>
# CONFIG_PACKAGE_libip6tc is not set
</pre>

<pre>
CONFIG_PACKAGE_libip6tc=y
</pre>

h2. Compiling from OpenWrt trunk

1) Get the OpenWrt trunk SDK for the WPJ342 from Compex: http://www.compex.com.sg/openwrtdownload.aspx

2) Save the OpenWrt SDK file to your working directory and extract it (as of 23rd July 2014, the latest version is sdk-r40719-b140527-ath10k.tar.bz2):

<pre>
tar -xf sdk-r40719-b140527-ath10k.tar.bz2
</pre>

3) Enter the newly created directory @sdk-r40719-b140527-ath10k@.

4) If you want to compile with the latest trunk revision, check the latest revision number for OpenWrt. Go to https://dev.openwrt.org/changeset and get the last change/revision number (as of 23rd July 2014 it is *41811*). Edit the Makefile and replace this:

<pre>
OWRT_DIST_SVN_REV = 40719
</pre>

with:

<pre>
OWRT_DIST_SVN_REV = 41811
</pre>

5) Run @make@, or @make V=99@ for extra compilation verbosity:

<pre>
make
</pre>