You Are Here:

Community: Blogs

Kate Alhola's Forum Nokia Blog

Controlling embedded devices with maemo internet tablet

kate.alhola | 29 February, 2008 18:13

N810 and USB microcontroller

Nokia Internet tablets are volume produced, low power consumption devices that are designed to be enough rugged that they can last as mobile devices. Even they are designed to be used as Internet communication devices, thay are also excellent for controlling embedded devices.

This is my presentation in Fosdem 2008,Brussels  about Controlling embedded devices aith maemo Internet Tablet Fosdem_maemo_2008.pdf

Internet tablets have many advantages like price, rugged design and small power consumption compared to both PC-based or special embedded hardware based designs. They have also new challanges because they does not have so wide selection of interface options. 

Some examples of embedded controll projects using Internet tablet is Small aircraft Glass cockpit, Home Automation, Accelleration sensor interface, maemo puppy robot or Carman car data terminal. 

In N800/N810 you have basically three interface options Wlan, Bluetooth and USB. All of these optios require with some rare exeptions separate embedded processor or microcontroller to controll I/O box.

Wlan is fast and versatile but requires in practice multichip embedded controller running Linux.  Good example  is to (mis)use  Wlan routers with  Openwrt

In small series Bluettoth and microcontroller module may be more costly than wlan router.  

The USB is most practical way to expand tablet I/O capabilities. Microcontrollers with USB-device interface price start from some tens of cents to few Euros. USB-device needs something around hundred lines of the code in the microcontroller.

Two easiest ways to connect USB microcontroller to Internet tablet is to use libusb or make device emulationg USB serial converter. In N8xx musb driver has certain limitations that may need some workarounds. 

 

Fosdem

kate.alhola | 22 February, 2008 13:13

Kate Alhola and Teemu Sorvisto from Forum Nokia, Nokia professional developers organization will be in Fosdem . If you have questions, ideas or proposals memo application developing, please come and talk to us.

I have in presentation " Controlling embedded devices with the Maemo internet tablet" in Sunday morning 10.00 in embedded in Embedded developer room AW1.126 .

USB networking

kate.alhola | 12 February, 2008 15:56

 N810 with ethernet

This is the second part of the USB saga, this is little bit more in deep technical aspects. The next part will then have USB-O-The Go statusbar plugin that will automatize most of hard hand work explained here.

 here are two possible ways to connect N810 tablet to network via USB.  One is to use USB host mode and USB ethernet adapter and the other is USB slave mode using ethernet gadget driver.

Here are the basic instructions about USB slave-mode networking on maemo.org web pages http://maemo.org/development/documentation/how-tos/4-x/setting_up_usb_networking.html .

The basic setup in USB networking is Linux computer and N810 are connected to each other with a normal USB cable. Using g_ether driver tablet emulates USB networking device isntead of the FAT memory card. USB networking is very useful in many ocassions where WLAN is not availale or usable.  

These above mentioned instructions lack some important things. This setup does not work with browser or does not set up dns server address. It also supports only one tablet connection to server.

 

To be able to use browser, you need to create a dummy IAP so that browser does not ask you to open wlan/bluetooth connection.  You can do this entering to su prompt in terminal window command:

gconftool -s -t string /system/osso/connectivity/IAP/DEFAULT/type DUMMY
To be able to use dns services you need also make dnsmasq aware of the usb0 network interface by adding following line to  /etc/dnsmasq.conf after similar line for wlan
resolv-file=/tmp/resolv.conf.usb0
resolv-file=/tmp/resolv.conf.eth0
The original example uses static IP addresses configured for usb0 and this configuration is also set in /etc/network/interfaces file as follows :
auto eth0
iface eth0 inet dhcp
auto usb0
iface usb0 inet static
address 192.168.2.15
netmask 255.255.255.0
gateway 192.168.2.14
You should change it using dhcp method to allow your Linux server deliver IP address and dns server address. Notice that the way used in eth0 interface does not work, not even eth0 . The working way is following
auto eth0
iface eth0 inet manual
up /sbin/udhcpc -i eth0 -s /etc/udhcpc/udhcpc.script
auto usb0
iface usb0 inet manual
up /sbin/udhcpc -i usb0 -s /etc/udhcpc/udhcpc.script 
To use your USB networking, you can should use methods descripted in maemo.org documentation
insmod /mnt/initfs/lib/modules/2.6.21-omap1/g_ether.ko
ifup usb0

 

Next uou need to setup your Linux server.  To deliver dhcp address to tablet and have needed bridging functionality you shoud issue following command, in this example, in Ubuntu gutsy: 

apt-get install bridge-utils dhcp
 Then install following lines to  /etc/network/interfaces for your usb network interfaces. As many as you will have tablets connected
iface usb0 inet manual
up brctl addif br0 usb0

iface usb1 inet manual
up brctl addif br0 usb1
You also need to add to your /etc/dhcpd.conf, in domain-name-servers you should put your dns server address if you don't have one running in same machine.
 subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.20 192.168.2.250;
option domain-name-servers 192.168.2.1;
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
}
And then as a last thing you need to set up your bridged network and masquering with following script
brctl addbr br0
ifconfig br0 192.168.2.1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j MASQUERADE
dhcpd br0

Now you should have everything set up, just plug your tablets in USB ports of your server and test with ping that connection works.

 

USB Host mode networking

maemo kernel for N810 has build in driver for Realtek RTL8150 based USB network adapters. To use them you need to use USB On-The-Go mode. In my bog article http://blogs.forum.nokia.com/blog/kate-alholas-forum-nokia-blog/maemo/2008/01/21/usb-on-the-go i tell how to set up  USB-OTG. For USB OTG host mode. To use ethernet, you need also the dummy IAP and same modifications decripted above modifications to /etc/network/interfaces and /etc/dnsmasq.conf to get it working.  When you plug in adapter, you don't need install driver, just type to super user command prompt

ifup eth0

 

 
 
 
 

Rate This

 
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZrelationQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fschemasE2fnokiaE2fFNE2d1E2e58E2eowlX qdcZtitleQSxForumE20NokiaE20BlogsE20WebE20SiteXLen qdcZtitleQSxForumE20NokiaE20BlogsE20WebE20SiteXLen qdcZtypeQUqfnZE44istributionQ qdcZtypeQUqfnZSiteQ qdcZtypeQUqvocZTermQ qdcZtypeQUqvocZVocabularyConstructQ qdcZtypeQUqwebZSiteQ qdcZtypeQUqrdfsZE52esourceQ qswZserviceQUxhttpE3aE2fE2fswE2enokiaE2ecomE2furiE71aX quriE71aZserviceQUxhttpE3aE2fE2fswE2enokiaE2ecomE2furiE71aX qvocZpartOfQUqfnZPublicationQ qwebZserviceQUxhttpE3aE2fE2fswE2enokiaE2ecomE2furiE71aX qrdfZtypeQUqfnZE44istributionQ qrdfZtypeQUqfnZSiteQ qrdfZtypeQUqvocZTermQ qrdfZtypeQUqvocZVocabularyConstructQ qrdfZtypeQUqwebZSiteQ qrdfZtypeQUqrdfsZE52esourceQ qrdfsZisE44efinedByQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fschemasE2fnokiaE2fFNE2d1E2e58E2eowlX qrdfsZlabelQSxForumE20NokiaE20BlogsE20WebE20SiteXLen qrdfsZlabelQSxForumE20NokiaE20BlogsE20WebE20SiteXLen qrdfsZseeAlsoQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fschemasE2fnokiaE2fFNE2d1E2e58E2eowlX