rmt_storage - Oppo R7 Plus

Hi!
Is there any user of the Oppo R7 Plus (rooted) willing to share a file from their phone?
It's located in /system/bin/ and called rmt_storage

Related

who wants a sony arc rom ???

Im starting to port the sony ericsson arc rom to our desire s and i just wanted to know who would be intrested in my rom ????? let me know what u think of the sony ericsson arc and what new things you would like to see in this port. like timescape and other things. its going to be good porting and i hope your all intrested and i aint doing this for nothing lol
paul.robo said:
Im starting to port the sony ericsson arc rom to our desire s and i just wanted to know who would be intrested in my rom ????? let me know what u think of the sony ericsson arc and what new things you would like to see in this port. like timescape and other things. its going to be good porting and i hope your all intrested and i aint doing this for nothing lol
Click to expand...
Click to collapse
Yup. More choice is always a good thing!!
I vote for a port. Do your thing!
LOG CAT
Microsoft Windows [Version 6.2.8250]
(c) 2012 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>cd C:\Users\paul\Desktop\DOWNGRADE.SAGA.AND.GUIDE
C:\Users\paul\Desktop\DOWNGRADE.SAGA.AND.GUIDE>adb logcat
* daemon not running. starting it now *
* daemon started successfully *
--------- beginning of /dev/log/main
I/DEBUG ( 1175): debuggerd: Nov 29 2011 12:52:30
--------- beginning of /dev/log/system
I/Vold ( 1173): Vold 2.1 (the revenge) firing up
D/AK8975 ( 1182): AK8975 daemon 1.0.8 Start
D/AK8975 ( 1182): (Library version : 1.2.1.1125)
I/rmt_storage( 1183): rmt_storage user app start
I/rmt_storage( 1183): rmt_storage open success
I/rmt_storage( 1183): rmt_storage shared memory ioctl success
I/rmt_storage( 1183): rmt_storage mmap addr = 40009000
D/Vold ( 1173): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media
)
D/Vold ( 1173): Volume sdcard state changing 0 (No-Media) -> 2 (Pending)
D/Vold ( 1173): Volume sdcard state changing 2 (Pending) -> 1 (Idle-Unmounted
)
THIS SHOWS ERRORS SO NOW IM GOING TO CHANGE MY APPROACH AND GET A DIFF SONY ROM AND FROM THE X10 NOW THAT WAS FROM ARC S WHICH IS GOING TO BE MUCH MUCH HARDER SO ILL STICK WITH THE X10 FOR NOW.

how to fix WIFI for MIUI V4 with 3.0kernel

I have ported official MIUI V4 for Incredible S to glacier, but WIFI doesn't work, how to fix it ? thanks
FIX,thX
logcat?
You didn't couple a Sense Kernel with an AOSP ROM did you?
log
I/rmt_storage( 4248): rmt_storage user app start
I/rmt_storage( 4248): rmt_storage open success
I/rmt_storage( 4248): rmt_storage shared memory ioctl success
I/rmt_storage( 4248): rmt_storage mmap addr = 400b5000
E/rmt_storage( 4248): rmt_storage wait event ioctl failed
D/WifiService( 224): setWifiEnabledPersist enable=true, persist=true, getCallingPid()=1516
I/WifiHW ( 224): wifi_load_driver load module
I/WifiHW ( 224): is_wifi_driver_loaded
I/WifiHW ( 224): wifi_load_driver end error 2
E/WifiStateMachine( 224): Failed to load driver!
E/WifiStateMachine( 224): DriverFailedState
I/rmt_storage( 4253): rmt_storage user app start
I/rmt_storage( 4253): rmt_storage open success
I/rmt_storage( 4253): rmt_storage shared memory ioctl success
I/rmt_storage( 4253): rmt_storage mmap addr = 40174000
E/rmt_storage( 4253): rmt_storage wait event ioctl failed
A. You shouldn't use a Sense kernel with MIUI.
B. Try porting from a device closer to ours, like Desire S, Desire HD or G2.
MIUI V4 has the 2.8.3 build for the MyTouch, everything works great except for WiFi calling.
trikar21b said:
MIUI V4 has the 2.8.3 build for the MyTouch, everything works great except for WiFi calling.
Click to expand...
Click to collapse
ummm..wifi calling has been working for awhile on miui v4.......
estallings15 said:
A. You shouldn't use a Sense kernel with MIUI.
B. Try porting from a device closer to ours, like Desire S, Desire HD or G2.
Click to expand...
Click to collapse
Totally agree
zeng3545 said:
I have ported official MIUI V4 for Incredible S to glacier, but WIFI doesn't work, how to fix it ? thanks
Click to expand...
Click to collapse
hi.. ive had this problem before on a few different roms.. one thing i usually do is go into settings and disable all of my network and broadcasting options,, then boot the phone into recovery.. after i reboot,, everything is usually ok.. same for my mobile network..
MIUIv4 WIFI ERROR FIXED WITH S-ON
Im too stucked for 2 weeks to get WIFI on MIUIv4... (Worked for my Incredible S, try on your OWN risk)
Incredible S
HBOOT 2.02 S-ON
Bootloader UNLOCKED (htcdev.com)
Cause of error :- MIUI v4 wont works fully on HTC Stock Kernel. MIUIv4.xx.xx.zip contain a BOOT.img that contain the suppported kernel for MIUIv4. When you have S-ON , boot.img can't be updated via Recovery (zip). All errors can be fixed by updating the kernel (boot.img) provided in ROM zip
How to Update Kernel with S-ON : S-OFF-ing is a difficult tasks. So you can update kernel without S-OFF. It is done via 'fastboot'
1.Extract the boot.img from the MIUI-v4-xx-xx.zip. Copy boot.img to C:\Android\
2.Reboot your phone in Bootloader (Power-off -> Vol-Down + Pwr)
3.Goto Fastboot
4.Install HTC Sync (for drivers)
5.Connect USB
6.Open cmd
7.Navigate to 'fastboot.exe' folder
8 Type fastboot flash boot c:\android\boot.img
9.Format system,data,dalvik
10.Reflash MIUI from recovery
Good luck!!
Hit thanks if works, let help others
what is your overall experience on the miui version of android

