1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-11-06 01:47:10 +02:00
ben-wpan/prod/doc/setup.hmac

368 lines
10 KiB
Plaintext

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<TITLE>Production and testing: Software setup</TITLE>
<BODY bgcolor="#ffffff" link="#000000" vlink="#404040">
<INCLUDE file="style.inc">
<PAGE_BAR title="Production and testing">
<PAGE_CURR href="setup.html">Software setup</PAGE_CURR>
<PAGE_ITEM href="flash.html">Flashing</PAGE_ITEM>
<PAGE_ITEM href="test.html">Functional test</PAGE_ITEM>
<PAGE_ITEM href="analysis.html">Fault analysis</PAGE_ITEM>
</PAGE_BAR>
<SECTION_BAR>
<SECTION_ITEM href="#intro">Introduction</SECTION_ITEM>
<SECTION_ITEM href="#pcsw">PC installation</SECTION_ITEM>
<SECTION_ITEM href="#bensw">Ben installation</SECTION_ITEM>
<SECTION_ITEM href="#bensys">Ben setup</SECTION_ITEM>
<SECTION_ITEM href="#profiles">Test profiles</SECTION_ITEM>
</SECTION_BAR>
<!-- ====================================================================== -->
<SECTION ref="intro" title="Introduction">
Before performing production tests, various pieces of software
need to be installed on Ben and PC, and configuration settings may
have to be adjusted. The following sections describe the installation
and configuration process.
<!-- ====================================================================== -->
<SECTION ref="pcsw" title="PC software installation">
For a DUT and reference device role, the <B>ben-wpan</B> utilities
and the test scripts have to be installed on the PC. For flashing the
<B>atusb</B> application
firmware, also <B>dfu-util</B> and the firmware binary are required.
<P>
The instructions below assume that a complete development environment
is already present on the PC, including <B>SDL</B> and <B>SDL_gfx</B>.
If any prerequisites are not met,
compilation will fail, and you'll have to install the corresponding
package and try again.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Install ben-wpan tools">
To build the ben-wpan tools and install them under
<SAMP>/usr/local/</SAMP> on the local machine,
run the following commands:
<PRE>
git clone git://projects.qi-hardware.com/ben-wpan.git
git clone git://projects.qi-hardware.com/f32xbase.git
cd ben-wpan/tools
make
make install
</PRE>
<P>
A different directory prefix can be chosen by overriding the
<B>INSTALL_PREFIX</B> variable, e.g.,
<PRE>
make INSTALL_PREFIX=/usr install
</PRE>
<P>
Note that the test scripts expect <SAMP>${INSTALL_PREFIX}/bin</SAMP>
to be in <B>PATH</B>.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Install test scripts">
The test scripts are in the directory <SAMP>prod/</SAMP> of the
<B>ben-wpan</B> project. They currently are designed to be run from
this directory. Therefore, all that's necessary is to check out the
repository, as shown above.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Install dfu-util">
<B>dfu-util</B> is used to transfer the application firmware to
<B>atusb</B> boards. To build <B>dfu-util</B> from source, run these
commands:
<PRE>
git clone git://git.openezx.org/dfu-util.git
cd dfu-util
./autogen.sh
./configure
make
make install
</PRE>
Note that some Linux distributions already provide a pre-compiled
version of <B>dfu-util</B>, which could be used instead of building
it from source.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Install firmware binary">
The binary of the application running on <B>atusb</B> is transferred from
the PC. To download a pre-compiled version, use this command:
<PRE>
wget -O atusb.bin \
http://downloads.qi-hardware.com/people/werner/wpan/bindist/atusb-de72af351f661b538add81cbc9965278a2f8c40c.bin
</PRE>
Instructions for building the binary from sources are
<A href="http://projects.qi-hardware.com/index.php/p/ben-wpan/source/tree/master/atusb/fw/README">here</A>.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Register Ben host name">
To simplify accessing the Ben via TCP/IP, its IP address should be
registered in the hosts file on the PC. If the Ben is running OpenWrt,
use the following command:
<PRE>
echo 192.168.254.101 ben >>/etc/hosts
</PRE>
<P>
If the Ben is running Jlime, the address would be as follows:
<PRE>
echo 192.168.1.202 ben >>/etc/hosts
</PRE>
<P>
If using the same PC with Bens running OpenWrt and Jlime, one may choose
different host names depending on the distribution, and adapt the commands
used in the production and testing process accordingly. For example,
<PRE>
echo 192.168.254.101 ben >>/etc/hosts
echo 192.168.1.202 jlime >>/etc/hosts
</PRE>
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Customize test scripts">
@@@
<!-- ====================================================================== -->
<SECTION ref="bensw" title="Ben software installation">
For a DUT and reference device role, the <B>ben-wpan</B> utilities
have to be installed on a Ben. For flashing the <B>atusb</B> boot
loader, also <B>avrdude</B> and the boot loader binary are needed.
<P>
The instructions below apply for OpenWrt and Jlime. For building
things from source, a cross-compilation toolchain has to be installed
on the PC.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Password-less remote access">
To enable password-less remote access from the PC, set up network
access to the Ben and run the following command:
<PRE>
ssh ben 'cat >>/etc/dropbear/authorized_keys' <~/.ssh/id_rsa.pub
</PRE>
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Install ben-wpan tools">
To build and install the <B>ben-wpan</B> tools on the Ben, first set
up networking between the PC and the Ben. If you have not yet checked
out the project's repository, run these commands:
<PRE>
git clone git://projects.qi-hardware.com/ben-wpan.git
git clone git://projects.qi-hardware.com/f32xbase.git
cd ben-wpan/tools
</PRE>
If you have already checked out the repository, <B>cd</B> to
<SAMP>ben-wpan/tools/</SAMP> and run
<PRE>
make clean
</PRE>
Next, if on OpenWrt, compile the tools with
<PRE>
make TARGET=ben_openwrt
</PRE>
If on Jlime, use
<PRE>
make TARGET=ben_jlime
</PRE>
Finally, upload the tools to the Ben and install them under
<SAMP>/usr/bin/</SAMP> with
<PRE>
make HOST=ben install
</PRE>
Where <B>ben</B> is the host name or IP address assigned to the Ben.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Install avrdude">
The <B>atusb</B> boot loader is flashed using <B>avrdude</B>. A pre-compiled
static binary (suitable for OpenWrt and Jlime) can be installed by running
the following two command on the Ben:
<PRE>
wget http://downloads.qi-hardware.com/people/werner/wpan/bindist/avrdude-5.10-de72af351f661b538add81cbc9965278a2f8c40c.tar.gz
tar -xz -C / -f avrdude-5.10-de72af351f661b538add81cbc9965278a2f8c40c.tar.gz
</PRE>
Instructions for building <B>avrdude</B> from sources are
<A href="http://projects.qi-hardware.com/index.php/p/ben-blinkenlights/source/tree/master/avrdude/README
">here</A>.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Install boot-loader binary">
The binary of the boot loader running on <B>atusb</B> is transferred from
the Ben. To download a pre-compiled version, use this command:
<PRE>
wget -O boot.hex \
http://downloads.qi-hardware.com/people/werner/wpan/bindist/boot-de72af351f661b538add81cbc9965278a2f8c40c.hex
</PRE>
Instructions for building the binary from sources are
<A href="http://projects.qi-hardware.com/index.php/p/ben-wpan/source/tree/master/atusb/fw/README">here</A>.
<!-- ====================================================================== -->
<SECTION ref="bensys" title="Ben system setup">
The configuration setting described in this section are lost on each
reset or reboot and either need to be entered again. Alternatively,
a setup script running at boot time can be written.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Enable network access">
Once the Ben has booted and started USB networking, the interface
on the PC side is configured as follows:
<PRE>
ifconfig usb0 192.168.254.100 up
</PRE>
<P>
These are the settings for OpenWrt, assuming the network device is
called "usb0". If using Jlime, the command would be as follows:
<PRE>
ifconfig usb0 192.168.1.200 up
</PRE>
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Silence other 8:10 card users">
Before running any of the ben-wpan utilities, other users of the 8:10
card slot have to be disabled. In a Ben running the regular OpenWrt or
Jlime distribution, the only such user that is automatically started
is the MMC kernel driver. The following command disables it:
<PRE>
echo jz4740-mmc.0 >/sys/bus/platform/drivers/jz4740-mmc/unbind
</PRE>
<P>
If a WPAN-enabled kernel has been installed, the AT86RF230 driver takes
the place of the MMC driver. To disable it, run
<PRE>
echo spi2.0 >/sys/bus/spi/drivers/at86rf230/unbind
</PRE>
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Start atrf-proxy">
On the Ben, launch the proxy daemon. We pass the option -b to background it:
<PRE>
atrf-proxy -b
</PRE>
<!-- ====================================================================== -->
<SECTION ref="profiles" title="Test profiles">
Some of the functional tests measure characteristics that are strongly
influenced by the test setup. It is therefore not possible to provide
universally applicable reference values, but they have to be measured
in the actual test environment.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Clock count (atben only)">
Insert a known to be good <B>atben</B> board and run the following
command directly on the Ben to record the reference value for the
clock count with an accuracy of about +/&minus;20 ppm:
<PRE>
atrf-xtal 1000 >ben.xtal
</PRE>
<P>
This takes about 5 seconds.
<P>
Note that the result depends on the tolerance of the crystal in the Ben
and is also affected by temperature. Good accuracy can therefore
only be obtained if this measurement is performed individually on each
Ben, and if a stable temperature is maintained.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Signal strength">
@@@
<END author="Werner Almesberger" date="<GEN_DATE>">
</BODY>
</HTML>