[VOLVO SCT] Volvo Sensus Connected Touch (car - navi - audio)

Search This thread

noten093

Senior Member
Oct 27, 2008
182
19
Hey guys
Still using IGO. Set it to boot and changed it to night mode even in day time. Very happy with it. Great look and no disturbing candelas. Tried all alternatives but not functioning in my view. Does anyone know how to get IGO Primo booting in map view? As I installed speedcams and want to see them all the time...
Also Flitsmeister seems to crash when running in back ground and standing still for a while.
 

santu001

Senior Member
Mar 16, 2010
536
47
Regio Amsterdam
If you ever took the time to compare the software packages between the Asteroid Market and Google Play of these apps, you'll see there is quite a sizable difference in the package sizes. This is because the main audio engine for the multimedia apps from the Asteroid Market is the Parrot's Media Player not Android's AudioFlinger.

Wouldn it be possible to port the Parrot Asteroid music player oppose to the one in SCT. I do think the default Asteroid Smart player looks much beter. I think that already would be a mayor improvement.

---------- Post added at 09:15 PM ---------- Previous post was at 09:03 PM ----------

Hey guys
Still using IGO. Set it to boot and changed it to night mode even in day time. Very hh it. Great look and no disturbing candelas. Tried all alternatives but not functioning in my view. Does anyone know how to get IGO Primo booting in map view? As I installed speedcams and want to see them all the time...
Also Flitsmeister seems to crash when running in back ground and standing still for a while.


I now have a bundle of nav apps, but I do use IGO a lot to. Don't know about the mapview, but I should guess not. You can reinstall flitsmeister and get rid of those FC. I experienced the same issue a while back. No problems now. I have a recent version If you stil use the one you found here.
 

donaldta

Senior Member
Aug 12, 2013
1,328
461
Wouldn it be possible to port the Parrot Asteroid music player oppose to the one in SCT. I do think the default Asteroid Smart player looks much beter. I think that already would be a mayor improvement.
Maybe. Though I am not sure. You're welcome to try, I've included the apk from the Smart's PLF file.
 

Attachments

  • com.parrot.mediaplayer.apk
    2.3 MB · Views: 228
  • Like
Reactions: RichieB

icarusholding

Member
Feb 1, 2014
5
0
Hey guys
Still using IGO. Set it to boot and changed it to night mode even in day time. Very happy with it. Great look and no disturbing candelas. Tried all alternatives but not functioning in my view. Does anyone know how to get IGO Primo booting in map view? As I installed speedcams and want to see them all the time...
Also Flitsmeister seems to crash when running in back ground and standing still for a while.

I'm looking for total functionality in terms of navigation including working your way around traffic jams and proper speedcam warnings. Imo no substitute for tomtom live, far superior to Igo in its basic form as volvo supplied it. Doing 60.000km a year going al over the place so I really need quality stuff. Very very happy all the dudes on this forum made this possible! Audio issue sucks though but cant have it all, and having music from USB solves that anyway. I like flitsmeister too which I used on my iphone running next to Igo but I never got the bluetooth warnings to works so I still worked up quite some highway tax...... Going to bring my volvo to the dealer next week for maintenance, got to remember to switch off tasker so they wont pick up on those extra apps:cool:
 

RichieB

Senior Member
Jan 22, 2008
353
86
Maybe. Though I am not sure. You're welcome to try, I've included the apk from the Smart's PLF file.
Thanks! Unfortunately, installing this com.parrot.mediaplayer.apk does not work:
Code:
W/PackageParser( 1457): Signatures files not found.
D/PackageManager( 1457): Scanning package com.parrot.mediaplayer
D/PackageManager( 1457): Shared UserID com.parrot (uid=10005): packages=[PackageSetting{406b4868 com.parrot.mediaplayer/10005}]
E/PackageManager( 1457): Package com.parrot.mediaplayer has no signatures that match those in shared user com.parrot; ignoring!
W/PackageManager( 1457): Package couldn't be installed in /data/app/com.parrot.mediaplayer-1.apk
It looks like the Parrot Smart and SCT use different certificates to sign the APKs.
Smart:
Code:
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 13306757124903661837 (0xb8ab191a5647f10d)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=FR, ST=Idf, L=Paris, O=Parrot, OU=AFM, CN=Parrot/emailAddress=parrot@parrot.com
        Validity
            Not Before: Oct  4 09:47:56 2012 GMT
            Not After : Jan 15 03:19:40 1904 GMT
        Subject: C=FR, ST=Idf, L=Paris, O=Parrot, OU=AFM, CN=Parrot/emailAddress=parrot@parrot.com

SCT:
Code:
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 14404793163318815023 (0xc7e81b0fea97e92f)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=FR, ST=Idf, L=Paris, O=Parrot, OU=OEM, CN=Parrot/emailAddress=parrot@parrot.com
        Validity
            Not Before: Oct  4 09:19:29 2012 GMT
            Not After : Jan 15 02:51:13 1904 GMT
        Subject: C=FR, ST=Idf, L=Paris, O=Parrot, OU=OEM, CN=Parrot/emailAddress=parrot@parrot.com
I guess we got lucky with com.parrot.ActiveSources.apk that doesn't use a shared UserId.
 

RichieB