[R&D][APP] Samsung OTA .bin Triggerer

There are (leaked) OTA updates for Samsung devices floating around.
These files have the .bin extension, but can different types: RBMT multidelta and .zip archives.
The information in this thread are related to RBMT multidelta (RedBend update agent patches).
Using the following steps, the RBMT file is split into delta.* files, ready to be flashed. The only requirement is to have a big enough /cache partition. Else you could play with symlinking the /cache/fota/ folder.
adb push TheNameOfTheOta.bin /sdcard/ota.bin
adb install FOTA.apk
adb shell
su
chmod -R 0777 /cache
Run FOTA application from app drawer
Press the button
Wait a few minutes (or check logcat to see when it's done)
Check the contents of /cache/fota, it should contain *.delta files and fota.status
In the adb root shell prompt enter:
LTE devices: reboot arm11_fota
Tablets: reboot fota
Phones:
echo -n "--install_fota" > /cache/recovery/command
reboot recovery
Wait for OTA update (percentage on screen)
Notes:
You must have the corresponding base ROM installed for the OTA (the required version can be read at the end of the .bin file)
Nadavi reported that the update fails at updating the bootloader. As a workaround, delete delta.Sbl from the fota folder
Arlicc reported that you must have the stock recovery before flashing back to stock with Odin. So flash the package twice, or the stock recovery first then the package.
Donations are always welcome PayPal
PS: Looking for P7300 ICS? -> http://forum.xda-developers.com/showthread.php?t=1893456
The main idea behind the technique consists in wrapping up a JNI interface for libdprw.so. This file is included in syncmldm.apk. Then we deodex syncmldm.odex and figure out the calls to the JNI.
cschmitt's info about the FOTA procedure pointed out some missing pieces.
There's also a working version for Galaxy Note with Gingerbread: Application => Procedure
I would prefer if someone would try the app from the first post and symlink /cache/fota/ to /data/fota/ to see if it works and generalize the problem.
For other devices, I need the dump of /system/app/syncmldm.apk, /system/app/syncmldm.odex and /system/framework/ (whole folder). I'll help as my time permits.
Changelog:
Check existence of /sdcard/ota.bin
Check if it's an RBMT multidelta
UI cosmetics
Todo:
Gather information about other devices
Provide a generalized application
Make the app fully automatic
Hi,
Great to see a truly knowledgable person get into this.
I've only come across a thread that explains how to capture an update .bin file. The good part is that it deals with exactly the same fotaclient process and the same /data/data folders as explained in the skyrocket thread.
This is what I found.
If not anything else it gives an idea about the address of the update servers and where the .bin files are downloaded from.
I bet that the SQlite database exploration will turn up a result as to where the.bin file is stored to be flashed thereafter.
Or what if the wssdmdatabase.db can be edited so that it will have the Software Update process start doing its thing with the .bin.
There is nothing revealing actually within fotaclient.apk.
All very simplistic approaches on my part, bu this is as far/near as my knowledge goes.
I have a very vague idea of the complex stuff you are talking about, but as far as I can understand, you wish to use a JNI wrapper to manually execute the code to split the .bin file.
Isn't there a way to just trigger the Software Update to do its thing with the .bin file in the right place instead?
Probably not the key to everything, but (at least to me) an understandable insight into redbend FOTA and delta files.
http://www.visionmobile.com/rsc/researchreports/Firmware_OTA_research_paper.pdf
Due to health problems, I didn't have time for this matter.
Started again, wrote a JNI Wrapper that loads libdprw.so (that contains the split functions). I have a strange problem when loading it (java.lang.UnsatisfiedLinkError: unknown failure), trying to figure it out...
EDIT: Library loaded, trying to communicate with it's functions...
EDIT2: The package name is hardcoded in the lib, so I need to hex edit it... or grant root privileges to the app
EDIT3: su gets root for the app, but not for the lib
EDIT4: hexing partially works, we still need root for /cache partition
Code:
09-18 18:17:53.960: D/dalvikvm(3122): Trying to load lib /data/data/ro.tracid.fota/lib/libdprw.so 0x4076cee8
09-18 18:17:53.960: D/dalvikvm(3122): Added shared lib /data/data/ro.tracid.fota/lib/libdprw.so 0x4076cee8
09-18 18:17:53.960: I/jnifota.cpp(3122): JNI_OnLoad
09-18 18:17:53.960: I/jnifota.cpp(3122): FOTA_WriteFlag
09-18 18:17:53.960: I/dp.c(3122): call dp_set_flag
09-18 18:17:53.960: I/dp.c(3122): mkdir(/cache/fota/): ret=-1 errno=13
09-18 18:17:53.960: I/dp.c(3122): Open fail /cache/fota/fota.status
09-18 18:17:53.960: I/jnifota.cpp(3122): FOTA_DeltaWrite :
09-18 18:17:53.960: I/dp.c(3122): dp_write_fw_delta path : /sdcard/ota.bin
09-18 18:17:54.030: I/dp.c(3122): Open /sdcard/ota.bin
09-18 18:17:54.040: I/dp.c(3122): DP Version : DP_7_0
09-18 18:17:54.040: I/dp.c(3122): APFWDeltaSize(kernel): 4553496
09-18 18:17:54.040: I/dp.c(3122): APFSDeltaSize(platform): 252019202
09-18 18:17:54.040: I/dp.c(3122): APSBLDeltaSize(sbl): 0
09-18 18:17:54.040: I/dp.c(3122): APUADeltaSize(ua): 324664
09-18 18:17:54.040: I/dp.c(3122): BPFWDeltaSize(modem): 367644
09-18 18:17:54.040: I/dp.c(3122): BPSBLDeltaSize(hidden): 53529324
09-18 18:17:54.040: I/dp.c(3122): BPUADeltaSize(recovery): 5044224
09-18 18:17:54.040: I/dp.c(3122): CPFWDeltaSize(modem_3g): 0
09-18 18:17:54.040: I/dp.c(3122): CPSBLDeltaSize(modem_lte): 0
09-18 18:17:54.040: I/dp.c(3122): CPUADeltaSize(not used): 0
09-18 18:17:54.040: I/dp.c(3122): APFSTrgValDeltaSize(flex): 0
09-18 18:17:54.040: I/dp.c(3122): mkdir(/cache/fota/): ret=-1 errno=13
09-18 18:17:54.060: I/dp.c(3122): dp_split offset = 0x50, size = 0x457b18, path=/cache/fota/delta.zImage
09-18 18:17:54.250: I/dp.c(3122): dp_split path=/cache/fota/delta.zImage
09-18 18:17:54.260: I/dp.c(3122): Failed to open /cache/fota/delta.zImage: Permission denied
09-18 18:17:54.260: I/dp.c(3122): dp_split(kernel) failed with return value: -1
EDIT5: chmod 0777 /cache did the trick
Code:
[email protected]:/cache/fota $ ls -al
ls -al
-rw-r--r-- app_110 app_110 53529324 2012-09-18 18:22 delta.hidden
-rw-r--r-- app_110 app_110 367644 2012-09-18 18:22 delta.modem
-rw-r--r-- app_110 app_110 252019202 2012-09-18 18:21 delta.platform
-rw-r--r-- app_110 app_110 5044224 2012-09-18 18:22 delta.recovery
-rw-r--r-- app_110 app_110 324664 2012-09-18 18:22 delta.ua
-rw-r--r-- app_110 app_110 4553496 2012-09-18 18:21 delta.zImage
-rw-r--r-- app_110 app_110 36 2012-09-18 18:21 fota.status
Update in progress
First post from official ICS GTab 8.9
Sent from my GT-P7300 using xda app-developers app
:thumbup:
Wysyłane z mojego GT-P7300 za pomocą Tapatalk 2
tracid said:
First post from official ICS GTab 8.9
Click to expand...
Click to collapse
OMG I'm moved to tears. :good:
Anything working fine? I think we'd need some further tests for battery, 3G (is it working all over the world? we'll see), etc.. which languages are included?
Can anyone dump the system for me so that i can make a CWM Flashable zip
I'm already working on it, please be patient.
tracid, Can you please create an application to handle these .bin files.
from .bin to the parts inside. then we can use ODIN to write them or create update.zip.
Here is a sample one For the Galaxy Note: "http://www.hotfile.com/dl/171858907/a3bc9d2/GT-N7000_ILO_354458940.bin.html"
Nadavi, the application is semi-automatic. You need to chmod 0777 /cache before running it. Even if the app itself gets root permission granted, the library seems to run under the apps normal permission. Will try to fix and upload it these days.
HI,
i don't have the ota update on my phone.
i have the .bin file.
How to start?
Can you post the needed files?
instructions?
Nadav.
First post updated with instructions + application.
tracid said:
First post updated with instructions + application.
Click to expand...
Click to collapse
thanks it is time to flash ...
The ICS dump for P7300 has been posted here: http://forum.xda-developers.com/showthread.php?t=1893456
tracid said:
First post updated with instructions + application.
Click to expand...
Click to collapse
How to bypass the maximum folder size of the Cache Folder? I am stuck at that step, trying to extract an Galaxy S2 DBT update.
darth_mickrig said:
How to bypass the maximum folder size of the Cache Folder? I am stuck at that step, trying to extract an Galaxy S2 DBT update.
Click to expand...
Click to collapse
Send me your libdprw.so file. It's included syncmldm.apk/lib/
It is possible that your files are extracted somewhere else (maybe /sdcard)
tracid said:
Send me your libdprw.so file. It's included syncmldm.apk/lib/
It is possible that your files are extracted somewhere else (maybe /sdcard)
Click to expand...
Click to collapse
Here is the lib. Hope you can solve this problem.

