LiveView reverse-engineering effort

Search This thread

onkosto02

Member
Apr 21, 2012
6
2
its a very great effort i have started an Android application Project in hopes of porting this to an Android application as well, but I'm somewhat new to Bluetooth handling on Android, still working it out. I'm already able to connect and pair with device ( stuff), but it fails to READ from it. I've used java's Data Output Stream and Data InputStream since they deal with data in a big-endian notation
 

GigiAUT

Senior Member
Sep 16, 2010
214
12
Great to see a project like this. I also saw the LiveView going for 20 Euros on Amazon and decided to pick it up. I did read reviews and I was already aware of the issues it had, but for that price, I knew it wouldn't be that much a waste of money.

So far it has "worked", but I think my problems are mostly because I'm on MIUI on my DHD, so nothing is standard. Everytime the connection drops, it asks to pair again (sometimes more than once before it actually does reconnect), and that gets pretty annoying because I have to take my phone out everytime to accept.

I tried some of the tips to get it pairing automatically, and it did work last night but I did something and it's stopped working :( :confused:

I'll tinker again, but great to see someone working on this. It's an awesome little device and people always ask what weird gadget that is on my wrist. It's just embarassing showing them how cool it is when it decides to drop the connection and refuses to pick it up again. :(
 

philje123

Senior Member
Dec 6, 2006
622
87
Paderborn
Got my liveview the other day. It seems to be working pretty well and the only problems I have are relating the app on the phone.

Correct me if I’m wrong but surely all that is needed to get this working properly would be to modify the app for the phone.

The main issues stem from the fact that the app gets closed by Android. The way round this would be to create a persistent notification for the app and prevent it from being closed.

Would it also be possible to add in more features in the app? Most things have to be provided through a plugin that you have to open to use. Could more icons be added to the homescreen such as weather? Also could other icons be added for the built in gmail client and providing other notifications for the built in facebook, whatsapp etc?

Since all this is provided/controlled by the app on the phone and not on the liveview itself then I see no reason this can’t be done.

Many Thanks

phil
 

GigiAUT

Senior Member
Sep 16, 2010
214
12
Try installing custom notifier. You can set it up to receive notifications from almost all your apps. I don't have Facebook so I don't know if it works with those apps, but the standard email client, whatsapp, and various others work. Gmail won't work for some reason but there are other plugins for that. Just read the instructions on how to set it up on the Page in the play store.

Also, the notifications will be shown in the All events menu (with the icons from the actual app if you set it up) so you don't have to go digging through plugins.

Sent from my HTC Desire HD using Tapatalk 2
 
Last edited:

philje123

Senior Member
Dec 6, 2006
622
87
Paderborn
Try installing custom notifier. You can set it up to receive notifications from almost all your apps. I don't have Facebook so I don't know if it works with those apps, but the standard email client, whatsapp, and various others work. Gmail won't work for some reason but there are other plugins for that. Just read the instructions on how to set it up on the Page in the play store.

Also, the notifications will be shown in the All events menu (with the icons from the actual app if you set it up) so you don't have to go digging through plugins.

Sent from my HTC Desire HD using Tapatalk 2

Ooh. Thank you. That is certainly a step in the right direction!

Phil

EDIT:

Thanks for the tip.

I'm now getting whatsapp notifications!

Quite pleased with this for the sake of £15!

Phil
 
Last edited:

morg01

Senior Member
May 19, 2010
567
87
Can you post a link to the custom notifier app. Can't seem to find it in play store?


Edit: found it

Sent via courier pigeon
 
Last edited:

GigiAUT

Senior Member
Sep 16, 2010
214
12
No problem. It may be a little time consuming, but there are quite a handful of plugins that work. Just do this search in the PlayStore and you'll find a few. The LiveView Music plugin works great with PowerAMP, WinAmp and a few other players. You even get Artist - Track Title and Album art sent to the LiveView.

---------- Post added at 04:44 PM ---------- Previous post was at 04:33 PM ----------

Custom Notifier : PlayStore

Read instructions to set it up properly.

LiveViewCharm: PlayStore

Seems to help with connection issues by keeping the LiveView app active in the background. If you still get pair requests when reconnecting, there's a fix for that but you have to do it manually.
 

Krysh

Member
Mar 11, 2012
16
2
Seems to help with connection issues by keeping the LiveView app active in the background. If you still get pair requests when reconnecting, there's a fix for that but you have to do it manually.

My problem exactly! Which way do I go for the solution?

I 'm on a HTC one X (ICS), with sony app and Charm (solved random disconnects), but every single time I move out and in of distance, I have to pair twice.
 

philje123

Senior Member
Dec 6, 2006
622
87
Paderborn
Just a quick note to say that customnotifierplugin works really well. Getting all the notifications for all the apps I want.

As you said it doesn't work with gmail. I disabled gmail inside the app and then installed this plugin:

Gmailcheckerplugin: Google Play Store

I am now getting gmail notifications the same way as those from customnotifierplugin.

Phil
 

tumpin

Senior Member
Mar 10, 2009
121
12
I just got my LiveView. Its actually a great device especially for the £20 I paid for it. Bit of a pain to get setup though. I use it mostly for controlling PowerAmp. Good luck on the re-engineering guys!:cool:
 

