Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

ANT USB service on MK808 Problem

Rank

Total Posts: 4

Joined 2012-11-19

PM

To run the ANT+ demo I need, in addition to the Radio Service, the USB service on my Android pen Mk808 (w/ Android JB4.1). This is the product specs:

http://www.rikomagic.co.uk/ (even if this is reseller for MK802, the MK808 has similar specs).

From Google play, i see the following warning:

Rockchip MK808 - This item is not compatible with your device.

Why it is reported like this? The device is announcing itself as a tablet, with Android 4.1. It has 2 USB host ports, where I can connect Mice/Keyboard/USB pen without problems. From dmesg, the ANT+ USB key insert is recorded, with correct vendor string and version.

Since USB service APK was not downloadable from the market, I downloaded it with my phone (Samsung Galaxy S3 where, by the way, the USB service works well and Demo shows my HRM) and installed it manually on the MK808.

Still no luck.

I read from documentation that if the device is USB, the demo will not show "not supported", relying only on the installation of the USB service. So I'm stuck on "click to enable", without knowing where the problem is. Is USB to be registered on a given position? If I remember correctly from dmesg it resulted registered as usb 2 (channel 2? should it be 1??).

I will compile the demo in eclipse and run it through logcat on the MK808 to find out; in the manwhile if you have any suggestion it is welcome!!

Thanks,

Francesco.      
Avatar
RankRankRankRank

Total Posts: 744

Joined 2012-09-14

PM

Hi,

Basic peripherals such as keyboard, mouse, etc are built into the lower levels of Android through Linux. ANT USB2 sticks however require the USB Host API to be present (I suspect this may be the issue here), and while it has been built into Android 3.1+, the manufacturer may have disabled support for it (such as in Samsung Galaxy S2's). In this thread there was some discussion about how to check for USB Host API support.

Cheers      
Rank

Total Posts: 4

Joined 2012-11-19

PM

Thanks for the hint, I will also investigate on this aspect. But I put already a new kernel (as it is necessary for Galaxy S2) without success. The ANT device seems recognized in dmesg, so the usb host api should be there.

Do you know why some devices in particular are not supported in the google play (so I needed to force the install of apk manually)? And how the USB service filter out which usb device to use? I believe something can be wrong on how the USB service search for the device or initialize it.

Regards,
Francesco.      
Avatar
RankRankRankRank

Total Posts: 744

Joined 2012-09-14

PM

It's not only the kernel, even if the system can recognize the USB host device, it does not mean the API is available. Without the API many 3rd party devices cannot be interacted with.

Apps published to Google Play come with a "manifest" which specifies what that app requires for compatibility.

There are 2 requirements for the USB Host Service (right now).
Minimum Android SDK Version 12
"android.hardware.usb.host"

Most likely your device is not reporting the latter to Google Play.

This thread discussed adding that last line to your permissions as at least a way to trick apps into thinking it's there.      
Rank

Total Posts: 4

Joined 2012-11-19

PM

Thanks!! You definitively set me to the right point. Problem was indeed the broken support to Andorid USB host API. Your link was a good starting point, but did not fix completely the problem. I explain what I did for others with my problem.

1) have root access
2) install from Google Play "USB Host Diagnostics"
3) run the diagnostic, in my case it reads:
Android API 
Claims support
No
Classes found
Yes 
Device detected
No 


so classes are there but unused. The complete list of results from USB Host Diagnostics App is available here, to find out in advance: http://usbhost.chainfire.eu/ If classes are not found, you should upgrade to a new firmware.

4) in case /system is read only, remount it read/write. In my case:
mount -o remount,rw  /dev/block/mtdblock8 /system 


5) as indicated in the link by harrison, a file must be added. But in my case also tablet_core_hardware.xml needed an update, not mentioned in the previous link but explained here instead: http://stackoverflow.com/questions/11183792/android-usb-host-and-hidden-devices :

add the file /system/etc/permissions/android.hardware.usb.host.xml with the following content:

<permissions>
 <
feature name="android.hardware.usb.host"/>
</
permissions


Edit /system/etc/permissions/tablet_core_hardware.xml adding in the section where other permissions are:
<feature name="android.hardware.usb.host" /> 
Note the ending slash, missing in original link!!

6) Reboot.

7) run again USB diagnostic, in my case now it reads:
Android API 
Claims support
Yes
Classes found
Yes 
Device detected
Yes 


Best Regards,

Francesco.      
Rank

Total Posts: 1

Joined 2014-05-08

PM

Sorry, total noob to Android here. My head is exploding from running Google searches and correlating snippets of information for the last eight hours straight, so someone's indulgence in a very basic question would be appreciated.

USB Host Diagnostics App reports:

Claims support: No
Classes found: Yes
Device detected: No

So I'd like to try the system modification in this thread.

What's the best (preferably the friendliest) editor to use?

If it matters, I have an LG L39C, rooted, with Xposed Framework installed. Ultimately, my goal is to get the ANTUSB-m from Dynastream Innovations working. But first, I need to find out if USB OTG can be make to work.

Thanks in advance.


     
Rank

Total Posts: 4

Joined 2012-11-19

PM

Did you succeed? Sorry I didn't notice your post earlier.
F.