Senior Member
Jan 22, 2008
353
86
Darn. It was worth a try. Btw, how do you back track the shared user id to the signature files?
I'm not sure I understand your question, but I compared the certificates in the META-INF/CERT.RSA files of both APKs.

The shared-user is defined in /data/system/packages.xml as:
Code:
<shared-user name="com.parrot" userId="10005">
<sigs count="1">
<cert index="1" />
</sigs>
<perms>
<item name="android.permission.DISABLE_KEYGUARD" />
<item name="android.permission.EXPAND_STATUS_BAR" />
<item name="android.permission.STATUS_BAR" />
<item name="android.permission.WAKE_LOCK" />
<item name="android.permission.INTERNET" />
</perms>
</shared-user>

Now I wonder if I can incread the sigs count or cert index to fix this. This thread suggests I remove the complete blob, but I doubt that will fix the issue of having 2 different signatures.

---------- Post added at 12:26 AM ---------- Previous post was at 12:07 AM ----------

That is certainly an interesting way of looking at things to fit your explanation. However, probably not an accurate description since Android is the standard whereas Parrot's implementation of it is the exception. So, the opposite perspective is actually more fitting: Parrot's audio handling does not comply with Android's standard methodology.
I never said Parrot's audio handling is the standard or better than stock Android (hell no), just that Parrot requires apps to handle the audio in a certain way, and apps in the Google Play store do not comply with those requirements.

Well, most of the apps in the Parrot Asteroid Market are direct version of the Google Play. Maybe a version or two behind in some cases. The apps that are completely different are the multimedia apps which act as MediaEngine plug-ins for the Parrot Media Player.

If you ever took the time to compare the software packages between the Asteroid Market and Google Play of these apps, you'll see there is quite a sizable difference in the package sizes. This is because the main audio engine for the multimedia apps from the Asteroid Market is the Parrot's Media Player not Android's AudioFlinger.
Correct, but we are not talking about multimedia apps here, but apps that simply play alarm sounds or spoken route directions. Do you think those type of applications also use the same Parrot Media framework?

