LiveView reverse-engineering effort

Search This thread

renzenicolai

Senior Member
Aug 13, 2012
125
181
www.rnplus.nl
The topic is not dead (yet), but you are right: currently I don't have time to work on the openliveview app.
The problem with implementing plugins (and about anything else) is that the firmware in the liveview is absolute crap.
You send it one thing it does not like and the device disconnects. You send it too much stuff and the device disconnects. You send it a clear screen command and the buttons stop working. Things like that are so irritating that I wanted to wait for someone to develop alternative firmware for the device (that contains a standard arm microcontroller that can be reprogrammed using standard tools over usb).

People have been working on that (see the chibios port), but they never got around to implementing stuff like the bluetooth hardware or sleeping modes, which makes the alternative firmware almost useless (the analog clock is a cool proof of concept but it is not suitable for daily use).

What I hope someone will do in the future:
- Implement support for ALL the hardware in the liveview in the chibios port.
and/or
- Create an arduino compatible development ide that supports the liveview, just like Sony did with the smartwatch 1.
(This is the option I prefer, since it would make developing your own firmware accessable to most (in)experienced programmers)
-> And it allows for a lot of cool stuff to be added to olv.

So until then I don't think I will do any development work for OpenLiveView. Maybe I will take some time to fix the overflowing notification database issues, but nothing more.

If anyone would like to take over development
the source code of the project can be found here: http://code.google.com/p/openliveview/
If you contact me through this topic (or by a private message) I can give you write access to the git repo on the google code website, you may also clone the project and put it on github or something (since google code is not the best git host available)...
If you made an improved version you may send me (a link to) the source code, which I will compile, sign and upload to google play. You may also publish your own version in google play of course, but please notify me if you do because 2 openliveview apps in the play store could cause confusion.

Please note one thing:
If you make your own version please change the following lines in "strings.xml":
<!-- Version -->
<string name="version_code">15</string>
<string name="version_name">1.0.3.1</string>
<string name="developer_name">RN+</string> <!-- Put your name here when you release your own version of olv -->
<!-- When releasing your own version of OLV feel free to change or hide the donation link in the settings menu -->

The version_code is the value I use in the google play management console to identify the versions. Please change this to a higher number. The same counts for the version name: this it the version number the users see. Last but not least: please replace the developer name with your own name.

Other things: please also replace the version_code in androidmanifest.xml (android:versionCode="15"). (or find a way to combine the two version_code locations into one).

Last but not least: you might want to change the package name from "nl.rnplus.olv" into your own name if you plan on releasing your own version in google play. (do NOT change the package name if you want me to publish your version in google play)


Happy new year!

-- Renze Nicolai
 

clel

Senior Member
Dec 28, 2010
64
10
Thank you for the update. I hope as well that the firmware development makes progress. For now it would be good to have a OpenLiveView app that supports plugins etc. with the original firmware. It is sad that you do currently not have the time to develop the app further. I hope someone else will find some time to do this or that at some point you can do it.
 

GottZ

Senior Member
Sep 20, 2008
170
123
32
Cologne
gottz.de
Thank you for the update. I hope as well that the firmware development makes progress. For now it would be good to have a OpenLiveView app that supports plugins etc. with the original firmware. It is sad that you do currently not have the time to develop the app further. I hope someone else will find some time to do this or that at some point you can do it.

well maybe there will be some progress but srsly. its lieing in a folder wanting to be fixed. if you want to contribute: https://github.com/GottZ/olvfw

i will accept any pull requests
 
  • Like
Reactions: Ultimategeppie

jtbrody

Member
Jan 13, 2014
6
3
San Francisco
I have built the OLV app from source and fixed a few bugs that were causing disconnects in the latest version. It seems to be reasonably stable. However I am unable to set the screen timeout or draw a bitmap to the screen. Has anyone figured out how to do this?

Alternatively, how far are we from being able to port OLV to the open firmware project? I could do this on the app side, but my firmware debugging is not great and I'm not sure what state the FW project is in.

Thanks,
John


The topic is not dead (yet), but you are right: currently I don't have time to work on the openliveview app.
The problem with implementing plugins (and about anything else) is that the firmware in the liveview is absolute crap.
You send it one thing it does not like and the device disconnects. You send it too much stuff and the device disconnects. You send it a clear screen command and the buttons stop working. Things like that are so irritating that I wanted to wait for someone to develop alternative firmware for the device (that contains a standard arm microcontroller that can be reprogrammed using standard tools over usb).

People have been working on that (see the chibios port), but they never got around to implementing stuff like the bluetooth hardware or sleeping modes, which makes the alternative firmware almost useless (the analog clock is a cool proof of concept but it is not suitable for daily use).

What I hope someone will do in the future:
- Implement support for ALL the hardware in the liveview in the chibios port.
and/or
- Create an arduino compatible development ide that supports the liveview, just like Sony did with the smartwatch 1.
(This is the option I prefer, since it would make developing your own firmware accessable to most (in)experienced programmers)
-> And it allows for a lot of cool stuff to be added to olv.

