
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://armadeus.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HerveDa</id>
		<title>ArmadeusWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://armadeus.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HerveDa"/>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Special:Contributions/HerveDa"/>
		<updated>2026-04-05T20:04:21Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.3</generator>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=GSM/GPRS&amp;diff=11430</id>
		<title>GSM/GPRS</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=GSM/GPRS&amp;diff=11430"/>
				<updated>2012-11-22T18:12:55Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: /* Sending AT commands &amp;quot;manually&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will summarize informations to use the GSM/GPRS/3G module of the [[Wireless_extension_board|APF27Wireless board]] and the [[APF51Dev]] (optional).&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
GSM/GPRS are generally driven through the RS-232 bus. AT commands are used to dialog with the module.&lt;br /&gt;
* GSM MODEM of the [[Wireless_extension_board|APF27Wireless extension board (APW)]] is connected to the UART2 (/dev/ttySMX1) of the [[APF27]].&lt;br /&gt;
* GSM/3G MODEM of the [[APF51Dev]] is connected to the i.MX processor through an UART implemented in the FPGA. So the corresponding bitfile has to loaded before trying to access the MODEM.&lt;br /&gt;
Both are using a Sagem's Hilo module. Hilo AT commands can be found [http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf here]&lt;br /&gt;
&lt;br /&gt;
==Linux configuration (APF27Dev only)==&lt;br /&gt;
* Linux will have to be configured in order to tell that an APW is connected to your [[APF27Dev]]:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
System Type  ---&amp;gt;&lt;br /&gt;
    Freescale MXC Implementations  ---&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
            Extension board (Wireless (APW))  ---&amp;gt;&lt;br /&gt;
       [*] GSM/GPRS Modem (NEW)&lt;br /&gt;
       [ ] Bluetooth &amp;amp; WiFi module (NEW)&lt;br /&gt;
       [ ] CSI (Camera) pass-through (NEW)&lt;br /&gt;
       [ ] GPS module (NEW)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* reflash you Linux kernel&lt;br /&gt;
&lt;br /&gt;
==Configure serial port==&lt;br /&gt;
====APF27====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttySMX1              (or /dev/ttymxc1 on recent kernels)&lt;br /&gt;
# stty -F $GSM_DEVICE raw -echo -echoe -echok 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====APF51Dev====&lt;br /&gt;
	&lt;br /&gt;
{{Note|Don't forget to put &amp;quot;Wireless&amp;quot; J42 jumper (near microSD connector) '''AND''' power on FPGA Bank 3 (with corresponding J39 jumper).}}&lt;br /&gt;
* On APF51Dev, GSM/3G module is accessed through serial ports synthetized in APF51's FPGA. So we have to load it first. (Needed dual UARTs FPGA firmware can be found under armadeus-4.0 distribution in ''firmware/pod_scripts'' directory, with the [[POD]] script needed to regenerate it, and is by default installed in rootfs).&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# load_fpga /lib/firmware/fpga/apf51_gsm_gps_firmware.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Once firmware loaded, drivers related to FPGA can be used :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe irq_ocore&lt;br /&gt;
# modprobe 8250&lt;br /&gt;
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled&lt;br /&gt;
# modprobe twin_uarts_irq_mng&lt;br /&gt;
# modprobe twin_uarts_16750&lt;br /&gt;
serial8250.0: ttyS0 at MMIO 0xb8000020 (irq = 320) is a TI16750&lt;br /&gt;
serial8250.0: ttyS1 at MMIO 0xb8000040 (irq = 321) is a TI16750&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Bring MODEM out of reset state (POK_IN/PWON pin, connected to [[APF51_PMIC#GPIO|PMIC GPIO6]]):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe wm831x-gpio&lt;br /&gt;
# echo 245 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
# echo out &amp;gt; /sys/class/gpio/gpio245/direction&lt;br /&gt;
# echo 1 &amp;gt; /sys/class/gpio/gpio245/value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configure serial port:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls /dev/ttyS*&lt;br /&gt;
/dev/ttyS0  /dev/ttyS1  /dev/ttyS2  /dev/ttyS3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If the /dev/ttyS[0-1] files don't exist, create it/them with ''mknod'' :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mknod /dev/ttyS0 c 4 64&lt;br /&gt;
# mknod /dev/ttyS1 c 4 65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttyS0&lt;br /&gt;
# stty -F $GSM_DEVICE -echo -echoe -echok 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Usage==&lt;br /&gt;
===Sending AT commands &amp;quot;manually&amp;quot;===&lt;br /&gt;
* Sending AT commands with ''minicom'' utility (one of the command coming with [[busybox]]):   &lt;br /&gt;
&lt;br /&gt;
{{Note|minicom seem to be remove use microcom instead}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# minicom $GSM_DEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
( To exit ''minocom'' you will have to type '''&amp;lt;CTRL-x&amp;gt;''' )&lt;br /&gt;
* Check module presence:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATI3&lt;br /&gt;
SAGEM HiC,A.005.00&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| If no echo are printed on serial console: you can't see what you're typing. In that case, to reactivate the echo, use:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATE1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note| By default, the module starts in auto baudrate. This mays result in loss of communication with baud rate higher than 19200 bauds. To avoid problems, the baud rate has to be fixed (here to 115200 bauds):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+IPR=115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Get constructor name:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CGMI&lt;br /&gt;
SAGEM&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get model name:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CGMM&lt;br /&gt;
HILO GPRS&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter PIN code (here 0000). '''!! Use your own and beware that you will only get 3 tries !!:'''&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPIN=&amp;quot;0000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Check PIN code status:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPIN?&lt;br /&gt;
+CPIN: READY&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|Don't launch further AT commands if PIN code wasn't entered successfully}}&lt;br /&gt;
&lt;br /&gt;
* Check module status (0 Ready, 1 Unavailable, 2 Status unknown, 3 Ringing, 4 Call in progress, 5 Asleep):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPAS&lt;br /&gt;
+CPAS: 0&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get Indicator control (&amp;lt;battchg&amp;gt;[0-4],&amp;lt;signal&amp;gt;[0-4],&amp;lt;service&amp;gt;0/1,&amp;lt;message&amp;gt;0/1,&amp;lt;call&amp;gt;0/1,&amp;lt;smsfull&amp;gt;0/1):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CIND?&lt;br /&gt;
+CIND: 0,4,1,0,0,0,1&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get signal quality (should be better than 12/99):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CSQ&lt;br /&gt;
+CSQ: 24,99&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Voice call &amp;quot;123456789&amp;quot; (; is important here to signify a voice call, otherwise a data call is tried and may fail if you don't have the right subscribe)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATD&amp;quot;123456789&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Terminate current call:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATH&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sending AT commands in shell scripts===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GSM_DEVICE=/dev/ttyXXX&lt;br /&gt;
send_at_cmd()&lt;br /&gt;
{&lt;br /&gt;
        echo -e -n &amp;quot;$1\015&amp;quot; &amp;gt; $GSM_DEVICE&lt;br /&gt;
        sleep 1      # Adjustable ! (usleep)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
send_at_cmd AT&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* See ''target/test/test_gsm.sh'' for more details&lt;br /&gt;
&lt;br /&gt;
==Sending SMS==&lt;br /&gt;
* Supposing you are already connected to the modem with cu&lt;br /&gt;
* Check if you can send SMS with your SIM card (you should get +CMGF: (0,1))&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMGF=?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If OK, switch to SMS sending mode:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMGF=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Write a message for 0661234567 phone number:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CMGW=&amp;quot;0661326109&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Hey ! How are you doing ??&lt;br /&gt;
&amp;gt;                    &amp;lt;-- Ctrl+z to end SMS here&lt;br /&gt;
&lt;br /&gt;
+CMGW: 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* +CMGW give you the number of your SMS saved in SIM card or phone memory&lt;br /&gt;
* Then, at anytime, you can send your SMS with (pass previous number as parameter):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMSS=8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools to look at==&lt;br /&gt;
* http://www.developershome.com/sms/freeLibForSMS.asp&lt;br /&gt;
* http://www.gnokii.org/&lt;br /&gt;
* http://www.alamin.org/en/index.html&lt;br /&gt;
* http://www.gammu.org/wiki/index.php?title=Gammu:Main_Page&lt;br /&gt;
* http://gatling.ikk.sztaki.hu/~kissg/gsm/index.html&lt;br /&gt;
&lt;br /&gt;
==Data tranfers (EDGE/3G)==&lt;br /&gt;
&lt;br /&gt;
===PPP installation (done by default on APF51)===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    [*] Network device support  ---&amp;gt;&lt;br /&gt;
        &amp;lt;M&amp;gt;   PPP (point-to-point protocol) support&lt;br /&gt;
        [ ]     PPP multilink support (EXPERIMENTAL)&lt;br /&gt;
        [ ]     PPP filtering&lt;br /&gt;
        &amp;lt;M&amp;gt;     PPP support for async serial ports&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP support for sync tty ports&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP Deflate compression&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP BSD-Compress compression&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP MPPE compression (encryption) (EXPERIMENTAL)&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP over Ethernet (EXPERIMENTAL)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Networking applications  ---&amp;gt;&lt;br /&gt;
        [*] pppd&lt;br /&gt;
        [ ]   filtering&lt;br /&gt;
        [ ]   radius&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26 &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reflash kernel &amp;amp; rootfs&lt;br /&gt;
&lt;br /&gt;
===PPP configuration===&lt;br /&gt;
{{Note|Following instructions are given for the French operator &amp;quot;Bouygtel&amp;quot; and may need to be ajusted accordingly, depending on your operator/country}}&lt;br /&gt;
&lt;br /&gt;
* Create a &amp;quot;chat&amp;quot; script that will be used to initiate MODEM dialup (here we use the &amp;quot;cat &amp;gt; xxxx &amp;lt;&amp;lt; EOF trick&amp;quot; to automatically create the file, but you can also manually edit it with ''vi'' or ''nano''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/chatscripts/&lt;br /&gt;
# cat &amp;gt; /etc/chatscripts/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT DELAYED ABORT ERROR&lt;br /&gt;
'' AT&lt;br /&gt;
OK AT+IPR=115200&lt;br /&gt;
OK AT+CPIN=&amp;quot;0000&amp;quot;&lt;br /&gt;
OK AT+CFUN=1&lt;br /&gt;
OK AT+COPS?&lt;br /&gt;
OK AT+CSQ&lt;br /&gt;
OK 'AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;ebouygtel.com&amp;quot;,&amp;quot;&amp;quot;,0,0'&lt;br /&gt;
OK 'AT&amp;amp;FE0Q0V1'&lt;br /&gt;
OK 'ATD*99#'&lt;br /&gt;
CONNECT &amp;quot;&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Don't forget to set the baudrate (default: 115200) to have a stable communication between the modem and the processor&lt;br /&gt;
* Don't forget to update &amp;quot;AT+CPIN=&amp;quot; with your real PIN code and &amp;quot;AT+CGDCONT&amp;quot; and &amp;quot;ATD*99#&amp;quot; with your operator parameters.&lt;br /&gt;
* If you want to test your chat script (verbose mode -v, on console -s, with 5 second timeout by default for commands -t 5), then launch:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# /usr/sbin/chat -v -s -t 5 -f /etc/chatscripts/bouygtel &amp;gt; $GSM_DEVICE &amp;lt; $GSM_DEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If this test was OK, you may have to poweroff/poweron the MODEM to bring it to its initial state and go further.&lt;br /&gt;
&lt;br /&gt;
====For '''APF51'''====&lt;br /&gt;
* create the PPPd config files (''/etc/ppp/peers/bouygtel'' and ''/etc/ppp/options.ttyS0''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/ppp/peers/&lt;br /&gt;
# cat &amp;gt; /etc/ppp/peers/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
noauth&lt;br /&gt;
connect &amp;quot;/usr/sbin/chat -v -t 5 -f /etc/chatscripts/bouygtel&amp;quot;&lt;br /&gt;
debug&lt;br /&gt;
ttyS0&lt;br /&gt;
defaultroute&lt;br /&gt;
noipdefault&lt;br /&gt;
usepeerdns&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# cat &amp;gt; /etc/ppp/options.ttyS0 &amp;lt;&amp;lt;EOF&lt;br /&gt;
115200&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For '''APF27'''====&lt;br /&gt;
{{Note| Check if /dev/ttySMX1 exists, if not create it with :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
mknod /dev/ttySMX1 c 204 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
* create the PPPd config files (''/etc/ppp/peers/bouygtel'' and ''/etc/ppp/options.ttySMX1''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/ppp/peers/&lt;br /&gt;
# cat &amp;gt; /etc/ppp/peers/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
noauth&lt;br /&gt;
connect &amp;quot;/usr/sbin/chat -v -t 5 -f /etc/chatscripts/bouygtel&amp;quot;&lt;br /&gt;
debug&lt;br /&gt;
ttySMX1&lt;br /&gt;
defaultroute&lt;br /&gt;
noipdefault&lt;br /&gt;
usepeerdns&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# cat &amp;gt; /etc/ppp/options.ttySMX1 &amp;lt;&amp;lt;EOF&lt;br /&gt;
115200&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PPP Usage===&lt;br /&gt;
* Load PPP module:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe ppp          (APF27)&lt;br /&gt;
or&lt;br /&gt;
# modprobe ppp_async    (APF51)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Setup serial port name depending on your platform (''/dev/ttyS0'' on APF51, ''/dev/ttySMX1'' on APF27)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttyS0&lt;br /&gt;
or&lt;br /&gt;
# export GSM_DEVICE=/dev/ttySMX1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Launch the beast:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# pppd $GSM_DEVICE 115200 call bouygtel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ping www.google.fr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshots ===&lt;br /&gt;
* Might be needed after a successful IP setup:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cp /etc/ppp/resolv.conf /etc/resolv.conf&lt;br /&gt;
# route add default ppp0     (due to defaultroute option in ppp ?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To see what happened after having launched ''pppd'' or ''chat'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# tail -f /var/log/messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GSM Muxing==&lt;br /&gt;
===Why ?===&lt;br /&gt;
* By default AT commands usage is single threaded, ie only one program can open MODEM serial port and send AT commands at a given time. However it could be interesting to be able to send multiple AT commands from multiple programs at the same time, for example in order to: have a PPP link, send SMS and monitor network signal quality.&lt;br /&gt;
* This can be done by a &amp;quot;GSM mux&amp;quot;, if your MODEM support the GSM 07.10 muxing norm (which is the case with our HiLo modules).&lt;br /&gt;
===Build gsmmux===&lt;br /&gt;
* To build GSM mux (if not already done):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Hardware handling  ---&amp;gt;&lt;br /&gt;
        [*] gsmmux&lt;br /&gt;
              Version to use (sagem)  ---&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Use it===&lt;br /&gt;
* If you have access to Sagem's version (you will get as much as virtual serial port as times you pass ''/dev/ptmx'' to the daemon):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gsmMuxd -p $GSM_DEVICE -b 115200 -x /dev/ptmx /dev/ptmx /dev/ptmx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Virtual serial ports will be created in ''/dev/pts/'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
/dev/pts/0 /dev/pts/1 /dev/pts/2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* to know how ''/dev/ptmx'' &amp;amp; ''/dev/pts/x'' is working: [http://linux.die.net/man/4/ptmx]&lt;br /&gt;
* If you have telnet or SSH sessions running ''/dev/pts/0'' may already be used ans so virtual serial ports will be allocated from ''/dev/pts/1'', etc...&lt;br /&gt;
&lt;br /&gt;
===Going further===&lt;br /&gt;
* In recent Linux kernels, there is also a driver to hanlde GSM muxing: n_gsm&lt;br /&gt;
* People wanting to do a &amp;quot;real&amp;quot; phone can take a look at [http://ofono.org/documentation ofono]&lt;br /&gt;
&lt;br /&gt;
==SMS using SMS server tools 3==&lt;br /&gt;
simple AT commands can be used to sent SMS. If you need more flexibility or advanced management of your SMS, you can use SMS Server Tools 3.&lt;br /&gt;
SMS Server Tools 3 is a SMS Gateway software which can send and receive short messages through GSM modems and mobile phones.&lt;br /&gt;
&lt;br /&gt;
===Build SMS Server Tools3===&lt;br /&gt;
* To build SMS Server Tools 3:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Hardware handling  ---&amp;gt;&lt;br /&gt;
        [*] SMS Server Tools3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
The SMS server can be configured by using a configuration file (smsd.conf) located on the target in the /etc/smsd directory.&lt;br /&gt;
The following parameters have to be verified:&lt;br /&gt;
* device: uart port used to communicate with the modem. If GSMUX is used, then this parameter is of form /dev/pts/x where is x is the number of the virtual port&lt;br /&gt;
* baudrate: baudrate of the uart port&lt;br /&gt;
* rtscts: must be yes&lt;br /&gt;
* incoming: yes if you want to receive SMS&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
start the sms deamon:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
smsd -c /etc/smsd/smsd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then put a SMS file in the /var/spool/outgoing directory. Once placed a SMS will be sent.&lt;br /&gt;
&lt;br /&gt;
Incoming SMS can be read in the /var/spool/incoming directory.&lt;br /&gt;
&lt;br /&gt;
Reports and logs are also generated.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://support.sagemcom.com/site/modele_fax.php?page=produit&amp;amp;numero_type=22&amp;amp;produit=877 HiLo 3G documentation at Sagem]&lt;br /&gt;
* [http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf HiLo AT Commands]&lt;br /&gt;
* [http://www.developershome.com/sms/ SMS tutorial]&lt;br /&gt;
* http://wiki.openmoko.org/wiki/Neo_1973_and_Neo_FreeRunner_gsm_modem&lt;br /&gt;
* [http://www.anotherurl.com/library/at_test.htm AT Test commands]&lt;br /&gt;
* http://www.gsm-modem.de/gsm-faq.html&lt;br /&gt;
* [http://www.technologuepro.com/gsm/commande_at.htm Les commandes AT]&lt;br /&gt;
* [http://smstools3.kekekasvi.com SMS Server Tools 3]&lt;br /&gt;
&lt;br /&gt;
[[Category:Wireless]]&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=GSM/GPRS&amp;diff=11429</id>
		<title>GSM/GPRS</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=GSM/GPRS&amp;diff=11429"/>
				<updated>2012-11-22T18:12:09Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: /* Sending AT commands &amp;quot;manually&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will summarize informations to use the GSM/GPRS/3G module of the [[Wireless_extension_board|APF27Wireless board]] and the [[APF51Dev]] (optional).&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
GSM/GPRS are generally driven through the RS-232 bus. AT commands are used to dialog with the module.&lt;br /&gt;
* GSM MODEM of the [[Wireless_extension_board|APF27Wireless extension board (APW)]] is connected to the UART2 (/dev/ttySMX1) of the [[APF27]].&lt;br /&gt;
* GSM/3G MODEM of the [[APF51Dev]] is connected to the i.MX processor through an UART implemented in the FPGA. So the corresponding bitfile has to loaded before trying to access the MODEM.&lt;br /&gt;
Both are using a Sagem's Hilo module. Hilo AT commands can be found [http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf here]&lt;br /&gt;
&lt;br /&gt;
==Linux configuration (APF27Dev only)==&lt;br /&gt;
* Linux will have to be configured in order to tell that an APW is connected to your [[APF27Dev]]:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
System Type  ---&amp;gt;&lt;br /&gt;
    Freescale MXC Implementations  ---&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
            Extension board (Wireless (APW))  ---&amp;gt;&lt;br /&gt;
       [*] GSM/GPRS Modem (NEW)&lt;br /&gt;
       [ ] Bluetooth &amp;amp; WiFi module (NEW)&lt;br /&gt;
       [ ] CSI (Camera) pass-through (NEW)&lt;br /&gt;
       [ ] GPS module (NEW)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* reflash you Linux kernel&lt;br /&gt;
&lt;br /&gt;
==Configure serial port==&lt;br /&gt;
====APF27====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttySMX1              (or /dev/ttymxc1 on recent kernels)&lt;br /&gt;
# stty -F $GSM_DEVICE raw -echo -echoe -echok 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====APF51Dev====&lt;br /&gt;
	&lt;br /&gt;
{{Note|Don't forget to put &amp;quot;Wireless&amp;quot; J42 jumper (near microSD connector) '''AND''' power on FPGA Bank 3 (with corresponding J39 jumper).}}&lt;br /&gt;
* On APF51Dev, GSM/3G module is accessed through serial ports synthetized in APF51's FPGA. So we have to load it first. (Needed dual UARTs FPGA firmware can be found under armadeus-4.0 distribution in ''firmware/pod_scripts'' directory, with the [[POD]] script needed to regenerate it, and is by default installed in rootfs).&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# load_fpga /lib/firmware/fpga/apf51_gsm_gps_firmware.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Once firmware loaded, drivers related to FPGA can be used :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe irq_ocore&lt;br /&gt;
# modprobe 8250&lt;br /&gt;
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled&lt;br /&gt;
# modprobe twin_uarts_irq_mng&lt;br /&gt;
# modprobe twin_uarts_16750&lt;br /&gt;
serial8250.0: ttyS0 at MMIO 0xb8000020 (irq = 320) is a TI16750&lt;br /&gt;
serial8250.0: ttyS1 at MMIO 0xb8000040 (irq = 321) is a TI16750&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Bring MODEM out of reset state (POK_IN/PWON pin, connected to [[APF51_PMIC#GPIO|PMIC GPIO6]]):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe wm831x-gpio&lt;br /&gt;
# echo 245 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
# echo out &amp;gt; /sys/class/gpio/gpio245/direction&lt;br /&gt;
# echo 1 &amp;gt; /sys/class/gpio/gpio245/value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configure serial port:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls /dev/ttyS*&lt;br /&gt;
/dev/ttyS0  /dev/ttyS1  /dev/ttyS2  /dev/ttyS3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If the /dev/ttyS[0-1] files don't exist, create it/them with ''mknod'' :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mknod /dev/ttyS0 c 4 64&lt;br /&gt;
# mknod /dev/ttyS1 c 4 65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttyS0&lt;br /&gt;
# stty -F $GSM_DEVICE -echo -echoe -echok 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Usage==&lt;br /&gt;
===Sending AT commands &amp;quot;manually&amp;quot;===&lt;br /&gt;
* Sending AT commands with ''minicom'' utility (one of the command coming with [[busybox]]):   &lt;br /&gt;
&lt;br /&gt;
minicom seem to be remove use microcom instead &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# minicom $GSM_DEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
( To exit ''minocom'' you will have to type '''&amp;lt;CTRL-x&amp;gt;''' )&lt;br /&gt;
* Check module presence:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATI3&lt;br /&gt;
SAGEM HiC,A.005.00&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| If no echo are printed on serial console: you can't see what you're typing. In that case, to reactivate the echo, use:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATE1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note| By default, the module starts in auto baudrate. This mays result in loss of communication with baud rate higher than 19200 bauds. To avoid problems, the baud rate has to be fixed (here to 115200 bauds):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+IPR=115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Get constructor name:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CGMI&lt;br /&gt;
SAGEM&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get model name:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CGMM&lt;br /&gt;
HILO GPRS&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter PIN code (here 0000). '''!! Use your own and beware that you will only get 3 tries !!:'''&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPIN=&amp;quot;0000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Check PIN code status:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPIN?&lt;br /&gt;
+CPIN: READY&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|Don't launch further AT commands if PIN code wasn't entered successfully}}&lt;br /&gt;
&lt;br /&gt;
* Check module status (0 Ready, 1 Unavailable, 2 Status unknown, 3 Ringing, 4 Call in progress, 5 Asleep):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPAS&lt;br /&gt;
+CPAS: 0&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get Indicator control (&amp;lt;battchg&amp;gt;[0-4],&amp;lt;signal&amp;gt;[0-4],&amp;lt;service&amp;gt;0/1,&amp;lt;message&amp;gt;0/1,&amp;lt;call&amp;gt;0/1,&amp;lt;smsfull&amp;gt;0/1):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CIND?&lt;br /&gt;
+CIND: 0,4,1,0,0,0,1&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get signal quality (should be better than 12/99):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CSQ&lt;br /&gt;
+CSQ: 24,99&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Voice call &amp;quot;123456789&amp;quot; (; is important here to signify a voice call, otherwise a data call is tried and may fail if you don't have the right subscribe)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATD&amp;quot;123456789&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Terminate current call:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATH&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sending AT commands in shell scripts===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GSM_DEVICE=/dev/ttyXXX&lt;br /&gt;
send_at_cmd()&lt;br /&gt;
{&lt;br /&gt;
        echo -e -n &amp;quot;$1\015&amp;quot; &amp;gt; $GSM_DEVICE&lt;br /&gt;
        sleep 1      # Adjustable ! (usleep)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
send_at_cmd AT&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* See ''target/test/test_gsm.sh'' for more details&lt;br /&gt;
&lt;br /&gt;
==Sending SMS==&lt;br /&gt;
* Supposing you are already connected to the modem with cu&lt;br /&gt;
* Check if you can send SMS with your SIM card (you should get +CMGF: (0,1))&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMGF=?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If OK, switch to SMS sending mode:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMGF=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Write a message for 0661234567 phone number:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CMGW=&amp;quot;0661326109&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Hey ! How are you doing ??&lt;br /&gt;
&amp;gt;                    &amp;lt;-- Ctrl+z to end SMS here&lt;br /&gt;
&lt;br /&gt;
+CMGW: 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* +CMGW give you the number of your SMS saved in SIM card or phone memory&lt;br /&gt;
* Then, at anytime, you can send your SMS with (pass previous number as parameter):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMSS=8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools to look at==&lt;br /&gt;
* http://www.developershome.com/sms/freeLibForSMS.asp&lt;br /&gt;
* http://www.gnokii.org/&lt;br /&gt;
* http://www.alamin.org/en/index.html&lt;br /&gt;
* http://www.gammu.org/wiki/index.php?title=Gammu:Main_Page&lt;br /&gt;
* http://gatling.ikk.sztaki.hu/~kissg/gsm/index.html&lt;br /&gt;
&lt;br /&gt;
==Data tranfers (EDGE/3G)==&lt;br /&gt;
&lt;br /&gt;
===PPP installation (done by default on APF51)===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    [*] Network device support  ---&amp;gt;&lt;br /&gt;
        &amp;lt;M&amp;gt;   PPP (point-to-point protocol) support&lt;br /&gt;
        [ ]     PPP multilink support (EXPERIMENTAL)&lt;br /&gt;
        [ ]     PPP filtering&lt;br /&gt;
        &amp;lt;M&amp;gt;     PPP support for async serial ports&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP support for sync tty ports&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP Deflate compression&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP BSD-Compress compression&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP MPPE compression (encryption) (EXPERIMENTAL)&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP over Ethernet (EXPERIMENTAL)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Networking applications  ---&amp;gt;&lt;br /&gt;
        [*] pppd&lt;br /&gt;
        [ ]   filtering&lt;br /&gt;
        [ ]   radius&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26 &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reflash kernel &amp;amp; rootfs&lt;br /&gt;
&lt;br /&gt;
===PPP configuration===&lt;br /&gt;
{{Note|Following instructions are given for the French operator &amp;quot;Bouygtel&amp;quot; and may need to be ajusted accordingly, depending on your operator/country}}&lt;br /&gt;
&lt;br /&gt;
* Create a &amp;quot;chat&amp;quot; script that will be used to initiate MODEM dialup (here we use the &amp;quot;cat &amp;gt; xxxx &amp;lt;&amp;lt; EOF trick&amp;quot; to automatically create the file, but you can also manually edit it with ''vi'' or ''nano''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/chatscripts/&lt;br /&gt;
# cat &amp;gt; /etc/chatscripts/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT DELAYED ABORT ERROR&lt;br /&gt;
'' AT&lt;br /&gt;
OK AT+IPR=115200&lt;br /&gt;
OK AT+CPIN=&amp;quot;0000&amp;quot;&lt;br /&gt;
OK AT+CFUN=1&lt;br /&gt;
OK AT+COPS?&lt;br /&gt;
OK AT+CSQ&lt;br /&gt;
OK 'AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;ebouygtel.com&amp;quot;,&amp;quot;&amp;quot;,0,0'&lt;br /&gt;
OK 'AT&amp;amp;FE0Q0V1'&lt;br /&gt;
OK 'ATD*99#'&lt;br /&gt;
CONNECT &amp;quot;&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Don't forget to set the baudrate (default: 115200) to have a stable communication between the modem and the processor&lt;br /&gt;
* Don't forget to update &amp;quot;AT+CPIN=&amp;quot; with your real PIN code and &amp;quot;AT+CGDCONT&amp;quot; and &amp;quot;ATD*99#&amp;quot; with your operator parameters.&lt;br /&gt;
* If you want to test your chat script (verbose mode -v, on console -s, with 5 second timeout by default for commands -t 5), then launch:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# /usr/sbin/chat -v -s -t 5 -f /etc/chatscripts/bouygtel &amp;gt; $GSM_DEVICE &amp;lt; $GSM_DEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If this test was OK, you may have to poweroff/poweron the MODEM to bring it to its initial state and go further.&lt;br /&gt;
&lt;br /&gt;
====For '''APF51'''====&lt;br /&gt;
* create the PPPd config files (''/etc/ppp/peers/bouygtel'' and ''/etc/ppp/options.ttyS0''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/ppp/peers/&lt;br /&gt;
# cat &amp;gt; /etc/ppp/peers/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
noauth&lt;br /&gt;
connect &amp;quot;/usr/sbin/chat -v -t 5 -f /etc/chatscripts/bouygtel&amp;quot;&lt;br /&gt;
debug&lt;br /&gt;
ttyS0&lt;br /&gt;
defaultroute&lt;br /&gt;
noipdefault&lt;br /&gt;
usepeerdns&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# cat &amp;gt; /etc/ppp/options.ttyS0 &amp;lt;&amp;lt;EOF&lt;br /&gt;
115200&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For '''APF27'''====&lt;br /&gt;
{{Note| Check if /dev/ttySMX1 exists, if not create it with :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
mknod /dev/ttySMX1 c 204 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
* create the PPPd config files (''/etc/ppp/peers/bouygtel'' and ''/etc/ppp/options.ttySMX1''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/ppp/peers/&lt;br /&gt;
# cat &amp;gt; /etc/ppp/peers/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
noauth&lt;br /&gt;
connect &amp;quot;/usr/sbin/chat -v -t 5 -f /etc/chatscripts/bouygtel&amp;quot;&lt;br /&gt;
debug&lt;br /&gt;
ttySMX1&lt;br /&gt;
defaultroute&lt;br /&gt;
noipdefault&lt;br /&gt;
usepeerdns&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# cat &amp;gt; /etc/ppp/options.ttySMX1 &amp;lt;&amp;lt;EOF&lt;br /&gt;
115200&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PPP Usage===&lt;br /&gt;
* Load PPP module:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe ppp          (APF27)&lt;br /&gt;
or&lt;br /&gt;
# modprobe ppp_async    (APF51)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Setup serial port name depending on your platform (''/dev/ttyS0'' on APF51, ''/dev/ttySMX1'' on APF27)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttyS0&lt;br /&gt;
or&lt;br /&gt;
# export GSM_DEVICE=/dev/ttySMX1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Launch the beast:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# pppd $GSM_DEVICE 115200 call bouygtel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ping www.google.fr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshots ===&lt;br /&gt;
* Might be needed after a successful IP setup:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cp /etc/ppp/resolv.conf /etc/resolv.conf&lt;br /&gt;
# route add default ppp0     (due to defaultroute option in ppp ?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To see what happened after having launched ''pppd'' or ''chat'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# tail -f /var/log/messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GSM Muxing==&lt;br /&gt;
===Why ?===&lt;br /&gt;
* By default AT commands usage is single threaded, ie only one program can open MODEM serial port and send AT commands at a given time. However it could be interesting to be able to send multiple AT commands from multiple programs at the same time, for example in order to: have a PPP link, send SMS and monitor network signal quality.&lt;br /&gt;
* This can be done by a &amp;quot;GSM mux&amp;quot;, if your MODEM support the GSM 07.10 muxing norm (which is the case with our HiLo modules).&lt;br /&gt;
===Build gsmmux===&lt;br /&gt;
* To build GSM mux (if not already done):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Hardware handling  ---&amp;gt;&lt;br /&gt;
        [*] gsmmux&lt;br /&gt;
              Version to use (sagem)  ---&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Use it===&lt;br /&gt;
* If you have access to Sagem's version (you will get as much as virtual serial port as times you pass ''/dev/ptmx'' to the daemon):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gsmMuxd -p $GSM_DEVICE -b 115200 -x /dev/ptmx /dev/ptmx /dev/ptmx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Virtual serial ports will be created in ''/dev/pts/'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
/dev/pts/0 /dev/pts/1 /dev/pts/2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* to know how ''/dev/ptmx'' &amp;amp; ''/dev/pts/x'' is working: [http://linux.die.net/man/4/ptmx]&lt;br /&gt;
* If you have telnet or SSH sessions running ''/dev/pts/0'' may already be used ans so virtual serial ports will be allocated from ''/dev/pts/1'', etc...&lt;br /&gt;
&lt;br /&gt;
===Going further===&lt;br /&gt;
* In recent Linux kernels, there is also a driver to hanlde GSM muxing: n_gsm&lt;br /&gt;
* People wanting to do a &amp;quot;real&amp;quot; phone can take a look at [http://ofono.org/documentation ofono]&lt;br /&gt;
&lt;br /&gt;
==SMS using SMS server tools 3==&lt;br /&gt;
simple AT commands can be used to sent SMS. If you need more flexibility or advanced management of your SMS, you can use SMS Server Tools 3.&lt;br /&gt;
SMS Server Tools 3 is a SMS Gateway software which can send and receive short messages through GSM modems and mobile phones.&lt;br /&gt;
&lt;br /&gt;
===Build SMS Server Tools3===&lt;br /&gt;
* To build SMS Server Tools 3:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Hardware handling  ---&amp;gt;&lt;br /&gt;
        [*] SMS Server Tools3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
The SMS server can be configured by using a configuration file (smsd.conf) located on the target in the /etc/smsd directory.&lt;br /&gt;
The following parameters have to be verified:&lt;br /&gt;
* device: uart port used to communicate with the modem. If GSMUX is used, then this parameter is of form /dev/pts/x where is x is the number of the virtual port&lt;br /&gt;
* baudrate: baudrate of the uart port&lt;br /&gt;
* rtscts: must be yes&lt;br /&gt;
* incoming: yes if you want to receive SMS&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
start the sms deamon:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
smsd -c /etc/smsd/smsd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then put a SMS file in the /var/spool/outgoing directory. Once placed a SMS will be sent.&lt;br /&gt;
&lt;br /&gt;
Incoming SMS can be read in the /var/spool/incoming directory.&lt;br /&gt;
&lt;br /&gt;
Reports and logs are also generated.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://support.sagemcom.com/site/modele_fax.php?page=produit&amp;amp;numero_type=22&amp;amp;produit=877 HiLo 3G documentation at Sagem]&lt;br /&gt;
* [http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf HiLo AT Commands]&lt;br /&gt;
* [http://www.developershome.com/sms/ SMS tutorial]&lt;br /&gt;
* http://wiki.openmoko.org/wiki/Neo_1973_and_Neo_FreeRunner_gsm_modem&lt;br /&gt;
* [http://www.anotherurl.com/library/at_test.htm AT Test commands]&lt;br /&gt;
* http://www.gsm-modem.de/gsm-faq.html&lt;br /&gt;
* [http://www.technologuepro.com/gsm/commande_at.htm Les commandes AT]&lt;br /&gt;
* [http://smstools3.kekekasvi.com SMS Server Tools 3]&lt;br /&gt;
&lt;br /&gt;
[[Category:Wireless]]&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=How_to_create_web_sms_sender&amp;diff=11365</id>
		<title>How to create web sms sender</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=How_to_create_web_sms_sender&amp;diff=11365"/>
				<updated>2012-10-21T17:12:09Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First install a web server&lt;br /&gt;
&lt;br /&gt;
I choose lighttpd (make menuconfig -&amp;gt;Package selection for the target ). Select Show package that are also provide by busybox and lighttpd.&lt;br /&gt;
&lt;br /&gt;
We also need php support (Interpreter language and scripting). Enable php and fastcgi, active also PCRE extenstion.&lt;br /&gt;
&lt;br /&gt;
Second adapt exemple script for sending sms. This is mine [http://pastebin.com/sL4V3eFp] (I still have to improve it so if you have comments)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Third create web pages a basic formular and a php treatement page or all in one. Dont forget that we have to send smsm in GSM 03.38 so I have made my small convert function [http://pastebin.com/MJrDx25j].&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=How_to_create_web_sms_sender&amp;diff=11357</id>
		<title>How to create web sms sender</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=How_to_create_web_sms_sender&amp;diff=11357"/>
				<updated>2012-10-19T03:52:29Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: New page: First install a web server  I choose lighttpd (make menuconfig -&amp;gt;Package selection for the target ). Select Show package that are also provide by busybox and lighttpd.  Second adapt exempl...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First install a web server&lt;br /&gt;
&lt;br /&gt;
I choose lighttpd (make menuconfig -&amp;gt;Package selection for the target ). Select Show package that are also provide by busybox and lighttpd.&lt;br /&gt;
&lt;br /&gt;
Second adapt exemple script for sending sms &lt;br /&gt;
&lt;br /&gt;
Third create web page.&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:HerveDa&amp;diff=11356</id>
		<title>User:HerveDa</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:HerveDa&amp;diff=11356"/>
				<updated>2012-10-19T03:18:40Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project:&lt;br /&gt;
&lt;br /&gt;
[[Aircraft modelling assitant pilot]] (school project)&lt;br /&gt;
&lt;br /&gt;
[[How to create web sms sender]]&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:HerveDa&amp;diff=11355</id>
		<title>User:HerveDa</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:HerveDa&amp;diff=11355"/>
				<updated>2012-10-19T03:16:35Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project:&lt;br /&gt;
&lt;br /&gt;
[[Aircraft modelling assitant pilot]] (school project)&lt;br /&gt;
&lt;br /&gt;
[[WEB SMS]]&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Ubuntu/Debian_installation_prerequisites&amp;diff=11329</id>
		<title>Ubuntu/Debian installation prerequisites</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Ubuntu/Debian_installation_prerequisites&amp;diff=11329"/>
				<updated>2012-10-14T02:45:04Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: /* Optional packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Mandatory packages==&lt;br /&gt;
* you can use the following commands (one at a time) to get them (assuming your userid is allowed to use ''sudo'' (execution of commands as root)):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get install -y build-essential gcc g++ autoconf automake libtool bison flex gettext &lt;br /&gt;
 sudo apt-get install -y patch subversion texinfo wget git-core&lt;br /&gt;
 sudo apt-get install -y libncurses5 libncurses5-dev&lt;br /&gt;
 sudo apt-get install -y zlib1g-dev liblzo2-2 liblzo2-dev&lt;br /&gt;
 sudo apt-get install -y libacl1 libacl1-dev gawk cvs curl lzma &lt;br /&gt;
 sudo apt-get install -y uuid-dev mercurial&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Warning|For recent Ubuntu and Debian based systems, the following is now required if your ''/bin/sh'' is '''not''' pointing to ''/bin/bash'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ ls -al /bin/sh&lt;br /&gt;
 lrwxrwxrwx 1 root root 4 2007-12-08 18:33 /bin/sh -&amp;gt; dash&lt;br /&gt;
&lt;br /&gt;
 $ sudo dpkg-reconfigure dash&lt;br /&gt;
     and select no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Indeed dash do not support all the capabilities needed by Buildroot (our build system).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* if your distribution is localized in a language different of English, you will need to install &amp;quot;en_US&amp;quot; locale in order to compile the toolchain (by default our toolchain (uClibc) is configured to only support English). If not, you will get compilation errors like this one:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 extra/locale/locale_mmap.h:46: error: '__LOCALE_DATA_WCctype_II_LEN' undeclared here (not in a function)&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To solve this, install en_US.UTF-8 locale with the following:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 $ sudo dpkg-reconfigure locales&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional packages==&lt;br /&gt;
Not mandatory but useful to add for compiling some Buildroot packages:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get -y install libglib2.0-dev&lt;br /&gt;
 sudo apt-get -y install libnetpbm10-dev   (for fbtest)&lt;br /&gt;
 sudo apt-get -y install python-xcbgen (for Matchbox)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java devt===&lt;br /&gt;
====Ubuntu====&lt;br /&gt;
&lt;br /&gt;
* To compile java jamvm and gnu-classpath:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get -y install gcj-jdk &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Debian====&lt;br /&gt;
To compile java jamvm and gnu-classpath:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
 sudo apt-get -y install java-gcj-compat-dev default-jdk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Aircraft_modelling_assitant_pilot&amp;diff=10945</id>
		<title>Aircraft modelling assitant pilot</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Aircraft_modelling_assitant_pilot&amp;diff=10945"/>
				<updated>2012-06-08T19:09:49Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This project was to create an pilot assistant for aircraft model making.&lt;br /&gt;
&lt;br /&gt;
The idea it to have the hard real time part on the FPGA and the soft on the CPU.&lt;br /&gt;
&lt;br /&gt;
The system have two informations altitude from barometric sensor and positioning from an three axis gyroscope.&lt;br /&gt;
&lt;br /&gt;
The system have to control the plane if the pilot lost control&lt;br /&gt;
&lt;br /&gt;
This picture resume the architecture of the project.&lt;br /&gt;
&lt;br /&gt;
[[Image:architecture.jpg]]&lt;br /&gt;
&lt;br /&gt;
If the program estimate the pilot did not loose the control FPGA forward PWM signal from the receiver to servo motors&lt;br /&gt;
&lt;br /&gt;
If the pilot lost control the FPGA generate PWM signal.&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=File:Architecture.jpg&amp;diff=10944</id>
		<title>File:Architecture.jpg</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=File:Architecture.jpg&amp;diff=10944"/>
				<updated>2012-06-08T19:06:25Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=File:Architecture.svg&amp;diff=10943</id>
		<title>File:Architecture.svg</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=File:Architecture.svg&amp;diff=10943"/>
				<updated>2012-06-08T19:03:59Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Aircraft_modelling_assitant_pilot&amp;diff=10942</id>
		<title>Aircraft modelling assitant pilot</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Aircraft_modelling_assitant_pilot&amp;diff=10942"/>
				<updated>2012-06-08T19:03:06Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This project was to create an pilot assistant for aircraft model making.&lt;br /&gt;
&lt;br /&gt;
The idea it to have the hard real time part on the FPGA and the soft on the CPU.&lt;br /&gt;
&lt;br /&gt;
The system have two informations altitude from barometric sensor and positioning from an three axis gyroscope.&lt;br /&gt;
&lt;br /&gt;
The system have to control the plane if the pilot lost control&lt;br /&gt;
&lt;br /&gt;
This picture resume the architecture of the project[[Image:architecture.jpg]]&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=GSM/GPRS&amp;diff=10941</id>
		<title>GSM/GPRS</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=GSM/GPRS&amp;diff=10941"/>
				<updated>2012-06-08T18:19:42Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: /* APF51Dev */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will summarize informations to use the GSM/GPRS/3G module of the [[Wireless_extension_board|APF27Wireless board]] and the [[APF51Dev]] (optional).&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
