= the eBox2300 =

http://www.robotgroup.net/eric/seeker/ebox2300.jpg

The eBox-2300 is a small low cost embedded PC being sold by several different distributors.  This web page documents my efforts to utilize this computer for my SeekerRobot project.  I intend to use [http://www.puppyos.com Puppy Linux].  The version I am using is the eboxpup alpha 01 by Paul Akterstam located at http://bexa.org It is based on the 2.13 version of Puppy.  I tried upgrading to 2.14 and it was a disaster.  Fewer drivers supported, larger memory footprint, broken package management.  

I bought this unit from [http://www.ewayco.com eWayco].  They do not accept credit cards but even with the bank wire charges they were cheaper than [http://www.norhtec.com/index.html these guys] who accept credit cards.  The specifications are:

 * 200 MHz Via Vortex86 SOC
 * 128 MB Ram
 * 256 MB IDE Flash Drive
 * 3 USB 1.1 ports
 * 10/100 Realtek 8139 ethernet
 * AC-97 Audio
 * Compact Flash Slot
 * Built in VGA up to 1280x1024
 * Runs from a 12V 3A power supply!

The photo shows a serial port but I don't think you can get it with a built in flash drive and serial port together.  I also ordered mine with the optional wireless lan which ended up being a Via VT6655 card. /!\ WARNING! Do not waste your money on this wireless card.  It does not work with Puppy Linux and Via Technologies apparently has a somewhat spotty history of Linux support.  Just check their own [http://forums.viaarena.com/messageview.aspx?catid=28&threadid=76162&enterthread=y message forums].  Via sent me a copy of the ndiswrapper source.  I went through their [http://www.viaarena.com/default.aspx?PageID=420&OSID=44&CatID=3100&SubCatID=179 compilation and installation instructions] and was still not able to get a TCP/IP address.  A really nice guy in New Zealand sent me an older version of the VIA drivers that are supposed to work under ndiswrapper.  Sadly, this had the same problems for me. I even had one of our networking gurus at work take a look at the tcpdump packets but the only thing he could see is that the DHCP DISCOVER request appears to go out but never sees a response.  It is so frustrating that the card can see the wireless network but is unable to get put a dynamic or static IP address on it.  

/!\ Additional warning! The documentation lies.  The power connector is NOT a mini din as documented.  Instead it is some sort of mutant din-like connector.  It is smaller than a real DIN.  It is larger than a mini-din.  The pins are offset different from a standard din. And the pins appear to be a mixture of fat DIN pins and 1 single thin mini-din size.  Now I have to desolder this ugly connector and put in a standard barrel connector.  Yet another frustration to deal with!

== Additional Hardware ==
http://www.robotgroup.net/eric/seeker/awll3026.jpg To get around the problem of not being able to use the built in wireless card, I plugged in a cheapo [http://www.airlink101.com Airlink] USB wireless 802.11b/g dongle.  The zd1211 driver in 2.13 works flawlessly!  Unfortunately, they replaced this one in 2.14 with the zd1211-rw which does not work.  Because the ebox only supports USB 1.1, you only get 11 Mbps on the wireless link.  Still, it works.

http://www.robotgroup.net/eric/seeker/ar430w.jpg Eventually, I got tired of messing with the broken wireless stuff and bypassed the problem entirely by adding a wireless router.  I can run a wired connection to the router without clogging up the slow usb 1.1 ports.  This lets me set up a static wired ip address for the ebox and the wireless router will take care of my remote communications and security.  [http://www.airlink101.com/products/ar430w.html This particular unit] was on sale at Fry's for $25.

http://www.robotgroup.net/eric/seeker/DellSpeakers.jpg I purchased USB powered speakers and a couple of 256 MB CF cards from [http://www.discountelectronics.com Discount Electronics] for $9 each!  Those guys ROCK!

http://www.robotgroup.net/eric/seeker/HDEnclosure.jpg For Hard Drive space, I added a [http://www.outletpc.com/c6346.html 2.5 USB Hard Drive Case] from [http://www.outletpc.com Outlet PC].  I had a small 2.5in 6MB laptop drive already in my junk box.  I partitioned the hard drive for 5 GB ext3fs and 1 GB linux swap.  When booting from Flash, the swap is not automatically turned on.  Even placing "swapon /dev/sda2" in my ".xinitrc" did not work.  I have to manually enter it when booting from flash.  To make the system boot from the Hard disk, I had to play a lot of games with GRUB and the universal installer.  To tell the truth, I am not sure exactly what steps I went through to get it working.  Basically, I installed GRUB on the hard disk in both the Linux boot and MBR.  Both simple and expert installations fail to produce a bootable system.  Kept getting "Operating system not found".  I used fdisk to manually make the partition bootable.  Then I reran the universal installer and told it to overwrite the MBR with Syslinux.  Surprisingly, some combination of these steps produced a bootable USB hard disk.

http://www.robotgroup.net/eric/seeker/GPSimage.jpg I used this low cost [http://www.geeks.com/details.asp?invtid=MS-GM-03&cpc=HPM MS-GM-03 16-Channel USB NMEA-0183 GPS Receiver] purchased from [http://www.geeks.com Geeks.com] for $35!  To get it working under Puppy Linux I had to "modprobe cdc-acm".  I added this line to my "/root/.xinitrc" file.  The unit then attaches to "/dev/input/ttyACM0".  Open it up with cutecom and set the baud rate to 4800 baud and you can confirm that the gps data feed is working.

http://www.robotgroup.net/eric/seeker/monopricecable.jpg Since the robot is going to be mobile and I don't have enough space to mount a full blown computer monitor on it, I thought I would try out one of these cables that may let me use a little portable tv to view the console screen in the field.  The cable goes from vga to composite video or s-video. This should be enough for at least a 640x480 display.  Not sure if it works correctly with the ebox yet, but they are only a few bucks on ebay.  

== Additional Software ==

Packages that I had to install with Pupget:
 * cutecom serial port terminal
 * vncserver Tight VNC server. Why VNC client is included in the default installation but server is not boggles my mind.
 * qt Dependancy from cutecom. Of course the version that it tries to automatically download (qt...NO-SQL) does not work so you have to load whatever the latest version choice is offered.

 * [http://gpsd.berlios.de/ gpsd] - A really nice gps daemon that unfortunately does not build/run/install with the standard pupget stuff.  Had to download the source code.  Downloaded python, the python headers (from the support forum) and lesstif.  Moved some of the source libraries around.  Finally got the silly thing compiled.  I should probably package up the binaries to make it available to other Puppy users.

== Misc Useful Info ==

To play wav and mp3 files from the command line use the following command:

 mpg321 -o oss <filename.mp3>

To play ogg files from the command line use the following command:

 ogg123 <filename.ogg>

The wired 10/100 ethernet connection works great with the "8139too" driver module.

The Audio seems to work as OSS Audio but ALSA does NOT!  In /root/.xinitrc I added the following line to turn up the speaker volume to a usable level on boot. "setvol 0 85 85"

== Contact ==
Page maintained by EricLundquist

roboenator at gmail dot com

 