So until then I don't think I will do any development work for OpenLiveView. Maybe I will take some time to fix the overflowing notification database issues, but nothing more.

If anyone would like to take over development
the source code of the project can be found here:
If you contact me through this topic (or by a private message) I can give you write access to the git repo on the google code website, you may also clone the project and put it on github or something (since google code is not the best git host available)...
If you made an improved version you may send me (a link to) the source code, which I will compile, sign and upload to google play. You may also publish your own version in google play of course, but please notify me if you do because 2 openliveview apps in the play store could cause confusion.

Please note one thing:
If you make your own version please change the following lines in "strings.xml":


The version_code is the value I use in the google play management console to identify the versions. Please change this to a higher number. The same counts for the version name: this it the version number the users see. Last but not least: please replace the developer name with your own name.

Other things: please also replace the version_code in androidmanifest.xml (android:versionCode="15"). (or find a way to combine the two version_code locations into one).

Last but not least: you might want to change the package name from "nl.rnplus.olv" into your own name if you plan on releasing your own version in google play. (do NOT change the package name if you want me to publish your version in google play)


Happy new year!

-- Renze Nicolai
 

clel

Senior Member
Dec 28, 2010
64
10
I have built the OLV app from source and fixed a few bugs that were causing disconnects in the latest version. It seems to be reasonably stable. However I am unable to set the screen timeout or draw a bitmap to the screen. Has anyone figured out how to do this?

Alternatively, how far are we from being able to port OLV to the open firmware project? I could do this on the app side, but my firmware debugging is not great and I'm not sure what state the FW project is in.

Thanks,
John

Thank you. Have you committed your changes already? Currently firmware development slow, so I guess that currently the App has to use the current firmware.
 

jtbrody

Member
Jan 13, 2014
6
3
San Francisco
I haven't committed my changes as I changed some functionality and did some minor refactoring. I could submit a patch for someone to review, or I could push up a branch to the git repo. If that looks good then I could merge.

Thank you. Have you committed your changes already? Currently firmware development slow, so I guess that currently the App has to use the current firmware.
 

jtbrody

Member
Jan 13, 2014
6
3
San Francisco
Any chance we could see the APK or the code with the patch? Really looking forward for it.

Thanks

I haven't had time to work on getting it merged into OLV, so I just forked and pushed up my changes to another google code project.

I can't post external links yet, the project is jbrody-openliveview-media-fixes. Sorry, you'll have to search for it unless someone else can link to it.

I mostly use OLV as a remote control for playing music, so most of my fixes were related to the media functionality. I'd really like to see the protocol for setting screen timeout and drawing bitmaps to the screen, then I could add more cool stuff.
 

wankausr

New member
Apr 23, 2011
4
2
I haven't had time to work on getting it merged into OLV, so I just forked and pushed up my changes to another google code project.

I can't post external links yet, the project is jbrody-openliveview-media-fixes. Sorry, you'll have to search for it unless someone else can link to it.

I mostly use OLV as a remote control for playing music, so most of my fixes were related to the media functionality. I'd really like to see the protocol for setting screen timeout and drawing bitmaps to the screen, then I could add more cool stuff.

Thanks I will have a look
 

German-Guy

Senior Member
May 23, 2008
161
13
Aschaffenburg
I have built the OLV app from source and fixed a few bugs that were causing disconnects in the latest version. It seems to be reasonably stable. However I am unable to set the screen timeout or draw a bitmap to the screen. Has anyone figured out how to do this?

Alternatively, how far are we from being able to port OLV to the open firmware project? I could do this on the app side, but my firmware debugging is not great and I'm not sure what state the FW project is in.

Thanks,
John

I look at Google code and your changelogs are really nice to read. Can you please post an .apk file of your version please.

Your and the Openliveview dev. can work together on an new version please!
 

jtbrody

Member
Jan 13, 2014
6
3
San Francisco
I look at Google code and your changelogs are really nice to read. Can you please post an .apk file of your version please.

Your and the Openliveview dev. can work together on an new version please!

Here is the APK. Note that because I signed it with my own key, you will not be able to upgrade your OpenLiveView installation. You will have to uninstall OpenLiveView and re-install.

John
 

Attachments

  • OpenLiveView.apk
    459.8 KB · Views: 392
  • Like
Reactions: Presko

jcruz767

Senior Member
Dec 12, 2012
102
15
Austin
Here is the APK. Note that because I signed it with my own key, you will not be able to upgrade your OpenLiveView installation. You will have to uninstall OpenLiveView and re-install.

John

It opens the plugins menu but none of my installed plugins work. So I was wondering if they worked on your version or not.

Sent from my Nexus S 4G using XDA Premium 4 mobile app
 

jtbrody

Member
Jan 13, 2014
6
3
San Francisco
It opens the plugins menu but none of my installed plugins work. So I was wondering if they worked on your version or not.