GSM/GPRS are generally driven through the RS-232 bus. AT commands are used to dialog with the module.&lt;br /&gt;
* GSM MODEM of the [[Wireless_extension_board|APF27Wireless extension board (APW)]] is connected to the UART2 (/dev/ttySMX1) of the [[APF27]].&lt;br /&gt;
* GSM/3G MODEM of the [[APF51Dev]] is connected to the i.MX processor through an UART implemented in the FPGA. So the corresponding bitfile has to loaded before trying to access the MODEM.&lt;br /&gt;
Both are using a Sagem's Hilo module. Hilo AT commands can be found [http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf here]&lt;br /&gt;
&lt;br /&gt;
==Linux configuration (APF27Dev only)==&lt;br /&gt;
* Linux will have to be configured in order to tell that an APW is connected to your [[APF27Dev]]:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
System Type  ---&amp;gt;&lt;br /&gt;
    Freescale MXC Implementations  ---&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
            Extension board (Wireless (APW))  ---&amp;gt;&lt;br /&gt;
       [*] GSM/GPRS Modem (NEW)&lt;br /&gt;
       [ ] Bluetooth &amp;amp; WiFi module (NEW)&lt;br /&gt;
       [ ] CSI (Camera) pass-through (NEW)&lt;br /&gt;
       [ ] GPS module (NEW)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* reflash you Linux kernel&lt;br /&gt;
