Hello,
As It's difficult to search for "ANT+" in the forums, sorry if this issue has already been addressed
And now some extra keywords to ease the search: ant, ant+, antplus, ant_plus, antwireless, ant_wireless
This is a thread to summarized all the facts about ANT+ and the Nexus 5 I have found so far:
HARDWARE: BCM4339. The Nexus 5 has this chip which provides WiFi, BT and presumably ANT+. It's also present in the Galaxy Note 3 which reportedly has ANT+ capabilities.
DRIVER: The required driver source can be found here: https://github.com/ant-wireless . Once compiled it generates a module (libantradio.so) and two apk (AntHalService.apk, ANTRadioService.apk).
SOFTWARE: There are several apps with ANT+ enabled, but for testing purposes the ANT+ demo can be used.
To be able to test ANT+ I have the Nexus 5 and ANT+ capable hardware (HRM, cadence sensor, etc), the ANT+ Demo in google play but I'm missing the driver.
I know I need a kernel with module loading enabled (for example this modified stock: http://forum.xda-developers.com/showthread.php?t=2514765) but I don't know howto to compile the ANT+ module.
Can someone generate the driver as per the instructions in https://github.com/ant-wireless/ANT_in_Android or explain me how to do it?
I'm on a linux host, I have a rather limited experience in compiling stuff but I'm not afraid of learning something in the process!
Thanks!!
very interested in the results. thank you for your work on this
interested
Subscribed.
I am also interested in this as I have my phone and Garmin Forerunner watch with me when I run so if I can just carry my phone and get the same data that would be awesome!
If no one else takes this on, I'll see about looking into it later. Keep in mind though that I'm not a developer of any sort but am comfortable with compiling kernels. I have an ANT+ HRM from my Motoactv that I'd like to use.
Ok,
So far I haven't able to compile stock kernel. I'm trying with NDK GCC 4.7 without success: http://forum.xda-developers.com/showthread.php?p=47577117
But I've investigated in other fields. I've downloaded S4 and Note3 ROMS with ANT+ support to have a look at the files.
S4 CRASH_ROM_V11: http://forum.xda-developers.com/showthread.php?t=2322619
Note3 BoBCaTROM_V2.0: http://forum.xda-developers.com/showthread.php?t=2498687
This is want I've found so far:
There are three system apps: AntHalService.apk, ANTRadioService.apk and ANTPlusPlugins.apk. These two latter can be found in google play. The first app is the one that "informs" the system that the device is ANT+ capable (as stated in the ant_wireless git). I've tried to install this apk manually but fails due to certificates (samsung).
S4, Note3 and Nexus5 have all different revisions for the bcm433x firmware but they all have an "ANTLockUsed" string in it (hexdump). Is it related to ANT+ or the ANTenna? Incidentally, the wisol firmware revision doesn't have this string.
The rest of the files related to ANT+ are for the com.dsi.ant.antradio_library (etc/permissions and framework files).
I can't find any ANT+ related module (ant*.so, libant*.so). Thus, is it already compiled in the kernel or not needed at all?
I've uploaded all these files in case anyone wants to have at look them.
Subscribed. ANT+ support would be awesome for all the athletes out there.
I'm a big supporter of ANT+. I wish I knew more about Android to help on this side. I have a blog that documents a lot of hacking projects related to ANT+.
If the Nexus 5 could access ANT+ it could be an amazing cycle computer potentially.
I work a bit with a SOC from Nordic. The way it works for BLE is that it compiles and downloads a soft protocol. I'm wondering if this is how the Boardcom chip works too. My reasoning is in the github:
Additionally, in Android 4.2, the Bluetooth stack switched to Bluedroid (from BlueZ) and this existing ANT implementation for chips using Vendor Specific Bluetooth HCI messaging for ANT packets (wl12xx and bcm433x) is currently not compatible, until somebody is able to do the work for the different bluetooth stacks. The chip vendors may provide build support for their own products if you inquire with them.
Click to expand...
Click to collapse
So it sounds like, because ANT+ and BLE are so similar, they upload a new stack to the chip which enables it. However, this stack is not in the wild.
kwakeham said:
So it sounds like, because ANT+ and BLE are so similar, they upload a new stack to the chip which enables it. However, this stack is not in the wild.
Click to expand...
Click to collapse
That makes sense as I wasn't able to find any more files related to ANT+ (directly not by looking into the source code).
However, I'm very stubborn and I want ANT+ in the nexus :silly:
First of all: It still doesn't work, but so far I've learnt a few things.
First I copied the Note3 files (attached) related to ANT+ (root needed, remember to chmod 644):
/system/app/AntHalService.apk (modified to strip samsung certificates)
/system/etc/permissions/com.dsi.ant.antradio_library.xml
/system/framework/com.dsi.ant.antradio_library.jar
/system/vendor/firmware/bcm4335_A0.hcd (renamed to bcm4335c0.hcd to max nexus5 firmware name. Backup old one first!!)
Upon reboot I also installed from google play the rest of ANT+ app required.
ANT radio service: https://play.google.com/store/apps/details?id=com.dsi.ant.service.socket
ANT+ Plugins: https://play.google.com/store/apps/details?id=com.dsi.ant.plugins.antplus
ANT+ Demo: https://play.google.com/store/apps/details?id=com.dsi.ant.antplusdemo
When using the ANT+ Demo App it doesn't warn about anything missing (good!!) but when searching for the HRM I have it just fails (bad!!). It fails with either firmware (nexus or note). In any case dmesg doesn't so any info related to ANT+.
To summarize:
The previous files are needed so that androids "knows" ANT+ hardware is present, but
Something else needs to be modified. As stated by kwakeham probably the bluetooth stack.
I have no android or coding skills (or any skills at all ), but with this information I hope someone can have a look at the modified bluetooth stack of either S4 or Note3 to port those changes to Nexus5 :fingers-crossed:
I'm very confident because XDA is a great place with lots of wonderful people, fully capable of implementing ANT+ in the Nexus5.
They've done much harder things!!
Is it true that Bluetooth 4.0 can only connect to one device at a time? So, if we wanted to monitor heart rate on the phone and listen to music via bluetooth headphones, this would not be possible unless we used an ANT+ heart rate monitor, correct?
Cleanskinned said:
Is it true that Bluetooth 4.0 can only connect to one device at a time? So, if we wanted to monitor heart rate on the phone and listen to music via bluetooth headphones, this would not be possible unless we used an ANT+ heart rate monitor, correct?
Click to expand...
Click to collapse
Close but not quite.
A BT4 HR strap will only allow one device to connect to it at a time but the phone can connect to multiple BT devices at the same time. ANT+ lets an infinite number devices to connect to a single HR strap, so like your phone stashed in your pocket and a running watch on your arm. ANT+ would also allow you to read data from hundreds of sensors, though that would be more useful for a trainer at a spin class or something lol.
Exactly, and to verfy that I just connected two Bluetooth 4.0 devices with my Nexus 5. My Pebble and the fitbit Flex from my girlfriend, both worked fine simultaneously.
Btw, windows has a limit of 7 connected Bluetooth devices at a time, but that's not caused by the Bluetooth specification.
Sent from my Nexus 5 using xda app-developers app
Hello,
Still no success.
I've been looking into the source code of both S4 and Note3 opensource kernels for android version 4.3, but due to lack of coding skills I just have no idea of what to search.
The source code of bluetooth stack from these kernels and the one for nexus5 seem completely different thus it's hard to draw any conclusions. The only thing clear is that running a "grep" search into the code for "ant+", "antplus", "ant_wireless" (or similar) doesn't show any results.
It seems someone is working on having ant+ on the google editon S4: http://forum.xda-developers.com/showthread.php?t=2542922
Let's hope his work can be reused for the nexus5.
PS. I don't have enough posts yet to ping him back to this thread but I will try to use the files he has attached.
usu4rio said:
It seems someone is working on having ant+ on the google editon S4: http://forum.xda-developers.com/showthread.php?t=2542922
Let's hope his work can be reused for the nexus5.
PS. I don't have enough posts yet to ping him back to this thread but I will try to use the files he has attached.
Click to expand...
Click to collapse
That's me. I've found you looking for some info to help me out.
The main issue I'm facing is the AntHalService.apk from the vendors(Samsung,Sony) is the 3.0.0 and there were 2 updates already.
I compiled the 3.1.1 but I can't run it as a system app.
Regarding the Nexus 5, I guess that since S4 got ANT+ activated on 4.3, something in the updated radio probably activated it, and as you mentioned, no .so modules on the system.
Maybe analyzing the ANTHal code deeply might bring up some light on this.
Btw, you're Brazilian or Portuguese or Spanish? (due to your nickname)
If so, we can add each other on G+ and progress on talks to see if we can bring some light to the athlete droiders out there...
Worst case scenario you can use an USB Ant+ Stick with an OTG cable. (what I am going to do while I research for this.... )
Oh, btw, Galaxy S3 also had the hardware but Samsung never activated it...
ADD
AdrienC said:
That's me. I've found you looking for some info to help me out.
The main issue I'm facing is the AntHalService.apk from the vendors(Samsung,Sony) is the 3.0.0 and there were 2 updates already.
I compiled the 3.1.1 but I can't run it as a system app.
Regarding the Nexus 5, I guess that since S4 got ANT+ activated on 4.3, something in the updated radio probably activated it, and as you mentioned, no .so modules on the system.
Maybe analyzing the ANTHal code deeply might bring up some light on this.
Btw, you're Brazilian or Portuguese or Spanish? (due to your nickname)
If so, we can add each other on G+ and progress on talks to see if we can bring some light to the athlete droiders out there...
Worst case scenario you can use an USB Ant+ Stick with an OTG cable. (what I am going to do while I research for this.... )
Oh, btw, Galaxy S3 also had the hardware but Samsung never activated it...
Click to expand...
Click to collapse
i have a Galaxy S4 but i want to change it for Nexus 5
i hope it works
following
HI to all
I'm interesting on this too and I'm waiting how advance this to buy an nexus 5
You will try to ask on thisisant forum. there are developers from ant+ and offer some news about phones sometimes.
Waiting news, best regards to all.
Guys, I've got a message from @fcastillousfq and I think it might be of your interest my response:
fcastillousfq said:
Hey, I saw the post about getting a USB accessory for the Nexus 5 to be able to use ANT+ as a last resource, I've been searching online and can't find any for Android, only for iPhone. The only one I've found was huge and it's not for sale yet.
Could you provide me a link or the name of the accessory so I could buy it?
Thanks!
Sent from my Nexus 5 using xda app-developers app
Click to expand...
Click to collapse
Sure, it the Suunto Movestick Mini + OTG Cable
Then you have to install:
https://play.google.com/store/apps/details?id=com.dsi.ant.usbservice
https://play.google.com/store/apps/details?id=com.dsi.ant.service.socket
https://play.google.com/store/apps/details?id=com.dsi.ant.plugins.antplus
https://play.google.com/store/apps/details?id=com.dsi.ant.antplusdemo (for testing)
https://play.google.com/store/apps/details?id=com.dsi.ant.antplus.grapher.heartrate (for testing)
And you're set. It's pretty easy!!
ps: forget to mention that you can use regular size ant+ usb sticks, as the one from Garmin, but I preferred this one as it's smaller.
With a bit of DIY you can make something smaller.
Thanks for the info! I'm going to look into it and probably buy it.
I'm also considering the Viiiiva, which acts as a bridge between all my Ant+ devices and Bluetooth 4. The bad thing is that there's no android app yet, in the mean time, the USB one will suffice.
Sent from my Nexus 5 using xda app-developers app
AdrienC said:
That's me. I've found you looking for some info to help me out.
The main issue I'm facing is the AntHalService.apk from the vendors(Samsung,Sony) is the 3.0.0 and there were 2 updates already.
I compiled the 3.1.1 but I can't run it as a system app.
Regarding the Nexus 5, I guess that since S4 got ANT+ activated on 4.3, something in the updated radio probably activated it, and as you mentioned, no .so modules on the system.
Maybe analyzing the ANTHal code deeply might bring up some light on this.
Btw, you're Brazilian or Portuguese or Spanish? (due to your nickname)
If so, we can add each other on G+ and progress on talks to see if we can bring some light to the athlete droiders out there...
Worst case scenario you can use an USB Ant+ Stick with an OTG cable. (what I am going to do while I research for this.... )
Oh, btw, Galaxy S3 also had the hardware but Samsung never activated it...
Click to expand...
Click to collapse
Sorry for the delay.
Yes! spanish :good:
Unfortunately I don't use G+ (or facebook or in fact any other so-called social network). I will try to be active here so we can achieve the desired ANT+ support.
Tomorrow I will have a look at the ANT+ files you compiled (posted in the other thread) and I will compare the results with the ones provided by samsung (which I somehow managed to installed but don't really know if are working or not). I will add a post with the steps I followed to make it work.
AdrienC said:
Guys, I've got a message from @fcastillousfq and I think it might be of your interest my response:
Sure, it the Suunto Movestick Mini + OTG Cable
Then you have to install:
https://play.google.com/store/apps/details?id=com.dsi.ant.usbservice
https://play.google.com/store/apps/details?id=com.dsi.ant.service.socket
https://play.google.com/store/apps/details?id=com.dsi.ant.plugins.antplus
https://play.google.com/store/apps/details?id=com.dsi.ant.antplusdemo (for testing)
https://play.google.com/store/apps/details?id=com.dsi.ant.antplus.grapher.heartrate (for testing)
And you're set. It's pretty easy!!
ps: forget to mention that you can use regular size ant+ usb sticks, as the one from Garmin, but I preferred this one as it's smaller.
With a bit of DIY you can make something smaller.
Click to expand...
Click to collapse
I also have the LARGE garmin usb stick. I successfully used it with the Razr (910xt), but if only we could make use of the internal ANT+ hardware it would be soooo convinient
usu4rio
PS. As a "last resort" I'm planning to contact Carlo Pescio, the creator of Sportablet (http://www.sportablet.com). If I were able to use the internal ANT+, I would definitively buy his software (https://play.google.com/store/apps/details?id=com.carlopescio.uploader). I hope this doesn't sound as extortion ... too much :angel:
have been using this rom since a month without problems and i got the "P" version of i9100 with nfc included, but obviously it not working with this rom. i'm thinking about of the implemetation on kernel of this option for i9100P users like me. i have been reading about that in xda, and i found this thread:
http://forum.xda-developers.com/showthread.php?t=1822447
but, its not continuous or seems to be stopped.
could be this feature implemented someday?
i think i found the driver of nfc chipset ,https://android.googlesource.com/ke...7456ef92735a1257c95eac44/drivers/misc/pn544.c
Edray said:
have been using this rom since a month without problems and i got the "P" version of i9100 with nfc included, but obviously it not working with this rom. i'm thinking about of the implemetation on kernel of this option for i9100P users like me. i have been reading about that in xda, and i found this thread:
http://forum.xda-developers.com/showthread.php?t=1822447
but, its not continuous or seems to be stopped.
could be this feature implemented someday?
i think i found the driver of nfc chipset ,https://android.googlesource.com/ke...7456ef92735a1257c95eac44/drivers/misc/pn544.c
Click to expand...
Click to collapse
The main problem is handling the fact that some of the NFC stuff behaves VERY badly if put into a device that doesn't have the hardware.
No one ever figured out a way to get it added to the P without either having a separate build or breaking the non-P I9100.
Although with the new infrstructure for "unified" device builds, this might now be possible.
As an FYI, the I777 (which REQUIRES a different build due to having different call audio, touchkeys, and a few other things) has NFC. The main blocker on the P was not wanting to create yet another build.
and it will be not possible a flashable zip with NFC enabler, and a script like superSU for not being erased by the updates?
thanks for your reply:good:
Edray said:
and it will be not possible a flashable zip with NFC enabler, and a script like superSU for not being erased by the updates?
thanks for your reply:good:
Click to expand...
Click to collapse
We don't do separate flashable ZIPs and stuff like that. Our build system doesn't support it, among other things.
One more in the request
I join to the kind request for this feature. As you know, NFC is now of use for payment and ID (to enter your office, for example), so I hope it makes sense for you to consider the effort and risk of creating a separate version in a near future. I can't adopt any ROM wo NFC unless I carry additional ID/VISA cards (2 more in my crowded wallet).
bajajel said:
I join to the kind request for this feature. As you know, NFC is now of use for payment and ID (to enter your office, for example), so I hope it makes sense for you to consider the effort and risk of creating a separate version in a near future. I can't adopt any ROM wo NFC unless I carry additional ID/VISA cards (2 more in my crowded wallet).
Click to expand...
Click to collapse
Sorry, but adding NFC to the I9100P won't help you here.
AOSP is missing HCE support for any device with an NXP NFC chipset. Until that changes, the I777/I9100P will not be payment capable even if NFC is added for P builds.
Reposting from where I previously put this, on the suggestion that folks here might have more idea what I am talking about.
Yes, this is a question but I couldn't see that it fit in better to one of the other forums. If I am wrong please accept my apologies and redirect me, thanks.
I'm trying to work with a custom build of Android based on KitKat to incorporate a stylus, copying some of the functionality (though not code) from Samsung which sells Android-with-stylus builds for e.g. the Note 3. I'm not including details of the specific device because right now I am working on a custom dev device and my aim is to write code which is generic enough to be usable from any Android (based on KitKat). The build (written by others) already incorporates drivers and sends stylus events correctly as motion events etc. Programming at the app level I can receive onHover, onTouch, onClick etc
The specific functionality I am trying to achieve is to pick up a stylus-button-click while hovering. It's perfectly possible to do this in any app, using an onGenericMotion Listener.
However, I want to make my "stylus-action" have system-wide effect - so that anywhere (in any other app, or in the launcher or whatever) I will pick up the event (prior to any other app) and bring up my custom menu. (just like AirCommand in Samsung Note 3) I guess in my custom Android this would then make that particular action somewhat protected or unusable for other users, but I'm ok with that.
In older Android (prior to ICS) you could try something by putting up a System Overlay (i.e in regular app code, without hacking the ROM at all), but this is no longer possible.
This is not an attempt to tapjack or whatever, I understand why this functionality has been removed from the domain of the regular programmer, and I don't want to regress my ROM back to pre-ICS behaviour by allowing the System Overlay hack. Now I am programming the system (if my change is good enough I'd like to submit it back to AOSP) so I would like to know the best method to address this. Since Samsung have already done this, it must be legal (using legal in the terms of "Android will allow it"), and I want to do it right.
Is it possible to write something similar to the System Overlay when you are running from a system service? Or is there a good choke-point to capture events before they are broadcast to the current running apps?
I was looking at (sorry, not allowed to post links) AndroidXRef /frameworks/base/core/java/android/view/View.java specifically in the function dispatchHoverEvent() which looks like a promising place. My naive idea is that I would place code here checking the MotionEvent to see if the button is pressed and if it is, don't call any listeners and instead call my little menu app (or broadcast a custom message, or something anyway). However, I've never written code on the ROM level before (LOTS of experience writing app code) so I don't know if this is a really bad point or a good point to add in code. Should I be putting things at a higher level or a lower one? Will this capture all events or not? Is it all just trial and error?
If this is the wrong place to ask questions like this, please tell me where on XDA I should be asking it. If it's the right place - please answer
Thanks
Kibi
Hi. I'm new to Xposed. I was wondering whether there was a module that would allow the digitiser to be kept on (even while screen is off) to accept gestures (like skip forward/backward, toggle flashlight etc). Apparently CyanogenMod on the OnePlus One does this and also the LG G3 for the double-tap feature.
If it's possible on a rom it should be possible in xposed. Xposed is very, very powerful and there is a reason it's called "xposed", as in the meaning to expose or make vulnerable, to show inner secrets.
As for whether such a mod exists right now, probably not. But that doesn't mean other xposed mods don't have such features. It probably depends on the make and model of your device.
Sent from a stolen phone!
shivadow said:
If it's possible on a rom it should be possible in xposed. Xposed is very, very powerful and there is a reason it's called "xposed", as in the meaning to expose or make vulnerable, to show inner secrets.
As for whether such a mod exists right now, probably not. But that doesn't mean other xposed mods don't have such features. It probably depends on the make and model of your device.
Sent from a stolen phone!
Click to expand...
Click to collapse
Hi. Thanks for the information. In my case it's the Samsung S5 phone and the Tesco Hudl 2. I'll try asking on their respective forums. Thanks again.
ME too
i am also waiting for such a xposed module. most of the devs tell its hardware feature all. or some tell its processor feature. and most of the people tell its a kernal fuction.
jjbro007 said:
i am also waiting for such a xposed module. most of the devs tell its hardware feature all. or some tell its processor feature. and most of the people tell its a kernal fuction.
Click to expand...
Click to collapse
Is indeed a kernel feature!
No, it's a hardware feature. If it is not implemented in hardware, it will require constant active mode.
Double tap 2 awake is hardware and software funkcion you need to have this feature implemented in kernel and you need to have screen with digi that can use this software perfect egzample xperia z1 and z1compact they have other screens and z1 can handle this feature and z1c can't have it because of hardware limitation