GigiAUT

Senior Member
Sep 16, 2010
214
12
My problem exactly! Which way do I go for the solution?

I 'm on a HTC one X (ICS), with sony app and Charm (solved random disconnects), but every single time I move out and in of distance, I have to pair twice.

Krysh, I'm gonna go out on a limb here and hope you have a rooted device. What you need is Root Explorer, or ES Explorer with all the Root permissions and settings set up.

Next thing you need to do is navigate to your root folder on your phone with either of the two apps, then go to this path:

Code:
/data/misc/bluetooth/

In that folder you'll find a folder with the MAC Address from your Bluetooth chipset. Go into that folder and open the file called "linkkeys".

In that you'll find the MAC Adresses for all the Bluetooth devices you've paired with. You'll have to try and find out which one is the LiveView (I've only ever paired the LiveView, but assuming it was the last device you paired with, it should be the very last entry in the list).

It should look something like
Code:
00:xx:xx:xx:xx:xx DFBHF58FH7390FHBKLF -1 4

What you need to do is change the "-1" near the end of the string to "0", save, and then reboot your device (not necessary but just to make sure). After that you shouldn't get any new pairing requests. If it doesn't work, try pairing again and change the code just after you pair. If that doesn't work either, try swapping the "0 4" so it reads "4 0".

Hope it works for you!
 
  • Like
Reactions: Krysh

maped

Senior Member
Mar 29, 2005
494
312
Rovigo
I'm looking forward to tomorrow comes my new LiveView bought for 20 euros :D... I hope to bring my contribution in the short ;)

Inviato dal mio Nexus S con Tapatalk 2
 

GigiAUT

Senior Member
Sep 16, 2010
214
12
no root, i 'm afraid. Any other way to edit the file? eg. from pc?

Damn....hmmm I'm not sure. I think you need root before you can edit the files, even with a pc. Try looking around on the forum. I found out how to fix it by mistake while I was searching for tips and tricks for the LiveView. Someone is bound to have a fix for non-rooted users.

*edit*

It might be possible with a PC and the Android SDK but I'm not experienced with that.
 
  • Like
Reactions: Krysh

masayume

Member
Jul 13, 2010
8
6
London
alexborisov.org
no root, i 'm afraid. Any other way to edit the file? eg. from pc?

As GigiAUT pointed out you could use the ADK (Android Developer Kit) to do this as the shell will operate in root mode.

You will need to have the ADK setup on your pc
developer.android.com/sdk/index.html
Installing this thing and getting it setup is outside the scope of my reply, but you can refer to:
xdaforums.com/showthread.php?t=1241935
Which is fairly comprehensive.

Once you have the ADK installed, you will need to:

  1. Go to settings on your phone, developer options, enable USB debugging.
  2. Connect your phone to your pc set-up with ADK and wait for windows to do it's thing with the drivers. Your drivers should be successfully installed at this point. If not then you will have to research yourself how to get it to work with your phone.
  3. Confirm that your device is recognised by ADB:

    Code:
    adb devices
    You should see your device in the list.
  4. Next you will need to download the linkkeys file to your computer for edit:

    Code:
    adb pull /data/misc/bluetooth/linkkeys
    This will download the file to your current working directory (i.e what it says to the left of your command prompt).
  5. Open this file up with notepad and perform the edits as per gigiAUT's instructions (post #192).
  6. Save this file and in your command shell type:
Code:
adb remount
This will mount your system directory as writable. Then type
Code:
adb push linkkeys /data/misc/bluetooth/
To transfer your edited file back to your device.
Note: "linkkeys" part is assuming that the edited file is in your working directory. If not replace with "path/to/file/linkkeys".

You might have to toggle your bluetooth or reboot for the changes to take effect.

Alternatively you can try rooting your device (I'm not sure if this tool supports the OneX, but I've had no issues with Galaxy and Transformer running ICS)

unlockroot.com/

It's free, it's quick. Install, plug in your phone (drivers need to be installed - refer to their documentation) click the big button and in about a minute your phone (with any luck) should reboot and it will now be rooted.

Good luck!
 
  • Like
Reactions: Krysh

Krysh

Member
Mar 11, 2012
16
2
gigiaut, masayume, the thanks button is not enough :)

atm, rooting the one x means using official htc tools, which voids warranty. that's a no go for me

I hope I manage to try the sdk in the weekend, many thanks again :)
 
  • Like
Reactions: psycmos

morg01

Senior Member
May 19, 2010
567
87
Seemed like this thread / dev was grinding to halt.

So i went and bought the latest smart watch, must say its seems good so far, picks up sms's from Handcent now (live view didn't) bluetooth connection is faultless so far (sgs2 has bt 3.0 which probably helps)

Generally the quality of the watch is much better including the bundled wrist band.

Firmware is updated via bluetooth now as opposed to plugged in via usb.


The only two negative remarks are it uses a proprietary connection for charging which is a pain to have to have it with you at work etc, and my standard email client (samsung) doesn't seem to show up any notifications, hopefully that will be sorted in time?

Sent via courier pigeon
 

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://xdaforums.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