Help needed with Ipk files

All,

I am trying to follow this (http://antipastohw.blogspot.com/2010/06/two-open-source-worlds-collide-using.html) tutorial to get an arduino board working with the BBxm.
I need to download a couple of ipk file and install them to get this working.

But I get errors when I attempt both,
when I run : opkg install usbserial.ipk,
Not downgrading package kernel-module-usbserial on root from 2.6.32-r100…

And when I run: opkg install ftdi.ipk
it says that it cannot satisfy the dependencies for kernel-2.6.29-omap1 *

My kernel version is 2.6.32.

From this discussion here I figured that I need to install the files myself on my kernel.
Can anyone point me to a link which will guide me on this process.

best,

Hi,

You’re right – the problem is that the version of the kernel modules (usbserial and ftdi) needs to exactly match the version of your kernel. Instead of downloading the .ipk files used with a different kernel version, you should download them using opkg.

First, check to see if those modules are already installed. (They are automatically installed on most recent distributions of Angstrom, but based on the kernel version, yours is quite old. You should consider downloading a new Angstrom image from http://www.angstrom-distribution.org/demo/beagleboard/)

opkg list-installed | grep “usbserial”
opkg list-installed | grep “ftdi-sio”

If these 2 commands return a package name, then you don’t need to install them. Otherwise:

opkg install kernel-module-usbserial
opkg install kernel-module-ftdi-sio

If you connect the Arduino and it isn’t assigned a COM port by the Beagleboard XM (check the output of dmesg after connecting the Arduino), the kernel modules need to be loaded.

To load them manually:

depmod -a
modprobe usbserial
modprobe ftdi-sio

To load them automatically when you boot the Beagleboard XM:

echo usbserial > /etc/modutils/usbserial
echo ftdi_sio > /etc/modutils/ftdi_sio
update-modules

I have a bit more detail on this in my blog post: http://www.gigamegablog.com/2010/12/09/beagleboard-xm-and-angstrom-getting-the-big-dog-to-run-at-full-speed/ . I’ve had an Arduino connected to my Beagleboard XM through a USB Host port for quite awhile – it works well.

Dan.

Dan,

Thank you for the reply. Will work on them and get back to you.
Nice blog btw !

Dan,

So I followed your tutorial, and believe I was able to install all files needed.

The following didn’t work for me,

/opt/bin/depmod -a
/opt/bin/modprobe ftdi-sio

(in fact there was no /opt directory on my angstrom). But I was able to add usbserial and ftdi_sio to modules and reboot it.

The prob was that the BBxm was not able to communicate with the Angstrom.
I was following the tutorial and I was able to communicate data from the arduino board to my desktop Ubuntu - worked with a problem. But when I plugged it into the BBxm the same didn’t happen.

This is the output of dmesg relevant to the arduino board.

[ 9491.236480] usb 2-2.5: new full speed USB device using ehci-omap and address 7
[ 9491.365417] usb 2-2.5: New USB device found, idVendor=2341, idProduct=0043
[ 9491.373016] usb 2-2.5: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 9491.381195] usb 2-2.5: Manufacturer: Arduino (www.arduino.cc)
[ 9491.387420] usb 2-2.5: SerialNumber: 6413138323135180A0A1

(I’ve attached the entire output).
The message does not specify a port assigned to the Arduino board. I checked /dev and couldn’t locate a tty port assigned to a USB.

Another concern is the following. On the arduino board, you have an LED that lights up when ever data is transmitted from the Board to the computer. This LED lights up when I connect the arduino to my desktop but not to my BBxm.
Strangely though, the other parts of the program (a few blinking LEDs) work fine in both cases. So I am guessing the problem is with the USB to serial communication on the BBxm.
Also I could not program the Arduino via my BBxm.

Thanks.

arduino_bbxm_dmesg_output.txt (58.6 KB)

So I think I figured out what the problem is.

The tutorial on antipastohw is done with the Arduino Duemilanove, where as I use Arduino Uno.
From here I learned that Arduino Uno does NOT use an FTDI chip anymore. Instead they use an ATmega8u2 chip. So the FTDI drivers are not doing the job I guess.

This probably explains why serial communication isn’t occurring in the first place - and why the LED isn’t blinking.

This post says that the module needed is kernel-module-cdc-acm.
After installing it my Arduino Uno was working fine and communicating with the BBxm.

Ah, OK. Thanks for posting the answer.

I’m sure a lot of Arduino Uno users (and eventually me) will run into the same problem, not realizing that a different kernel module is required. I’ll update my blog with this info.

Dan.