Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IOIO Android 6 Issue #130

Open
ShaunFinch opened this issue Jan 23, 2017 · 12 comments
Open

IOIO Android 6 Issue #130

ShaunFinch opened this issue Jan 23, 2017 · 12 comments

Comments

@ShaunFinch
Copy link

Hi I am unable to get Adroid 6 to link with my IOIO.

I have tried two Android devices with several IOIO boards. I have turned off debugging. The IOIO have latest App-IOIO0506 firmware installed. When connected the Android device displays the charging symbol.

All the IOIO I have tried link up to and older device I have running Andriod 4.
I've read though the posts on here with a similar question about Andriod 5, tried all suggestions with no luck.

Can anyone help please?

@AGKhalil
Copy link

Hello,

I am having a similar problem, but my IOIO runs the V3.30 firmware. When I connect it to my phone, running Android 6.0.1, nothing happens. I have made sure that debugging is always off when I connect them. Any help would be much appreciated.

Best regards,
Ahmed

@ShaunFinch
Copy link
Author

ShaunFinch commented Feb 15, 2017 via email

@ShaunFinch
Copy link
Author

ShaunFinch commented Feb 21, 2017 via email

@AGKhalil
Copy link

Hey Shaun, yes I did on a different thread. I attached the link below:

#119 (comment)

Best regards,
Ahmed

@brtietz
Copy link

brtietz commented Apr 25, 2017

I wanted to weigh in since I am experiencing similar issues. Here is what I have observed:

Android 4.4 over adb: works
Android 4.4 over OpenAccessory: works
Android 6.0 over adb: works
Android 6.0 over OpenAccessory: does not connect

I have not seen a permissions dialogue come up on any Android 6 device that I've tried (
Lenovo TB3-730F ZA11, specifically). Has anyone else had permissions issues on Android 6 and above?

@brtietz
Copy link

brtietz commented Jun 30, 2017

For anyone else debugging this, we've found a useful tool for determining if your tablet supports open accessory:

https://github.com/gibsson/linux-adk

We've established that our Android 6 tablets can connect over open accessory at 5 V using the following procedure:

(0) disconnect everything
(1) reboot the tablet
(2) plug the IOIO board into the power supply
(3) plug the tablet into the IOIO board
(4) repeat 2 & 3 several times

It seems like the suggestion in #119 about "The IOIO code should probably send out extra Accessory Mode messages blindly." would be helpful.

@andreassh
Copy link

Regarding @brtietz answer:
"I have not seen a permissions dialogue come up on any Android 6 device that I've tried (
Lenovo TB3-730F ZA11, specifically). Has anyone else had permissions issues on Android 6 and above?"
I've tried connecting through with the same Lenovo TB3 tablet, and I get no permissions dialog neither. Can't seem to establish a connection through neither my app (which works fine on a samsung galaxy with android 5) nor with the HelloIOIO app. Did you ever get it to work over OpenAccessory?

@brtietz
Copy link

brtietz commented Aug 24, 2017

@andreassh Yes, including on that specific tablet. The trick was to reset the channel if we didn't connect within a certain number of cycles (akin to blindly sending out more Accessory Mode messages). We have the code on a fork here: https://github.com/catalia-health/ioio

We haven't put in a pull request just yet because we're still dealing with a few edge cases. If our application exits and resumes (as would happen for a software update), we lose connectivity until reboot. I'll try to remember to post here when we're ready to upstream the code.

@100TWH
Copy link

100TWH commented Apr 23, 2018

@brtietz I'm facing the same problem with no AOA popup and would like to try out your fix but I have never done any IOIO firmware programming so I appreciate any help I can get. From what I understand these are the steps I need to take:

  1. Download the updated code, I think only firmware/app_layer_v1/main.c is affected, right?

  2. Build a new IOIO application firmware using MPLAB-X following the instructions here:
    https://github.com/ytai/ioio/wiki/IOIO-Developer-Getting-Started-Guide

  3. Re-program the IOIO OTG board using IOIODude following the instructions here:
    https://github.com/ytai/ioio/wiki/IOIO-OTG-Bootloader-and-IOIODude

Is this correct way to go?

If you or someone else already has an already complied application image (*.ioio or *.ioioapp) with the AOA fix, I will be more than happy to use that :)

Best regards,
JP

@brtietz
Copy link

brtietz commented Apr 27, 2018 via email

@100TWH
Copy link

100TWH commented Apr 27, 2018

I followed the step and managed to build the customized firmware and flash it to my IOIO but when I attached it to my phone (a LG Nexus 4 running Android 5.1.1) the recharge icon started to rapidly go on/off and just continued to do so. The IOIO was not identified when running for example HelloIOIO. The trimmer was at its max. Didn't have time unfortunately to debug it. I flashed the stock app firmware again and then everything was back to normal.

@brtietz Is this something you have seen before? I think that you made a note somewhere that the code was not ready to be pushed due to some remaining issues?

@brtietz
Copy link

brtietz commented May 21, 2018

Sorry for the slow reply - that's not something we've seen here. We've (mostly) worked around the issues I mentioned on the Android side, but haven't made an example in our fork yet. That said, having the code do a hard reset on itself every 1.5 seconds if its not connected is a pretty sloppy solution. It'd be nice to upstream something a little more deft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants