mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2024-11-16 19:51:53 +02:00
tools/atrf-proxy/atrf-proxy.c: new option -b to background/daemonize
- atrf-proxy.c (usage): added detailed description of the arguments - atrf-proxy.c (usage, main): new option -b to daemonize after initialization
This commit is contained in:
parent
43f179d6d8
commit
1bfe86ac1b
@ -29,9 +29,6 @@ Devices accepted for further use can then be packaged for shipping.
|
|||||||
Defective devices can be discarded or retained for a deeper analysis.
|
Defective devices can be discarded or retained for a deeper analysis.
|
||||||
|
|
||||||
|
|
||||||
<!-- ====================================================================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<H2>Terminology</H2>
|
<H2>Terminology</H2>
|
||||||
|
|
||||||
<DL>
|
<DL>
|
||||||
@ -76,89 +73,16 @@ Defective devices can be discarded or retained for a deeper analysis.
|
|||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
|
|
||||||
<!-- ====================================================================== -->
|
<H2>Setup</H2>
|
||||||
|
|
||||||
|
|
||||||
<H2>Software setup</H2>
|
|
||||||
|
|
||||||
Before performing any production tests, various pieces of software
|
|
||||||
need to be installed on Ben and PC, and configuration settings
|
|
||||||
@@@
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>PC software installation</H3>
|
<H3>PC software installation</H3>
|
||||||
|
|
||||||
@@@
|
|
||||||
|
|
||||||
<H4>Install ben-wpan tools</H4>
|
|
||||||
|
|
||||||
@@@
|
|
||||||
|
|
||||||
<H4>Register Ben host name</H4>
|
|
||||||
|
|
||||||
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>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Ben software setup</H3>
|
|
||||||
|
|
||||||
This needs to be done each time the Ben is booted.
|
|
||||||
|
|
||||||
<H4>Enable network access</H4>
|
|
||||||
<H4>Silence other 8:10 card users</H4>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Ben software installation</H3>
|
<H3>Ben software installation</H3>
|
||||||
|
<H3>Ben software setup</H3>
|
||||||
<H4>Password-less remote access</H4>
|
|
||||||
|
|
||||||
To enable password-less remote access from the PC, setup to betwork
|
|
||||||
access to the Ben and run the following command:
|
|
||||||
<PRE>
|
|
||||||
ssh ben 'cat >>/etc/dropbear/authorized_keys' <~/.ssh/id_rsa.pub
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Test profiles</H3>
|
<H3>Test profiles</H3>
|
||||||
|
|
||||||
|
|
||||||
<!-- ====================================================================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<H2>Flashing (atusb only)<H2>
|
<H2>Flashing (atusb only)<H2>
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Flashing the boot loader</H3>
|
<H3>Flashing the boot loader</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
@ -166,9 +90,6 @@ ssh ben 'cat >>/etc/dropbear/authorized_keys' <~/.ssh/id_rsa.pub
|
|||||||
<P>
|
<P>
|
||||||
|
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Flashing the application</H3>
|
<H3>Flashing the application</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
@ -176,53 +97,28 @@ ssh ben 'cat >>/etc/dropbear/authorized_keys' <~/.ssh/id_rsa.pub
|
|||||||
<P>
|
<P>
|
||||||
|
|
||||||
|
|
||||||
<!-- ====================================================================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<H2>Functional test</H2>
|
<H2>Functional test</H2>
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Test setup for atben</H3>
|
<H3>Test setup for atben</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<IMG src="setup-A.png">
|
<IMG src="setup-A.png">
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Test setup for atusb</H3>
|
<H3>Test setup for atusb</H3>
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
<IMG src="setup-B.png">
|
<IMG src="setup-B.png">
|
||||||
<P>
|
<P>
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Test procedure</H3>
|
<H3>Test procedure</H3>
|
||||||
|
|
||||||
|
|
||||||
<!-- ====================================================================== -->
|
|
||||||
|
|
||||||
|
|
||||||
<H2>Fault analysis</H2>
|
<H2>Fault analysis</H2>
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Component placement and orientation</H3>
|
<H3>Component placement and orientation</H3>
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Supply voltages</H3>
|
<H3>Supply voltages</H3>
|
||||||
|
|
||||||
<!-- ---------------------------------------------------------------------- -->
|
|
||||||
|
|
||||||
|
|
||||||
<H3>Clock frequency</H3>
|
<H3>Clock frequency</H3>
|
||||||
|
|
||||||
The flawless performance of the crystal oscillator is crucial for
|
The flawless performance of the crystal oscillator is crucial for
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include "atrf.h"
|
#include "atrf.h"
|
||||||
#include "netio.h"
|
#include "netio.h"
|
||||||
|
#include "daemon.h"
|
||||||
|
|
||||||
|
|
||||||
#define DEFAULT_PORT 0x1540 /* 5440 */
|
#define DEFAULT_PORT 0x1540 /* 5440 */
|
||||||
@ -303,7 +304,13 @@ static void loop(const char *driver, int port)
|
|||||||
|
|
||||||
static void usage(const char *name)
|
static void usage(const char *name)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "usage: %s [-d driver[:arg]] [-v ...] [port]\n", name);
|
fprintf(stderr,
|
||||||
|
"usage: %s [-b] [-d driver[:arg]] [-v ...] [port]\n\n"
|
||||||
|
" port listen on the specified port (default: %d)\n\n"
|
||||||
|
" -b background the process after initialization\n"
|
||||||
|
" -d driver[:arg] use the specified driver (default: %s)\n"
|
||||||
|
" -v ... increase verbosity level\n"
|
||||||
|
, name, DEFAULT_PORT, atrf_default_driver_name());
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -312,11 +319,15 @@ int main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
unsigned long port = DEFAULT_PORT;
|
unsigned long port = DEFAULT_PORT;
|
||||||
const char *driver = NULL;
|
const char *driver = NULL;
|
||||||
|
int foreground = 1;
|
||||||
char *end;
|
char *end;
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, "d:v")) != EOF)
|
while ((c = getopt(argc, argv, "bd:v")) != EOF)
|
||||||
switch (c) {
|
switch (c) {
|
||||||
|
case 'b':
|
||||||
|
foreground = 0;
|
||||||
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
driver = optarg;
|
driver = optarg;
|
||||||
break;
|
break;
|
||||||
@ -340,7 +351,8 @@ int main(int argc, char **argv)
|
|||||||
usage(*argv);
|
usage(*argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
loop(driver, port);
|
if (foreground || !daemonize())
|
||||||
|
loop(driver, port);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user