Problems with IOIO OTG...

381 views
Skip to first unread message

Urs Weder

unread,
May 5, 2014, 8:52:39 AM5/5/14
to ioio-...@googlegroups.com
Hello all,
I want to update my IOIO with the most recent firmware but nothing seems to work as it should:

The first problem:
./ioiodude --port=/dev/IOIO0 versions mostly just hangs and doesn't return anything. If ioiodude returns something than it can take up to 3 seconds.

Output (after several tries):
IOIO Application detected.
Hardware version: SPRK0020
Bootloader version: IOIO0400
Application version: IOIO0330


The second problem:
When starting in bootloader mode, the IOIO doesn't enumerate, i.e. lsusb doesn't list the connected IOIO.

For these tests i used:
Two different computers (openSuse and Win7 Prof)
Two different IOIO OTG (both have the same versions)
And two different cables, just to make sure.


Greetings, Urs

Urs Weder

unread,
May 5, 2014, 11:34:32 AM5/5/14
to ioio-...@googlegroups.com
Addendum:
After connecting IOIO in bootloader mode I have the following in /var/log/messages:

linux-ag1f kernel: [35529.841097] usb 2-1: new full-speed USB device number 20 using uhci_hcd
linux-ag1f kernel: [35530.010146] usb 2-1: New USB device found, idVendor=1b4f, idProduct=0008
linux-ag1f kernel: [35530.010156] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
linux-ag1f kernel: [35530.010163] usb 2-1: Product: IOIO
linux-ag1f kernel: [35530.010169] usb 2-1: Manufacturer: IOIO Open-Source Project
linux-ag1f kernel: [35530.013232] cdc_acm 2-1:1.0: This device cannot do calls on its own. It is not a modem.
linux-ag1f kernel: [35530.013273] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
linux-ag1f mtp-probe: checking bus 2, device 20: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1"
linux-ag1f mtp-probe: checking bus 2, device 20: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1"
linux-ag1f mtp-probe: bus: 2, device: 20 was not an MTP device
linux-ag1f dbus-daemon[538]: modem-manager[18772]: <info>  (ttyACM0) opening serial port...
linux-ag1f modem-manager[18772]: <info>  (ttyACM0) opening serial port...
linux-ag1f kernel: [35530.250141] usb 2-1: USB disconnect, device number 20
linux-ag1f dbus-daemon[538]: modem-manager[18772]: <info>  (ttyACM0) closing serial port...
linux-ag1f modem-manager[18772]: <info>  (ttyACM0) closing serial port...
linux-ag1f dbus-daemon[538]: modem-manager[18772]: <info>  (ttyACM0) serial port closed
linux-ag1f modem-manager[18772]: <info>  (ttyACM0) serial port closed
linux-ag1f dbus-daemon[538]: modem-manager[18772]: mm_serial_port_close: assertion `priv->open_count > 0' failed
linux-ag1f modem-manager[18772]: mm_serial_port_close: assertion `priv->open_count > 0' failed


 
Greetings, Urs

Ytai Ben-Tsvi

unread,
May 5, 2014, 11:50:42 AM5/5/14
to ioio-...@googlegroups.com

This is the second time I hear about a similar problem with OpenSuse. Let's focus on the Windows, since this is a known working config. Is the IOIO enumerating correctly there. Are you using the latest IOIODude?

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+...@googlegroups.com.
To post to this group, send email to ioio-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

Urs Weder

unread,
May 5, 2014, 2:46:19 PM5/5/14
to ioio-...@googlegroups.com
Hi Ytai,
thanks for the quick reply!
I tried it again on Windows and now it works! Apparantly I made something wrong during my tests.
Now I have both updated to the most recent firmware.

Greetings, Urs

Tim Frisch

unread,
May 9, 2014, 10:17:05 AM5/9/14
to ioio-...@googlegroups.com
I don't know if this will help any but I wrote a layman's step-by-step guide to updating the IOIO firmware as it took me a bit of figuring out to understand.

Unfortunately I am in the process of updating my website and silly me did not save the article anywhere;

however with a little luck google cached the page and I copied the article:


UPDATING FIRMWARE:
 
1. Open Command Prompt at folder location of IOIODUDE:
SHIFT + RIGHT CLICK -> Open Command Prompt at Folder.
 