Unfortunately, I do not have access to the Asteroid Market. I could get access to the SCT Market (I've never used it), but it's content is rather limited.
 

donaldta

Senior Member
Aug 12, 2013
1,328
461
I'm not sure I understand your question, but I compared the certificates in the META-INF/CERT.RSA files of both APKs.
Ah, okay. I thought you found a way to associate the SharedUserID with the certs within Android. Didn't realize you were looking the APKs. How did you get the output to display so nicely? Everytime I look at them it looks like a bunch of text strings embedded in binary code.

Now I wonder if I can incread the sigs count or cert index to fix this. This thread suggests I remove the complete blob, but I doubt that will fix the issue of having 2 different signatures.
That's interesting. I doubt it would work for conflicting signatures though. Honestly, though... for the "problem" discussed in the original post of that thread, it makes more sense to uninstall the program(s) with the shared ID then reinstall the new versions.

You might be able to get away with removing the SharedUser from the AndroidManifest.xml though. That's how jaanus was able to install the Acu_Home.apk on other devices.

I never said Parrot's audio handling is the standard or better than stock Android (hell no), just that Parrot requires apps to handle the audio in a certain way, and apps in the Google Play store do not comply with those requirements.
True, but the way you phrased it eludes that the apps on Google Play is going against the norm since they "do not comply". Where in fact, the Parrot's audio handling is peculiar.

Correct, but we are not talking about multimedia apps here, but apps that simply play alarm sounds or spoken route directions. Do you think those type of applications also use the same Parrot Media framework?
No, I don't which is why you guys are having so much problems. But, specifically, I think the issue is the "channel" being used to play the sounds. Using the "main media channel" causes Parrot's MediaEngine to lose audio focus which in turn creates a silence. I think I remember about the developer of flitsmeister confirming that his alarm sounds is set up to not steal focus which is why the music returns after they are played.

Unfortunately, I do not have access to the Asteroid Market. I could get access to the SCT Market (I've never used it), but it's content is rather limited.
There are a bunch of APKs from the Asteroid Market that are attached to Post #311 and Post #331
 

RichieB

Senior Member
Jan 22, 2008
353
86
How did you get the output to display so nicely? Everytime I look at them it looks like a bunch of text strings embedded in binary code.
Code:
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text

You might be able to get away with removing the SharedUser from the AndroidManifest.xml though. That's how jaanus was able to install the Acu_Home.apk on other devices.
I tried messing with AndroidManifest.xml but the install failed on the signature for AndroidManifest.xml not being correct.
 

donaldta

Senior Member
Aug 12, 2013
1,328
461
Code:
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text
Thanks!

I tried messing with AndroidManifest.xml but the install failed on the signature for AndroidManifest.xml not being correct.
I think you still have to resign the APK after making any changes. I was going to do it but then it segfaulted during the recompile then I remembered your APKTOOL/AAPT bugreport. Apparently, it is still an open case.
 

RichieB

Senior Member
Jan 22, 2008
353
86
I think you still have to resign the APK after making any changes.
I found an easier way. Since com.parrot.activesources uses the same signature as the Smart com.parrot.mediaplayer, I looked it up in packages.xml:
Code:
<package name="com.parrot.activesources" codePath="/system/app/com.parrot.ActiveSources.apk" nativeLibraryPath="/data/data/com.parrot.activesources/lib" flags="1" ft="14319f5c208" it="14319f5c317" ut="14319f5c317" version="1" userId="10085">
<sigs count="1">
<cert index="0" key="308..." />
</sigs>
</package>
So it is using cert index="0", so I changed the com.parrot shared user definition:
Code:
<shared-user name="com.parrot" userId="10005">
<sigs count="1">
<cert index="0" />
</sigs>
Basically, just change the cert index from "1" to "0". Now the Smart com.parrot.mediaplayer.apk installs and runs just fine!

It looks much nicer than the SCT version! Larger artwork, and scrolling text, yes!
Screenshot%202014-02-06%2000.11.28.png

The question I have now is: how do I select a playlist or album? In the menu of the media player I have these options:
  • Source (starts ActiveSources)
  • AudioFX (does not work)
  • Current list (shows current playlist?)
  • Cover (displays/hides cover)
  • Random (toggles random)
  • Repetition (toggles repeat)
So where are the playlist, artist and album lists?
 

donaldta

Senior Member
Aug 12, 2013
1,328
461
I found an easier way. Since com.parrot.activesources uses the same signature as the Smart com.parrot.mediaplayer, I looked it up in packages.xml:
Code:
<package name="com.parrot.activesources" codePath="/system/app/com.parrot.ActiveSources.apk" nativeLibraryPath="/data/data/com.parrot.activesources/lib" flags="1" ft="14319f5c208" it="14319f5c317" ut="14319f5c317" version="1" userId="10085">
<sigs count="1">
<cert index="0" key="308..." />
</sigs>
</package>
So it is using cert index="0", so I changed the com.parrot shared user definition:
Code:
<shared-user name="com.parrot" userId="10005">
<sigs count="1">
<cert index="0" />
</sigs>
Basically, just change the cert index from "1" to "0". Now the Smart com.parrot.mediaplayer.apk installs and runs just fine!
Nice job! I'm going to have to remember that trick.

It looks much nicer than the SCT version! Larger artwork, and scrolling text, yes!
Screenshot%202014-02-06%2000.11.28.png
Now that you mention it. What did the original SCT version look like?

The question I have now is: how do I select a playlist or album? In the menu of the media player I have these options:
  • Source (starts ActiveSources)
  • AudioFX (does not work)
  • Current list (shows current playlist?)
  • Cover (displays/hides cover)
  • Random (toggles random)
  • Repetition (toggles repeat)
So where are the playlist, artist and album lists?
Well on the Asteroid Smart, there's two ways.... "Media Reco" which is a part of the com.parrot.voicereco.apk that allows us to say the name of the Artist OR the Source which has a [Browse] button on the right of each source. Picture of is attached on Post #942.

I believe that com.parrot.audiosettings.apk is AudioFX so I attached it to this post.
 

Attachments

  • com.parrot.audiosettings.apk
    1.3 MB · Views: 63
  • Like
Reactions: RichieB

gebla

Member
Nov 6, 2007
41
10
Gogole announced today that it will analyze traffic and will propose actively better routes in Google maps. Will the version supported on the SCT also get this function?
 

RichieB

Senior Member
Jan 22, 2008
353
86
Nice job! I'm going to have to remember that trick.
I first tried to include both index 0 and 1. This did not work. I think Google removed the option to have multiple certificates for a single shared user from Android for security reasons. I believe the reason this trick works is that although com.parrot (userId 10005) is set as a shared user for com.parrot.mediaplayer there is no other app that uses this userId. Or at least there is no other sharedUserId="10005" in packages.xml. If there was another app, it would now probably not work anymore because I changed the certificate for the com.parrot user..

Now that you mention it. What did the original SCT version look like?
Sorry, I'm not going to put the old one back just for a screenshot. :cyclops: Since I changed my DPI it would not have been representative anymore anyway. Hopefully some other SCT can post a screenshot.

Well on the Asteroid Smart, there's two ways.... "Media Reco" which is a part of the com.parrot.voicereco.apk that allows us to say the name of the Artist OR the Source which has a [Browse] button on the right of each source.
SCT has the voice recognition stuff too. Since I mainly use playlists, I don't use it at all. It was the [Browse] button I was looking for, thanks. Volvo messed up the Media Player UI really bad. I already thought so, but now I see the original I know for sure. My main issues with the SCT Media Player that work correctly in the Smart version:
  1. Very small artwork that fades into the background.
  2. Long titles/artists/album names do not scroll.
  3. The Current List feature is broken. Instead of the current playlist, the Browse window is shown
  4. The menu button does not work. All options have to be selected on screen with relatively small icons. Very unsafe.
  5. No easy way to switch sources. You always need to go to ACU Home first.
I'll write an E-mail to the Volvo CEM department about this. This is so stupid of them.

I believe that com.parrot.audiosettings.apk is AudioFX so I attached it to this post.
Great, I will try this later today. Thanks!
 

santu001

Senior Member
Mar 16, 2010
536
47
Regio Amsterdam
Sorry, I'm not going to put the old one back just for a screenshot. :cyclops: Since I changed my DPI it would not have been representative anymore anyway. Hopefully some other SCT can post a screenshot.

In my video - two pages back - you will see it (shortly...) A little distorted, since there is no tiny cover art en the DPI is set to 200.
Following your progress, cause I really would love to have it... although still not perfect, I agree that it is so much better then default UI.
Does this change the UI of Spotify as well, since it uses sort of the same interface?
 
Last edited:

RichieB

Senior Member
Jan 22, 2008
353
86
Does this change the UI of Spotify as well, since it uses sort of the same interface?
I don't use Spotify, but it changes the UI of TuneIn as well, so I'm quite sure the UI of Spotify will be changed also. TuneIn does look a little different than playing mp3s though:
Screenshot%202014-02-06%2013.09.18.png

Interestingly, now that the Android menu button works, there is "Station details" option that lets you see info about the stream such as programming information. I never noticed this before. Is this option available in the stock SCT media player?
---------- Post added at 01:19 PM ---------- Previous post was at 01:11 PM ----------

I believe that com.parrot.audiosettings.apk is AudioFX so I attached it to this post.
It seems we also need the AudioFXManager for this to work:
Code:
W/dalvikvm( 3020): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime( 3020): FATAL EXCEPTION: main
E/AndroidRuntime( 3020): java.lang.NoSuchMethodError: com.parrot.asteroid.audio.effects.AudioFXManager.setAudioEffectsDefaultsValues
E/AndroidRuntime( 3020): 	at com.parrot.audiosettings.AudioSettingsApplication.createAudioFXManager(AudioSettingsApplication.java:83)
E/AndroidRuntime( 3020): 	at com.parrot.audiosettings.AudioSettingsApplication.onCreate(AudioSettingsApplication.java:43)
E/AndroidRuntime( 3020): 	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
E/AndroidRuntime( 3020): 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3275)
E/AndroidRuntime( 3020): 	at android.app.ActivityThread.access$2200(ActivityThread.java:117)
E/AndroidRuntime( 3020): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
E/AndroidRuntime( 3020): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 3020): 	at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 3020): 	at android.app.ActivityThread.main(ActivityThread.java:3686)
E/AndroidRuntime( 3020): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3020): 	at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 3020): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime( 3020): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 3020): 	at dalvik.system.NativeStart.main(Native Method)
Looking at the AndroidManifest.xml I see some interesting intents/activities:
Code:
com.parrot.loudnesssettings
.BalanceFaderActivity
.SubwooferActivity
.EqualizerActivity
.CarSpatializationActivity
I don't think this is much use for SCT. SCT is connected to Sensus which has an amplifier including balance, equalizer, etc settings. In SCT even changing the volume in apps doesn't do anything. So I doubt that even if we could get com.parrot.audiosettings.apk to work it would actually change the audio.
 