[Q] EBR missing in T699

Some of you may be familiar with my trials with my T699. To make a long story short, (see that story here http://forum.xda-developers.com/showthread.php?t=2528444) (thanks gee one!)
I was attempting to put CM on my Relay and I ended up hard bricking it.
I can now boot but I need a SD card installed to do it.
Recently I was playing around with adb and was running logcat which dumped a whole mess of wonderful information.
The line I thought was important was the following -
I/rmt_storage( 125): No EBR found
It is my guess that I messed up (corrupted) the EBR and that is why I am dependent on the external SD card.
My question is, does anyone know how to restore the EBR to working condition? I have tried to use odin to put the stock
image on but I think it is just over-writing the image on the SD card. If it can be done using adb that would be very great too since
it appears to be working well.
Oh, and the other thing I noticed, if I do not put the SD card, with image, into the slot I just boot into QHSUSB-DLOAD mode.
Which means much but is not useful at this time.
Thanks all,
Lou
I have added the first 25 lines of the logcat -
--------- beginning of /dev/log/main
I/rmt_storage( 125): Target is APQ8064: 1074445686
I/rmt_storage( 125): No EBR found
I/rmt_storage( 125): Error (-1) parsing MBR partitions
I/rmt_storage( 125): Registering modemst1: 0x4a /boot/modem_fs1
I/rmt_storage( 125): Registering modemst2: 0x4b /boot/modem_fs2
I/rmt_storage( 125): Registering fsg: 0x58 /boot/modem_fsg
I/rmt_storage( 125): Registering ssd: 0x5d ssd
I/rmt_storage( 125): 4 GPT partitions found
D/ICD ( 183): icd .02 runs
E/DataRouter( 186): Main entered
E/DataRouter( 186): switchUser
E/DataRouter( 186): monitor_usb_thread
E/DataRouter( 186): server_init
E/DataRouter( 186): Opening of the usb select file failed fd is -1 & errno is 2
E/DataRouter( 186): Opening of the usb select file failed fd is -1 & errno is 2
E/DataRouter( 186): Initialise USB and start the thread
E/DataRouter( 186): dr_usb_init
E/DataRouter( 186): USB Interface is open with 0x9
E/DataRouter( 186): USB interface is now configured for usb_fd = 0x9
E/DataRouter( 186): THREAD LAUNCH
E/DataRouter( 186): monitor_data_of_usb
E/DataRouter( 186): USB monitor thread launched, usb_fd= 0x9
E/DataRouter( 186): init_cur_sock
E/DataRouter( 186): Before the usb select
I/DEBUG ( 182): debuggerd: Mar 16 2013 22:15:51
*** UPDATE ***
I found another interesting line in line in the logcat ...
W/PackageManager( 674): Library not found: /system/framework/com.qualcomm.location.quipslib.jar
More on de-bricking
I have been continuing my hunt on how to permanently de-brick my T699. The following thread does not leave me with
much hope . I know it is for Evita on the HTC One but I see similar behaviour when I hook my T699 to linux.
http://forum.xda-developers.com/showthread.php?t=1966850&page=40
If anyone can comment on this it is greatly appreciated.

[PX5][Android 8.0+][MD725] Fix for MD725 Type 2 Bluetooth on Oreo

Hi everyone.
As people are aware, upgrading to Android 8.0 Oreo broke the functionality of Bluetooth for users with the MD725 Type 2 Bluetooth module. I have now found the driver file that will likely repair all lost Bluetooth functionality - the sdsdk file. This should also fix any external USB WiFi/Bluetooth devices that use the MD725 Type 2 module.
I have tested this on my MTCD HA unit running Hal9k's Oreo ROM and can confirm that the following features now work:
- A2DP
- Calling
- Call History
- Contact sync
Note: This fix requires root access.
Installation Instructions:
1. Download the attached sdsdk.zip file.
2. From the sdsdk.zip file, extract the "sdsdk" file.
4. Copy the sdsdk file to a USB drive or SD Card to be plugged into your headunit
5. Install a Root file explorer.
6. Copy the sdsdk file from your external storage device to the location:
Code:
/system/bin
7. Reboot your headunit.
The working sdsdk file is from the MTCD_HA_20170726 ROM provided by @f1x in their "Solution for the bluetooth echo v2":
https://forum.xda-developers.com/an...neral/px5-solution-bluetooth-echo-v2-t3661284
I hope that this fix works for you!
@Malaysk perhaps you can try to incorporate this fix in your rom if tested to work OK?
Sent from my G8141 using Tapatalk
The command "ps | grep sdsdk" just returns the line(s) containing sdsdk (grep command) from the running processes list (ps command). So I think that that step is not necessary.
Also where did you find a working sdsdk for android 8, substituting the one from android 6 was tried before and did not work.
Regardless I will try to flash my android 6 HU to HALK's Oreo to comfirm this working on a MTCD KGL (v2.83)
switchboy said:
The command "ps | grep sdsdk" just returns the line(s) containing sdsdk (grep command) from the running processes list (ps command). So I think that that step is not necessary.
Also where did you find a working sdsdk for android 8, substituting the one from android 6 was tried before and did not work.
Regardless I will try to flash my android 6 HU to HALK's Oreo to comfirm this working on a MTCD KGL (v2.83)
Click to expand...
Click to collapse
Okay, I've removed that part of the step. I had a feeling it wasn't necessary but left it in.
The working sdsdk is from the MTCD_HA_20170726 ROM, which was collected by @f1x for the "Bluetooth echo solution".
Thanks! Please reply with your results!
I am afraid it did not work for me. Added the files to 'system/bin/'
Gave the the file 777 permission just to be sure (read write execute)
Did a reboot, no luck
As you can see sdsdk is not running when I search for it with 'ps | grep sdsdk'
I added photographs of the situation.
This is a fresh upgrade to HALK's Oreo rom from Android 6.0 do i need to select the MD725 as my BT adapter somewhere? Because that might be causing my issues? I will check the factory setting later (although they should not have been touched and BT was working on android 6)
It will have to be another time though. It's getting cold now that it is dark and I don't want to burn petrol while waiting on the HU. Already used a bit too much battery power while waiting on the update process.
Edit:
OP, did you also install the libraries (.lib files) provided by f1x? That might be the reason why it did not work and sdsdk doesn't run on my system right now.
hello . i have mtcd px5 , MX , Bluetooth MD725 type 2 , i am now at malaysk rom 6 v7 , want to ask if this fix will work with me ? till now i didn't try android 8 because of Bluetooth problem ?
Have been playing around with this idea some more. First off I checked if for some reason the Bluetooth adapter in the factory settings was changed. So I double checked and it was still set to MD725. So that was not the reason why sdsdk is not running. Secondly I thought maybe sdsdk is missing other files it depends on to run so I went ahead and made sure I copied the .lib files and the .ini file from f1x to the right folders and made sure all of them were executable. After that I did a reboot of my device and nothing. The Bluetooth name and pin are not populated in the settings menu and the process sdsdk is still not in the running processes list. This could either mean:
- The process sdsdk isn't started by the system on boot and we need a way to start it manually
- The process sdsdk is started but crashes soon after being started because it is still missing dependencies
- The implementation of sdsdk is not compatible with android 8 anymore (which would mean the end of the line for this approach)
After these tests I was a bit disappointed and had ran out of time for today. I need some way to check if sdsdk is doing anything and if so what it is actually doing. So on a PC my next logical step will be to try and run the program manually from the command line and see if it spits out an error. If it does I might be able to solve the problem.
Because of digging work by f1x we know that the init.hct.rc script does contain the commands to start sdsdk: (so this makes the first scenario unlikely)
Code:
on property:bt.md725.type=1
start gocsdk
service gocsdk /system/bin/gocsdk
class main
user root
group root
disabled
seclabel u:r:shell:s0
on property:bt.md725.type=2
start sdsdk
service sdsdk /system/bin/sdsdk
class main
user root
group root
disabled
seclabel u:r:shell:s0
I think the second scenario is the most likely scenario and sdsdk is missing the right (versions) of other files the program depends on. So we need to figure out what those files are. Furtermore I think the simple terminal command '/system/bin/sdsdk' probably wont start the service in a way that is useful for the OS, however I am hoping it wil output a usefull error code. So that will be the fist thing I will try next time I got some spare time to play with the HU.
Unfortunately I am a bit of a Windows guy and hobby developer (with limited C++, PHP and Java knowledge) so my Linux knowledge is limited. I would love to be able to decompile sdsdk to see what it actually does that might make fixing this software mess a bit easier. At this point I am not expecting a manufacturer to do it for us. As for now I just making guesses why it doesn't work and I don't like that.
switchboy said:
- The process sdsdk is started but crashes soon after being started because it is still missing dependencies
Click to expand...
Click to collapse
You can test this by, first, running '/system/bin/sdsdk' in a terminal. Even if this step works, I would see the missing libraries by running 'ldd /system/bin/sdsdk'. The assumption in the 'ldd' step is that the binary gets libraries dynamically attached to it when it runs, as opposed to coming packaged with the binary.
Feel free to paste the output and I can help interpret it. I would do this myself, but at the rate at which I'm going, I won't get to it until next year
P.S. you may need to find a binary for ldd on Android. Termux has an ability to get such, just type in the command, and if it knows it can download a binary for a missing program, then it will tell you how to do it
I dont have acces to my headunit at the moment. The wife has taken the car for a drive. So I did the next best thing and used readelf on a ubuntu vm to try and find dependencies of the sdsdk binairy. Here is the raw output:
Code:
@Butterfly:~/Desktop$ readelf -And sdsdk
Dynamic section at offset 0xbe65c contains 33 entries:
Tag Type Name/Value
0x00000003 (PLTGOT) 0xbfd84
0x00000002 (PLTRELSZ) 1248 (bytes)
0x00000017 (JMPREL) 0x9bc0
0x00000014 (PLTREL) REL
0x00000011 (REL) 0x2cb0
0x00000012 (RELSZ) 28432 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffa (RELCOUNT) 3551
0x00000015 (DEBUG) 0x0
0x00000006 (SYMTAB) 0x148
0x0000000b (SYMENT) 16 (bytes)
0x00000005 (STRTAB) 0x1258
0x0000000a (STRSZ) 4590 (bytes)
0x00000004 (HASH) 0x2448
0x00000001 (NEEDED) Shared library: [libtinyalsa.so]
0x00000001 (NEEDED) Shared library: [libmedia.so]
0x00000001 (NEEDED) Shared library: [libutils.so]
0x00000001 (NEEDED) Shared library: [libbinder.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x00000001 (NEEDED) Shared library: [libstdc++.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libdl.so]
0x0000001a (FINI_ARRAY) 0xbc3b8
0x0000001c (FINI_ARRAYSZ) 8 (bytes)
0x00000019 (INIT_ARRAY) 0xbc3c0
0x0000001b (INIT_ARRAYSZ) 36 (bytes)
0x00000020 (PREINIT_ARRAY) 0xbc3e4
0x00000021 (PREINIT_ARRAYSZ) 0x8
0x00000016 (TEXTREL) 0x0
0x0000001e (FLAGS) TEXTREL BIND_NOW
0x6ffffffb (FLAGS_1) Flags: NOW
0x00000000 (NULL) 0x0
Displaying notes found in: .note.gnu.gold-version
Owner Data size Description
GNU 0x00000009 NT_GNU_GOLD_VERSION (gold version)
Version: gold 1.11
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "ARM v7"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_FP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1
Tag_ABI_PCS_GOT_use: GOT-indirect
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_enum_size: int
Tag_ABI_HardFP_use: Deprecated
Tag_ABI_optimization_goals: Aggressive Speed
Tag_CPU_unaligned_access: v6
Tag_ABI_FP_16bit_format: IEEE 754
Tag_DIV_use: Not allowed
Tag_Virtualization_use: TrustZone
It would seem that the only libs this file depends on are the following:
Code:
0x00000001 (NEEDED) Shared library: [libtinyalsa.so]
0x00000001 (NEEDED) Shared library: [libmedia.so]
0x00000001 (NEEDED) Shared library: [libutils.so]
0x00000001 (NEEDED) Shared library: [libbinder.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x00000001 (NEEDED) Shared library: [libstdc++.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libdl.so]
So now we need the right version of these in /system/lib/ and it might work.
EDIT:
I also ran this command on gocsdk:
Code:
0x00000001 (NEEDED) Shared library: [libbinder.so]
0x00000001 (NEEDED) Shared library: [libmedia.so]
0x00000001 (NEEDED) Shared library: [libutils.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x00000001 (NEEDED) Shared library: [libstdc++.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libdl.so]
So it seems that libtinyalsa.so might be our missing file!
sdsdk needs it and gocsdk doesn't.
Edit 2:
Okay I've extracted the missing files from a recent android 6 ROM which had working BT on my unit. I've created an archive with all the files that I think are missing in android 8 in their respective folders. Copy and paste to the right folders on your unit and set permissions to 777 for each file (you'll need a root browser for this). I've hadn't had time to test it for myself but this will hopefully fix this mess.
Edit 3:
Well it seems that the missing files I gathered up aren't complete yet. I can comfirm that 'sdsdk' is indeed crashing because it is missing dependencies. Executing the file from terminal is generating this error message.
"CANNOT LINK EXECUTABLE 'sdsdk' has text relocations"
Sadly I am currently at a loss getting the name and paths out of 'sdsdk' with readelf.
Edit 4:
After more reading it would seem that google disabled text relocations for applications running in userland. So this error seems logical since I was running the terminal in userland .
Hello Switchboy, i did put the files in the locations as showed in youre zip file.
It does not work on my HU.
The sdsdk executable is currently not working because of text relocations which aren't allowed in Android in userland anymore. So we either need to find a way to run sdsdk outside userland or find an sdsdk executable without text relocations. A version from android 7 might work.
See attached logcat
switchboy said:
The sdsdk executable is currently not working because of text relocations which aren't allowed in Android in userland anymore. So we either need to find a way to run sdsdk outside userland or find an sdsdk executable without text relocations. A version from android 7 might work.
See attached logcat
Click to expand...
Click to collapse
Great detailed summary and investigation into the issue.
Thanks for taking the time and sharing with the forums.
Until these blobs are updated or other software solution is found, we may have found a supplier for genuine GOC-MD-725.
Update
Not deterred, I managed to find a version of sdsdk without text relocations. I actually just took it out of the Android 7 rom for PX3, figuring that support for text relocations in userland was dropped by then. It turns out, I was right. ‘readelf –d sdsdk’ did not show the dreaded ‘0x00000016 (TEXTREL) 0x0’ anymore.
Hooray!
Therefore, after checking the shared library list and not seeing any new libraries I went ahead and overwrote my old version of sdsdk with this one. I rebooted the device and… nothing.
After reviewing, the logcat to find out what went wrong the following error messages repeats a couple of times:
Code:
libc ( 1008): CANNOT LINK EXECUTABLE "/system/bin/sdsdk": cannot locate symbol "_ZN7android10AudioTrackC1E19audio_stream_type_tj14audio_format_tjj20audio_output_flags_tPFviPvS4_ES4_i15audio_session_tNS0_13transfer_typeEPK20audio_offload_info_tiiPK18audio_attributes_tbf" referenced by "/system/bin/sdsdk"...
11-19 14:46:00.787 F/libc ( 1008): Fatal signal 6 (SIGABRT), code -6 in tid 1008 (sdsdk)
11-19 14:46:00.829 F/DEBUG ( 1013): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-19 14:46:00.829 F/DEBUG ( 1013): Build fingerprint: 'Android/px5/px5:8.0.0/OPR5.170623.007/hct08091121:userdebug/test-keys'
11-19 14:46:00.829 F/DEBUG ( 1013): Revision: '0'
11-19 14:46:00.829 F/DEBUG ( 1013): ABI: 'arm'
11-19 14:46:00.829 F/DEBUG ( 1013): pid: 1008, tid: 1008, name: sdsdk >>> /system/bin/sdsdk <<<
11-19 14:46:00.829 F/DEBUG ( 1013): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
11-19 14:46:00.830 F/DEBUG ( 1013): Abort message: 'CANNOT LINK EXECUTABLE "/system/bin/sdsdk": cannot locate symbol "_ZN7android10AudioTrackC1E19audio_stream_type_tj14audio_format_tjj20audio_output_flags_tPFviPvS4_ES4_i15audio_session_tNS0_13transfer_typeEPK20audio_offload_info_tiiPK18audio_attributes_tbf" referenced by "/system/bin/sdsdk"...'
11-19 14:46:00.830 F/DEBUG ( 1013): r0 00000000 r1 000003f0 r2 00000006 r3 00000008
11-19 14:46:00.830 F/DEBUG ( 1013): r4 000003f0 r5 000003f0 r6 ffe4d100 r7 0000010c
11-19 14:46:00.830 F/DEBUG ( 1013): r8 f70b0010 r9 ffe4d3a8 sl f70fcd90 fp ffe4e3b4
11-19 14:46:00.830 F/DEBUG ( 1013): ip 00000000 sp ffe4d0f0 lr f7164bc7 pc f716ede8 cpsr 200f0010
11-19 14:46:00.839 F/DEBUG ( 1013):
11-19 14:46:00.839 F/DEBUG ( 1013): backtrace:
11-19 14:46:00.839 F/DEBUG ( 1013): #00 pc 00066de8 /system/bin/linker (__dl_tgkill+12)
11-19 14:46:00.839 F/DEBUG ( 1013): #01 pc 0005cbc3 /system/bin/linker (__dl_abort+54)
11-19 14:46:00.839 F/DEBUG ( 1013): #02 pc 00018641 /system/bin/linker (__dl___libc_fatal+24)
11-19 14:46:00.839 F/DEBUG ( 1013): #03 pc 0000fcb5 /system/bin/linker (__dl___linker_init+1956)
11-19 14:46:00.839 F/DEBUG ( 1013): #04 pc 00014d50 /system/bin/linker (_start+4)
11-19 14:46:00.858 W/NativeCrashListener( 499): Couldn't find ProcessRecord for pid 1008
Therefore, I assume that one of the libs sdsdk is depended on were updated and now is not quite compatible anymore. I am a bit hesitant to start altering system audio libraries willy-nilly because then I might start to break the audio subsystem of the rom. So unless I can find a version of sdsdk that is compatible with the audio subsystem of android 8 we are stuck at the moment.
Since the MD725 type 2 is a chip used in a lot of BT dongles as well there must be a device out there currently running android Oreo. I cant think of any reason why an sdsdk ripped from such firmware would not work on our Oreo installment. We just have to find it.
I love your persistence!
Did you also copy over the associated libraries? Typically, one can copy over the entire web of libraries required by a specific binary, and use those only for such binary, while leaving the rest of the system libraries alone. However, such solution may make things work, but may break integrations that Android may have had.
If only we had the source code ........
Seems like https://source.android.com/reference/hal/structaudio__policy may references audio_offload_info_t.... I'll take a look. I might as well just scrape all the symbols to get a layout of what's calling what
If only we had the sourcecode of sdsdk I could debug it against current libraries rewrite it a bit and then compile a working version.
@switchboy I am really impressed with the level of debugging and research you went into! Thank you!!
It makes it more confusing that my BlueTooth works for around 30 minutes or so (or until I end a call) before my phone disconnects (but the HU still thinks it is connected).
marchnz said:
Great detailed summary and investigation into the issue.
Until these blobs are updated or other software solution is found, we may have found a supplier for genuine GOC-MD-725.
Click to expand...
Click to collapse
I am very interested in this supplier!
jimimatthews said:
@switchboy I am really impressed with the level of debugging and research you went into! Thank you!!
It makes it more confusing that my BlueTooth works for around 30 minutes or so (or until I end a call) before my phone disconnects (but the HU still thinks it is connected).
Click to expand...
Click to collapse
Could you by any chance upload the sdsdk which is in your bin folder on the hu? To double check if it is the same one from the OP.
jimimatthews said:
I am very interested in this supplier!
Click to expand...
Click to collapse
Check the md725 module 1 and 2 swap thread
I'm getting a similar issue with my Bluetooth.
A2DP, Call History and Contact Sync all work
but Calling does not work properly. People can hear me, but I cannot hear them through my speakers.
I'm using an AVIN PX5
MCU version: MTCE_GS_V2.94_3 Sep 13 2018 11:26:51
I'm wondering if any MCU updates are available to resolve this issue?

Categories

Resources