2. Type:
"c:\Program Files (x86)\Java\jre7\bin\java" -jar "d:\Student Data\Downloads\IOIODude-0100\ioiodude.jar"
 
3. Download a version from the wiki and store it somewhere on the PC (I chose the default downloads directory)
 
4. type into cmd prompt: "c:\Program Files (x86)\Java\jre7\bin\java" -jar "d:\Student Data\Downloads\IOIODude-0100\ioiodude.jar" --port=COM5 versions
 
NOTE *** Instead of COM5 you use whatever port your ioiodevice is listed as under in your device manager.
 
5. Go to https://github.com/ytai/ioio/wiki/Downloads and download the latest bundle by clicking on the QR-Code (NOT THE DOWNLOAD LINK!) - the QR code will download the .app file instead of the source code!
 
6. Type into the cmd prompt: "c:\Program Files (x86)\Java\jre7\bin\java" -jar "d:\Student Data\Downloads\IOIODude-0100\ioiodude.jar" --port=COM5 --reset write "d:\Student Data\Downloads\App-IOIO0400.ioioapp"
 
NOTE *** The .ioioapp file will be saved wherever you saved it upon downloading - adjust the above pathfile in step 6 accordingly.
 
7. Let the write happen, it should take a few seconds and a progress bar should appear.
 
8. You are now done! The ioio board should have the latest firmware installed.
 
 
EDIT: For the latest app version in 5.02 this worked:
"c:\Program Files\Java\jre7\bin\java" -jar "d:\Student Data\Downloads\ioiodude.jar" --port=COM4 --reset write "d:\Student Data\Downloads\App-IOIO0500.ioioapp"

Ytai Ben-Tsvi

unread,
May 9, 2014, 11:46:37 AM5/9/14
to ioio-...@googlegroups.com
BTW, I fixed some stuff in IOIODude v1.01. In particular ioiodude.bat should now work fine, so no need to the long and cumbersome command line. Just add the ioiodude directory to the PATH and you can easily execute it from anywhere.


--

Richard Cintorino

unread,
Dec 13, 2014, 10:54:28 PM12/13/14
to ioio-...@googlegroups.com
Hello,

     I'm having the same issue where the device won't enumerate in Linux (Ubuntu 14.04) when in bootloader mode. I have  no problems connecting to it when it is NOT in bootloader mode.

     What I have found is that the bootloader itself seams to release the port assigned by udev (syslog):

Dec 13 22:36:09 RC-UVisor kernel: [2079069.271295] usb 3-6: new full-speed USB device number 120 using xhci_hcd
Dec 13 22:36:09 RC-UVisor kernel: [2079069.288990] usb 3-6: New USB device found, idVendor=1b4f, idProduct=0008
Dec 13 22:36:09 RC-UVisor kernel: [2079069.288993] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Dec 13 22:36:09 RC-UVisor kernel: [2079069.288994] usb 3-6: Product: IOIO
Dec 13 22:36:09 RC-UVisor kernel: [2079069.288995] usb 3-6: Manufacturer: IOIO Open-Source Project
Dec 13 22:36:09 RC-UVisor kernel: [2079069.289574] cdc_acm 3-6:1.0: This device cannot do calls on its own. It is not a modem.
Dec 13 22:36:09 RC-UVisor kernel: [2079069.289591] cdc_acm 3-6:1.0: ttyACM0: USB ACM device
Dec 13 22:36:09 RC-UVisor mtp-probe: checking bus 3, device 120: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-6"
Dec 13 22:36:09 RC-UVisor mtp-probe: bus: 3, device: 120 was not an MTP device
Dec 13 22:36:09 RC-UVisor ModemManager[775]: <info>  (tty/ttyACM0): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb3/3-6
Dec 13 22:36:09 RC-UVisor kernel: [2079069.395467] usb 3-6: USB disconnect, device number 120


It seems to keep disconnecting and reconnecting. I also had this issue in windows, but after connecting and disconnecting a coupe times I was able to get it to work. 

Ytai Ben-Tsvi

unread,
Dec 15, 2014, 11:27:26 PM12/15/14
to ioio-...@googlegroups.com
Thanks for reporting. I don't have a machine to debug this with, but I'll try to get one.

--

Al Linke

