There are two main causes for what you're seeing:

   1. The Android USB stack would sometimes not correctly detect and report
   a quick disconnect/reconnect event. And there are other annoying quality
   issues like that.
   2. It is not immediately obvious how to have a Service register for
   connection events.

Not all is lost: it is very possible that there are software workarounds
for said Android constraints that would result in a robust AOA connection.
This issue has gotten to the point where it is important enough to enough
people that I'm intending to take a serious look at it soon and assess what
can be done.
As a last resort, it may be possible to enable a watchdog on the IOIO that
would reset everything if it doesn't here from your app for a certain time
and hopefully this would be able to recover from a lost connection under
all circumstances regardless of how misbehaved Android is.
Feel free to look at the implementation of the AccessoryIOIOConnection
yourself, or otherwise wait for updates from me.

On Tue, Feb 17, 2015 at 10:25 PM, Andries Kruger <[email protected]>
wrote:

> Hi,
>
> I've been using the IOIO for a few weeks now. I have a rooted phone that
> connects to the IOIO-OTG and I'm using the IOIOService to handle the board.
> Everything has been going pretty well. There is just one issue I am
> struggling to fix/workaround.
>
> A little background: The phone will be installed in a vehicle where I
> don't have access to it. It will be collecting data as the driver goes on
> his way. I need to IOIO to start and work flawlessly without issues and if
> issues are detected, the phone should be able to fix itself. I've got this
> working pretty well now.
>
> The issue I'm currently experiencing is that the IOIO gets disconnected
> from the phone (well sort off). The phone is being powered by the IOIO but
> the connection to the board is dead. It is kinda hard to replicate this
> problem but I have managed to do this by wiggling the USB connection and I
> think it might be caused by the vibrations in the vehicle. I do think I
> have a pretty good quality USB-OTG cable and the other cable is the stock
> Samsung cable that came with the phone. Eventually I'll try to solder the
> connections together but I would like to have some sort of way to fix the
> problem in the software should it occur. There are 3 things that fix the
> problem:
> 1) Enable/Disable USB Debugging
> 2) Cycle the power on the IOIO
> 3) Restart the phone
>
> Restarting the phone will probably be the easiest solution but then we
> loose data for as long as it takes the phone to restart. I have no way of
> cycling the power on the IOIO without human intervention and it doesn't
> look like I can change the state of USB debugging even when I'm rooted.
>
> Does anyone know of a way I can programmatically fix this?
>
> PS: I have latest versions of firmware installed.
>
> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/ioio-users.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to