Viper is amazing. I've been using it for about 1 year under 4.3 .. i consider it one of the essential apps for my 10.1 (2014).. But when i upgraded to 4.4.2 I could not install.. I tried all the basic comobinatios (install busy-box first..then SU, flash SU then install buxybox install driver, ok install SU then flash viper, then blah blah ) the error message was always the same.. "you don't have a full-root, or your busy-box is not correct/complete" or some such.... I'm sure the developer is not trying to be deceptive, but these error messages were not that helpful, indeed this is just a symptom of many possible issues. SO I decided to dig in and sort it, took awhile , but I'm posting my very long winded howto..In case others might have this specific issuue you will know if ou read this..and (hopefully) you can fix your viper too.
(0) My kit: samsung/lt033g:4.4.2/KOT49H/P601XXUCNJ5:hanspampel Linux version 3.4.39-3098518 xkat-3.0 ROOTED . Cool ROM, but I at first since I had no cluse, I wondered if this inability to install V was due to this R..I tried antoher hydronium-ROM same prob, scratch that.Next I started reading, and I discovered to my horror this symptom has been reported many places, I found countless solutions in various posts not very helpful but entertaining something like "flash this file, then flash this, then dude enable this and then DUDE ITs AWESOME sounds KILLER BRO.." .. The rpint is that this one symptom has many different underlying causes, no one has explained (or I have not seen a post) yet that does that. so that is what you are geting here.
(1) installing viper (standard way the way you have done it) app store, or click on apk never worked..What is partial root anyway? doesn't matter.. So my stragety here is , when I"m lost in this situation, I have two things to look at..
debug (logcat -vv time ) or
specifc level of debug logitE='logcat -v time process tag *:E' (i put this under /system/etc/mksh after remountin /system RW so I can have a decent working environment.. And or figure out what the apk was having trouble with..So get a copy of the apk . first you might see a zip file ViPER4Android_FX_v2340.zip. this contains two files
I've always used the FX_A4 version before, I don't really know what the A2.3 is.. anad have a look.
(2) Looking at the APK. Apk's are just zip files. change the .apk extension to .zip and unzip it on your PC (by the way it helps to have adb working, but it is not required).. In the apk for viper I saw directories.. an assets, lib and res dir to be exact I haven't developed anythig on android yet mostly xcoder person. so I was clueless.. but you can work out by the directory's what its trying to do..The top level dirs were res, lib, assets and META-INF, I don't care about the UI stuff in META or res, that was working, in otherwords when we installed the apk, you see the VIPER user interface installs and launches..Its at that point you are asked to install the drivers to get viper to work, so we know the UI is OK and the SU thing make me suspect permissons.. BY the way there was conversation about SE_Linux regarding this install..(permissive / enforcing). I tried that too, so since KK 4.4.3 , SE_Linux was made to be in enforcing mode, before it was just permissive (sending warnings but did not deny any thing)..Now SE_Linux is for real,, If you look at the app-permissions, not file permissions but app permission of VIper there was one funny permissions issue.. "PERMISSION_ACCESS_SUPERUSER" " was unknown. I thoguht maybe this was it! I got "SELiuxModeChanger" (this needs root but apparently can change SE_LIN back to permissive.. its not clear if it really wokred) but I tried it..switched my phone back to permissive mode but i still got the same error.Even after rebooting.. and I set the notificagion "You are In PERMISSSIVE mode" but you open the app and it's in enforcing.. (smell some cheese here..?) .
Sorry for the side traack.. back to the APK, So the apk had a lib directory, an assett directory, are what we are intereseted in.. also I saw on the web there were two system files that needed modifying:
So know I knew I have to manually place some lib (librarys) and modify some system files.. After rebooting at this point (with this totally broken install) "logcat -v time | grep -i viper
4111): Jni library status = false..
if you look on the apk:
so the system is complaiing about a JNL lib is missing, which means the system files or a system file was modified so the sysem knows to look for the jnl file, and this jnl file is pert of the install which failed..... So plop libV4AJniUtils.so* /system/lib. (via any means you choose) FiLE permissions to 644 "chmod 644 libV4AJniUtils.so* reboot and clean cleared cache(s) in recovery , then rebooted and volla one small step:
I/ViPER4Android( 4111): Jni library status = true
So YOU must see the message as part of the criterial for successful install.
but I still had probelms..
0I/ViPER4Android( 4111): Starting service, reason
I/ViPER4Android( 4111): Check driver
I/ViPER4Android( 4111): Found 13 effects
I/ViPER4Android( 3744): ViPER4Android engine not found, create empty service
04-12 19:57:55.374 I/ViPER4Android( 3744): Service:
nStartCommand [Begin check driver]
04-12 19:57:55.374 E/ViPER4Android( 3744): Service:
nStartCommand [V4A Engine not found]
I/ViPER4Android( 4111): could not find ViPER4Android engine at 13..
So we are still missing a lib, the viperEngine.. that probably one of the files located in the assets dir..
drwx------@ 10 mikel staff - 340B 11 Apr 06:42 ../
-rwxr-xr-x@ 1 mikel staff - 926K 12 Feb 11:15 libv4a_fx_ics_X86.so*
-rwxr-xr-x@ 1 mikel staff - 810K 12 Feb 11:15 libv4a_fx_jb_NEON.so*
-rwxr-xr-x@ 1 mikel staff - 814K 12 Feb 11:15 libv4a_fx_jb_NEON_HQ.so*
-rwxr-xr-x@ 1 mikel staff - 810K 12 Feb 11:15 libv4a_fx_jb_NEON_SQ.so*
-rwxr-xr-x@ 1 mikel staff - 554K 12 Feb 11:15 libv4a_fx_jb_NOVFP.so*
-rwxr-xr-x@ 1 mikel staff - 818K 12 Feb 11:15 libv4a_fx_jb_VFP.so*
-rwxr-xr-x@ 1 mikel staff - 926K 12 Feb 11:15 libv4a_fx_jb_X86.so*
-rwxr-xr-x@ 1 mikel staff - 923K 12 Feb 11:15 ViPERDDC.db*
-rwxr-xr-x@ 1 mikel staff - 810K 12 Feb 11:15 libv4a_fx_ics_NEON.so*
-rwxr-xr-x@ 1 mikel staff - 814K 12 Feb 11:15 libv4a_fx_ics_NEON_HQ.so*
-rwxr-xr-x@ 1 mikel staff - 810K 12 Feb 11:15 libv4a_fx_ics_NEON_SQ.so*
-rwxr-xr-x@ 1 mikel staff - 554K 12 Feb 11:15 libv4a_fx_ics_NOVFP.so*
-rwxr-xr-x@ 1 mikel staff - 818K 12 Feb 11:15 libv4a_fx_ics_VFP.so*
-rwxr-xr-x@ 1 mikel staff - 16B 10 Feb 15:37 ver.txt*
(3) finish intsall
I don't know what to do with any of those files.. and I don't know what chanegs need gto be made to the .conf files.. this version of the driver I can't find anything that looks like a script.. it must be hidden in the install stuff somewhreer.. stuck..so where do you go when you are stuck?
xda-developers of course..and usually someone will have said something..Many people had alot of posts (because viperFX is so kick ass everyone wanted to get it to work). Yes all the posts about my problem were so last year.. well what I say I'm slow.. and none of them could explain to me exactly how to get it to work... I saw one post that had some zip files:
This is the lollipop viper for nexus.. not my phone, but it had lots of conversation. Remember I am on Kit Kat so my story differs, regardless I read along and found 3 zip files:
I did not put a link to the files because you don't need these files, I just used them to understand how to get 184.108.40.206 to work. So if you want to down load these files, you have to find them, because if you install them on anytying but the proper device it will bric your phone (hang it..)
However they were useful, because they showed me:
how the install was supposed to look like.
The fact that I had files designed for CM mod, means I am at rrisk for BRIC-OLA.. but I had no intention of using any of the binaries, I just used the conf files to modify my sysem comf files.. If you do a diff you can see the changes..the big for me was the engine location:
I knew where to put the enginelib. However none of my lib in the apk/asset dir were of the name libv4a_fx_ics.so Well looking back at the logs I saw an message (I did not save it) that said from the viper install something like "CPU IS NEON xxx, CHoosing Driver libxxx" so I was able to see what lib the viper install would have chosen.. what about HQ/SQ naming? I remembered that we have 3 choices to install the driver, basic or low battery drain, high, and super..we have 3 ibs nohting HQ (highQuality) andSQ (SuperDuperQuality).. so thats how that works..I went ahead and pushed the ibv4a_fx_jb_NEON_HQ.so* /system/lib/soundfx dir..renamed the lib to libv4A_fx_ics.so changed file permissions to 644.. and rebooted. It worked sorta..
I saw this:
04-11 10:31:09.970 I/ViPER4Android( 4111): Main activity onResume()
04-11 10:31:09.970 I/ViPER4Android( 4111): onResume(), Binding service ...
04-11 10:31:10.005 I/ViPER4Android( 4111): Query ViPER4Android engine ...
04-11 10:31:10.010 I/ViPER4Android( 4111): Found 13 effects
04-11 10:31:10.010 I/ViPER4Android( 4111): , SoundAlive, Samsung
04-11 10:31:10.015 I/ViPER4Android( 4111): Android System this driver not supported
found ViPER4Android engine at 13
nStartCommand [V4A Engine not found]
I/ViPER4Android( 4111): could not find ViPER4Android engine at 13..
So.. viper driver was being rejected? I tried a few others.. same message.. then I rememberd that I was not clearing the cache .. so I tried again after claering the cache and I got this:
I/ViPER4Android( 4111): Perfect, found ViPER4Android engine at 13
I/ViPER4Android( 4111): The version of ViPER4Android engine is 220.127.116.11
I/ViPER4Android_v2( 2291): Welcome to ViPER4Android driver [Happy new year!]
I/ViPER4Android_v2( 2291): ViPER4Android is normal audio quality mode
I/ViPER4Android_v2( 2291): Use 24bit fixed point calculating arch, round res
THis is the second message YOU must have for VIPER to work on your phone.
OK everything is great! I rebooted turned on my favorite music (RUSH 2112) and what do you know.. it didn't work. Opening Viper and checking the driver status, it said "not enabled" but it was installed.. WTF.?.It did have power, but still nothing..So I remembered reading that someone their bluetooth worked, but going through speaker mode did not. I switched to a bluetooth speaker.. and this time I had:
NEON enabled: yes
Process NO? but eerything else yes.. How hard are we today..man.. I knew I was close, so i looked in the logs..
AudioPolicyManagerBase( 2291): selectOutputForEffects outputOffloaded 0 outputDeepBuffer 0
04-12 14:33:00.784 V/AudioPolicyManagerBase( 2291): selectOutputForEffects outputOffloaded 0 outputDeepBuffer 0
W/BufferQueue( 2285).ViPER4Android] cancelBuffer: BufferQueue has been abandoned!
Seems like somehow a buffer is not happening.. this is getting alittle deep for me, but there are many different combinations to try (turn on viper first, then music, then bluethooth.. or BT first, music viper..etc) Also happily I have a "music effects" in my settings where I can choose MUSICFX (samsun's binary) or Viper. SO I found that did not do much, but if I killed Viper, then started it (go to the UI) and powered it up) it had processing set to yes) at that point viper works perfectly. I'm not exaclty sure what the buffer issue is, and I have not made changes to my audio_policy file.. I want understand that first.. but good enoght for now.. Finally Hats off to VIperDevelopers.. its hands one of the most amazing music enhancements I have ever heard.. Don't quite know why its such a pill to install.. sorta feels like no one is taking care of the baby.. well this baby rocks.. someone aught to.. (I'll do it!) anyway all I can say is you are genius and Brilliant software / hareware developers.. when i grow up I wanna be just like you guys.. thanks again hope this post help.. Hope I am not posting anything I shouldn't I have never posted to xda before..