Download from the Store.
I purchased a Sony Bravia KDL-40EX525 a few months ago and noticed that there were official remote control apps for Android and iPhone from Sony but, unfortunatelly, not for WP7 (not even an unofficial one). Since I own a LG Optimus 7 I got curious about this and started to develop something similar for myself, specifically because I hate using the stock remote control to enter text.
I based my work on this blog post http://blogs.msdn.com/b/andypennell...ws-phone-7-5-mango-part-1-ssdp-discovery.aspx. Many thanks to Andy Pennell for that, his post was really helpful and a great starting point.
The app requires you to be on the same network as the TV.
If you want to try this make sure the TV is ON (give it time to initialize the services. It cannot be turned on/off with this app because it has to talk to the IRCC service that is only available when the device is ON). See the screen of your TV the first time you run the app because it requires that you register your device in order to be able to iterate.
I appreciate your feedbacks, suggestions, bug report or questions that you may have.
Tested on models:
- KDL-40EX525 (mine)
- KDL-32HX758 (thanks lordmaxey)
It should work on:
- Blu-ray Disc(TM) players: BDP-S370, S470, S570, S770, S1700, BX37, BX57, S380, S480, S580, S780, BX38, BX58, S390, S490, S590, S790, BX39, BX59, NSZ-GP9
- Blu-ray Disc(TM) Home Theater Systems: BDV-IZ1000W, HZ970W, E970W, E870, E770W, E670W, E570, E470, E370, T57, F7, F700, F500, E985W, E980W, E980, E880, E780W, E580, E380, T58, L800M, L800, L600, N990W, N890W, N790W, N590, E690, E490, E385, E390, E290, E190, NF720, NF620, EF420, EF220, T79, T39
- Streaming Player/Network Media Player: SMP-N100, SMP-N200, NSZ-GP7
- AV Receiver: STR-DN1020, STR-DN1030, STR-DA1800ES
- BRAVIA: KDL-HX92 series, HX82 series, HX72 series, NX72 series, EX72 series, EX62 series, EX52 series, EX42 series, EX32 series, CX52 series, HX85 series, HX75 series, EX65 series, EX55 series
- Sony Internet TV: NSX-24GT1, 32GT1, 40GT1, 46GT1, NSZ-GT1
- VAIO: VAIO L (SVL241)
wow, awesome!
I'll try immediately when i'm home.
lordmaxey said:
wow, awesome!
I'll try immediately when i'm home.
Click to expand...
Click to collapse
Great! if you can post your TV model it will be greatly apprecciated so we can add it to the "tested list" of models.
etrosce said:
Great! if you can post your TV model it will be greatly apprecciated so we can add it to the "tested list" of models.
Click to expand...
Click to collapse
Hi there,
i've got a Sony Bravia KDL-32HX758
I'll tell you when i've tested it looking forward!
Edit:
one word: awesome!
It works great and i absolutely LOVE it!! Great work!!! Congrats!
lordmaxey said:
Hi there,
i've got a Sony Bravia KDL-32HX758
I'll tell you when i've tested it looking forward!
Edit:
one word: awesome!
It works great and i absolutely LOVE it!! Great work!!! Congrats!
Click to expand...
Click to collapse
Thanks and enjoy :good:. I've just updated the post to list the models we know it works... Hope to see more feedback here
Hi!
I wanted to try your app, but my television (w655) didn't want to agree on that.
Are you maybe willing to share the source code of the app?
Or do you want to check why it's not working?
Thanks!
mendel129 said:
Hi!
I wanted to try your app, but my television (w655) didn't want to agree on that.
Are you maybe willing to share the source code of the app?
Or do you want to check why it's not working?
Thanks!
Click to expand...
Click to collapse
Hey there,
I've been researching a little bit about it before. It looks like Sony changed completely the way to remote control in latest models, specially W series. No documentation about that. So, the only way to try to discover how it works now, is to have a W series to try with (which I do not have)
Sorry about that.
What you can do is try to discover how the new service works by yourself, so we can expand the compatibility of the App. If you are interested, I can guide you with some clues, tools and techinches I used in the past to do so.
I may open the code, I haven't even considered it but I think it's a good idea.
etrosce said:
Hey there,
I've been researching a little bit about it before. It looks like Sony changed completely the way to remote control in latest models, specially W series. No documentation about that. So, the only way to try to discover how it works now, is to have a W series to try with (which I do not have)
Sorry about that.
What you can do is try to discover how the new service works by yourself, so we can expand the compatibility of the App. If you are interested, I can guide you with some clues, tools and techinches I used in the past to do so.
I may open the code, I haven't even considered it but I think it's a good idea.
Click to expand...
Click to collapse
I've been playing with our 2013 model a couple of days now, and it seems the controls still works (compatible with 2012) but the registration process is not necessary anymore...
Anyway, if you put the code somehwere, i'll try if it works somehow
thanks!
mendel129 said:
I've been playing with our 2013 model a couple of days now, and it seems the controls still works (compatible with 2012) but the registration process is not necessary anymore...
Anyway, if you put the code somehwere, i'll try if it works somehow
thanks!
Click to expand...
Click to collapse
Sounds good, give me a couple of days to set it up and will let you know.
In the meantime, does your device description xml look like this one? http://www.upnp-database.info/device.jsp?deviceId=662 (See Description XML tab). If so, you may want to try ScalarWebAPI service on your modes. In that xml you can get some urls that will return some valuable (or not) information that may give you some clues.
Stay tunned,
Esteban
i have Klv 32EX330
how can i to make it working with this app
life25ak said:
i have Klv 32EX330
how can i to make it working with this app
Click to expand...
Click to collapse
I'm not sure you model actually supports to be remote controlled as it isn't event listed by sony as supported (see supported models above).
Does the app find your model? (be sure both are connected to the same lan)
etrosce said:
I'm not sure you model actually supports to be remote controlled as it isn't event listed by sony as supported (see supported models above).
Does the app find your model? (be sure both are connected to the same lan)
Click to expand...
Click to collapse
no doesnt
thank you so much
life25ak said:
no doesnt
thank you so much
Click to expand...
Click to collapse
Well, I'm afraid, as I said before, it does not provides de services required for remote control support. Sorry.
etrosce said:
Sounds good, give me a couple of days to set it up and will let you know.
In the meantime, does your device description xml look like this one? http://www.upnp-database.info/device.jsp?deviceId=662 (See Description XML tab). If so, you may want to try ScalarWebAPI service on your modes. In that xml you can get some urls that will return some valuable (or not) information that may give you some clues.
Stay tunned,
Esteban
Click to expand...
Click to collapse
Hey man,
so, I gathered some information, please check following xml-files
http://mendelonline.be/sony/
Also, almost all commands from vremote (http://falcosoft.hu/softwares.html) are actually working
mendel129 said:
Hey man,
so, I gathered some information, please check following xml-files
http://mendelonline.be/sony/
Also, almost all commands from vremote (http://falcosoft.hu/softwares.html) are actually working
Click to expand...
Click to collapse
Hey, sorry for the delay on sharing the code, I changed laptop and had to re-setup my dev env. Will try to have it done for the weekend.
In the meantime...I wonder what all this urls return:
http://192.168.1.54/sony/guide
http://192.168.1.54/sony/system
....
http://192.168.1.54/sony/irCommandProxy
Basically everything under <av:X_ScalarWebAPI_ServiceList> from dmr.xml. Actually, I would try any url available in that file
We should see where getRemoteCommandList api is located (together with other relevant APIs)
In previous models it was returned as a result from http://192.168.1.54/cers/ActionList.xml. It should be somewhere else now.
Also, did you confirmed that there is no registration required now at all?
Thanks!!!
etrosce said:
Hey, sorry for the delay on sharing the code, I changed laptop and had to re-setup my dev env. Will try to have it done for the weekend.
In the meantime...I wonder what all this urls return:
http://192.168.1.54/sony/guide
http://192.168.1.54/sony/system
....
http://192.168.1.54/sony/irCommandProxy
Basically everything under <av:X_ScalarWebAPI_ServiceList> from dmr.xml. Actually, I would try any url available in that file
--edit--
ok, we've got an entire json conversation going to http://ip:80/sony/system
We should see where getRemoteCommandList api is located (together with other relevant APIs)
In previous models it was returned as a result from http://192.168.1.54/cers/ActionList.xml. It should be somewhere else now.
Also, did you confirmed that there is no registration required now at all?
Thanks!!!
Click to expand...
Click to collapse
No problem, didn't had time myself
Well, there basically 2 webservers/-services running.
One nginx on tcp:80, and something else on tcp:52323 (tcp header contains: Server=Linux/2.6 UPnP/1.0 KDL-42W655A/1.7)
actionlist is "gone", but i'm trying to capture network traffic from the official sony app to figure out the new location
--edit--
ok, so there's an entire "json conversation" going on http://ip:80/sony/system
--edit2--
bingo
--edit--
send this json command:
{"id":20,"method":"getRemoteControllerInfo","version":"1.0","params":[]}
to
http://192.168.1.61/sony/system
and this comes back as return:
{"id":20,"result":[{"bundled":true,"type":"RM-J1100"},[{"name":"PowerOff","value":"AAAAAQAAAAEAAAAvAw=="},{"name":"Input","value":"AAAAAQAAAAEAAAAlAw=="},{"name":"GGuide","value":"AAAAAQAAAAEAAAAOAw=="},{"name":"EPG","value":"AAAAAgAAAKQAAABbAw=="},{"name":"Favorites","value":"AAAAAgAAAHcAAAB2Aw=="},{"name":"Display","value":"AAAAAQAAAAEAAAA6Aw=="},{"name":"Home","value":"AAAAAQAAAAEAAABgAw=="},{"name":"Options","value":"AAAAAgAAAJcAAAA2Aw=="},{"name":"Return","value":"AAAAAgAAAJcAAAAjAw=="},{"name":"Up","value":"AAAAAQAAAAEAAAB0Aw=="},{"name":"Down","value":"AAAAAQAAAAEAAAB1Aw=="},{"name":"Right","value":"AAAAAQAAAAEAAAAzAw=="},{"name":"Left","value":"AAAAAQAAAAEAAAA0Aw=="},{"name":"Confirm","value":"AAAAAQAAAAEAAABlAw=="},{"name":"Red","value":"AAAAAgAAAJcAAAAlAw=="},{"name":"Green","value":"AAAAAgAAAJcAAAAmAw=="},{"name":"Yellow","value":"AAAAAgAAAJcAAAAnAw=="},{"name":"Blue","value":"AAAAAgAAAJcAAAAkAw=="},{"name":"Num1","value":"AAAAAQAAAAEAAAAAAw=="},{"name":"Num2","value":"AAAAAQAAAAEAAAABAw=="},{"name":"Num3","value":"AAAAAQAAAAEAAAACAw=="},{"name":"Num4","value":"AAAAAQAAAAEAAAADAw=="},{"name":"Num5","value":"AAAAAQAAAAEAAAAEAw=="},{"name":"Num6","value":"AAAAAQAAAAEAAAAFAw=="},{"name":"Num7","value":"AAAAAQAAAAEAAAAGAw=="},{"name":"Num8","value":"AAAAAQAAAAEAAAAHAw=="},{"name":"Num9","value":"AAAAAQAAAAEAAAAIAw=="},{"name":"Num0","value":"AAAAAQAAAAEAAAAJAw=="},{"name":"Num11","value":"AAAAAQAAAAEAAAAKAw=="},{"name":"Num12","value":"AAAAAQAAAAEAAAALAw=="},{"name":"VolumeUp","value":"AAAAAQAAAAEAAAASAw=="},{"name":"VolumeDown","value":"AAAAAQAAAAEAAAATAw=="},{"name":"Mute","value":"AAAAAQAAAAEAAAAUAw=="},{"name":"ChannelUp","value":"AAAAAQAAAAEAAAAQAw=="},{"name":"ChannelDown","value":"AAAAAQAAAAEAAAARAw=="},{"name":"SubTitle","value":"AAAAAgAAAJcAAAAoAw=="},{"name":"ClosedCaption","value":"AAAAAgAAAKQAAAAQAw=="},{"name":"Enter","value":"AAAAAQAAAAEAAAALAw=="},{"name":"DOT","value":"AAAAAgAAAJcAAAAdAw=="},{"name":"Analog","value":"AAAAAgAAAHcAAAANAw=="},{"name":"Teletext","value":"AAAAAQAAAAEAAAA/Aw=="},{"name":"Exit","value":"AAAAAQAAAAEAAABjAw=="},{"name":"Analog2","value":"AAAAAQAAAAEAAAA4Aw=="},{"name":"*AD","value":"AAAAAgAAABoAAAA7Aw=="},{"name":"Digital","value":"AAAAAgAAAJcAAAAyAw=="},{"name":"Analog?","value":"AAAAAgAAAJcAAAAuAw=="},{"name":"BS","value":"AAAAAgAAAJcAAAAsAw=="},{"name":"CS","value":"AAAAAgAAAJcAAAArAw=="},{"name":"BSCS","value":"AAAAAgAAAJcAAAAQAw=="},{"name":"Ddata","value":"AAAAAgAAAJcAAAAVAw=="},{"name":"PicOff","value":"AAAAAQAAAAEAAAA+Aw=="},{"name":"Tv_Radio","value":"AAAAAgAAABoAAABXAw=="},{"name":"Theater","value":"AAAAAgAAAHcAAABgAw=="},{"name":"SEN","value":"AAAAAgAAABoAAAB9Aw=="},{"name":"InternetWidgets","value":"AAAAAgAAABoAAAB6Aw=="},{"name":"InternetVideo","value":"AAAAAgAAABoAAAB5Aw=="},{"name":"Netflix","value":"AAAAAgAAABoAAAB8Aw=="},{"name":"SceneSelect","value":"AAAAAgAAABoAAAB4Aw=="},{"name":"Mode3D","value":"AAAAAgAAAHcAAABNAw=="},{"name":"iManual","value":"AAAAAgAAABoAAAB7Aw=="},{"name":"Audio","value":"AAAAAQAAAAEAAAAXAw=="},{"name":"Wide","value":"AAAAAgAAAKQAAAA9Aw=="},{"name":"Jump","value":"AAAAAQAAAAEAAAA7Aw=="},{"name":"PAP","value":"AAAAAgAAAKQAAAB3Aw=="},{"name":"MyEPG","value":"AAAAAgAAAHcAAABrAw=="},{"name":"ProgramDescription","value":"AAAAAgAAAJcAAAAWAw=="},{"name":"WriteChapter","value":"AAAAAgAAAHcAAABsAw=="},{"name":"TrackID","value":"AAAAAgAAABoAAAB+Aw=="},{"name":"TenKey","value":"AAAAAgAAAJcAAAAMAw=="},{"name":"AppliCast","value":"AAAAAgAAABoAAABvAw=="},{"name":"acTVila","value":"AAAAAgAAABoAAAByAw=="},{"name":"DeleteVideo","value":"AAAAAgAAAHcAAAAfAw=="},{"name":"PhotoFrame","value":"AAAAAgAAABoAAABVAw=="},{"name":"TvPause","value":"AAAAAgAAABoAAABnAw=="},{"name":"KeyPad","value":"AAAAAgAAABoAAAB1Aw=="},{"name":"Media","value":"AAAAAgAAAJcAAAA4Aw=="},{"name":"SyncMenu","value":"AAAAAgAAABoAAABYAw=="},{"name":"Forward","value":"AAAAAgAAAJcAAAAcAw=="},{"name":"Play","value":"AAAAAgAAAJcAAAAaAw=="},{"name":"Rewind","value":"AAAAAgAAAJcAAAAbAw=="},{"name":"Prev","value":"AAAAAgAAAJcAAAA8Aw=="},{"name":"Stop","value":"AAAAAgAAAJcAAAAYAw=="},{"name":"Next","value":"AAAAAgAAAJcAAAA9Aw=="},{"name":"Rec","value":"AAAAAgAAAJcAAAAgAw=="},{"name":"Pause","value":"AAAAAgAAAJcAAAAZAw=="},{"name":"Eject","value":"AAAAAgAAAJcAAABIAw=="},{"name":"FlashPlus","value":"AAAAAgAAAJcAAAB4Aw=="},{"name":"FlashMinus","value":"AAAAAgAAAJcAAAB5Aw=="},{"name":"TopMenu","value":"AAAAAgAAABoAAABgAw=="},{"name":"PopUpMenu","value":"AAAAAgAAABoAAABhAw=="},{"name":"RakurakuStart","value":"AAAAAgAAAHcAAABqAw=="},{"name":"OneTouchTimeRec","value":"AAAAAgAAABoAAABkAw=="},{"name":"OneTouchView","value":"AAAAAgAAABoAAABlAw=="},{"name":"OneTouchRec","value":"AAAAAgAAABoAAABiAw=="},{"name":"OneTouchStop","value":"AAAAAgAAABoAAABjAw=="}]]}
mendel129 said:
No problem, didn't had time myself
Well, there basically 2 webservers/-services running.
One nginx on tcp:80, and something else on tcp:52323 (tcp header contains: Server=Linux/2.6 UPnP/1.0 KDL-42W655A/1.7)
actionlist is "gone", but i'm trying to capture network traffic from the official sony app to figure out the new location
--edit--
ok, so there's an entire "json conversation" going on http://ip:80/sony/system
--edit2--
bingo
....
Click to expand...
Click to collapse
This is all good. It would be great if we find the url that actually returns the list of APIs. Have you tried http://ip:80/sony/system to see what it returns in the browser?
etrosce said:
This is all good. It would be great if we find the url that actually returns the list of APIs. Have you tried http://ip:80/sony/system to see what it returns in the browser?
Click to expand...
Click to collapse
just browsing to the "site" just gives an empty page...
it only reply's on json requests
all commands i've found so far are from capturing traffic from my android tablet
check here: http://mendelonline.be/sony/sony.txt
further, the "register" function exists, but it not really necesarry...
i noticed the sony tablet app registering, but i can just send commands from upnpspy directly from my pc without registering...
another thingy: wol is just basic wake on lan
I received an email from the creator of the windows app that works for our 2013 model bravia. (http://falcosoft.hu/softwares.html#sony_virtual_remote)
Hi,
I would like to share my experiences with you, maybe it can help in the
investigation of the new API structure.
1. The registered status is not required in 2011/12 Sony TV models either to
send pure IRCC SOAP messages (or use the X_SendIRCC UPnP service) .
2. The registered status is required to get meaningful response from url
based API functions (e.g sendText, getText, getRemoteCommandList etc..)
So just an idea: You should try to test these new URL based commands with a
registered status. To achieve this:
1. You should make a new registration and send these data with your browser
2. Use an existing registration e.g. Falcosoft's Sony Virtual Remote and
send the program's data with your browser.
I suggest to use Firefox with Modify Headers plugin. For option 2 here are
the required header fields:
'X-CERS-DEVICE-ID' -> 'vaio:11111111-D7A0-11DD-119C-6D990C3C4529' ;
'X-CERS-DEVICE-INFO' -> 'falco_virtual_remote' ;
Best Regards:
Zoltán Bacskó
Falcosoft
Ps: If you can ask the topic owner to authorize my xda-developers account to
send posts to this topic I would be grateful. My new xda-developers account
is 'Falcosoft'
mendel129 said:
I received an email from the creator of the windows app that works for our 2013 model bravia. (http://falcosoft.hu/softwares.html#sony_virtual_remote)
Hi,
I would like to share my experiences with you, maybe it can help in the
investigation of the new API structure.
1. The registered status is not required in 2011/12 Sony TV models either to
send pure IRCC SOAP messages (or use the X_SendIRCC UPnP service) .
2. The registered status is required to get meaningful response from url
based API functions (e.g sendText, getText, getRemoteCommandList etc..)
So just an idea: You should try to test these new URL based commands with a
registered status. To achieve this:
1. You should make a new registration and send these data with your browser
2. Use an existing registration e.g. Falcosoft's Sony Virtual Remote and
send the program's data with your browser.
I suggest to use Firefox with Modify Headers plugin. For option 2 here are
the required header fields:
'X-CERS-DEVICE-ID' -> 'vaio:11111111-D7A0-11DD-119C-6D990C3C4529' ;
'X-CERS-DEVICE-INFO' -> 'falco_virtual_remote' ;
Best Regards:
Zoltán Bacskó
Falcosoft
Ps: If you can ask the topic owner to authorize my xda-developers account to
send posts to this topic I would be grateful. My new xda-developers account
is 'Falcosoft'
Click to expand...
Click to collapse
Interesting fact that that app works for you. I think this is because that app uses some hardcoded data by default while BraviaControl completely relies on the APIs exposed by the services. It looks like some APIs where left there "hidden" for backward compatibility purposes. I think we should try something like: Cannot find the APIs?, try to force the use. In your case, it may partially (or completely, why not?) work.
Anyway, all that json conversation looks like to be the new way to comunicate with the TV, so, it will be nice to implement that sometime too.
Thanks! I have already set up the code in the cloud. Will be sending the details on how to access it soon (Sorry, I don't currently have very much time free for this project, so bear with me )
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:
Hi. I'd like to share this little module with you.
This module will help your android to learn correct keymap for Dualshock 4 (v2), but should work for (v1) too. You might found some .kl files over here and there with broken gas and brake axis. It's fixed here. Just as noisy ''flat'' parametr over left and right sticks.
This is my first module that i created without any guide so i could mess smth, but it worked for me. If you face any difficults, please, write it here so i can try to help you.
You can download module over github here: https://github.com/morethanhater/Dualshock_4_Keylayout/releases
more_than_hater said:
Hi. I'd like to share this little module with you.
This module will help your android to learn correct keymap for Dualshock 4 (v2), but should work for (v1) too. You might found some .kl files over here and there with broken gas and brake axis. It's fixed here. Just as noisy ''flat'' parametr over left and right sticks.
This is my first module that i created without any guide so i could mess smth, but it worked for me. If you face any difficults, please, write it here so i can try to help you.
You can download module over github here: https://github.com/morethanhater/Dualshock_4_Keylayout/releases
Click to expand...
Click to collapse
Would this work for the PS4 remote play app? I guess remote play won't work with the DS4 controller unless you use a Sony phone for some reason.
gk1984 said:
Would this work for the PS4 remote play app? I guess remote play won't work with the DS4 controller unless you use a Sony phone for some reason.
Click to expand...
Click to collapse
Some thoughts: I did found that we are missing dualshock 3/4 wireless service when just installing ps remote play. I tried to install it from some rom sony z5 and z3 models but:it just won't install. This is where i stoped.
Next, i found a way that will work allmost for sure.
I tried to do connection via sixaxis controller, it supports DS4, but failed to at my oneplus 5. But, well, i just failed to connect, so i guess this should help you: https://forum.xda-developers.com/android/apps-games/5-0-playstation-remote-play-android-t3466339
To be short. You are programming what to press with this app on your display for exactly app that you chosed. For you - it's PS Remote play. Already complete config for keymap you can find at OP first message there.
I'll try to connect later, cuz of some bluetooth error faced at my phone.
If that worked for you - please, give a feedback
more_than_hater said:
Some thoughts: I did found that we are missing dualshock 3/4 wireless service when just installing ps remote play. I tried to install it from some rom sony z5 and z3 models but:it just won't install. This is where i stoped.
Next, i found a way that will work allmost for sure.
I tried to do connection via sixaxis controller, it supports DS4, but failed to at my oneplus 5. But, well, i just failed to connect, so i guess this should help you: https://forum.xda-developers.com/android/apps-games/5-0-playstation-remote-play-android-t3466339
To be short. You are programming what to press with this app on your display for exactly app that you chosed. For you - it's PS Remote play. Already complete config for keymap you can find at OP first message there.
I'll try to connect later, cuz of some bluetooth error faced at my phone.
If that worked for you - please, give a feedback
Click to expand...
Click to collapse
Typically, with system applications, you can't always just install them. You have to use root to place them in the correct location and set permissions. Have you tried that? Care to share the files, where they were in the system (file path), and folder structure? Perhaps I can try.
But thanks for the link. I had subscribed to that thread and must have forgotten about it. I didn't like the mod when I tried it and it's inconvenient when Sony updates the Remote play app. But it is what it is. I just don't have Sixaxis (yet). Was just concerned about it working properly for this purpose as it would be my only need. But reading it more closely (that thread), it does look like it's what I'm looking for. Might try it without the invisible mod. But would prefer a more native solution if I/we can get this working.
system/app/WirelessControllerManagerService/WirelessControllerManagerService.apk
Gdrive: https://drive.google.com/file/d/1SpIsq5x4OaqYRffaChq2khBc0eOl2Z3A/view?usp=sharing
I'm too lazy for more tries for today, so everything in your hands for now
Will do more research about native support on these holydays
Neat. The DS4 worked on my phone, but it was completely unusable in games. They ignored the triggers, and the camera would pan 360° by itself. Analog sticks acted strangely too.
Thanks for making this, I'll try it later. :good:
more_than_hater said:
system/app/WirelessControllerManagerService/WirelessControllerManagerService.apk
Gdrive: https://drive.google.com/file/d/1SpIsq5x4OaqYRffaChq2khBc0eOl2Z3A/view?usp=sharing
I'm too lazy for more tries for today, so everything in your hands for now
Will do more research about native support on these holydays
Click to expand...
Click to collapse
I literally just built this module to install this as a system app but have not tested, nor even tried to install yet. If you're interested, you can.
[url]https://drive.google.com/open?id=1thuIi0x3tH-_Hdm-u5KTS0YMVEWk5-K0[/URL] I'm not sure yet when I'll have the time but I'll at least try to install it soon.
Edit: well, it boots.
Edit #2: Nope. DS4 controller still won't work on the Remote Play app but thanks. Might be missing other files or need to put this in another place.
Can you fix the right analog stick, Its working but I see lag when I press all buttons!