Sent from my Nexus S 4G using XDA Premium 4 mobile app

Hmm, no I was never able to get plugins to work with my version or the old version I had. Sorry, maybe Renze can comment on the current state of the master branch?
 

064852029

Member
Jul 15, 2012
26
0
the problem with battery can be fixed?. I had this problem long time ago and cannot use it. If it works as a clock, it's OK. but when I use some feature like view sms, call log... it will run out of battery after few minutes
 

GottZ

Senior Member
Sep 20, 2008
170
123
32
Cologne
gottz.de
the problem with battery can be fixed?. I had this problem long time ago and cannot use it. If it works as a clock, it's OK. but when I use some feature like view sms, call log... it will run out of battery after few minutes

except RMA and soldering in a new battery there is no way to fix a dead battery.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    Hi all,

    A few weeks ago I started taking apart the LiveView software and manager. I'm really unhappy with the current plugin system, the menu structure and more. So, I started to reverse-engineer the Bluetooth protocol. I'm at the very beginning but it's looking promising.

    Here's the repo: https://github.com/BurntBrunch/LivelierView

    The protocol is not very difficult - just request-acknowledge-response serial communication over RFCOMM. Also, the kind people from SE didn't run the manager through Proguard (wink, wink, nudge, nudge ;) ).

    I also have what I *think* is a dump of the firmware but it seems either compressed or encrypted. Binwalk didn't find anything in it. If someone would be kind enough to take apart the software updater, we might figure out what's running on the actual device as well.

    Overall, I'm just starting but so far it's looking good (got time syncing working! it's at least a watch, if nothing else! :p ).

    Any help would be greatly appreciated (pull requests are more than welcome! :))
    10
    Well just a brief status update. The project I've started on github has been progressing, greatly in part from the contributions of boombuler.

    You can go there ( https://github.com/pedronveloso/OpenLiveView ) and check the README, and I've compiled and attached an APK so you guys can test for yourselves without having to clone the repo and compile ;). Right now that APK only asks for connecting with the device (has to be paired first of course) and then sends a Vibrate command to the LiveView. There's more commands done in the source then just that but the functionality has not yet received a dedicated UI since the whole thing is on a very early stage.

    Bare in mind that theres no point in reporting any bugs at this stage since I myself keep finding them with ease :p

    NOTE : You might have to uninstall LiveView first in order to test the app, at least I had to uninstall it because of Broadcasts that where getting in the way sometimes when the LiveView app was installed.
    9

    its not done yet. will need to enable getpixel in chibios gfx in order to have clean alpha overlapping. (well you cant see it anyways on a video)
    9
    Update!

    Here you go, the next update! :)

    Visible changes:
    I added mediacontrols (play/pause, previous track and next track) to the menu.

    Invisible changes (protocol):
    - Implemented brightness controll for the liveview display (off, dim and on)
    - Implemented ClearDisplay command
    - Implemented DisplayBitmap command

    Invisible changes (gui):
    - Added mediacontrolls like in the sony app when you long press the select key.

    Now the problem I am currently experiencing:
    The LiveView does not send back the navigate commands for left, right and select (short press) when in menu mode AND when out of menu mode (zero menuitems).

    My question to the original developer of the "net.sourcewalker.olv" app is if he can tell me how to make the liveview send those keypresses to the service.



    Something that I found out:
    the device sends DEVICESTATUS_ON back in stead of DEVICESTATUS_MENU when there are zero menu items, in that mode you have full controll over the screen (blanking and sending bitmaps).


    EDIT:
    Small bugfix (next button didn't work)
    9
    I'm sorry for being a noob again but what is OLV?
    Can there be a rom for the LiveView in the coming years?
    Is the LiveView open source?
    + can anyone provide me a detailed spec sheet of the LiveView... Like the processor and alll..

    Sent from my ST25i using Tapatalk 2

    1. OLV means: OpenLiveView wich is our project name (we have a custom android app that fully replaces sony's app)
    2. a rom is currently in developement as you can see within this post.
    3. the liveview itself is not opensource. our stuff however is.
    4. i cannot provide you a detailed spec sheet right now but will do it when i have some time digging out that info.

    so.. now to what i want to post:



    current snapshot of my firmware folder in attachments.

    current binary of the firmware is also in the attachments. (for thoose who just want to try it without compiling and know what they do)


    how to use the firmware folder:
    http://forum.xda-developers.com/showpost.php?p=38341041&postcount=731

    (yes, i suck at english. digg through it or wait till i explain it on http://openliveview.com)



    stuff that is on my todo:

    • display timeout (aprox 5 minutes to implement it)
    • bluetooth (need help)
    • write access to the internal storage (need help)
    • access to the current battery charge info (need help)
    • basic menu system (i'm on it)
    • stopwatch (i'm on it after the menu)
    • digital clock (will do it after i did the stopwatch)
    • other stuff
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone