Maestro 6 Channel USB Servo Controller in Linux Timeout Erro

Hi, I’m working on a project trying to control an RC car from a computer, and we’re using the Micro Maestro 6-Channel USB Servo Controller to control the car directly. I got the Maestro Control Center to work fine in windows, and wrote my code for windows, and it works as well. But I need to move everything to Ubuntu(10.04) because that is what our server will be running in. Our server has inconveniently not arrived in the mail yet, so, due to a lack of extra computers and hard drive partitions, I decided to try to run the same copy of ubuntu from a virtual machine. I got that up and running and enabled the servo controller through the virtual machine and installed mono, etc, according to the readme. The servo controller mounted successfully, and I can see ttyACM0 and ttyACM1. When I input ‘lsusb’ into the terminal, the servo controller appears.

Now, whenever I run the Maestro Control Center or UscCmd from ubuntu in the virtual machine, it gives me a timeout error, as shown below.

Is this caused by some sort of issue between the virtual machine and the main OS? Or is the issue possibly just in running it through ubuntu?


Did you check that user Charlie has RW permissions for /dev/ttyACM0/1?
Can you share what shows after lsmod?

I believe User Charlie does have RW permissions. I tried running UscCmd as admin as well(eg sudo ./UscCmd --list), but that did not help.

lsmod gives:

Module Size Used by
cdc_acm 13694 0
binfmt_misc 6587 1
snd_intel8x0 25588 2
snd_ac97_codec 100646 1 snd_intel8x0
ac97_bus 1002 1 snd_ac97_codec
snd_pcm_oss 35308 0
snd_mixer_oss 13746 1 snd_pcm_oss
snd_pcm 70662 3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_seq_dummy 1338 0
snd_seq_oss 26726 0
snd_seq_midi 4557 0
snd_rawmidi 19056 1 snd_seq_midi
snd_seq_midi_event 6003 2 snd_seq_oss,snd_seq_midi
ppdev 5259 0
snd_seq 47263 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
joydev 8708 0
parport_pc 25962 0
snd_timer 19098 2 snd_pcm,snd_seq
snd_seq_device 5700 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
fbcon 35102 71
psmouse 63245 0
snd 54148 14 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
serio_raw 3978 0
tileblit 2031 1 fbcon
font 7557 1 fbcon
bitblit 4707 1 fbcon
softcursor 1189 1 bitblit
i2c_piix4 8335 0
soundcore 6620 1 snd
vga16fb 11385 1
vgastate 8961 1 vga16fb
snd_page_alloc 7076 2 snd_intel8x0,snd_pcm
lp 7028 0
parport 32635 3 ppdev,parport_pc,lp
usbhid 36110 0
hid 67032 1 usbhid
ahci 32008 2
e1000 97396 0


Sorry that you are having trouble getting it to work on your linux VM. We have used the Maestros successfully under linux through VirtualBox, but we do often encounter problems like only being able to connect to a device once before having to unplug it and plug it back in. What virtual machine software are you using? Have you used other USB devices successfully on the virtual machine?

For completeness, I would like to know whether the control center works for you under linux and whether UscCmd --list works for you under Windows. Also, is any output generated in dmesg or syslog when you run UscCmd --list and get the error?


I am using VirtualBox. I installed the virtual machine solely for this, and I have not tried using any other USB devices through it. The control center and UscCmd work completely under Windows, and I get a timeout error for both under linux.

I couldn’t find anything relevant in dmesg and no output was generated in syslog.

got the servo driving computer in and it worked fine there.