Re: Problem about IOIO on Android 4.2.2

1,624 views
Skip to first unread message

Ytai Ben-Tsvi

unread,
Feb 18, 2013, 10:57:22 AM2/18/13
to ioio-...@googlegroups.com

On 4.2.2 you should be able to use OpenAccessory.

On Feb 18, 2013 7:53 AM, "Ake Exorcist" <akexo...@gmail.com> wrote:
Android 4.2.2 has been added secure usb debugging
That problem with IOIO via ADB, IOIO not working but work normally on bluetooth connection
How can i do about ADB? 

--
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Ake Exorcist

unread,
Feb 19, 2013, 12:16:02 AM2/19/13
to ioio-...@googlegroups.com
will you fix this problem on next firmware update?
If not i will tell about OpenAccessory Solution to another IOIO user

Ytai Ben-Tsvi

unread,
Feb 19, 2013, 12:40:55 AM2/19/13
to ioio-...@googlegroups.com
Define "fix this problem"...
I see no point in implementing secure ADB (if at all possible) for IOIO, where any Android that has this feature also has AOA.


On Mon, Feb 18, 2013 at 9:16 PM, Ake Exorcist <akexo...@gmail.com> wrote:
will you fix this problem on next firmware update?
If not i will tell about OpenAccessory Solution to another IOIO user

--

kolbe

unread,
Feb 19, 2013, 4:15:30 AM2/19/13
to ioio-...@googlegroups.com
Just to make sure I understood correctly... no ADB connection for Android 4.2.2 and above. That means for the future either OpenAcc or BT and this includes v1.

Thanks for all the great work Ytai.

Al Linke

unread,
Feb 19, 2013, 4:17:12 AM2/19/13
to ioio-...@googlegroups.com
on this one, does it mean the IOIO manager app won't work on 4.2.2? I re-compiled the bootloader with BYPASS_SECURITY so IOIO Manager works fine for me on 4.2.1 at the moment (using the IOIO V1 board). If no, is it possible for IOIO manager to work over OpenAccessory?

Thanks,

Al

Ytai Ben-Tsvi

unread,
Feb 19, 2013, 12:05:44 PM2/19/13
to ioio-...@googlegroups.com
Yes. I consider the bootloader V3.x incompatible with JellyBean (4.1) and higher. By bypassing security checks (which I discourage in most cases) you managed to extend this to 4.2. But now this seems to be the last nail in the coffin with secure ADB coming.

So to summarize the situation:
  1. Firmware upgrades with bootloader 3.x will only work with Android < 4.1.
  2. IOIO-OTG has bootloader 4.x, which is independent of Android (firmware upgrades done with a PC).
  3. When using IOIO with Android 4.2 or greater, OpenAccessory should be used rather than ADB (i.e. must turn off USB debugging on the Android). I will consider building a custom firmware build which ignores ADB if present, so that turning off ADB will not be necessary. I kinda hate this, because it creates some fragmentation by having a IOIO that works fine with newer Androids, but doesn't work with old ones.

claus

unread,
Feb 20, 2013, 9:32:01 AM2/20/13
to ioio-...@googlegroups.com
Would there be a way for the firmware to try to establish connection with adb (if enabled) and fallback to OpenAccessory if the first fails?

claus

unread,
Feb 20, 2013, 4:22:23 PM2/20/13
to ioio-...@googlegroups.com
I have almost always been using BT so I did not note the transition to 4.2.2 (Nexus 7). After reading this thread I just tried to use HelloIOIO over OpenAcc (disabling USB debug) but I can not get any connection (can not switch the led). Working fine over BT, this is a v1 board, any suggestions?

claus

unread,
Feb 20, 2013, 5:29:35 PM2/20/13
to ioio-...@googlegroups.com
Answering myself, just in case someone is as stupid as me: I did not have the IOIOLibAccesory linked to my HelloIOIO! I found out by checking the log files that the IOIO seems to try to connect over BT in this case (LibAccessory code not found), this will not succeed as the connection is over USB and the IOIO cannot be connected.

These problems might be more frequent now (since Android 4.2), as before we could rely on the IOIO to make the connection over ADB and no OpenAcc lib was ever needed, so you better check https://github.com/ytai/ioio/wiki/IOIO-Over-OpenAccessory if you run into a problem like mine.