&lt;br /&gt;
==Configure serial port==&lt;br /&gt;
====APF27====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttySMX1              (or /dev/ttymxc1 on recent kernels)&lt;br /&gt;
# stty -F $GSM_DEVICE raw -echo -echoe -echok 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====APF51Dev====&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;* Don't forget to put &amp;quot;Wireless&amp;quot; jumper J42 on your [[APF51Dev]] (near microSD connector) '''AND''' power on FPGA Bank 3 (with corresponding jumper J39).&amp;lt;/span&amp;gt;&lt;br /&gt;
* On APF51Dev, GSM/3G module is accessed through serial ports synthetized in APF51's FPGA. So we have to load it first. (Needed dual UARTs FPGA firmware can be found under armadeus-4.0 distribution in ''firmware/pod_scripts'' directory, with the [[POD]] script needed to regenerate it, and is by default installed in rootfs).&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# load_fpga /lib/firmware/fpga/apf51_gsm_gps_firmware.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Once firmware loaded, drivers related to FPGA can be used :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe irq_ocore&lt;br /&gt;
# modprobe 8250&lt;br /&gt;
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled&lt;br /&gt;
# modprobe twin_uarts_irq_mng&lt;br /&gt;
# modprobe twin_uarts_16750&lt;br /&gt;
serial8250.0: ttyS0 at MMIO 0xb8000020 (irq = 320) is a TI16750&lt;br /&gt;
serial8250.0: ttyS1 at MMIO 0xb8000040 (irq = 321) is a TI16750&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Bring MODEM out of reset state (POK_IN/PWON pin, connected to [[APF51_PMIC#GPIO|PMIC GPIO6]]):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe wm831x-gpio&lt;br /&gt;
# echo 245 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
# echo out &amp;gt; /sys/class/gpio/gpio245/direction&lt;br /&gt;
# echo 1 &amp;gt; /sys/class/gpio/gpio245/value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configure serial port:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls /dev/ttyS*&lt;br /&gt;
/dev/ttyS0  /dev/ttyS1  /dev/ttyS2  /dev/ttyS3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If the /dev/ttyS[0-1] files don't exist, create it/them with ''mknod'' :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mknod /dev/ttyS0 c 4 64&lt;br /&gt;
# mknod /dev/ttyS1 c 4 65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttyS0&lt;br /&gt;
# stty -F $GSM_DEVICE raw -echo -echoe -echok 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Usage==&lt;br /&gt;
===Sending AT commands &amp;quot;manually&amp;quot;===&lt;br /&gt;
* Sending AT commands with ''cu'' utility (be sure to [[cu/uucp|have installed it before]]):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cu -l $GSM_DEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
( To exit ''cu'' you will have to type ~. )&lt;br /&gt;
* Check module presence:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATI3&lt;br /&gt;
SAGEM HiC,A.005.00&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| If no echo are printed on serial console: you can't see what you're typing. In that case, to reactivate the echo, use:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATE1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note| By default, the module starts in auto baudrate. This mays result in loss of communication with baud rate higher than 19200 bauds. To avoid problems, the baud rate has to be fixed (here to 115200 bauds):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+IPR=115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Get constructor name:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CGMI&lt;br /&gt;
SAGEM&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get model name:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CGMM&lt;br /&gt;
HILO GPRS&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter PIN code (here 0000). '''!! Use your own and beware that you will only get 3 tries !!:'''&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPIN=&amp;quot;0000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Check PIN code status:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPIN?&lt;br /&gt;
+CPIN: READY&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|Don't launch further AT commands if PIN code wasn't entered successfully}}&lt;br /&gt;
&lt;br /&gt;
* Check module status (0 Ready, 1 Unavailable, 2 Status unknown, 3 Ringing, 4 Call in progress, 5 Asleep):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPAS&lt;br /&gt;
+CPAS: 0&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get Indicator control (&amp;lt;battchg&amp;gt;[0-4],&amp;lt;signal&amp;gt;[0-4],&amp;lt;service&amp;gt;0/1,&amp;lt;message&amp;gt;0/1,&amp;lt;call&amp;gt;0/1,&amp;lt;smsfull&amp;gt;0/1):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CIND?&lt;br /&gt;
+CIND: 0,4,1,0,0,0,1&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get signal quality (should be better than 12/99):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CSQ&lt;br /&gt;
+CSQ: 24,99&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Voice call &amp;quot;123456789&amp;quot; (; is important here to signify a voice call, otherwise a data call is tried and may fail if you don't have the right subscribe)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATD&amp;quot;123456789&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Terminate current call:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATH&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sending AT commands in shell scripts===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GSM_DEVICE=/dev/ttyXXX&lt;br /&gt;
send_at_cmd()&lt;br /&gt;
{&lt;br /&gt;
        echo -e -n &amp;quot;$1\015&amp;quot; &amp;gt; $GSM_DEVICE&lt;br /&gt;
        sleep 1      # Adjustable ! (usleep)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
send_at_cmd AT&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* See ''target/test/test_gsm.sh'' for more details&lt;br /&gt;
&lt;br /&gt;
==Sending SMS==&lt;br /&gt;
* Supposing you are already connected to the modem with cu&lt;br /&gt;
* Check if you can send SMS with your SIM card (you should get +CMGF: (0,1))&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMGF=?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If OK, switch to SMS sending mode:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMGF=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Write a message for 0661234567 phone number:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CMGW=&amp;quot;0661326109&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Hey ! How are you doing ??&lt;br /&gt;
&amp;gt;                    &amp;lt;-- Ctrl+z to end SMS here&lt;br /&gt;
&lt;br /&gt;
+CMGW: 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* +CMGW give you the number of your SMS saved in SIM card or phone memory&lt;br /&gt;
* Then, at anytime, you can send your SMS with (pass previous number as parameter):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMSS=8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools to look at==&lt;br /&gt;
* http://www.developershome.com/sms/freeLibForSMS.asp&lt;br /&gt;
* http://www.gnokii.org/&lt;br /&gt;
* http://www.alamin.org/en/index.html&lt;br /&gt;
* http://www.gammu.org/wiki/index.php?title=Gammu:Main_Page&lt;br /&gt;
* http://gatling.ikk.sztaki.hu/~kissg/gsm/index.html&lt;br /&gt;
&lt;br /&gt;
==Data tranfers (EDGE/3G)==&lt;br /&gt;
&lt;br /&gt;
===PPP installation (done by default on APF51)===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    [*] Network device support  ---&amp;gt;&lt;br /&gt;
        &amp;lt;M&amp;gt;   PPP (point-to-point protocol) support&lt;br /&gt;
        [ ]     PPP multilink support (EXPERIMENTAL)&lt;br /&gt;
        [ ]     PPP filtering&lt;br /&gt;
        &amp;lt;M&amp;gt;     PPP support for async serial ports&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP support for sync tty ports&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP Deflate compression&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP BSD-Compress compression&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP MPPE compression (encryption) (EXPERIMENTAL)&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP over Ethernet (EXPERIMENTAL)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Networking applications  ---&amp;gt;&lt;br /&gt;
        [*] pppd&lt;br /&gt;
        [ ]   filtering&lt;br /&gt;
        [ ]   radius&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26 &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reflash kernel &amp;amp; rootfs&lt;br /&gt;
&lt;br /&gt;
===PPP configuration===&lt;br /&gt;
{{Note|Following instructions are given for the French operator &amp;quot;Bouygtel&amp;quot; and may need to be ajusted accordingly, depending on your operator/country}}&lt;br /&gt;
&lt;br /&gt;
* Create a &amp;quot;chat&amp;quot; script that will be used to initiate MODEM dialup (here we use the &amp;quot;cat &amp;gt; xxxx &amp;lt;&amp;lt; EOF trick&amp;quot; to automatically create the file, but you can also manually edit it with ''vi'' or ''nano''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/chatscripts/&lt;br /&gt;
# cat &amp;gt; /etc/chatscripts/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT DELAYED ABORT ERROR&lt;br /&gt;
'' AT&lt;br /&gt;
OK AT+IPR=115200&lt;br /&gt;
OK AT+CPIN=&amp;quot;0000&amp;quot;&lt;br /&gt;
OK AT+CFUN=1&lt;br /&gt;
OK AT+COPS?&lt;br /&gt;
OK AT+CSQ&lt;br /&gt;
OK 'AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;ebouygtel.com&amp;quot;,&amp;quot;&amp;quot;,0,0'&lt;br /&gt;
OK 'AT&amp;amp;FE0Q0V1'&lt;br /&gt;
OK 'ATD*99#'&lt;br /&gt;
CONNECT &amp;quot;&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Don't forget to set the baudrate (default: 115200) to have a stable communication between the modem and the processor&lt;br /&gt;
* Don't forget to update &amp;quot;AT+CPIN=&amp;quot; with your real PIN code and &amp;quot;AT+CGDCONT&amp;quot; and &amp;quot;ATD*99#&amp;quot; with your operator parameters.&lt;br /&gt;
* If you want to test your chat script (verbose mode -v, on console -s, with 5 second timeout by default for commands -t 5), then launch:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# /usr/sbin/chat -v -s -t 5 -f /etc/chatscripts/bouygtel &amp;gt; $GSM_DEVICE &amp;lt; $GSM_DEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If this test was OK, you may have to poweroff/poweron the MODEM to bring it to its initial state and go further.&lt;br /&gt;
&lt;br /&gt;
====For '''APF51'''====&lt;br /&gt;
* create the PPPd config files (''/etc/ppp/peers/bouygtel'' and ''/etc/ppp/options.ttyS0''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/ppp/peers/&lt;br /&gt;
# cat &amp;gt; /etc/ppp/peers/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
noauth&lt;br /&gt;
connect &amp;quot;/usr/sbin/chat -v -t 5 -f /etc/chatscripts/bouygtel&amp;quot;&lt;br /&gt;
debug&lt;br /&gt;
ttyS0&lt;br /&gt;
defaultroute&lt;br /&gt;
noipdefault&lt;br /&gt;
usepeerdns&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# cat &amp;gt; /etc/ppp/options.ttyS0 &amp;lt;&amp;lt;EOF&lt;br /&gt;
115200&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For '''APF27'''====&lt;br /&gt;
{{Note| Check if /dev/ttySMX1 exists, if not create it with :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
mknod /dev/ttySMX1 c 204 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
* create the PPPd config files (''/etc/ppp/peers/bouygtel'' and ''/etc/ppp/options.ttySMX1''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/ppp/peers/&lt;br /&gt;
# cat &amp;gt; /etc/ppp/peers/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
noauth&lt;br /&gt;
connect &amp;quot;/usr/sbin/chat -v -t 5 -f /etc/chatscripts/bouygtel&amp;quot;&lt;br /&gt;
debug&lt;br /&gt;
ttySMX1&lt;br /&gt;
defaultroute&lt;br /&gt;
noipdefault&lt;br /&gt;
usepeerdns&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# cat &amp;gt; /etc/ppp/options.ttySMX1 &amp;lt;&amp;lt;EOF&lt;br /&gt;
115200&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PPP Usage===&lt;br /&gt;
* Load PPP module:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe ppp          (APF27)&lt;br /&gt;
or&lt;br /&gt;
# modprobe ppp_async    (APF51)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Setup serial port name depending on your platform (''/dev/ttyS0'' on APF51, ''/dev/ttySMX1'' on APF27)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttyS0&lt;br /&gt;
or&lt;br /&gt;
# export GSM_DEVICE=/dev/ttySMX1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Launch the beast:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# pppd $GSM_DEVICE 115200 call bouygtel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ping www.google.fr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshots ===&lt;br /&gt;
* Might be needed after a successful IP setup:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cp /etc/ppp/resolv.conf /etc/resolv.conf&lt;br /&gt;
# route add default ppp0     (due to defaultroute option in ppp ?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To see what happened after having launched ''pppd'' or ''chat'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# tail -f /var/log/messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GSM Muxing==&lt;br /&gt;
===Why ?===&lt;br /&gt;
* By default AT commands usage is single threaded, ie only one program can open MODEM serial port and send AT commands at a given time. However it could be interesting to be able to send multiple AT commands from multiple programs at the same time, for example in order to: have a PPP link, send SMS and monitor network signal quality.&lt;br /&gt;
* This can be done by a &amp;quot;GSM mux&amp;quot;, if your MODEM support the GSM 07.10 muxing norm (which is the case with our HiLo modules).&lt;br /&gt;
===Build gsmmux===&lt;br /&gt;
* To build GSM mux (if not already done):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Hardware handling  ---&amp;gt;&lt;br /&gt;
        [*] gsmmux&lt;br /&gt;
              Version to use (sagem)  ---&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Use it===&lt;br /&gt;
* If you have access to Sagem's version (you will get as much as virtual serial port as times you pass ''/dev/ptmx'' to the daemon):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gsmMuxd -p $GSM_DEVICE -b 115200 -x /dev/ptmx /dev/ptmx /dev/ptmx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Virtual serial ports will be created in ''/dev/pts/'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
/dev/pts/0 /dev/pts/1 /dev/pts/2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* to know how ''/dev/ptmx'' &amp;amp; ''/dev/pts/x'' is working: [http://linux.die.net/man/4/ptmx]&lt;br /&gt;
* If you have telnet or SSH sessions running ''/dev/pts/0'' may already be used ans so virtual serial ports will be allocated from ''/dev/pts/1'', etc...&lt;br /&gt;
&lt;br /&gt;
===Going further===&lt;br /&gt;
* In recent Linux kernels, there is also a driver to hanlde GSM muxing: n_gsm&lt;br /&gt;
* People wanting to do a &amp;quot;real&amp;quot; phone can take a look at [http://ofono.org/documentation ofono]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://support.sagemcom.com/site/modele_fax.php?page=produit&amp;amp;numero_type=22&amp;amp;produit=877 HiLo 3G documentation at Sagem]&lt;br /&gt;
* [http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf HiLo AT Commands]&lt;br /&gt;
* [http://www.developershome.com/sms/ SMS tutorial]&lt;br /&gt;
* http://wiki.openmoko.org/wiki/Neo_1973_and_Neo_FreeRunner_gsm_modem&lt;br /&gt;
* [http://www.anotherurl.com/library/at_test.htm AT Test commands]&lt;br /&gt;
* http://www.gsm-modem.de/gsm-faq.html&lt;br /&gt;
* [http://www.technologuepro.com/gsm/commande_at.htm Les commandes AT]&lt;br /&gt;
&lt;br /&gt;
[[Category:Wireless]]&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=GSM/GPRS&amp;diff=10940</id>
		<title>GSM/GPRS</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=GSM/GPRS&amp;diff=10940"/>
				<updated>2012-06-08T18:18:23Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will summarize informations to use the GSM/GPRS/3G module of the [[Wireless_extension_board|APF27Wireless board]] and the [[APF51Dev]] (optional).&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
GSM/GPRS are generally driven through the RS-232 bus. AT commands are used to dialog with the module.&lt;br /&gt;
* GSM MODEM of the [[Wireless_extension_board|APF27Wireless extension board (APW)]] is connected to the UART2 (/dev/ttySMX1) of the [[APF27]].&lt;br /&gt;
* GSM/3G MODEM of the [[APF51Dev]] is connected to the i.MX processor through an UART implemented in the FPGA. So the corresponding bitfile has to loaded before trying to access the MODEM.&lt;br /&gt;
Both are using a Sagem's Hilo module. Hilo AT commands can be found [http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf here]&lt;br /&gt;
&lt;br /&gt;
==Linux configuration (APF27Dev only)==&lt;br /&gt;
* Linux will have to be configured in order to tell that an APW is connected to your [[APF27Dev]]:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
System Type  ---&amp;gt;&lt;br /&gt;
    Freescale MXC Implementations  ---&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
            Extension board (Wireless (APW))  ---&amp;gt;&lt;br /&gt;
       [*] GSM/GPRS Modem (NEW)&lt;br /&gt;
       [ ] Bluetooth &amp;amp; WiFi module (NEW)&lt;br /&gt;
       [ ] CSI (Camera) pass-through (NEW)&lt;br /&gt;
       [ ] GPS module (NEW)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* reflash you Linux kernel&lt;br /&gt;
&lt;br /&gt;
==Configure serial port==&lt;br /&gt;
====APF27====&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttySMX1              (or /dev/ttymxc1 on recent kernels)&lt;br /&gt;
# stty -F $GSM_DEVICE raw -echo -echoe -echok 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====APF51Dev====&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
* Don't forget to put &amp;quot;Wireless&amp;quot; jumper J42 on your [[APF51Dev]] (near microSD connector) '''AND''' power on FPGA Bank 3 (with corresponding jumper J39).&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
* On APF51Dev, GSM/3G module is accessed through serial ports synthetized in APF51's FPGA. So we have to load it first. (Needed dual UARTs FPGA firmware can be found under armadeus-4.0 distribution in ''firmware/pod_scripts'' directory, with the [[POD]] script needed to regenerate it, and is by default installed in rootfs).&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# load_fpga /lib/firmware/fpga/apf51_gsm_gps_firmware.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Once firmware loaded, drivers related to FPGA can be used :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe irq_ocore&lt;br /&gt;
# modprobe 8250&lt;br /&gt;
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled&lt;br /&gt;
# modprobe twin_uarts_irq_mng&lt;br /&gt;
# modprobe twin_uarts_16750&lt;br /&gt;
serial8250.0: ttyS0 at MMIO 0xb8000020 (irq = 320) is a TI16750&lt;br /&gt;
serial8250.0: ttyS1 at MMIO 0xb8000040 (irq = 321) is a TI16750&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Bring MODEM out of reset state (POK_IN/PWON pin, connected to [[APF51_PMIC#GPIO|PMIC GPIO6]]):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe wm831x-gpio&lt;br /&gt;
# echo 245 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
# echo out &amp;gt; /sys/class/gpio/gpio245/direction&lt;br /&gt;
# echo 1 &amp;gt; /sys/class/gpio/gpio245/value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configure serial port:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ls /dev/ttyS*&lt;br /&gt;
/dev/ttyS0  /dev/ttyS1  /dev/ttyS2  /dev/ttyS3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If the /dev/ttyS[0-1] files don't exist, create it/them with ''mknod'' :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mknod /dev/ttyS0 c 4 64&lt;br /&gt;
# mknod /dev/ttyS1 c 4 65&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttyS0&lt;br /&gt;
# stty -F $GSM_DEVICE raw -echo -echoe -echok 115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Usage==&lt;br /&gt;
===Sending AT commands &amp;quot;manually&amp;quot;===&lt;br /&gt;
* Sending AT commands with ''cu'' utility (be sure to [[cu/uucp|have installed it before]]):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cu -l $GSM_DEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
( To exit ''cu'' you will have to type ~. )&lt;br /&gt;
* Check module presence:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATI3&lt;br /&gt;
SAGEM HiC,A.005.00&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| If no echo are printed on serial console: you can't see what you're typing. In that case, to reactivate the echo, use:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATE1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note| By default, the module starts in auto baudrate. This mays result in loss of communication with baud rate higher than 19200 bauds. To avoid problems, the baud rate has to be fixed (here to 115200 bauds):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+IPR=115200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Get constructor name:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CGMI&lt;br /&gt;
SAGEM&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get model name:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CGMM&lt;br /&gt;
HILO GPRS&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enter PIN code (here 0000). '''!! Use your own and beware that you will only get 3 tries !!:'''&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPIN=&amp;quot;0000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Check PIN code status:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPIN?&lt;br /&gt;
+CPIN: READY&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|Don't launch further AT commands if PIN code wasn't entered successfully}}&lt;br /&gt;
&lt;br /&gt;
* Check module status (0 Ready, 1 Unavailable, 2 Status unknown, 3 Ringing, 4 Call in progress, 5 Asleep):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CPAS&lt;br /&gt;
+CPAS: 0&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get Indicator control (&amp;lt;battchg&amp;gt;[0-4],&amp;lt;signal&amp;gt;[0-4],&amp;lt;service&amp;gt;0/1,&amp;lt;message&amp;gt;0/1,&amp;lt;call&amp;gt;0/1,&amp;lt;smsfull&amp;gt;0/1):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CIND?&lt;br /&gt;
+CIND: 0,4,1,0,0,0,1&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get signal quality (should be better than 12/99):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CSQ&lt;br /&gt;
+CSQ: 24,99&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Voice call &amp;quot;123456789&amp;quot; (; is important here to signify a voice call, otherwise a data call is tried and may fail if you don't have the right subscribe)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATD&amp;quot;123456789&amp;quot;;&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Terminate current call:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
ATH&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sending AT commands in shell scripts===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GSM_DEVICE=/dev/ttyXXX&lt;br /&gt;
send_at_cmd()&lt;br /&gt;
{&lt;br /&gt;
        echo -e -n &amp;quot;$1\015&amp;quot; &amp;gt; $GSM_DEVICE&lt;br /&gt;
        sleep 1      # Adjustable ! (usleep)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
send_at_cmd AT&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* See ''target/test/test_gsm.sh'' for more details&lt;br /&gt;
&lt;br /&gt;
==Sending SMS==&lt;br /&gt;
* Supposing you are already connected to the modem with cu&lt;br /&gt;
* Check if you can send SMS with your SIM card (you should get +CMGF: (0,1))&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMGF=?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If OK, switch to SMS sending mode:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMGF=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Write a message for 0661234567 phone number:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
AT+CMGW=&amp;quot;0661326109&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Hey ! How are you doing ??&lt;br /&gt;
&amp;gt;                    &amp;lt;-- Ctrl+z to end SMS here&lt;br /&gt;
&lt;br /&gt;
+CMGW: 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* +CMGW give you the number of your SMS saved in SIM card or phone memory&lt;br /&gt;
* Then, at anytime, you can send your SMS with (pass previous number as parameter):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
 AT+CMSS=8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools to look at==&lt;br /&gt;
* http://www.developershome.com/sms/freeLibForSMS.asp&lt;br /&gt;
* http://www.gnokii.org/&lt;br /&gt;
* http://www.alamin.org/en/index.html&lt;br /&gt;
* http://www.gammu.org/wiki/index.php?title=Gammu:Main_Page&lt;br /&gt;
* http://gatling.ikk.sztaki.hu/~kissg/gsm/index.html&lt;br /&gt;
&lt;br /&gt;
==Data tranfers (EDGE/3G)==&lt;br /&gt;
&lt;br /&gt;
===PPP installation (done by default on APF51)===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    [*] Network device support  ---&amp;gt;&lt;br /&gt;
        &amp;lt;M&amp;gt;   PPP (point-to-point protocol) support&lt;br /&gt;
        [ ]     PPP multilink support (EXPERIMENTAL)&lt;br /&gt;
        [ ]     PPP filtering&lt;br /&gt;
        &amp;lt;M&amp;gt;     PPP support for async serial ports&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP support for sync tty ports&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP Deflate compression&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP BSD-Compress compression&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP MPPE compression (encryption) (EXPERIMENTAL)&lt;br /&gt;
        &amp;lt; &amp;gt;     PPP over Ethernet (EXPERIMENTAL)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Networking applications  ---&amp;gt;&lt;br /&gt;
        [*] pppd&lt;br /&gt;
        [ ]   filtering&lt;br /&gt;
        [ ]   radius&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux26 &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reflash kernel &amp;amp; rootfs&lt;br /&gt;
&lt;br /&gt;
===PPP configuration===&lt;br /&gt;
{{Note|Following instructions are given for the French operator &amp;quot;Bouygtel&amp;quot; and may need to be ajusted accordingly, depending on your operator/country}}&lt;br /&gt;
&lt;br /&gt;
* Create a &amp;quot;chat&amp;quot; script that will be used to initiate MODEM dialup (here we use the &amp;quot;cat &amp;gt; xxxx &amp;lt;&amp;lt; EOF trick&amp;quot; to automatically create the file, but you can also manually edit it with ''vi'' or ''nano''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/chatscripts/&lt;br /&gt;
# cat &amp;gt; /etc/chatscripts/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO ANSWER' ABORT DELAYED ABORT ERROR&lt;br /&gt;
'' AT&lt;br /&gt;
OK AT+IPR=115200&lt;br /&gt;
OK AT+CPIN=&amp;quot;0000&amp;quot;&lt;br /&gt;
OK AT+CFUN=1&lt;br /&gt;
OK AT+COPS?&lt;br /&gt;
OK AT+CSQ&lt;br /&gt;
OK 'AT+CGDCONT=1,&amp;quot;IP&amp;quot;,&amp;quot;ebouygtel.com&amp;quot;,&amp;quot;&amp;quot;,0,0'&lt;br /&gt;
OK 'AT&amp;amp;FE0Q0V1'&lt;br /&gt;
OK 'ATD*99#'&lt;br /&gt;
CONNECT &amp;quot;&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Don't forget to set the baudrate (default: 115200) to have a stable communication between the modem and the processor&lt;br /&gt;
* Don't forget to update &amp;quot;AT+CPIN=&amp;quot; with your real PIN code and &amp;quot;AT+CGDCONT&amp;quot; and &amp;quot;ATD*99#&amp;quot; with your operator parameters.&lt;br /&gt;
* If you want to test your chat script (verbose mode -v, on console -s, with 5 second timeout by default for commands -t 5), then launch:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# /usr/sbin/chat -v -s -t 5 -f /etc/chatscripts/bouygtel &amp;gt; $GSM_DEVICE &amp;lt; $GSM_DEVICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If this test was OK, you may have to poweroff/poweron the MODEM to bring it to its initial state and go further.&lt;br /&gt;
&lt;br /&gt;
====For '''APF51'''====&lt;br /&gt;
* create the PPPd config files (''/etc/ppp/peers/bouygtel'' and ''/etc/ppp/options.ttyS0''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/ppp/peers/&lt;br /&gt;
# cat &amp;gt; /etc/ppp/peers/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
noauth&lt;br /&gt;
connect &amp;quot;/usr/sbin/chat -v -t 5 -f /etc/chatscripts/bouygtel&amp;quot;&lt;br /&gt;
debug&lt;br /&gt;
ttyS0&lt;br /&gt;
defaultroute&lt;br /&gt;
noipdefault&lt;br /&gt;
usepeerdns&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# cat &amp;gt; /etc/ppp/options.ttyS0 &amp;lt;&amp;lt;EOF&lt;br /&gt;
115200&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For '''APF27'''====&lt;br /&gt;
{{Note| Check if /dev/ttySMX1 exists, if not create it with :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
mknod /dev/ttySMX1 c 204 42&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
* create the PPPd config files (''/etc/ppp/peers/bouygtel'' and ''/etc/ppp/options.ttySMX1''):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# mkdir -p /etc/ppp/peers/&lt;br /&gt;
# cat &amp;gt; /etc/ppp/peers/bouygtel &amp;lt;&amp;lt;EOF&lt;br /&gt;
noauth&lt;br /&gt;
connect &amp;quot;/usr/sbin/chat -v -t 5 -f /etc/chatscripts/bouygtel&amp;quot;&lt;br /&gt;
debug&lt;br /&gt;
ttySMX1&lt;br /&gt;
defaultroute&lt;br /&gt;
noipdefault&lt;br /&gt;
usepeerdns&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# cat &amp;gt; /etc/ppp/options.ttySMX1 &amp;lt;&amp;lt;EOF&lt;br /&gt;
115200&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PPP Usage===&lt;br /&gt;
* Load PPP module:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# modprobe ppp          (APF27)&lt;br /&gt;
or&lt;br /&gt;
# modprobe ppp_async    (APF51)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Setup serial port name depending on your platform (''/dev/ttyS0'' on APF51, ''/dev/ttySMX1'' on APF27)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# export GSM_DEVICE=/dev/ttyS0&lt;br /&gt;
or&lt;br /&gt;
# export GSM_DEVICE=/dev/ttySMX1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Launch the beast:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# pppd $GSM_DEVICE 115200 call bouygtel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# ping www.google.fr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshots ===&lt;br /&gt;
* Might be needed after a successful IP setup:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# cp /etc/ppp/resolv.conf /etc/resolv.conf&lt;br /&gt;
# route add default ppp0     (due to defaultroute option in ppp ?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To see what happened after having launched ''pppd'' or ''chat'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# tail -f /var/log/messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GSM Muxing==&lt;br /&gt;
===Why ?===&lt;br /&gt;
* By default AT commands usage is single threaded, ie only one program can open MODEM serial port and send AT commands at a given time. However it could be interesting to be able to send multiple AT commands from multiple programs at the same time, for example in order to: have a PPP link, send SMS and monitor network signal quality.&lt;br /&gt;
* This can be done by a &amp;quot;GSM mux&amp;quot;, if your MODEM support the GSM 07.10 muxing norm (which is the case with our HiLo modules).&lt;br /&gt;
===Build gsmmux===&lt;br /&gt;
* To build GSM mux (if not already done):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Package Selection for the target  ---&amp;gt;&lt;br /&gt;
    Hardware handling  ---&amp;gt;&lt;br /&gt;
        [*] gsmmux&lt;br /&gt;
              Version to use (sagem)  ---&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Use it===&lt;br /&gt;
* If you have access to Sagem's version (you will get as much as virtual serial port as times you pass ''/dev/ptmx'' to the daemon):&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
# gsmMuxd -p $GSM_DEVICE -b 115200 -x /dev/ptmx /dev/ptmx /dev/ptmx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Virtual serial ports will be created in ''/dev/pts/'':&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
/dev/pts/0 /dev/pts/1 /dev/pts/2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* to know how ''/dev/ptmx'' &amp;amp; ''/dev/pts/x'' is working: [http://linux.die.net/man/4/ptmx]&lt;br /&gt;
* If you have telnet or SSH sessions running ''/dev/pts/0'' may already be used ans so virtual serial ports will be allocated from ''/dev/pts/1'', etc...&lt;br /&gt;
&lt;br /&gt;
===Going further===&lt;br /&gt;
* In recent Linux kernels, there is also a driver to hanlde GSM muxing: n_gsm&lt;br /&gt;
* People wanting to do a &amp;quot;real&amp;quot; phone can take a look at [http://ofono.org/documentation ofono]&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://support.sagemcom.com/site/modele_fax.php?page=produit&amp;amp;numero_type=22&amp;amp;produit=877 HiLo 3G documentation at Sagem]&lt;br /&gt;
* [http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf HiLo AT Commands]&lt;br /&gt;
* [http://www.developershome.com/sms/ SMS tutorial]&lt;br /&gt;
* http://wiki.openmoko.org/wiki/Neo_1973_and_Neo_FreeRunner_gsm_modem&lt;br /&gt;
* [http://www.anotherurl.com/library/at_test.htm AT Test commands]&lt;br /&gt;
* http://www.gsm-modem.de/gsm-faq.html&lt;br /&gt;
* [http://www.technologuepro.com/gsm/commande_at.htm Les commandes AT]&lt;br /&gt;
&lt;br /&gt;
[[Category:Wireless]]&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Aircraft_modelling_assitant_pilot&amp;diff=10929</id>
		<title>Aircraft modelling assitant pilot</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Aircraft_modelling_assitant_pilot&amp;diff=10929"/>
				<updated>2012-05-31T19:51:16Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: New page: This project was to create an pilot assistant for aircraft model making.  The idea it to have the hard real time part on the FPGA and the soft on the CPU.  The system have two informations...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This project was to create an pilot assistant for aircraft model making.&lt;br /&gt;
&lt;br /&gt;
The idea it to have the hard real time part on the FPGA and the soft on the CPU.&lt;br /&gt;
&lt;br /&gt;
The system have two informations altitude from barometric sensor and positioning from an three axis gyroscope.&lt;br /&gt;
&lt;br /&gt;
The system have to control the plane if the pilot lost control&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:HerveDa&amp;diff=10928</id>
		<title>User:HerveDa</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:HerveDa&amp;diff=10928"/>
				<updated>2012-05-31T19:43:14Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Project:&lt;br /&gt;
&lt;br /&gt;
[[Aircraft modelling assitant pilot]] (school project)&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:HerveDa&amp;diff=10927</id>
		<title>User:HerveDa</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:HerveDa&amp;diff=10927"/>
				<updated>2012-05-31T19:40:38Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: New page:   Project:  Aircraft modelling assitant pilot (school project)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Project:&lt;br /&gt;
&lt;br /&gt;
Aircraft modelling assitant pilot (school project)&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=MemberList&amp;diff=10550</id>
		<title>MemberList</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=MemberList&amp;diff=10550"/>
				<updated>2012-01-23T19:54:23Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: /* Here is the list of the (active) members and their skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Here is the list of the (active) members and their skills==&lt;br /&gt;
&lt;br /&gt;
This list is maintained by the users themself.&lt;br /&gt;
&lt;br /&gt;
*0: Novice&lt;br /&gt;
*1: Notions. At least one successfull experiment&lt;br /&gt;
*2: Confirmed&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Signal connections&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! '''Name / IRC Nickname''' || '''Linux Apps'''|| '''Linux Drivers'''|| '''FPGA''' || '''Board Design''' || '''Projet/Domain'''&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:Salocin68|Nicolas Colombain / Salocin]] || 1 || 1 || 1 || 2 || domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienB|Julien Boibessot / Artemys]] || 2 || 2 || 0 || 1 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanBaptisteM|Jean-Baptiste Mayer / JiBee]] || 2 || 1 || 1 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasA|Nicolas Aguirre]] || 2 || 0 || 1 || 1 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BenoitC|Benoît Canet]] || 2 || 0 || 0 || 0 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SonZerro|Sonzerro]] || 0 || 0 || 1 || 2 || domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:HenriG|Henri Geist]] || 1 || 1 || 0 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BorredonB|Bernard Borredon]] || 2 || 1 || 0 || 1 || domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:ThomasB|Thomas Bores]] || 2 || 0 || 0 || 1 || Entertainment&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FabriceM|Fabrice Mousset / KroMignon]] || 1 || 1 || 2 || 1 || Domotics &amp;amp; multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AmineH|Amine EL HEDADI]] || 2 || 2 || 0 || 0 || domotics &amp;amp; robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PhilippeM|Philippe Monteil]] || 2 || 0 || 0 || 0 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:CedricZ|Cédric Zmyj]] || 0 || 0 || 0 || 0 || domotics &amp;amp; robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanMichelN|Jean Michel Naimo / jeanmi12 ]] || 2 || 1 || 1 || 1 || Domotics &amp;amp; entertainment&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:OlivierC|Olivier Coutanceau]] || 1 || 0 || 0 || 0 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:ArnaudC|Arnaud COFFINET]] || 0 || 0 || 1 || 2 || multimedia &amp;amp; domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SylvainP|Sylvain PARRINO]] || 2 || 1 || 0 || 0 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AurelienH|Aurélien HIRON]] || 2 || 0 || 0 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:GuillaumeT|Guillaume TRANNOY]] || 0 || 0 || 0 || 2 || domotics &amp;amp; robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienN|Julien NICOLAS / jujun]] || 2 || 1 || 0 || 1 || multimedia &amp;amp; network&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:StephaneF|Stéphane Falck]] || 0 || 0 || 0 || 0 || multimedia &amp;amp; robotics &amp;amp; domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:GillesD|Gilles DUSSIN/ Sellig]] || 1 || 0 || 1 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MaximeL|Maxime Liron]] || 0 || 0 || 0 || 0 || domotics, robotics &amp;amp; multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasC|Nicolas CHARLERY/ realniko]] || 2 || 0 || 0 || 0 || electronic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BenoitJ|Benoit JESTER]] || 0 || 0 || 0 || 0 || robotics &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FabienM|Fabien MARTEAU/ FabM]] || 1 || 2 || 1 || 1 || robotics,domotics &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:XavierA|Xavier AZNAR]] || 1 || 1 || 0 || 0 || environment, entertainment, domotic &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AlbericA|Albéric AUBLANC / PoueT]] || 2 || 0 || 1 || 0 || domotics &amp;amp; multimedia, robotics, entertainment, &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FredericB| Frédéric Blain / creber]] || 2 || 1 || 0 || 0 || system, domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanBaptisteMa| Jean-Baptiste Maillet]] || 2 || 1 || 0 || 0 || system&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanFrancoisR| Jean-François Rousval]] || 2 || 1 || 0 || 1 || &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienPeeters| Julien Peeters]] || 2 || 1 || 0 || 0 || domotics, real-time, entertainment, network&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:YoannC| Yoann Congal / Alpheb]] || 0 || 0 || 0 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MatthieuT| Matthieu Texier / weeber]] || 1 || 0 || 1 || 0 || robotics, real-time&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MartialG| Martial Guex]] || 2 || 1 || 1 || 2 || transceiver RF, real-time, wireless&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasL| Nicolas Lantz]] || 2 || 2 || 1 || 1 ||&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:GuillaumeD| Guillaume DELVIT]] || 1 || 1 || 1 || 1 || system, asynchronous CPU&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BernardR|Bernard REMOND ]] || x || x || x || x || &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SamirH| Samir HAMNACHE]] || 0 || 0 || 0 || 1 || électronique&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:OlivierT|Olivier TARDIEU]] || 0 || 0 || 0 || 1 || électronique,robotics,domotics &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:ThibautR|Thibault Rétornaz]] || 1 || 1 || 1 || 0 || bio-med, électronique&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FrancoisM|Francois Minaud]] || 1 || 1 || 1 || 0 || domotics, real-time, network&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BrunoS|Bruno Suarez]] || 2 || 0 || 0 || 0 ||  électronique, Network&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:guillaumeDe|Guillaume Denis]] || 0 || 0 || 2 || 1 || Electronique numérique, FPGA&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:KevinP|Kévin PETIT]] || 1 || 0 || 1 || 1 || Multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PierreBa|Pierre Baudemont / b4ud3]] || 2 || 0 || 1 || 0 || domotics, robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BrunoL|Bruno Landré]] || 0 || 0 || 0 || 0 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AntonioMB|Antonio Meléndez]] || 0 || 0 || 1 || 2 || domotics, robotics, eletcronics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MichelTe|Michel Le Mer]] || 0 || 0 || 2 || 2 || electronics, software&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienBa|Julien Baley]] || 0 || 0 || 0 || 0 || &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FrankA|Frank ANJEAUX]] || 1 || 0 || 0 || 1 || software,robotics, domotics, electronics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienViaud|Julien viaud/polric]] || 2 || 0 || 1 || 1 || &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasCa|Nicolas CARTIER]] || 1 || 1 || 0 || 2 || domotics &amp;amp; robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PierreAlexandreS|Pierre Alexandre SCHEMBRI]] || 2 || 1 || 2 || 2 || electronics, board design, embedded software, FPGA, robotics, low power&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AlexG|Alex GONZALEZ]] || 2 || 2 || 0 || 1 || telecommunications, network &amp;amp; multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienL|Julien Lefrique / apapi]] || 1 || 0 || 1 || 1 ||&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PaoloB|Paolo Bernini / nihil84]] || 2 || 1 || 0 || 0 || robotics, real-time&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MichielE|Michiel Ettema]] || 0 || 0 || 0 || 1 || telecommunications, networking&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasD|Nicolas Duclos]] || 2 || 1 || 0 || 0 || telecommunications, domotics and funs&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SebastienP|Sebastien Philippe]] || 1 || 2 || 1 || 2 || electronics, board design, embedded linux&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PaulM|Paul MONSINJON]] || 1 || 1 || 2 || 1 || robotics, fpga, embedded linux&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:OlivierR|Olivier REYNET]] || 1 || 0 || 0 || 0 || robotics, linux, networking&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:HugoP|Hugo Petit]] || 0 || 0 || 1 || 2 || electronics, automotive, board design, embedded software&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PhilippeL|Philippe Leduc]] || 1 || 0 || 1 || 1 || robotics, real-time, embedded software, domotic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PierreDe|Pierre Delarboulas]] || 1 || 1 || 0 || 0 || robotics, domotic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:WilliamB|William Benharbone]] || 0 || 0 || 1 || 1 || electronics, board design and funs&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanJacquesP|JeanJacques Pitrolle]] || 2 || 1 || 0 || 0 || embedded software, robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SebastienVC|Sébastien Van Cauwenberghe]] || 2 || 2 || 2 || 0 || Power Electronics, Embedded Systems, FPGA's&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PhilBB|Phil Bergeron-Burns]] || 0 || 0 || 2 || 0 || bio-medical&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JaumeF|Jaume Figueras i Jové]] || 0 || 0 || 2 || 0 || academic, mapping&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MathieuB|Mathieu Boucher]] || 1 || 2 || 1 || 0 ||&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SamuelM|Samuel Martin / smartin]] || 2 || 0 || 1 || 1 || embedded systems, real-time, robotics, multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:GaelV|Gaël Vanderbruggen]] || 1 || 0 || 0 || 0 || bio-medical, robotics, multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanMarcM| pieddemamouth/Jean-Marc Montanier]] || 1 || 0 || 0 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:ChaoyiH| Chaoyi HU]] || 1 || 0 || 0 || 2 || entertainement, telecommunications, electronic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FrancoisG| Francois Goudal / Fanfwe]] || 2 || 2 || 1 || 1 || robotics, telecommunications&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PhilippeLe| Philippe Le Rhun]] || 1 || 0 || 0 || 2 || entertainement, robotics, domotic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeremieG| Jeremie Girouard]] || 0 || 0 || 0 || 0 || expérimentations,learning, Embedded Systems&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:RafalK| Rafal Kapela]] || 2 || 0 || 2 || 0 || Multimedia, real-time video content processing&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:XavierB| Xavier Bruhière]] || 1 || 1 || 1 || 1 || Robotics, domotic, learning&lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:HerveDa| Dang Hervé]] || 0 || 0 || 0 || 0 || Robotics, aeronautics...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [[Members | Geographical position of the members]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Association]]&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Kermit&amp;diff=10401</id>
		<title>Kermit</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Kermit&amp;diff=10401"/>
				<updated>2012-01-12T16:37:50Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: Undo revision 10400 by HerveDa (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kermit is a serial line terminal emulator that allows you to take control of your board through the RS232 line. With it you can have access to the U-Boot/Linux console of your APF without needing to connect a keyboard/screen to the board. ([http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/ For more informations on remote console])&lt;br /&gt;
&lt;br /&gt;
==Installation==  &lt;br /&gt;
The 'sudo' command requires from the user to be registered in the 'sudo' group or to be in the sudoers list on your PC.&lt;br /&gt;
===On *Ubuntu / Debian===&lt;br /&gt;
 $ sudo apt-get install ckermit&lt;br /&gt;
&lt;br /&gt;
you may have to configure your distribution to accept compatible  software from the internet. This can be done through the synaptic package manager -&amp;gt; repositories.. -&amp;gt;debian software -&amp;gt; Non-DFSG-compatible software.&lt;br /&gt;
&lt;br /&gt;
===On Fedora===&lt;br /&gt;
 # rpm -q ckermit&lt;br /&gt;
&lt;br /&gt;
===On OpenSUSE 11.3===&lt;br /&gt;
 # sudo zypper addrepo http://download.opensuse.org/repositories/openSUSE:/11.3:/Contrib/standard/ Contrib&lt;br /&gt;
 # zypper install ckermit&lt;br /&gt;
&lt;br /&gt;
==Configuration==  &lt;br /&gt;
* Edit/Create ''.kermrc'' file in your ''$HOME/'' directory (ex: ''/home/james/.kermrc'') and fill it with:&lt;br /&gt;
 set line /dev/ttyS0&lt;br /&gt;
 set speed 115200&lt;br /&gt;
 set carrier-watch off&lt;br /&gt;
 set handshake none&lt;br /&gt;
 set flow-control none&lt;br /&gt;
 robust&lt;br /&gt;
 set file type bin&lt;br /&gt;
 set file name lit&lt;br /&gt;
 set rec pack 1000&lt;br /&gt;
 set send pack 1000&lt;br /&gt;
 set window 5&lt;br /&gt;
 set transmit linefeed on&lt;br /&gt;
{{:Serial port selection generalities}}&lt;br /&gt;
&lt;br /&gt;
==Usage==  &lt;br /&gt;
* To launch it:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
 $ kermit -c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you get an error message such:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
  /dev/ttyS0 &lt;br /&gt;
  ?SET SPEED has no effect without prior SET LINE &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then recheck that you have read/write rights on the serial port (Typically on Ubuntu: you are not member of &amp;quot;dialout&amp;quot; group).&lt;br /&gt;
On OpenSUSE 11.3 you may need to be in &amp;quot;dialout&amp;quot; and 'uucp&amp;quot; groups and give the rights to write in /var/lock:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
sudo chmod 777 /var/lock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To switch from terminal mode to command mode:&lt;br /&gt;
 CTRL + \ then c&lt;br /&gt;
* To switch from command mode to terminal mode:&lt;br /&gt;
 C-Kermit&amp;gt;c then ENTER&lt;br /&gt;
* To quit:&lt;br /&gt;
 Switch in command mode&lt;br /&gt;
 C-Kermit&amp;gt;q then ENTER&lt;br /&gt;
&lt;br /&gt;
== Usefull tips ==&lt;br /&gt;
&lt;br /&gt;
* Download a file via serial in U-Boot :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
BIOS&amp;gt; loadb&lt;br /&gt;
## Ready for binary (kermit) download to 0xA0000000 at 115200 bps...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then type &amp;lt;Ctrl-\&amp;gt;c and send your file with command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
kermit&amp;gt; send filename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* http://www.columbia.edu/kermit/ckermit.html&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Kermit&amp;diff=10400</id>
		<title>Kermit</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Kermit&amp;diff=10400"/>
				<updated>2012-01-12T16:37:15Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: Undo revision 10399 by HerveDa (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kermit is a serial line terminal emulator that allows you to take control of your board through the RS232 line. With it you can have access to the U-Boot/Linux console of your APF without needing to connect a keyboard/screen to the board. ([http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/ For more informations on remote console])&lt;br /&gt;
&lt;br /&gt;
==Installation==  &lt;br /&gt;
The 'sudo' command requires from the user to be registered in the 'sudo' group or to be in the sudoers list on your PC.&lt;br /&gt;
===On *Ubuntu / Debian===&lt;br /&gt;
 $ sudo apt-get install ckermit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install gkermit -testé sur Debian 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
you may have to configure your distribution to accept compatible  software from the internet. This can be done through the synaptic package manager -&amp;gt; repositories.. -&amp;gt;debian software -&amp;gt; Non-DFSG-compatible software.&lt;br /&gt;
&lt;br /&gt;
===On Fedora===&lt;br /&gt;
 # rpm -q ckermit&lt;br /&gt;
&lt;br /&gt;
===On OpenSUSE 11.3===&lt;br /&gt;
 # sudo zypper addrepo http://download.opensuse.org/repositories/openSUSE:/11.3:/Contrib/standard/ Contrib&lt;br /&gt;
 # zypper install ckermit&lt;br /&gt;
&lt;br /&gt;
==Configuration==  &lt;br /&gt;
* Edit/Create ''.kermrc'' file in your ''$HOME/'' directory (ex: ''/home/james/.kermrc'') and fill it with:&lt;br /&gt;
 set line /dev/ttyS0&lt;br /&gt;
 set speed 115200&lt;br /&gt;
 set carrier-watch off&lt;br /&gt;
 set handshake none&lt;br /&gt;
 set flow-control none&lt;br /&gt;
 robust&lt;br /&gt;
 set file type bin&lt;br /&gt;
 set file name lit&lt;br /&gt;
 set rec pack 1000&lt;br /&gt;
 set send pack 1000&lt;br /&gt;
 set window 5&lt;br /&gt;
 set transmit linefeed on&lt;br /&gt;
{{:Serial port selection generalities}}&lt;br /&gt;
&lt;br /&gt;
==Usage==  &lt;br /&gt;
* To launch it:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
 $ kermit -c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you get an error message such:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
  /dev/ttyS0 &lt;br /&gt;
  ?SET SPEED has no effect without prior SET LINE &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then recheck that you have read/write rights on the serial port (Typically on Ubuntu: you are not member of &amp;quot;dialout&amp;quot; group).&lt;br /&gt;
On OpenSUSE 11.3 you may need to be in &amp;quot;dialout&amp;quot; and 'uucp&amp;quot; groups and give the rights to write in /var/lock:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
sudo chmod 777 /var/lock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To switch from terminal mode to command mode:&lt;br /&gt;
 CTRL + \ then c&lt;br /&gt;
* To switch from command mode to terminal mode:&lt;br /&gt;
 C-Kermit&amp;gt;c then ENTER&lt;br /&gt;
* To quit:&lt;br /&gt;
 Switch in command mode&lt;br /&gt;
 C-Kermit&amp;gt;q then ENTER&lt;br /&gt;
&lt;br /&gt;
== Usefull tips ==&lt;br /&gt;
&lt;br /&gt;
* Download a file via serial in U-Boot :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
BIOS&amp;gt; loadb&lt;br /&gt;
## Ready for binary (kermit) download to 0xA0000000 at 115200 bps...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then type &amp;lt;Ctrl-\&amp;gt;c and send your file with command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
kermit&amp;gt; send filename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* http://www.columbia.edu/kermit/ckermit.html&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Kermit&amp;diff=10399</id>
		<title>Kermit</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Kermit&amp;diff=10399"/>
				<updated>2012-01-12T16:36:36Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kermit is a serial line terminal emulator that allows you to take control of your board through the RS232 line. With it you can have access to the U-Boot/Linux console of your APF without needing to connect a keyboard/screen to the board. ([http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/ For more informations on remote console])&lt;br /&gt;
&lt;br /&gt;
==Installation==  &lt;br /&gt;
The 'sudo' command requires from the user to be registered in the 'sudo' group or to be in the sudoers list on your PC.&lt;br /&gt;
===On *Ubuntu / Debian===&lt;br /&gt;
 $ sudo apt-get install ckermit&lt;br /&gt;
&lt;br /&gt;
you may have to configure your distribution to accept compatible  software from the internet. This can be done through the synaptic package manager -&amp;gt; repositories.. -&amp;gt;debian software -&amp;gt; Non-DFSG-compatible software.&lt;br /&gt;
&lt;br /&gt;
===On Fedora===&lt;br /&gt;
 # rpm -q ckermit&lt;br /&gt;
&lt;br /&gt;
===On OpenSUSE 11.3===&lt;br /&gt;
 # sudo zypper addrepo http://download.opensuse.org/repositories/openSUSE:/11.3:/Contrib/standard/ Contrib&lt;br /&gt;
 # zypper install ckermit&lt;br /&gt;
&lt;br /&gt;
==Configuration==  &lt;br /&gt;
* Edit/Create ''.kermrc'' file in your ''$HOME/'' directory (ex: ''/home/james/.kermrc'') and fill it with:&lt;br /&gt;
 set line /dev/ttyS0&lt;br /&gt;
 set speed 115200&lt;br /&gt;
 set carrier-watch off&lt;br /&gt;
 set handshake none&lt;br /&gt;
 set flow-control none&lt;br /&gt;
 robust&lt;br /&gt;
 set file type bin&lt;br /&gt;
 set file name lit&lt;br /&gt;
 set rec pack 1000&lt;br /&gt;
 set send pack 1000&lt;br /&gt;
 set window 5&lt;br /&gt;
 set transmit linefeed on&lt;br /&gt;
{{:Serial port selection generalities}}&lt;br /&gt;
&lt;br /&gt;
==Usage==  &lt;br /&gt;
* To launch it:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
 $ kermit -c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you get an error message such:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
  /dev/ttyS0 &lt;br /&gt;
  ?SET SPEED has no effect without prior SET LINE &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then recheck that you have read/write rights on the serial port (Typically on Ubuntu: you are not member of &amp;quot;dialout&amp;quot; group).&lt;br /&gt;
On OpenSUSE 11.3 you may need to be in &amp;quot;dialout&amp;quot; and 'uucp&amp;quot; groups and give the rights to write in /var/lock:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
sudo chmod 777 /var/lock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To switch from terminal mode to command mode:&lt;br /&gt;
 CTRL + \ then c&lt;br /&gt;
* To switch from command mode to terminal mode:&lt;br /&gt;
 C-Kermit&amp;gt;c then ENTER&lt;br /&gt;
* To quit:&lt;br /&gt;
 Switch in command mode&lt;br /&gt;
 C-Kermit&amp;gt;q then ENTER&lt;br /&gt;
&lt;br /&gt;
== Usefull tips ==&lt;br /&gt;
&lt;br /&gt;
* Download a file via serial in U-Boot :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
BIOS&amp;gt; loadb&lt;br /&gt;
## Ready for binary (kermit) download to 0xA0000000 at 115200 bps...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then type &amp;lt;Ctrl-\&amp;gt;c and send your file with command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
kermit&amp;gt; send filename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* http://www.columbia.edu/kermit/ckermit.html&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Kermit&amp;diff=10398</id>
		<title>Kermit</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Kermit&amp;diff=10398"/>
				<updated>2012-01-12T16:35:12Z</updated>
		
		<summary type="html">&lt;p&gt;HerveDa: /* On *Ubuntu / Debian */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kermit is a serial line terminal emulator that allows you to take control of your board through the RS232 line. With it you can have access to the U-Boot/Linux console of your APF without needing to connect a keyboard/screen to the board. ([http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/ For more informations on remote console])&lt;br /&gt;
&lt;br /&gt;
==Installation==  &lt;br /&gt;
The 'sudo' command requires from the user to be registered in the 'sudo' group or to be in the sudoers list on your PC.&lt;br /&gt;
===On *Ubuntu / Debian===&lt;br /&gt;
 $ sudo apt-get install ckermit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get install gkermit -testé sur Debian 6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
you may have to configure your distribution to accept compatible  software from the internet. This can be done through the synaptic package manager -&amp;gt; repositories.. -&amp;gt;debian software -&amp;gt; Non-DFSG-compatible software.&lt;br /&gt;
&lt;br /&gt;
===On Fedora===&lt;br /&gt;
 # rpm -q ckermit&lt;br /&gt;
&lt;br /&gt;
===On OpenSUSE 11.3===&lt;br /&gt;
 # sudo zypper addrepo http://download.opensuse.org/repositories/openSUSE:/11.3:/Contrib/standard/ Contrib&lt;br /&gt;
 # zypper install ckermit&lt;br /&gt;
&lt;br /&gt;
==Configuration==  &lt;br /&gt;
* Edit/Create ''.kermrc'' file in your ''$HOME/'' directory (ex: ''/home/james/.kermrc'') and fill it with:&lt;br /&gt;
 set line /dev/ttyS0&lt;br /&gt;
 set speed 115200&lt;br /&gt;
 set carrier-watch off&lt;br /&gt;
 set handshake none&lt;br /&gt;
 set flow-control none&lt;br /&gt;
 robust&lt;br /&gt;
 set file type bin&lt;br /&gt;
 set file name lit&lt;br /&gt;
 set rec pack 1000&lt;br /&gt;
 set send pack 1000&lt;br /&gt;
 set window 5&lt;br /&gt;
 set transmit linefeed on&lt;br /&gt;
{{:Serial port selection generalities}}&lt;br /&gt;
&lt;br /&gt;
==Usage==  &lt;br /&gt;
* To launch it:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
 $ kermit -c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you get an error message such:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
  /dev/ttyS0 &lt;br /&gt;
  ?SET SPEED has no effect without prior SET LINE &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then recheck that you have read/write rights on the serial port (Typically on Ubuntu: you are not member of &amp;quot;dialout&amp;quot; group).&lt;br /&gt;
On OpenSUSE 11.3 you may need to be in &amp;quot;dialout&amp;quot; and 'uucp&amp;quot; groups and give the rights to write in /var/lock:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;gt;&lt;br /&gt;
sudo chmod 777 /var/lock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To switch from terminal mode to command mode:&lt;br /&gt;
 CTRL + \ then c&lt;br /&gt;
* To switch from command mode to terminal mode:&lt;br /&gt;
 C-Kermit&amp;gt;c then ENTER&lt;br /&gt;
* To quit:&lt;br /&gt;
 Switch in command mode&lt;br /&gt;
 C-Kermit&amp;gt;q then ENTER&lt;br /&gt;
&lt;br /&gt;
== Usefull tips ==&lt;br /&gt;
&lt;br /&gt;
* Download a file via serial in U-Boot :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
BIOS&amp;gt; loadb&lt;br /&gt;
## Ready for binary (kermit) download to 0xA0000000 at 115200 bps...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then type &amp;lt;Ctrl-\&amp;gt;c and send your file with command :&lt;br /&gt;
&amp;lt;pre class=&amp;quot;apf&amp;quot;&amp;gt;&lt;br /&gt;
kermit&amp;gt; send filename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* http://www.columbia.edu/kermit/ckermit.html&lt;/div&gt;</summary>
		<author><name>HerveDa</name></author>	</entry>

	</feed>