unread,
Dec 16, 2014, 1:30:42 AM12/16/14
to ioio-...@googlegroups.com
For what it's worth, I wrote a GUI version of IOIODude for upgrading firmware, feel free to try here http://ledpixelart.com/ioiodudegui/ , have versions for Mac OSX , Windows, and  a JAR for Linux although I never tested on Linux.

Richard Cintorino

unread,
Dec 16, 2014, 10:33:35 AM12/16/14
to ioio-...@googlegroups.com
I'm willing to help debug this if you can provide some basic instructions.

--Rich

--

Ytai Ben-Tsvi

unread,
Dec 16, 2014, 11:35:39 PM12/16/14
to ioio-...@googlegroups.com
At the bare minimum you'd need a USB : logic-level-serial adapter and a PIC programmer (or a second IOIO to serve as such). If you do, I can provide you a modified bootloader which will spit some serial diagnostics over one of the pins which might help us figure out what's going wrong.

Richard Cintorino

unread,
Dec 17, 2014, 10:05:58 AM12/17/14
to ioio-...@googlegroups.com
I'm going to update this board via windows for now, but I will be purchasing two more boards in the future (3-6 months). I will be able to debug this then if the problem isn't already resolved.

Thank you for your time.

Rich

Cyberchard R

unread,
Dec 18, 2014, 2:14:03 PM12/18/14
to ioio-...@googlegroups.com
Hi Ytai,

Can you share the steps and the programs I need to do this.

I have an ioio v1 board that I need to re-program. I don't have an android < 4.1 but I do have an IOIO OTG. I have logic-level-serial adapter already on the way.

Thanks,

Chard

Ytai Ben-Tsvi

unread,
Dec 21, 2014, 1:32:24 PM12/21/14
to ioio-...@googlegroups.com
I haven't forgotten about you, just letting you know that the diagnosis will have to wait until after the holidays (New Year's).
However, with two IOIOs you should be able to upgrade your firmware irrespective of the bootloader as per https://github.com/ytai/ioio/wiki/The-IOIO-Manager-Application.
Also, per somebody else's request, I just pushed a v5.00 firmware bootloader+app image for the old (v1) IOIO boards, so you can upgrade both your boards to the latest using this method.

Ytai Ben-Tsvi

unread,
Jan 6, 2015, 11:57:20 PM1/6/15
to ioio-...@googlegroups.com
Hey Chard, is this still relevant to you?

Denis Torres

unread,
Jan 20, 2015, 11:47:20 PM1/20/15
to ioio-...@googlegroups.com
Same issue here. Ubuntu 14.04.

IOIO board stops responding (loses connectivity) to "versions" command when in bootloader mode.

Ytai Ben-Tsvi

unread,
Jan 21, 2015, 12:55:28 AM1/21/15
to ioio-...@googlegroups.com
So what you're experiencing is proper enumeration and then losing of the connection as soon as you're actually trying to talk to it, or does the connection drop on its own regardless?

--

Richard Cintorino

unread,
Jan 21, 2015, 3:59:02 PM1/21/15
to ioio-...@googlegroups.com

With my experience it would connect and disconnect on it's own without any intervention from me

Denis Torres

unread,
Jan 22, 2015, 10:18:33 PM1/22/15
to ioio-...@googlegroups.com
I see the connectivity issues only when in Bootloader mode. That is, the /dev/IOIO0 is not available when i boot my OTG in to bootloader mode. If I reboot the into standard mode, then the device is added and it responds to the "versions" command from the Ubuntu terminal.

Ivan Creations

unread,
Jan 18, 2016, 1:14:06 PM1/18/16
to ioio-users
Hi Guys,

I had exactly the same issue: After firmware upgrade the device will not enumerate under linux (usb mode switch to A, cable OK etc.) (actually to be precise I had originally updated the firmware using windows, so it might be the case that even with the original firmware the IOIO was not enumerating in bootloader mode)
But anyway: Say you are running Ubuntu (12.04 or 14.04) and put the IOIO in bootlader mode and lsusb shows nothing (i.e. not enumerating to the OS) then:
Find a windows host or fire a virtual machine running Windows and do the upgrade from there - problem solved :)

p.s.
Side remark: Latest ioiodude is compiled with java8 and if you have java6 or 7 ioiodude will not work.

Best Regards
Ivan
Reply all
Reply to author
Forward
0 new messages