pa...@justwatersaversusa.com

unread,
Feb 20, 2013, 6:03:24 PM2/20/13
to ioio-...@googlegroups.com
Just to add, for those who haven't come across the jellybean issue with Debug Mode (if you would like to use it).

It is still there, just hidden. Google android USB debug jellybean to get the instructions.

It is something like go to about in settings, tap 3 times then tap 4 times and the option to turn on USB debugging appears.

Paul 

--

Eliot Phillips

unread,
Apr 25, 2013, 5:59:40 PM4/25/13
to ioio-...@googlegroups.com
    I will consider building a custom firmware build which ignores ADB if present, so that turning off ADB will not be necessary. I kinda hate this, because it creates some fragmentation by having a IOIO that works fine with newer Androids, but doesn't work with old ones.
Does this exist? I've got ~30 Nexus 4 phones that require ADB to be ON so I can push files onto them remotely (using this method because it's easy) but they also need to be plugged into the IOIO mint over USB so they can use the external battery (and they need the mint to talk to an app).

Any help would be appreciated.

Cheers,
Eliot

Ytai Ben-Tsvi

unread,
Apr 25, 2013, 8:20:55 PM4/25/13
to ioio-...@googlegroups.com
If you're willing to do some firmware hacking, join the ioio-dev list and find the thread called "Android Open Accessory and ADB" for some hints.


--

Adrien

unread,
Apr 28, 2013, 7:14:51 AM4/28/13
to ioio-...@googlegroups.com
Eliot, did you try IOIO Hardware Tester on the Nexus 4 with debug mode off? which Android version?
I get "N.A" for HW, BL FW versions of the IOIO. I have Android 4.2.2
(same with usb debug on btw)

Thanks
Adrien

Ytai Ben-Tsvi

unread,
May 3, 2013, 5:54:26 PM5/3/13
to ioio-...@googlegroups.com
I don't think the IOIO Hardware Tester supports OpenAccessory, so that's expected. Try HelloIOIO.


On Fri, May 3, 2013 at 12:01 PM, Gwyan Rhabyt <rha...@gmail.com> wrote:
I also get NA for HW, BL, and FW versions from IOIO Hardware Tester via USB with debug on or off.
I only get useful readings from Hardware Tester with Bluetooth.
This is Galaxy Nexus, 4.2.2 and IOIO Mint BL 0304 FW0324
--

Adrien

unread,
May 3, 2013, 6:11:24 PM5/3/13
to ioio-...@googlegroups.com
About that, see "News" section on IOIO Hardware Tester page on Google Play:
Now you will also get the connection type you are using. The three options are:
* Bluetooth
* Socket (ADB)
* OpenAccessory

By the way, could you remind me the easiest way to install Hello IOIO, please

Ytai Ben-Tsvi

unread,
May 3, 2013, 8:34:03 PM5/3/13
to ioio-...@googlegroups.com
I've seen the "news", but I think it doesn't really work properly. For one, you don't get this app in the OA dialog when plugging in the IOIO, while other apps do appear (probably a manifest bug).

The easiest way to install HelloIOIO is to download the software bundle from the Downloads page on the wiki and use HelloIOIO.apk that's in the zip.
Install it using ADB or by emailing it to yourself and opening the attachment on the Android.

Adrien

unread,
May 4, 2013, 4:08:45 AM5/4/13
to ioio-...@googlegroups.com
Thank you,
I installed HelloIOIO on the Nexus4, I can't blink the LED (whereas that works with a Dell Streak 5 running Android 2.3.7, and same HelloIOIO.apk)
IOIO HW, BL, FW are resp.: SPRK0016, 301,324 (through ADB). Which works well for my application with the Dell.

I understand there is no need to upgrade the IOIO to make it work with the Nexus, is that right?

Gwyan Rhabyt

unread,
May 4, 2013, 1:07:29 PM5/4/13
to ioio-...@googlegroups.com
I have HelloIOIO working fine with Android 4.2.2 on my Galaxy Nexus. It took me a few tries, double-checking all the Eclipse details, as I went.