Last edited:

santu001

Senior Member
Mar 16, 2010
536
47
Regio Amsterdam
And we problably don't really need it for the obvious reasons. We have enough audio settings within Sensus.

So if I understand correctly I first have to change packages.xml through ABD before installing the apk Donald provided, or do we just change the apk?

And I can't mention enough how I appreciate all your efforts. It's a good thing you decided to get SCT after all. ;)
 

RichieB

Senior Member
Jan 22, 2008
353
86
So if I understand correctly I first have to change packages.xml through ABD before installing the apk Donald provided?
Yes, you edit /data/system/packages.xml, look for:
Code:
<shared-user name="com.parrot" userId="10005">
<sigs count="1">
<cert index="1" />
</sigs>

And just change the index to "0":
Code:
<shared-user name="com.parrot" userId="10005">
<sigs count="1">
<cert index="0" />
</sigs>

Make sure not to add newlines using a brain dead Windows editor.
Then you rename the orignal com.parrot.mediaplayer.apk:
Code:
remount.sh system-rw
cd /system/app
mv com.parrot.mediaplayer.apk com.parrot.mediaplayer.apk.bak

Now #reboot# and install the com.parrot.mediaplayer.apk that @donaldta provided.

It's a good thing you decided to get SCT after all. ;)
I'm not too disappointed myself. :cowboy: With this new media player one of my biggest frustrations is gone. If I could only get it to accept all my 45.000 mp3 files, it would be close to perfect.
 

donaldta

Senior Member
Aug 12, 2013
1,328
461
It seems we also need the AudioFXManager for this to work:
Code:
W/dalvikvm( 3020): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime( 3020): FATAL EXCEPTION: main
E/AndroidRuntime( 3020): java.lang.NoSuchMethodError: com.parrot.asteroid.audio.effects.AudioFXManager.setAudioEffectsDefaultsValues
E/AndroidRuntime( 3020): 	at com.parrot.audiosettings.AudioSettingsApplication.createAudioFXManager(AudioSettingsApplication.java:83)
E/AndroidRuntime( 3020): 	at com.parrot.audiosettings.AudioSettingsApplication.onCreate(AudioSettingsApplication.java:43)
E/AndroidRuntime( 3020): 	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
E/AndroidRuntime( 3020): 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3275)
E/AndroidRuntime( 3020): 	at android.app.ActivityThread.access$2200(ActivityThread.java:117)
E/AndroidRuntime( 3020): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
E/AndroidRuntime( 3020): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 3020): 	at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 3020): 	at android.app.ActivityThread.main(ActivityThread.java:3686)
E/AndroidRuntime( 3020): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3020): 	at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 3020): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime( 3020): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 3020): 	at dalvik.system.NativeStart.main(Native Method)
Looking at the AndroidManifest.xml I see some interesting intents/activities:
Code:
com.parrot.loudnesssettings
.BalanceFaderActivity
.SubwooferActivity
.EqualizerActivity
.CarSpatializationActivity
I don't think this is much use for SCT. SCT is connected to Sensus which has an amplifier including balance, equalizer, etc settings. In SCT even changing the volume in apps doesn't do anything. So I doubt that even if we could get com.parrot.audiosettings.apk to work it would actually change the audio.
And we problably don't really need it for the obvious reasons. We have enough audio settings within Sensus.
It doesn't hurt to try though.
 

