{"id":5726,"date":"2012-05-06T19:35:47","date_gmt":"2012-05-06T17:35:47","guid":{"rendered":"http:\/\/lukse.lt\/uzrasai\/?p=5726"},"modified":"2013-01-20T13:38:28","modified_gmt":"2013-01-20T11:38:28","slug":"carambola-powered-quadcoper","status":"publish","type":"post","link":"https:\/\/lukse.lt\/uzrasai\/2012-05-carambola-powered-quadcoper\/","title":{"rendered":"Carambola powered quadcoper"},"content":{"rendered":"<p style=\"text-align: justify;\"><a onclick=\"javascript:pageTracker._trackPageview('\/downloads\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_.jpg');\"  href=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_.jpg\" rel=\"lightbox[5726]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-5758\" title=\"IMG_0481_\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_-400x354.jpg\" alt=\"\" width=\"200\" height=\"177\" srcset=\"https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_-400x354.jpg 400w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_-1024x908.jpg 1024w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a>This post is about using Carambola with Arducotper to get live telemetry data from quadcopter.<\/p>\n<p style=\"text-align: center;\"><!--more--><\/p>\n<p style=\"text-align: justify;\"><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.8devices.com\/product\/3\/carambola\/specs');\"  href=\"http:\/\/www.8devices.com\/product\/3\/carambola\/specs\">Carambola<\/a> is low cost, open-source WiFi (21.5 dB \/ 2.4GHz) embeddable platform from <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.8devices.com\/');\"  href=\"http:\/\/www.8devices.com\/\">8devices<\/a>. I have decided to use this board to control <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/code.google.com\/p\/arducopter\/');\"  href=\"http:\/\/code.google.com\/p\/arducopter\/\">arducopter<\/a> from computer. In order to have reliable link I have used two Carambolas. One as AP (on the quadcopter) other as Client (ground station). <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/code.google.com\/p\/ardupilot-mega\/downloads\/list');\"  href=\"http:\/\/code.google.com\/p\/ardupilot-mega\/downloads\/list\">Mission planner<\/a> connects to arducopter via bridge created by these boards.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Preflight photos<\/h2>\n<p>&nbsp;<\/p>\n<div id=\"attachment_5764\" style=\"width: 624px\" class=\"wp-caption alignnone\"><a onclick=\"javascript:pageTracker._trackPageview('\/downloads\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_2.jpg');\"  href=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_2.jpg\" rel=\"lightbox[5726]\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5764\" class=\" wp-image-5764 \" title=\"IMG_0481_\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_2-1024x908.jpg\" alt=\"\" width=\"614\" height=\"545\" srcset=\"https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_2-1024x908.jpg 1024w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0481_2-400x354.jpg 400w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/a><p id=\"caption-attachment-5764\" class=\"wp-caption-text\">All components connected<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_5767\" style=\"width: 624px\" class=\"wp-caption alignnone\"><a onclick=\"javascript:pageTracker._trackPageview('\/downloads\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0485_1.jpg');\"  href=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0485_1.jpg\" rel=\"lightbox[5726]\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5767\" class=\" wp-image-5767 \" title=\"IMG_0485_\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0485_1-1024x682.jpg\" alt=\"\" width=\"614\" height=\"409\" srcset=\"https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0485_1-1024x682.jpg 1024w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0485_1-400x266.jpg 400w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/a><p id=\"caption-attachment-5767\" class=\"wp-caption-text\">Carambola inside of quadcopter<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_5770\" style=\"width: 624px\" class=\"wp-caption alignnone\"><a onclick=\"javascript:pageTracker._trackPageview('\/downloads\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0501_1.jpg');\"  href=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0501_1.jpg\" rel=\"lightbox[5726]\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5770\" class=\" wp-image-5770 \" title=\"IMG_0501_\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0501_1-1024x712.jpg\" alt=\"\" width=\"614\" height=\"427\" srcset=\"https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0501_1-1024x712.jpg 1024w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/IMG_0501_1-400x278.jpg 400w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/a><p id=\"caption-attachment-5770\" class=\"wp-caption-text\">Fully assembled and ready to fly SUAV quadracopter<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_5750\" style=\"width: 624px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5750\" class=\" wp-image-5750\" title=\"Drawing1\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/Drawing1_-1024x545.png\" alt=\"\" width=\"614\" height=\"327\" srcset=\"https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/Drawing1_-1024x545.png 1024w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/Drawing1_-400x213.png 400w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/Drawing1_.png 1920w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><p id=\"caption-attachment-5750\" class=\"wp-caption-text\">Current connection - Arducopter &lt;-&gt; Carambola &lt;-&gt; Carambola &lt;-&gt; PC<\/p><\/div>\n<div class=\"mceTemp\"><\/div>\n<p>&nbsp;<\/p>\n<p>Using this link you can control your SUV (Small Unmanned Vehicle) via joystick from computer and get video from USB webcam. More details are provided at <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.8devices.com\/wiki_carambola\/doku.php\/carambola_robot1');\"  href=\"http:\/\/www.8devices.com\/wiki_carambola\/doku.php\/carambola_robot1\">8devices wiki<\/a>.<\/p>\n<div class=\"mceTemp\">\n<div id=\"attachment_5754\" style=\"width: 624px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5754\" class=\" wp-image-5754  \" title=\"Drawing2_\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/Drawing2_-1024x551.png\" alt=\"\" width=\"614\" height=\"331\" srcset=\"https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/Drawing2_-1024x551.png 1024w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/Drawing2_-400x215.png 400w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/Drawing2_.png 1920w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><p id=\"caption-attachment-5754\" class=\"wp-caption-text\">Possible way to get rid of R\/C RX-TX<\/p><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<h2>Finally &#8211; field tests!<\/h2>\n<p>&nbsp;<\/p>\n<div id=\"attachment_5756\" style=\"width: 624px\" class=\"wp-caption alignnone\"><a onclick=\"javascript:pageTracker._trackPageview('\/downloads\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1821.jpg');\"  href=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1821.jpg\" rel=\"lightbox[5726]\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5756\" class=\" wp-image-5756 \" title=\"CIMG1821\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1821-1024x768.jpg\" alt=\"\" width=\"614\" height=\"461\" srcset=\"https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1821-1024x768.jpg 1024w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1821-400x300.jpg 400w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/a><p id=\"caption-attachment-5756\" class=\"wp-caption-text\">Added external antenna to Carambola bundle package<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_5727\" style=\"width: 624px\" class=\"wp-caption alignnone\"><a onclick=\"javascript:pageTracker._trackPageview('\/downloads\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1822.jpg');\"  href=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1822.jpg\" rel=\"lightbox[5726]\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5727\" class=\" wp-image-5727 \" title=\"CIMG1822\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1822-1024x768.jpg\" alt=\"\" width=\"614\" height=\"461\" srcset=\"https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1822-1024x768.jpg 1024w, https:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/CIMG1822-400x300.jpg 400w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/a><p id=\"caption-attachment-5727\" class=\"wp-caption-text\">Ready to fly!<\/p><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">In a following video I have combined Arducopter Ground Station flight data, video from the ground and video from the air (FPV). Also there are two audio tracks &#8211; one from ground station camera, other from quadcopter. View this video in HD!<\/p>\n<p><iframe loading=\"lazy\" src=\"http:\/\/www.youtube.com\/embed\/_qg779v5GTA\" frameborder=\"0\" width=\"640\" height=\"480\"><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<h2>Configuring telemetry<\/h2>\n<p style=\"text-align: justify;\">More details on how to deal with Carambola can be found at <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.8devices.com\/');\"  href=\"http:\/\/www.8devices.com\/\">8devices<\/a> website. I will provide only config files and\u00a0 commands to run below. If you have any questions, please ask. I will try to help.<\/p>\n<h3>Ground station (STA mode)<\/h3>\n<h4>Edit network settings<\/h4>\n<pre>root@OpenWrt:\/# cat \/etc\/config\/network\r\nconfig 'interface' 'loopback'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ifname' 'lo'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto' 'static'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ipaddr' '127.0.0.1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'netmask' '255.0.0.0'\r\n\r\nconfig 'interface' 'lan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ifname' 'eth0.1 eth0.2'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'type' 'bridge'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto' 'dhcp'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #option ipaddr\u00a0\u00a0 192.168.7.1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #option netmask\u00a0 255.255.255.0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #option defaultroute 1\r\n\r\nconfig 'interface' 'wwan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto' 'static'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option ipaddr\u00a0\u00a0 192.168.6.5\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option netmask\u00a0 255.255.255.0\r\n\r\nconfig 'interface' 'stabridge'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto' 'relay'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'network' 'lan wwan'<\/pre>\n<h4>Prepare radio configuration<\/h4>\n<p>Remove wireless config and create fresh one.<\/p>\n<pre>rm \/etc\/config\/wireless\r\nwifi detect &gt; \/etc\/config\/wireless<\/pre>\n<h4>Edit wireless settings<\/h4>\n<p>In general ad-hoc might work, but in this case I will use AP-STA mode. Don&#8217;tt forget to change MAC address if you are configuring Carambola&#8217;s copy-paste way.<\/p>\n<pre>root@OpenWrt:\/# cat \/etc\/config\/wireless\r\nconfig wifi-device\u00a0 radio0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option type\u00a0\u00a0\u00a0\u00a0 mac80211\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option channel\u00a0 11\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option macaddr\u00a0 00:0c:43:30:54:88\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option hwmode\u00a0\u00a0 11ng\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option htmode\u00a0\u00a0 HT20\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 GF\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 SHORT-GI-20\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 SHORT-GI-40\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 TX-STBC\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 RX-STBC12\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # REMOVE THIS LINE TO ENABLE WIFI:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # option disabled 1\r\n\r\nconfig wifi-iface\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option device\u00a0\u00a0 radio0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option network\u00a0 wwan\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option mode\u00a0\u00a0\u00a0\u00a0 sta\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option ssid\u00a0\u00a0\u00a0\u00a0 quadro\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option encryption psk2\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option key aaaaaaaa<\/pre>\n<h4>Edit DHCP settings<\/h4>\n<pre>root@OpenWrt:\/# cat \/etc\/config\/dhcp\r\nconfig 'dnsmasq'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'domainneeded' '1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'boguspriv' '1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'filterwin2k' '0'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'localise_queries' '1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'rebind_protection' '1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'rebind_localhost' '1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'local' '\/lan\/'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'domain' 'lan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'expandhosts' '1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'nonegcache' '0'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'authoritative' '1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'readethers' '1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'leasefile' '\/tmp\/dhcp.leases'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'resolvfile' '\/tmp\/resolv.conf.auto'\r\n\r\nconfig 'dhcp' 'lan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'interface' 'lan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'start' '100'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'limit' '150'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'leasetime' '12h'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ignore' '1'\r\n\r\nconfig 'dhcp' 'wan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'interface' 'wan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ignore' '1'<\/pre>\n<h4>Edit opkg settings to fix weird package source issue<\/h4>\n<p>If you are not using latest sources to build firmware, or using old firmware (but fresh config files&#8230; strange) you might wish to use openwrt package repository instead of 8devices. In normal conditions you don&#8217;t need to do this.<\/p>\n<pre>root@OpenWrt:\/# cat \/etc\/opkg.conf\r\n#src\/gz snapshots http:\/\/pkg.8devices.com\/carambola\/packages\r\nsrc\/gz snapshots http:\/\/downloads.openwrt.org\/snapshots\/trunk\/ramips\/packages\r\ndest root \/\r\ndest ram \/tmp\r\nlists_dir ext \/var\/opkg-lists\r\noption overlay_root \/overlay<\/pre>\n<h4>Install relayd<\/h4>\n<p>I should test if it works without relayd.<\/p>\n<pre>root@OpenWrt:\/# opkg update\r\nroot@OpenWrt:\/# opkg install relayd<\/pre>\n<h4>Remove firewall<\/h4>\n<p>I spent half a day figuring out how to fix link issues. After wise guy advised removing firewall (which in our case is useless) link started to work as expected.<\/p>\n<pre>opkg remove firewall<\/pre>\n<h3>Quadcopter (AP mode)<\/h3>\n<h4>Edit network settings<\/h4>\n<pre>root@OpenWrt:\/# cat \/etc\/config\/network\r\nconfig 'interface' 'loopback'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ifname' 'lo'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto' 'static'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ipaddr' '127.0.0.1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'netmask' '255.0.0.0'\r\n\r\nconfig 'interface' 'lan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ifname' 'eth0.1 eth0.2'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #option 'ifname' 'eth0.1 eth0.2'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'type' 'bridge'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto' 'dhcp'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ipaddr' '192.168.6.2'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'netmask' '255.255.255.0'\r\n\r\nconfig interface wifi\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto'\u00a0\u00a0\u00a0\u00a0\u00a0 'static'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ipaddr'\u00a0\u00a0\u00a0\u00a0 '192.168.6.6'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'netmask'\u00a0\u00a0\u00a0 '255.255.255.0'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option defaultroute 1<\/pre>\n<h4>Enable ttyS0<\/h4>\n<p>Make pins used for other serial port dedicated for UART not GPIO.<\/p>\n<pre>root@OpenWrt:\/# cd \/usr\/sbin\r\nroot@OpenWrt:\/usr\/sbin# wget <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/www.8devices.com\/files\/mmio');\" title=\"http:\/\/www.8devices.com\/files\/mmio\"  href=\"http:\/\/www.8devices.com\/files\/mmio\" rel=\"nofollow\">http:\/\/www.8devices.com\/files\/mmio<\/a>\r\nroot@OpenWrt:\/usr\/sbin# chmod 777 mmio<\/pre>\n<p>Disable console on ttyS0<\/p>\n<pre>root@OpenWrt:\/# cat \/etc\/inittab\r\n::sysinit:\/etc\/init.d\/rcS S boot\r\n::shutdown:\/etc\/init.d\/rcS K shutdown\r\n#ttyS0::askfirst:\/bin\/ash --login\r\nttyS1::askfirst:\/bin\/ash --login<\/pre>\n<h4>Edit opkg settings to fix weird package source issue<\/h4>\n<pre>root@OpenWrt:\/# cat \/etc\/opkg.conf\r\n#src\/gz snapshots http:\/\/pkg.8devices.com\/carambola\/packages\r\nsrc\/gz snapshots http:\/\/downloads.openwrt.org\/snapshots\/trunk\/ramips\/packages\r\ndest root \/\r\ndest ram \/tmp\r\nlists_dir ext \/var\/opkg-lists\r\noption overlay_root \/overlay<\/pre>\n<h4>Install ser2net<\/h4>\n<p>This program is acting as bridge between serial port and ethernet. It is not perfect, but does great job. In order to build more reliable link you should use UDP bridge.<\/p>\n<pre>root@OpenWrt:\/usr\/sbin# opkg update\r\nroot@OpenWrt:\/usr\/sbin# opkg install ser2net<\/pre>\n<h4>Put everything in autorun<\/h4>\n<p>At first set pins as serial port, then start ser2net bridge.<\/p>\n<pre>root@OpenWrt:\/# cat \/etc\/rc.local\r\n# Put your custom commands here that should be executed once\r\n# the system init finished. By default this file does nothing.\r\nmmio 0x10000060 0x01\r\nser2net\r\nexit 0<\/pre>\n<h4>Prepare radio configuration<\/h4>\n<pre>root@OpenWrt:\/usr\/sbin#rm \/etc\/config\/wireless\r\nroot@OpenWrt:\/usr\/sbin#wifi detect &gt; \/etc\/config\/wireless<\/pre>\n<h4 style=\"text-align: justify;\">Edit wireless settings<\/h4>\n<pre>root@OpenWrt:\/# cat \/etc\/config\/wireless\r\nconfig wifi-device\u00a0 radio0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option type\u00a0\u00a0\u00a0\u00a0 mac80211\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option channel\u00a0 11\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option macaddr\u00a0 c4:93:00:11:04:90\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option hwmode\u00a0\u00a0 11ng\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option htmode\u00a0\u00a0 HT20\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 GF\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 SHORT-GI-20\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 SHORT-GI-40\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 list ht_capab\u00a0\u00a0 RX-STBC1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # REMOVE THIS LINE TO ENABLE WIFI:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 # option disabled 1\r\n\r\nconfig wifi-iface\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option device\u00a0\u00a0 radio0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option network\u00a0 wifi\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option mode\u00a0\u00a0\u00a0\u00a0 ap\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option ssid\u00a0\u00a0\u00a0\u00a0 quadro\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option encryption psk2\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option key aaaaaaaa<\/pre>\n<h4 style=\"text-align: justify;\">Edit network settings<\/h4>\n<pre style=\"text-align: justify;\">root@OpenWrt:\/# cat \/etc\/config\/network\r\nconfig 'interface' 'loopback'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ifname' 'lo'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto' 'static'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ipaddr' '127.0.0.1'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'netmask' '255.0.0.0'\r\n\r\nconfig 'interface' 'lan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ifname' 'eth0.1 eth0.2'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #option 'ifname' 'eth0.1 eth0.2'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'type' 'bridge'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto' 'dhcp'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ipaddr' '192.168.6.2'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'netmask' '255.255.255.0'\r\n\r\nconfig interface wifi\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'proto'\u00a0\u00a0\u00a0\u00a0\u00a0 'static'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'ipaddr'\u00a0\u00a0\u00a0\u00a0 '192.168.6.6'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'netmask'\u00a0\u00a0\u00a0 '255.255.255.0'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option defaultroute 1<\/pre>\n<h4 style=\"text-align: justify;\">Edit DHCP settings<\/h4>\n<pre style=\"text-align: justify;\">root@OpenWrt:\/# cat \/etc\/config\/dhcp\r\nconfig dnsmasq\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option domainneeded\u00a0\u00a0\u00a0\u00a0 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option boguspriv\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option filterwin2k\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0 # enable for dial on demand\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option localise_queries 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option rebind_protection 1\u00a0 # disable if upstream must serve RFC1918 addresses\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option rebind_localhost 1\u00a0 # enable for RBL checking and similar services\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #list rebind_domain example.lan\u00a0 # whitelist RFC1918 responses for domains\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option local\u00a0\u00a0\u00a0 '\/lan\/'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option domain\u00a0\u00a0 'lan'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option expandhosts\u00a0\u00a0\u00a0\u00a0\u00a0 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option nonegcache\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option authoritative\u00a0\u00a0\u00a0 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option readethers\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option leasefile\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 '\/tmp\/dhcp.leases'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option resolvfile\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 '\/tmp\/resolv.conf.auto'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #list server\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 '\/mycompany.local\/1.2.3.4'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #option nonwildcard\u00a0\u00a0\u00a0\u00a0 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #list interface\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 br-lan\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #list notinterface\u00a0\u00a0\u00a0\u00a0\u00a0 lo\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 #list bogusnxdomain\u00a0\u00a0\u00a0\u00a0 '64.94.110.11'\r\n\r\nconfig dhcp lan\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option interface\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 lan\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option start\u00a0\u00a0\u00a0 100\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option limit\u00a0\u00a0\u00a0 150\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option leasetime\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 12h\r\n\r\nconfig dhcp wan\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option interface\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 wan\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option ignore\u00a0\u00a0 1\r\n\r\nconfig 'dhcp' 'wifi'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'interface'\u00a0 'wifi'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'start'\u00a0\u00a0\u00a0\u00a0\u00a0 '100'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'limit'\u00a0\u00a0\u00a0\u00a0\u00a0 '150'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 option 'leasetime'\u00a0 '12h'<\/pre>\n<h4 style=\"text-align: justify;\">Remove firewall<\/h4>\n<pre style=\"text-align: justify;\">opkg remove firewall<\/pre>\n<h4 style=\"text-align: justify;\">Edit ser2net settings<\/h4>\n<p>These settings can be tuned, but I have just added last line to route data from ttyS0 57600 bps to LAN:2002 port.<\/p>\n<pre>root@OpenWrt:\/# cat \/etc\/ser2net.conf\r\n#\r\n# This is an example configuration file for ser2net.\u00a0 It has the following\r\n# format:\r\n#\u00a0 &lt;TCP port&gt;:&lt;state&gt;:&lt;timeout&gt;:&lt;device&gt;:&lt;options&gt;\r\n#\u00a0\u00a0\u00a0\u00a0 TCP port\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Name\u00a0\u00a0 or\u00a0 number of the TCP\/IP port to accept con-\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 nections from for this device.\u00a0 A port number may\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 be of the form [host,]port, such as 127.0.0.1,2000\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 or localhost,2000.\u00a0 If this is specified, it will\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 only bind to the IP address specified. Otherwise\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 it will bind to all the ports on the machine.\r\n#\r\n#\u00a0\u00a0\u00a0\u00a0 state\u00a0 Either raw or rawlp or telnet or off.\u00a0 off disables\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 the\u00a0 port\u00a0 from\u00a0 accepting\u00a0 connections.\u00a0 It can be\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 turned on later from the control port.\u00a0 raw enables\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 the port and\u00a0 transfers\u00a0 all data as-is between the\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 port\u00a0 and\u00a0 the long.\u00a0 rawlp\u00a0 enables\u00a0 the port\u00a0 and\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 transfers\u00a0 all input data to device, device is open\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 without\u00a0 any\u00a0 termios\u00a0 setting.\u00a0 It\u00a0 allow\u00a0 to\u00a0 use\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/dev\/lpX\u00a0 devices\u00a0 and\u00a0 printers connected to them.\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 telnet enables the port and runs the telnet\u00a0 proto-\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 col\u00a0 on the port to set up telnet parameters.\u00a0 This\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 is most useful for using telnet.\r\n#\r\n#\u00a0\u00a0\u00a0\u00a0 timeout\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 The time (in seconds) before the port will be\u00a0 dis-\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 connected\u00a0 if\u00a0 there\u00a0 is no activity on it.\u00a0 A zero\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 value disables this function.\r\n#\r\n#\u00a0\u00a0\u00a0\u00a0 device The\u00a0 name\u00a0 of\u00a0 the\u00a0 device\u00a0\u00a0 to\u00a0 connect\u00a0 to.\u00a0 This\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 must be in the form of \/dev\/&lt;device&gt;.\r\n#\r\n#\u00a0\u00a0\u00a0\u00a0 options\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Sets\u00a0 operational\u00a0 parameters\u00a0 for the serial port.\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Options 300, 1200, 2400, 4800, 9600, 19200, 38400,\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 57600, 115200 set the various baud rates.\u00a0 EVEN,\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ODD, NONE set the parity.\u00a0 1STOPBIT, 2STOPBITS set\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 the number of stop bits.\u00a0 7DATABITS, 8DATABITS set\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 the number of data bits.\u00a0 [-]XONXOFF turns on (-\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 off) XON\/XOFF support.\u00a0 [-]RTSCTS turns on (- off)\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 hardware flow control, [-]LOCAL turns off (- on)\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 monitoring of the modem lines, and\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 [-]HANGUP_WHEN_DONE turns on (- off) lowering the\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 modem control lines when the connection is done.\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NOBREAK disables automatic setting of the break\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 setting of the serial port.\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 The \"remctl\" option allow remote control (ala RFC\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2217) of serial-port configuration.\u00a0 A banner name\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 may also be specified, that banner will be printed\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for the line.\u00a0 If no banner is given, then no\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 banner is printed.\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 The tw, tr, and tb options take a tracefile name (\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 specified in TRACEFILE that will take all traced data.\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tw is data written to the device, tr is data read from\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 the device, and tb is both.\r\n#\r\n# or...\r\n\r\n#\u00a0 BANNER:&lt;banner name&gt;:banner\r\n#\u00a0\u00a0\u00a0 This will create a banner, if the banner name is given in the\r\n#\u00a0\u00a0\u00a0 options of a line, that banner will be printed.\u00a0 This takes the\r\n#\u00a0\u00a0\u00a0 standard \"C\" \\x characters (\\r is carraige return, \\n is newline,\r\n#\u00a0\u00a0\u00a0 etc.).\u00a0 It also accepts \\d, which prints the device name, \\p,\r\n#\u00a0\u00a0\u00a0 which prints the TCP port number, and \\s which prints the serial\r\n#\u00a0\u00a0\u00a0 parameters (eg 9600N81).\u00a0 Banners can span lines if the last\r\n#\u00a0\u00a0\u00a0 character on a line is '\\'.\u00a0 Note that you *must* use \\r\\n to\r\n#\u00a0\u00a0\u00a0 start a new line.\r\n#\r\n#\u00a0 TRACEFILE:&lt;name&gt;:filename\r\n#\u00a0\u00a0\u00a0 This specifies a filename to trace output into, as tw:\/tmp\/trace1.\r\n#\u00a0\u00a0\u00a0 This takes a large number of escape sequences, see the man page\r\n#\u00a0\u00a0\u00a0 for details on these options.\r\n#\r\n# Note that the same device can be listed multiple times under different\r\n# ports, this allows the same serial port to have both telnet and raw\r\n# protocols.\r\n\r\nBANNER:banner1:Welcome to ser2net TCP port \\p device \\d\\r\\n\\\r\nsecond line \\\r\nthird line\\r\\n\r\n\r\nBANNER:banner2:this is ser2net TCP port \\p device \\d\\r\\n\\\r\nsecond line \\\r\nthird line\\r\\n\r\n\r\nBANNER:banner3:this is ser2net TCP port \\p device \\d\u00a0 serial parms \\s\\r\\n\r\n\r\nTRACEFILE:tw1:\/tmp\/tw-\\p-\\Y-\\M-\\D-\\H:\\i:\\s.\\U\r\nTRACEFILE:tr1:\/tmp\/tr-\\p-\\Y-\\M-\\D-\\H:\\i:\\s.\\U\r\n\r\n#2001:raw:600:\/dev\/ttyS0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS\r\n#2002:raw:600:\/dev\/ttyS1:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS\r\n#2003:raw:5:\/dev\/ttyS2:9600\r\n#2004:raw:5:\/dev\/ttyS3:115200\r\n#2005:raw:5:\/dev\/ttyS4:9600\r\n#2006:raw:5:\/dev\/ttyS5:9600\r\n#2007:raw:5:\/dev\/ttyS6:9600 tw=tw1 tr=tr1\r\n#3001:telnet:0:\/dev\/ttyS0:19200 remctl banner1\r\n#3011:telnet:3:\/dev\/ttyS0:19200 banner2\r\n#3002:telnet:0:\/dev\/ttyS1:9600\r\n#3003:telnet:0:\/dev\/ttyS2:9600 banner3\r\n#3004:telnet:0:\/dev\/ttyS3:115200\r\n#3005:telnet:0:\/dev\/ttyS4:9600\r\n#3006:telnet:0:\/dev\/ttyS5:9600\r\n#3007:telnet:0:\/dev\/ttyS6:9600\r\n#5001:rawlp:10:\/dev\/lp0\r\n2002:raw:600:\/dev\/ttyS0:57600<\/pre>\n<h2 style=\"text-align: justify;\">Testing<\/h2>\n<p style=\"text-align: justify;\">If you have set-up everything correctly (APM2 \u2194 Carambola1 \u2194 WiFi \u2194 Carambola2 \u2194 LAN \u2194 PC ) you should be able to ping from PC to Carambola on quadcopter.<\/p>\n<pre>root@OpenWrt:\/# ping 192.168.6.6\r\nPING 192.168.6.6 (192.168.6.6): 56 data bytes\r\n64 bytes from 192.168.6.6: seq=0 ttl=64 time=0.731 ms\r\n64 bytes from 192.168.6.6: seq=1 ttl=64 time=0.531 ms\r\n64 bytes from 192.168.6.6: seq=2 ttl=64 time=0.462 ms<\/pre>\n<p style=\"text-align: justify;\">If you have connection, you can connect ardupilot board with Mission Planner.<\/p>\n<div id=\"attachment_5800\" style=\"width: 564px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5800\" class=\" wp-image-5800\" title=\"1\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/11.bmp\" alt=\"\" width=\"554\" height=\"363\" \/><p id=\"caption-attachment-5800\" class=\"wp-caption-text\">Select &quot;TCP&quot; connection and click &quot;Connect&quot;. Enter 192.168.6.6 when prompted to enter IP address.<\/p><\/div>\n<div id=\"attachment_5801\" style=\"width: 315px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5801\" class=\"size-full wp-image-5801\" title=\"2\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/2.bmp\" alt=\"\" width=\"305\" height=\"133\" \/><p id=\"caption-attachment-5801\" class=\"wp-caption-text\">Remote port is 2002 as configured in ser2net.conf<\/p><\/div>\n<div id=\"attachment_5802\" style=\"width: 569px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5802\" class=\" wp-image-5802\" title=\"3\" src=\"http:\/\/lukse.lt\/uzrasai\/wp-content\/uploads\/2012\/05\/3.bmp\" alt=\"\" width=\"559\" height=\"377\" \/><p id=\"caption-attachment-5802\" class=\"wp-caption-text\">Connected!<\/p><\/div>\n<p style=\"text-align: justify;\">You can see more details about building this quadcopter in previous posts. Sorry other posts are in Lithuanian language, but you can read <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/translate.google.com\/translate?hl=en&amp;ie=UTF8&amp;prev=_t&amp;sl=auto&amp;tl=en&amp;twu=1&amp;u=http:\/\/lukse.lt\/uzrasai\/2012-04-quadcopterio-gamyba\/');\"  href=\"http:\/\/translate.google.com\/translate?hl=en&amp;ie=UTF8&amp;prev=_t&amp;sl=auto&amp;tl=en&amp;twu=1&amp;u=http:\/\/lukse.lt\/uzrasai\/2012-04-quadcopterio-gamyba\/\">translated<\/a> version.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post is about using Carambola with Arducotper to get live telemetry data from quadcopter.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13,21,14,5,15],"tags":[],"class_list":["post-5726","post","type-post","status-publish","format-standard","hentry","category-ap","category-projektai","category-rc","category-uzrasai","category-video"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2rU5c-1um","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/posts\/5726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/comments?post=5726"}],"version-history":[{"count":89,"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/posts\/5726\/revisions"}],"predecessor-version":[{"id":5729,"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/posts\/5726\/revisions\/5729"}],"wp:attachment":[{"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/media?parent=5726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/categories?post=5726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lukse.lt\/uzrasai\/wp-json\/wp\/v2\/tags?post=5726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}