What I really want is to get the IOIO working with Processing. There are details here (http://benatwork.cc/how-to-use-processing-in-android-mode-with-the-ioio-board/) but the ioio.jar file it uses (to encapsulate IOIOLib, IOIOLibAccessory, and IOIOLibBT)  is from Feb 2012 and Android and IOIO has moved on from there. I can't figure out if the problem is that my Android is too new or that my IOIO (Mint0010 BL0304 FW0324) is too old. With the new Android, it seems from what Ytai says that I can't update my IOIOMint because Jelly Bean is incompatible with the IOIO Bootloader.  I'll order a newer OTG IOIO to test that, but is anyone else on the list using Processing?

Ytai Ben-Tsvi

unread,
May 8, 2013, 8:17:53 PM5/8/13
to ioio-...@googlegroups.com
Adrien,
If your N4 has Android 4.2.2 or greater, you have to use OpenAccessory, as ADB won't work.

Adrien

unread,
May 9, 2013, 4:57:46 AM5/9/13
to ioio-...@googlegroups.com
Right, for that I had to disable USB debug.

Ytai Ben-Tsvi

unread,
May 9, 2013, 11:54:33 AM5/9/13
to ioio-...@googlegroups.com
So are you OK now, or still having issues?

Adrien Ott

unread,
May 9, 2013, 12:15:07 PM5/9/13
to ioio-...@googlegroups.com

HelloIOIO works fine, thanks.
I'm no developer myself. The application I use IOIO with does not currently support OA, but maybe will eventually (XCSoar).

You received this message because you are subscribed to a topic in the Google Groups "ioio-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ioio-users/5gwna9Y6tGU/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to ioio-users+...@googlegroups.com.

Ytai Ben-Tsvi

unread,
May 9, 2013, 12:27:55 PM5/9/13
to ioio-...@googlegroups.com

Ah...
Well, it's a simple code change, you might as well request it as it will probably be beneficial to others too.

Paul McMahon

unread,
May 7, 2014, 10:36:34 AM5/7/14
to ioio-...@googlegroups.com
Hi.  I have an old app which is not written in a way which is easily converted to AOA (It does everything manually).  Rather than rewrite all that code, it'd be great if IOIO could establish a secure ADB connection.  Are you not planning this support at all?  Have you scoped out the work involved?

thanks

Ytai Ben-Tsvi

unread,
May 7, 2014, 12:02:29 PM5/7/14
to ioio-...@googlegroups.com
This involves implementing RSA encryption, for an apparent very little gain. Probably not going to do that.
You most likely don't need to rewrite most of your code. Change your IOIO to one communicating over AOA, make sure to delegate your relevant application events to the connection class. See how IOIOAndroidApplicationHelper works.


Paul McMahon

unread,
May 7, 2014, 12:06:13 PM5/7/14
to ioio-...@googlegroups.com
OK, I'll look into that code. 

BTW, I found AOA mode was not 100% reliable on my phone running Android 4.3.1:  I could repeatedly disconnect/reconnect the USB cable, and it would be identified as an accessory each time.   But If I power cycled the IOIO, it would not always come up as an accessory.  I don't think I'm having that problem with my phone phone and ADB mode.  Have you seen this issue?
- Paul

Ytai Ben-Tsvi

unread,
May 7, 2014, 12:10:08 PM5/7/14
to ioio-...@googlegroups.com
I've seen an issue which may be the same as what you're describing, where a quick disconnect / reconnect either by unplugging the USB cord or by power cycling the IOIO would sometimes go undetected by the Android. AFAICT there's nothing that can be done about it, the OS simply does not detect the disconnection or does not propagate it to the app.
I'm curious: does closing and re-opening the app fix this? If so, this might suggest that a app-level software fix is possible.


Paul McMahon

unread,
May 7, 2014, 12:58:23 PM5/7/14
to ioio-...@googlegroups.com
Yes, I think closing and re-opening does fix this.  Any idea where in the app to investigate?
BTW, I think this only happens with android-8 or -10 (which needs the usb.jar add-on library)


--
You received this message because you are subscribed to a topic in the Google Groups "ioio-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ioio-users/5gwna9Y6tGU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ioio-users+...@googlegroups.com.

Ytai Ben-Tsvi

unread,
May 7, 2014, 8:07:52 PM5/7/14
to ioio-...@googlegroups.com
If you add a method to this class:

Which allows your app to call helper_.restart(), this might potentially resume your broken connection. If this works, we can try to think about how the disconnect can be automatically detected and recovered from.
Reply all
Reply to author
Forward
0 new messages