Attachments

  • com.parrot.audiosettings.apk
    1.3 MB · Views: 30

RichieB

Senior Member
Jan 22, 2008
353
86
Make sure not to add newlines using a brain dead Windows editor.
At the risk of @donaldta coming up with a much simpler solution, here is an awk script to edit packages.xml on the device, ruling out any problems with newlines, etc.
Code:
cd /data/system
awk '/shared-user name="com.parrot" userId="10005"/ { uid=1 } uid==1 && /index=/ { uid=0; $2="index=\"0\"" } { print }' packages.xml > packages.xml.new
mv packages.xml packages.xml.bak
mv packages.xml.new packages.xml


---------- Post added at 02:54 PM ---------- Previous post was at 02:52 PM ----------

It doesn't hurt to try though.

Isn't this the same file as you posted in Post #1152?

---------- Post added at 03:06 PM ---------- Previous post was at 02:54 PM ----------

OK, a little video update. [snip] You will also see some of the great apk's from RitchieB and Donald, concerning USB audio selection.
Nice video. Very cool to see my USBMusic apk running on someone else's SCT. :D
 

Top Liked Posts

  • There are no posts matching your filters.
  • 21
    Volvo Sensus Connected Touch (SCT) is a new car audio-navi system based on systems of Parrot. SCT has hardware and software from the Parrot, but is not exactly equal. In general it has some more restrictions build in by Volvo.
    The system is based on the Parrot FC6100 (not the Parrot Asteroid Smart as was first believed). Looking at the Installation manual for Sensus Connected Touch (ACU) Accessory, Part Number: 31399165 the form factor is closest to the Parrot Asteroid Tablet (PAT). The only similarity that the SCT has with the PAS is Parrot's custom base of the Android 2.3 branch which is also shared by the PAT. So, if anything is more analogous to the Parrot Asteroid Tablet (PAT) than the Parrot Asteroid Smart. (thanks to Donaldta, see post) (Link to the Volvo V40 (MY14) SCT installation manual, also attached to this post as pdf)

    This is how the hardware of the SCT looks if outside of the car (thanks to @AAT):





    This thread is research and development on several topics and has already some nice answers:
    The starting questions:
    1. How to get ADB working y
    2. How to install .apk files y
    3. How to root y

    WARNING!:
    The below mentioned method is an experimental way of rooting. Rooting your SCT involves some android knowledge. Me, the developers and anyone in this topic are not responsible for typo's or any damage that may occur when you follow these instructions.
    ROOTING means you have complete control over the android system. This also means you can do damage to it.

    Security warning:
    The SCT has ADB over WIFI enabled by default. Never ever connect your Volvo SCT to an unknown and/or untrusted network! Anyone connected to that same network can harm your Volvo SCT. The same applies for connecting unknown people to a known/trusted network of yours.
    Security warning 2:
    If your ROOTED your SCT, you are extra vulnerable to above. Anyone with ADB on the same network has complete control over your SCT!


    WARNING!

    Do NOT attempt to replace the SCT's BUSYBOX executable or the command symlinks to it. Another user in this forum just sent me a private message stating that they tried this on their SCT and can no longer mount USB drives or connect to ADB over WiFi. Apparently, they also do not have a File Explorer or a Terminal Emulator installed so it seems this is going to be nearly impossible to fix and will most likely be required to swap it at the dealer.
    See message from @donaldta : Message




    The below answers are not yet completely reviewed and tested. The answers will be reviewed in the next days. In any case the instructions below are delivered "as is" and have no guaranty. If you follow the instructions below, you are responsible for your own actions. So, before you do so, understand, or at least try to, what you are doing. If you have questions or have recommendations, post them in the topic.

    The answers and instructions below are constructed from the work of @gekkekoe123 and @donaldta and the trial and error experiments of the first users of the SCT (see first pages of the topic)
    This means everone using these instructions must give BIG THANKS TO @gekkekoe123 and @donaldta


    Instructions to root en install apps:

    Note: Instructions are tested on specific versions of the Volvo SCT
    It is possible that these instructions below are not (yet) working on other versions: Other continents, newer versions etc.
    If you tested it on a different continent + version, let me know, so I can put it here.

    Available versions:
    EU
    -1.47.88 - Tested
    -1.47.96 - Tested
    -1.49.34 Tested
    • One click script version 4 in attachments cmd-frama-menu-4.zip (4.62 MB)
      One-click script with menu provided by @gekkekoe123 and @donaldta
      Oneclick , latest version, script is discussed from here


      It is rather simple as long as You have the SENSUS CONNECTED TOUCH and a PC (prefer a laptop) which You need to connect to the same network.

      How to:
      1. Preparing
      *Download the: cmd-frama-menu-4.zip from the page 1, first post attachments. LINK: http://xdaforums.com/attachment.php?attachmentid=2636951&d=1395149723

      2. Follow the instructions
      The instructions are rather simple.
      -Connect your SCT to the same Wifi network as your PC. This wifi network can be your home network or your local hotspot from your phone.
      -Unzip the (cmd-frama-menu-4.zip) and start menu.bat found in the folder "menu"
      - After starting menu.bat on your pc it will ask:
      Code:
      Input {IP Address of Android Device} or USB:
      Type in the IP address of the SCT, can be found when You go to the settings on SCT -> WIFI -> and click on the connected network (starts with 192.-).
      After that the menu look list this: (Now just type in: 1 and wait a bit so it will say complete, then type in 2 and wait a bit until complete and so on, until step 6 when the SCT will restart itself)
      Code:
      1 - Copy Framaroot files and execute.
      2 - Install remount.sh into /system/xbin and remount as writeable.
      3 - Alter /system/build.prop to ro.parrot.install-all=true
      4 - Install Google Framework & Android Market
      5 - Install rewhitelist.sh/setpropex/patch init.parrot.capabilities.sh
      6 - Reboot Android Device
      7 - Install Android Packages from APKs folder.
      8 - Android Debug Bridge Shell
      9 - Save ADB Bugreport to Disk
      R - Input connection information & retry ADB connect.
      Q - Quit
      Run steps 1 through 6 in order to root the SCT.
      Step 7 is optional and will install all APKs you have placed inside the APKs folder in your unzipped menu.zip folder on your pc PC.
      Step 8 is for manual commands or troubleshooting.
      Step 9 is for troubleshooting.
      Step R is only needed when the connection to the SCT seems lost.

      3. You should have now a rooted SCT.

      4. Installing applications
      I noticed that lots of Apps from Google Play Store can not be downloaded directly to the SCT (because the SCT is not in the available list of the apps) so a easy way is to download the Applications as ".apk" files from the PC (You can find the desired app from: http://www.appsapk.com/ or http://www.androiddrawer.com/ for example).
      Then copy-paste these .apk files(make sure they do not have any spaces in the filenames) to the folder "APKs" found in the downloaded unzipped folder "cmd-frama-menu-4". To install them, run the menu.bat again and once connected with the SCT again run the step 7 to install the applications You copied to the APK folder.

      If you want to install apps using the Google Play Store that are larger than 7MB or so, you need to remap the cache directory to the SD card:
      Code:
      remount.sh cache-sd
      Then after the app installation has finished, but before you start the app, remap the cache directory to the internal SCT memory:
      Code:
      remount.sh cache-og

      5. Enable displaying applications while driving (disable safety feature)
      1. Download Android Terminal Emulator from Google Play Store on Your rooted SCT.
      2. Once installed, run Android Terminal Emulator under Applications
      3. touch the screen - the keyboard pops up
      4. Type in "su" press ENTER
      5. It should ask wether You allow Superuser or not, choose the "Allow" option.
      6. Type in "rewhitelist.sh" press ENTER
      7. Type in "reboot" press ENTER

      6. Enable Google Maps and Voice Search
      First install google.maps.6.14.4.apk by the method explained above. Then copy libvoicesearch.so to /system/lib and install Voice_Search_2.1.4.apk. These files can be found in Voice_Search_2.1.4.zip.
      Here is an example of how to do this with adb:
      Code:
      adb connect [ip of your SCT]
      adb push google.maps.6.14.4.apk /mnt/sdcard
      adb install /mnt/sdcard/google.maps.6.14.4.apk
      adb push libvoicesearch.so /mnt/sdcard
      adb shell su -c 'remount.sh system-rw'
      adb shell su -c 'cp /mnt/sdcard/libvoicesearch.so /system/lib'
      adb shell su -c 'chmod 644 /system/lib/libvoicesearch.so'
      adb push Voice_Search_2.1.4.apk /mnt/sdcard
      adb install /mnt/sdcard/Voice_Search_2.1.4.apk
      Now #reboot# and Google Maps and Voice Search should be working.


      Now You should be done. Happy downloading and drive safely. :)

      Older instructions, just for reference here, do not follow anymore.

      [*]One-click script with menu provided by @gekkekoe123 and @donaldta
      This one-click script with menu options is here

      [*]One click script for version 1.49.34: http://xdaforums.com/showthread.php?p=50846498
      Actually it was fine (since we are in the root folder), but since I was too lazy, I used your file. I had to correct the "true" to 1.
      I also changed the menu to do this. I removed the set prop option, it's not needed anymore. Setpropex should also work on older versions.

      Btw, I did the upgrade manually using adb shell, and did not used the menu.bat.
      So if anyone could test it or double check the menu.bat file, it should be fine. I translated the manual commands back into the menu.bat

      My SCT is upgraded and I am able to install apks :) Let's find out if waze lost of data is fixed. Also adjusting screen dpi is still working. But we now have setpropex so we can override everything ;)

      When you finished step 5, you need to reboot in order to be able to install apks.

      As allways: no guarantee and at your own risk when using the tools



      Manual instructions and commands:

      1. Detailed instructions how to get ADB working between your pc and SCT
        1. Download the Android SDK, it contains the nescesary tools like ADB.exe and Monitor.bat (Download page Android SDK)
        2. Install the android SDK
        3. If you are using windows: set the installation path of your SDK\platform-tools\ in your windows environment variables. So, add c:\\SDK\Platform-tools\ to it. (More instructions on this point)
        4. Now connect your SCT to a Wifi network and also connect your laptop/pc to the same wifi network. This network can be your home network, or for example the wifi network you create with your phone wifi-tether function.
        5. Go into the SCT>Settings>Wifi and click on your connection details. Find out the IP adress of your SCT. (example, it would be something like 192.168.43.x if you are using wifi tether from your android phone. )
        6. Now on your pc, open the command line (cmd). Easiest is to click with shift-button hold and with Right-Mouse-Button on the folder where the files reside you want to transfer to the SCT (see instructions further for rooting). After RMB click, choose option: open command line here.
        7. Now type:
          Code:
          adb connect $IPADDRESS
          Replace $IPADRESS with the IP from the previous step.
        8. ADB is now connected and you are ready to type the instructions for rooting.
          Code:
          D:\sdk\platform-tools>adb connect 192.168.43.5
          connected to 192.168.43.5:5555


      2. Detailed instructions how to Root SCT
        1. Download the cmd-frama-working.zip from the attachments
          Attachment
        2. Unzip it into a folder (example: d:\sct\ )
        3. Open the commandline in this folder
        4. Connect to adb (see instructions above)
        5. Do the following commands (line by line):
          Usage:
          Code:
          adb push libframalib.so /data/local/.
          adb push sploit.jar /data/local/.
          adb shell mkdir /data/local/tmp/dalvik-cache
          adb shell ANDROID_DATA=/data/local/tmp LD_LIBRARY_PATH=/data/local dalvikvm -cp /data/local/sploit.jar com.alephzain.framaroot.FramaAdbActivity Gimli 0
          [or]
          adb shell ANDROID_DATA=/data/local/tmp LD_LIBRARY_PATH=/data/local dalvikvm -cp /data/local/sploit.jar com.alephzain.framaroot.FramaActivity Gimli 0
          See post here and thank developer!
        6. Now you are rooted:
          Code:
          cmd line frama root by Gekkekkoe
          Credits to alephzain for Framalib
          using Exploit: Gimli choice: 0
          Executing Check
          idx: 0 value: Gimli
          idx: 1 value: Aragorn
          Executing Check Completed
          No such user 'root:root'
          No such user 'root:root'
          Result: 0
        7. Test root by command:
          Code:
          adb shell
          su
          id
          On the SCT you will get a screen of SuperSU, asking if shell may have root access privileges. Say yes.
        8. exit the su and shell using
          Code:
          exit
          exit
        9. Reboot the SCT
          If you are still within shell, just use
          Code:
          reboot
          If you are on command line again, use
          Code:
          Adb Reboot
      3. Detailed instructions how to get Google framework and Google Play (market) on the SCT
        1. Download the files for framework and market

          Framework
          Market
        2. Push them to your SCT
          Code:
          adb shell su root -c 'mount -o remount,rw ubi0:system /system'
          adb push GoogleServicesFramework-2.2.1.apk /data/local/.
          adb push Market-3.3.11.apk /data/local/.
          adb shell
        3. Now install them
          Code:
          cp /data/local/*.apk /system/app/.
          chmod 644 /system/app/GoogleServicesFramework-2.2.1.apk
          chmod 644 /system/app/Market-3.3.11.apk
          reboot
        4. After reboot, connect the SCT to internet
        5. Open the google market on your SCT (in the applications drawer)
        6. Log in with your google credentials
        7. Accept terms and conditions
        8. Be sure to stay connected to internet, google market will update itself after some minutes
        9. Connect Adb and force SCT to reboot again.
        10. Open Market/Play and Accept terms and conditions again! (now for the updated versions)
        11. Wait for some time, it will again update itself again.
        12. Open adb, force reboot again
        13. Last time open Play (It should be named Play now, since it is updated, if it is not, wait longer and try previous steps again)
        14. Go into My Apps, update SuperSu
        15. After update, open SuperSu from your app drawer
        16. It will ask to update SuperSu Binary, use Normal Method
        17. Say thanks to Chainfire for the SuperSu :)
        18. In settings, you can disable the popup that will ask if you want to run an App that is using root. Can be convenient, but also dangerous (apps can use root even without notifying you.)

      4. Detailed instructions how to installation of other apps
        1. We have to enable installing all apps on SCT. Warning, this means editing the build.prop, which is vital to the system. Typing errors can result in a system that will not boot correctly.


          More methods apply here, use one which is convenient to you:
        2. Fast method:
          Code:
          adb shell
          mount -o remount,rw ubi0:system /system
          sed -i 's/ro.parrot.install.allow-all=false/ro.parrot.install.allow-all=true/' /system/build.prop
        3. Slow method, more control, moderate risk:
          Code:
          adb pull /system/build.prop
          edit content and set to true. Content of the file should look like this
          Code:
          #TODO Set to false for prod #Package install limitations. Set to false to allow only the install of verified packages 
          ro.parrot.install.allow-all=true
          replace build.prop with proper one.
          Code:
          adb shell su root -c 'mount -o remount,rw ubi0:system /system'
          adb push build.prop /system/build.prop
          If above does not work, use method like the google framework.
        4. Third method: install ES file explorer, use the rooting functions of this app to edit build.prop
          Instructions in this post and this post
      5. Detailed instructions how to install APK files
        1. Method 1: Use google play
        2. Method 2: If not available on google play, use a Google Play APK downloader on your pc and install using the
          Code:
          ADB install
          or using
          ES Fileexplorer mentioned above
      6. Detailed instructions how to make apps available during driving

        All apps are behind a security wall of the SCT. When driving >5km/h, all apps not listed in the whitelist.xml will be disabled. To enable your installed apps you have to edit the whitelist.xml
        Warning: it is a safety feature you are disabling now, it is your own responsability when using apps during driving

        1. Slow method:
        2. Get the whitelist.xml from your SCT

          Code:
          adb pull /system/etc/whitelist.xml
        3. Find out which packages are installed and have to be listed there:
          Code:
          adb shell
          pm list packages
          Other method, look to the url of google play on your pc, see bold part: https://play.google.com/store/apps/details?id=com.estrongs.android.pop
        4. List the packages by adding new lines with the package names
        5. Edit the whitelist.xml using a smart text editor. Preferably use Notepad++
        6. Copy the whitelist back to SCT

          Code:
          adb push whitelist.xml /data/local
          adb shell
          su
          mount -o remount,rw ubi0:system /system
          cp /data/local/whitelist.xml /system/etc
          reboot



          Scripted method:
        7. Download script
        8. Instructions in this post



    • FAQ
      1. Audio is not working when using application X
        This is a feature or limitation by design
        - TomTom and other navigation apps will break Sound/Audio due to this feature.
      2. If you have more, PM me or react in topic

    • TIPS
      1. Use a USB keyboard in combination with ES file explorer or a Shell app to edit files on the system.
      2. If you have more, PM me or react in topic








    Informational links:

    Information about SCT:
    http://www.volvocars.com/intl/sales-services/sales/sensus-connected-touch/pages/default.aspx
    Official FAQ of SCT:
    http://www.volvocars.com/intl/top/support/pages/sensus-connected-touch-faq.aspx
    Dutch experiences with SCT:
    http://www.volvo-forum.nl/viewtopic.php?t=54935&postdays=0&postorder=asc&start=0


    SCT update files:
    http://www.parrot.com/nl/support/sensus-connected-touch
    Current version: All regions - 1.49.34

    How to unpack the update (.plf) files:
    Download the plftool
    Basically, download, unzip, and go into the command line, the binaries directory and use the command syntax, "plftool -i -o "
    And please take the time to thank hoppy_barzed for hosting it for us and for loveshackdave for providing the tool to use it.


    Linked topic of Parrot Asteroid Smart:
    http://xdaforums.com/showthread.php?t=2118432
    7
    Google Street View

    Alright, as I sit in the eve of the New Year, I will bid you all farewell to the old and welcome in the new. To commemorate this event, I will leave you with a parting/welcoming gift. Attached is a copy of the Google Street View APK. While it does not provide an icon in the app drawer, it does enable 360° Street View within Google Nav (which is apart of the Google Maps version 6.14.4 that's compatible with Gingerbread).

    6
    Well, adb install still won't work. What part do you mean?

    Euh you have basically full control over the unit now.
    - You can now allow install from unknow sources.
    - you can install google playstore... and Get TOMTOM on it :)
    - See the parrot thread, once you have root

    I cleaned up the code. Attached is the working version.
    I will make a version that autodetects and exploits. But thats for the coming days :)

    Usage:
    Code:
    adb push libframalib.so /data/local/.
    adb push sploit.jar /data/local/.
    adb shell mkdir /data/local/tmp/dalvik-cache
    adb shell ANDROID_DATA=/data/local/tmp LD_LIBRARY_PATH=/data/local dalvikvm -cp /data/local/sploit.jar com.alephzain.framaroot.FramaAdbActivity Gimli 0
    [or]
    adb shell ANDROID_DATA=/data/local/tmp LD_LIBRARY_PATH=/data/local dalvikvm -cp /data/local/sploit.jar com.alephzain.framaroot.FramaActivity Gimli 0
    6
    Here are all the free APKs from the Asteroid Market available to me for the Smart ...and the rest of them are too large to share as an attachment.

    Okay, it suddenly occurred to me that 7-zip can split files to help in situations where there is a upload size limitation. I've split the rest of the oversized APKs into equal parts and included them with this post. I had to append the extra ".zip" extension in order to upload them, so you'll need to remove the extension after downloading them in order for 7-zip to detect them as split parts and combine them.
    6
    OK, I took the risk. Installed the Volvo update this morning. Rerooted (without any problems) and after a second reboot found that ADW is still installed with all my apps.

    Happy updating all!