OK, so for some reason our builds happen to be hardcoded with a UserAgent Profile pointing to http://www.google.com/oha/rdf/ua-profile-kila.xml. This is reported to the MMS server whenever our MMS client tries to download something, it's stuck in the x-wap-profile: header of the HTTP request.
If you read thru that file you'll see that it's the spec for a Samsung SGH-T429 with 320x480 screen. While looking into MMS receive issues on Sprint we discovered that the MMS server actually reads these profiles, and sizes the output that it sends you based on these profiles. So even if your buddy sends you a nice high-rez photo by MMS, when you receive it, it will be scaled down to 320x480.
[edit: that's not quite true. I think this only affects the size of the image as presented in the Messaging app. The actual attachment is whatever size was originally sent. Of course, most media is scaled down for sending anyway.]
We checked to see what profile the Sprint RHOD400 was sending under Winmo and found this http://device.sprintpcs.com/HTC/PPCTP7380SP/2046514.rdf which seems to have the correct screen dimensions. (I can't seem to download it now though.)
I also checked to see what my phone was using with T-Mobile, and got this
http://www.htcmms.com.tw/gen/RhodiumMR-1.0.xml which also has the right stuff, but a lot of winmo-specific details too. It seems to me that we're going to need to patch the framework to make this profile URL a settable property instead of hardcoding it like it's currently done, to get the most out of MMS.
We should probably start taking an inventory of profiles that are in use on all the MSM devices. In Winmo you can find them in the registry at HKLM\Software\Jataayu\MMS\SP - according to this thread: http://forum.xda-developers.com/showthread.php?t=795343
For example, here's the request for a Sprint RHOD400:
Code:
GET /?msgid=XXX&userId=YYY HTTP/1.1
Accept: */*, application/vnd.wap.mms-message, application/vnd.wap.sic
x-wap-profile: http://device.sprintpcs.com/HTC/PPCTP7380SP/2046514.rdf
Accept-Language: en-US
Host: mms.sprintpcs.com:80
Connection: Keep-Alive
User-Agent: T7380
Here's the request all of our phones are currently using to retrieve MMSs:
Code:
GET /?msgid=XXX&userId=YYY HTTP/1.1
Accept: */*, application/vnd.wap.mms-message, application/vnd.wap.sic
x-wap-profile: http://www.google.com/oha/rdf/ua-profile-kila.xml
Accept-Language: en-US
Host: mms.sprintpcs.com:80
Connection: Keep-Alive
User-Agent: Android-Mms/2.0
I've got this one in the registry:
http://www.htcmms.com.tw/gen/HTC_Touch_Pro2_T7373-1.0.xml
( Rhod100 / AUO )
Mine reads:
http://www.htcmms.com.tw/gen/HTC_Touch_Pro2_T7381-1.0.xml
Also worth noting it was in the registry key:
HKLM\Software\SIE\AutoVer\Opera\User Prefs
and HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Raa_1 said:
Mine reads:
http://www.htcmms.com.tw/gen/HTC_Touch_Pro2_T7381-1.0.xml
Also worth noting it was in the registry key:
HKLM\Software\SIE\AutoVer\Opera\User Prefs
and HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Click to expand...
Click to collapse
What model RHOD is that?
This was a setup.xml I made for people running custom roms on boost mobile. Everything should be the same for sprint except the "pcs-boost-mmsc" server address. Maybe helpful?
I changed it to .txt for posting. It seems to be the same that you have.
I know this is probably way to early to be asking this, but I have a Rhod400, where can I input this info (into what file or terminal emulator?) so that I can get MMS working on my phone so I can test it until the patch is ready for the public?
slickdaddy96 said:
I know this is probably way to early to be asking this, but I have a Rhod400, where can I input this info (into what file or terminal emulator?) so that I can get MMS working on my phone so I can test it until the patch is ready for the public?
Click to expand...
Click to collapse
Kinks are being worked out, to my knowledge nothing usable has surfaced yet. Sending works like a champ with the new RIL, and reception works - just gives a useless download link. Trying to make that link work, is what we're trying to do!
We checked to see what profile the Sprint RHOD400 was sending under Winmo and found this http://device.sprintpcs.com/HTC/PPCTP7380SP/2046514.rdf which seems to have the correct screen dimensions. (I can't seem to download it now though.)
Click to expand...
Click to collapse
I appreciate all the work that you've been doing, and especially for Sprint (even though you're on a GSM device ).
That site doesn't hit (I was hoping it was user-agent dependent, but it didn't work on my phone either).
Also, this thread (http://forum.ppcgeeks.com/htc-touch-pro-2/101286-native-htc-messaging-mms-fix-collaboration-31.html) says that there's no 1st P in the PPCT7380SP string, so it looks like http://device.sprintpcs.com/HTC/PPCT7380SP/%CDMA_ROM_VERSION%.rdf. Is anyone else able to download this .rdf file?
edit: and the 2046514 corresponds to the ROM version (found in Device Information/Software), which (for me at least) is 2.04.651.4
I don't get the download button on my RHOD500. Well it's there for a split second then downloads on it's own. Originally set the APN before all the ril changes so after setting the carrier ID it just worked with the new ril.
eww245 said:
I don't get the download button on my RHOD500. Well it's there for a split second then downloads on it's own. Originally set the APN before all the ril changes so after setting the carrier ID it just worked with the new ril.
Click to expand...
Click to collapse
Wait so Verizon CDMA MMS works?
rpierce99 said:
Wait so Verizon CDMA MMS works?
Click to expand...
Click to collapse
If I'm not mistaken, Verizon has been working ever since highlandsun's amazing work on the RIL originally.
manekineko said:
If I'm not mistaken, Verizon has been working ever since highlandsun's amazing work on the RIL originally.
Click to expand...
Click to collapse
If that's the case I really need a kind verizon user to provide me a download link for a MMS attachment. It's in mmssms.db, probably easiest for that person to hop on IRC so we can chat about it. Basically I need to figure out what is different about the Sprint payload than the Verizon payload to see why Sprint doesn't work.
rpierce99 said:
Wait so Verizon CDMA MMS works?
Click to expand...
Click to collapse
For me yes, no issues at all
rpierce99: you didn't get my note on IRC I guess. I'm pretty sure the attachment isn't the problem; pretty sure the problem is the original SMS PDU. You can grab that from the radio logcat when the MMS arrives. Decoding it is a bit more of a hassle; my code in the RIL only decodes the first 6 headers then passes the rest to Android to decode. Get me a sample PDU from your radio log...
I take that back. Now I see what the parser is doing...
Is this what you need?
The pdu table has some other info but connectbot isn't being nice
GSM_PDU=000002100402070295EA216506000601FC087600031257E0016703280010099199897B9B2B93B3632BA3997B6B6B99FB6B2B9B9B0B3B296B4B21E9820A19CA099989C9899A21C9818181821A19A1818181818981880448B401A9B981C1C1A9C9A189C17AA2CA8229EA82626A7004B233BB21D10233BB21D102A32B9BA34B7338000306110516223640
Click to expand...
Click to collapse
Sprint MMS receive is now working.
Yes, thanks. But I don't need it now, already got a copy.
We actually identified the problem several days ago, there's even a fix for it already in the Gingerbread source tree. But backporting the fix to Froyo was messy. I've now made a new fix that applies cleanly to Froyo and doesn't rely on the stupid compile-time settings that Google's fix uses. rpierce99 helped to verify that it works.
Basically the MMS server software that Sprint uses is mis-formatting what it sends out. The official specification for MMS/WAP says to do one thing, Sprint's MMS server does something completely different / wrong. The Android MMS parser would just die with an exception when trying to parse these things. The fix makes it ignore the improper header. There are other things that Sprint's server does that are also questionable. Even with this fix, if you want someone to send you an image or video in an MMS, make sure they don't type any text into the message body, otherwise it will still arrive messed up.
OK, the issues with displaying MMS image+text messages are resolved now too. And I've made the uaProfURL a settable property in case you want to override the compiled-in setting. set the ro.product.uaprofurl property to the URL you want to use.
Of course, you need to be running my patches to the Mms.apk for this to work. The source code is here https://gitorious.org/hycdroid/packages_apps_mms/commits/froyo
Full description of the Sprint bugs and the fixes: http://lists.xdandroid.com/pipermail/xdandroid-dev/2011-May/000288.html
So what was the initial problem here?
*scratches head*
MMS always physically worked fine for me. (your RIL)
Was it just an issue displaying the contents I never picked up on or...?
ryannathans said:
So what was the initial problem here?
*scratches head*
MMS always physically worked fine for me. (your RIL)
Was it just an issue displaying the contents I never picked up on or...?
Click to expand...
Click to collapse
Did you read his post? It's a Sprint-only issue. Always was (after his RIL).
Might want to look at this section of his post...
highlandsun said:
Full description of the Sprint bugs and the fixes: http://lists.xdandroid.com/pipermail...ay/000288.html
Click to expand...
Click to collapse
/facepalm...
Had a few late nights and unknowingly started reading from page 2.
Related
Edit:
Not working yet.
The phone app will crash when your record is stopped.
Created .3gp files are empty.
See page 2 for logs.
This is "our" Phone.apk modified, not the asian one.
Also tried with the asian libs, but they seem to be the same.
Btw: Who added [Hack] to the title ._. ..
Cool, thanks for your effort. I'll wait for someone to check it out
Fr4gg0r said:
I extracted the Phone.apk from Asian Firmware from samfirmware.com..
and I think it supports the sound recoring we know the asian firmwares have.
Click to expand...
Click to collapse
I too so thought.. but imho that's record videocall
thanks for the effort
I did the same thing with the korean phone.apk (deodex and replace original files). it didn't work either, just FCs.
I still believe the Korean phones have the hardware needed to record phone audio. Until someone gets this to work
According to this thread :
http://forum.xda-developers.com/showpost.php?p=9088397&postcount=32
call recording is allowed by hardware. If there's a developer to a find a solution for it, he'll be taking some of the bounty supercurio was looking for in his months-old thread about sound tweaks, that seems not supported now.
Call recording is a must feature for quite few of us.
I dont believe its disabled in hardware. (expensive solution)
I think its disabled in kernel code. (cheap one)
xan said:
I dont believe its disabled in hardware. (expensive solution)
I think its disabled in kernel code. (cheap one)
Click to expand...
Click to collapse
+1
cheap phones have this function is standard
and 500 € phone, could`t cause harware issue
half of samsungs code consists of appending strings for logging.
need this functions too
Don't want to promise anything, but I'm quite excited at the moment...
At the moment it crashes when saving the record.
Saved .3gp files empty.
continue m8,we do not hurry
maybe the interaction with native driver fails, not sure about it. Hoping it's not.
Posting your log might help.
Heck even dmesg might.
I am willing to donate for this feature if we could get it to work.
Daneshm90 said:
Posting your log might help.
Click to expand...
Click to collapse
yup.
http://pastebin.com/qWwVieX3
It obviously already crashes before hitting "stop":
11-30 14:28:35.801: WARN/audio_input(2821): numOfBytes (0) <= 0.
11-30 14:28:35.801: VERBOSE/AudioRecord(2821): stop
11-30 14:28:35.805: DEBUG/AudioHardwareALSA(2821): Entering AudioStreamInALSA::standby
11-30 14:28:35.813: VERBOSE/AudioRecord(2821): stop
11-30 14:28:39.933: ERROR/imdg81(3109): IsShutDownStarted()
11-30 14:28:39.933: INFO/KeyInputQueue(3109): Input event
11-30 14:28:39.941: DEBUG/InCallScreen(16029): simService - SMS Services
11-30 14:28:39.941: DEBUG/PhoneNumberUtils(16029): ril.ecclist0 112/0,112,911
11-30 14:28:39.941: VERBOSE/WindowManager(3109): Dsptch to Window{48f22dd8 com.android.phone/com.android.phone.InCallScreen paused=false}
Click to expand...
Click to collapse
Edit: Seems to be a native or even hardware problem, so I'm out at this point.
Btw: Samsung called setAudioEncoder and passed 3, whereas the docs only specify 0 and 1, tried both but did not help.
I've attached the apk.
push
asdf
Hi!
call recording on sgh-m100s works different. as you can see in the wm8994 initialization code (wm8994-aries.c).
see: hxxp://forum.xda-developers.com/showthread.php?t=842740
you won't be able to record through the means you specified.
i was able to change the wm8994 code in jpm firmware (latest available on opensource.samsung.com) to the sgh-m100s one to record but video call recording was broken. so that is not the way i prefer.
another interesting class is inside libaudio.so. it's called voicecallrecorder which seems to record through the svnet0 interface (ipc to radio).
it could be an option to write the necessary jni classes for that.
kr
David
Any news yet? It's a good idea if it can be made to work.
A lot of you guys have been asking about how to read/write/add values to the registry on Samsung devices, so I wrote a small app showing how to use the Samsung native DLLs to do so.
Please notice that you can use this app called RegistryViewer that works on all WP7 devices [read only for now, but useful to discover the registry] here http://forum.xda-developers.com/showpost.php?p=9716755&postcount=19
This app is limited too compared to the HTC ones, unfortunately a big part of the registry is restricted for read/write.
Nice! I have a samsung
There is no way to list the reg keys right?
tried to read some values, but all i get is gibberish...
how can i build the solution i get a missing reference error for "using Microsoft.Phone.InteropServices;"
eried said:
Nice! I have a samsung
There is no way to list the reg keys right?
Click to expand...
Click to collapse
Yes you can, here is a registry viewer to list the reg keys http://forum.xda-developers.com/showpost.php?p=9716755&postcount=19
tried to read some values, but all i get is gibberish...
how can i build the solution i get a missing reference error for "using Microsoft.Phone.InteropServices;"
Click to expand...
Click to collapse
This is natural when you try to access restricted areas in the registry or you try to read a DWORD while it is a String and vice versa!
For the InteropServices look at the requirements in my blog post here http://www.martani.net/2010/12/reading-imei-on-windows-phone-7-devices.html
Here is a new version of my app that support Samsung device.
XAP: http://bit.ly/eEZ0Uf
Perhaps we can combine this with the registry tweaks to create an on device app limit remover. I am sifting through your code and am gonna combine it if I can figure it out correctly.
This should work.
[HKEY_LOCAL_MACHINE\Software\Microsoft\DeviceReg\Install]
"MaxUnsignedApp"=dword:7fffffff ; Allow max number of unsignd apps
[HKEY_LOCAL_MACHINE\Software\Microsoft\DeviceReg]
"PortalUrlProd"=""
"PortalUrlInt"=""
Click to expand...
Click to collapse
I have finally gotten this working correctly. I will post my results however I will not post the product because I know it will inevidetly support piracy.
I have gotten it compiled, however it is not reading or writing to the registry properly.
FireSokar said:
I have gotten it compiled, however it is not reading or writing to the registry properly.
Click to expand...
Click to collapse
please take a look at the posts above http://forum.xda-developers.com/showpost.php?p=10565219&postcount=4
so what would the format i enter be to get the values i posted above?
FireSokar said:
so what would the format i enter be to get the values i posted above?
Click to expand...
Click to collapse
What values in the registry you are trying to access/modify ?
[HKEY_LOCAL_MACHINE\Software\Microsoft\DeviceReg\In stall]
"MaxUnsignedApp"=dword:7fffffff ; Allow max number of unsignd apps
[HKEY_LOCAL_MACHINE\Software\Microsoft\DeviceReg]
"PortalUrlProd"=""
"PortalUrlInt"=""
I want to set the values to that. This way my phone can install unlimited apps and will not check if it should be allowed to.. I am a developer however have an 3 app limit and chevron still gets reverted after x amount of days. According to what i've read this should prevent the revert.
FireSokar said:
[HKEY_LOCAL_MACHINE\Software\Microsoft\DeviceReg\In stall]
"MaxUnsignedApp"=dword:7fffffff ; Allow max number of unsignd apps
[HKEY_LOCAL_MACHINE\Software\Microsoft\DeviceReg]
"PortalUrlProd"=""
"PortalUrlInt"=""
I want to set the values to that. This way my phone can install unlimited apps and will not check if it should be allowed to.. I am a developer however have an 3 app limit and chevron still gets reverted after x amount of days. According to what i've read this should prevent the revert.
Click to expand...
Click to collapse
Ok, the COMRilClient.dll doesn't seem to change these values, but I just tried the functions in FCRouterProxy.dll and it worked perfectly.
Take a look at this thread, it shows how to use the FCRouterProxy.dll (which is the same method anyways) http://forum.xda-developers.com/showthread.php?t=914055
I'm not exactly smart on coding... you wouldn't wanna get this started off would you? After all this is something that most samsung owners would want.
FireSokar said:
I'm not exactly smart on coding... you wouldn't wanna get this started off would you? After all this is something that most samsung owners would want.
Click to expand...
Click to collapse
Lol I can't get it figured out either...i should have paid better attention when I was in school lol....glad someone asked though
FireSokar said:
I'm not exactly smart on coding... you wouldn't wanna get this started off would you? After all this is something that most samsung owners would want.
Click to expand...
Click to collapse
In the same thread actually, there is an app that uses that DLL to edit registry http://forum.xda-developers.com/showpost.php?p=10623201&postcount=19
I'll have a look at it in the morning. Don't feel like getting off the laptop. I'll post if I get anywhere. Thanks for the link.
OMG Getting update on Rogers Samsung Focus
Changed the carrier ID to 000-88 (before I had it debranded blank). Took a few tries but it worked. That VPN to Hungary is hella slow but the update downloaded and I'm now in the backup phase. Will post again with final results.
has anyone had issues getting the samsung registry to run on 7008
cgrizz said:
has anyone had issues getting the samsung registry to run on 7008
Click to expand...
Click to collapse
Wondering this myself. On my ATT Focus, once I got NoDo installed I started getting the following message when trying to run SamsungRegistry, "SamsungRegistry has been revoked by Microsoft. Please uninstall it."
Not a big deal, just wanted to switch my MobileOperator key back.
Does anyone know how to enter the Galaxy Nexus Service menu? Someone produced the code for the testing menu on rootzwiki, which is:
*#*#4636#*#*
If anyone knows, please share. If yo uknow any others, provide those also.
Thanks.
Nevermind.
hmmm. what is the difference b/t service and testing menu?
paOol said:
hmmm. what is the difference b/t service and testing menu?
Click to expand...
Click to collapse
I think in the service menu, you can change things like max volume, change whether to be on -a spectrum or -b spectrum (might be mistaken regarding actual terminology of this one), things like that. For what can be done in the testing menu, just input the code above into the dialer of your phone and it will take you there automatically.
Take a look at this
open1your1eyes0 said:
Take a look at this
Click to expand...
Click to collapse
Thank-you sir. I have tried some, they don't seem to work. I think for the galaxy nexus, might have to be *#*#1234#*#* format.
Did you find the codes?
I bought a new galaxy nexus from Bell canada, but i feel the phone has been previously used - do you know if there's a way to check (call counter hidden somewhere?)
sherifyousri said:
Did you find the codes?
I bought a new galaxy nexus from Bell canada, but i feel the phone has been previously used - do you know if there's a way to check (call counter hidden somewhere?)
Click to expand...
Click to collapse
I have not found them yet unfortunately. I'm still looking.
would these codes work to boost the stock volume as well for the speaker?
I think some bright spark will be able to pull out all the service codes for our phone and if we can improve the volume then that alone is definitely worth it.
flipm00de said:
Thank-you sir. I have tried some, they don't seem to work. I think for the galaxy nexus, might have to be *#*#1234#*#* format.
Click to expand...
Click to collapse
this is correct. for AOSP, the "secret" dialer codes are only recognized by the #*#* type of format. from personal experience, I know sprint preferrs to use ## <number> # and they are able to do this on HTC Sense based devices as HTC redesigns the phone.apk file, but on AOSP devices, the dialer recognizes only #*#* per google's standard.
daleski75 said:
I think some bright spark will be able to pull out all the service codes for our phone and if we can improve the volume then that alone is definitely worth it.
Click to expand...
Click to collapse
Service codes are handled by the Phone.apk file. This file should contain constants defined for each command in the header of one of the internal .java/.class files.
If somebody reversed the file, they should be able to find these. At least by grepping through the files starting with the code given in the topic, they should be defined near each other.
it should be the same in any android phone, therefore try *#*#INFO#*#*
Yes, all the codes on stock Android should be in *#*#[]#*#* format.
Going from this document here, anyone who has the whole source tree downloaded should simply grep all the Manifests for `android:host` codes, like so:
find –name AndroidManifest.xml | xargs grep secret_code
Click to expand...
Click to collapse
Which should show all apps that are set to receive the android_secret_code broadcast.
copkay said:
Yes, all the codes on stock Android should be in *#*#[]#*#* format.
Going from this document here, anyone who has the whole source tree downloaded should simply grep all the Manifests for `android:host` codes, like so:
Which should show all apps that are set to receive the android_secret_code broadcast.
Click to expand...
Click to collapse
I have the 4.0.3 GN source tree, and this flagged the following files:
/packages/apps/Email/AndroidManifest.xml
/packages/apps/Protips/AndroidManifest.xml
/packages/apps/Settings/AndroidManifest.xml
/packages/apps/VoiceDialer/AndroidManifest.xml (this one showed up twice?)
/packages/providers/CalendarProvider/AndroidManifest.xml
antinorm said:
I have the 4.0.3 GN source tree, and this flagged the following files:
Click to expand...
Click to collapse
/packages/apps/Email/AndroidManifest.xml
The Email app receives code *#*#36245#*#* and brings up a debug menu with some advanced logging options -- nothing major.
/packages/apps/Protips/AndroidManifest.xml
Heh. This seems to be a leftover from the ProTips widget in earlier Android versions. Apparently all it does is receive the code *#*#8477#*#* and log "ACHIEVEMENT UNLOCKED".
/packages/apps/Settings/AndroidManifest.xml
This is just the usual *#*#4636#*#* to bring up the testing menu.
/packages/apps/VoiceDialer/AndroidManifest.xml (this one showed up twice?)
This receives both *#*#8351#*#* and *#*#8350#*#* which enable and disable (respectively) logging for the Voice Dialer app.
/packages/providers/CalendarProvider/AndroidManifest.xml
This receives *#*#225#*#* and brings up a Calendar information page showing all of your linked calendars and the number of associated events.
copkay said:
/packages/apps/Email/AndroidManifest.xml
The Email app receives code *#*#36245#*#* and brings up a debug menu with some advanced logging options -- nothing major.
/packages/apps/Protips/AndroidManifest.xml
Heh. This seems to be a leftover from the ProTips widget in earlier Android versions. Apparently all it does is receive the code *#*#8477#*#* and log "ACHIEVEMENT UNLOCKED".
/packages/apps/Settings/AndroidManifest.xml
This is just the usual *#*#4636#*#* to bring up the testing menu.
/packages/apps/VoiceDialer/AndroidManifest.xml (this one showed up twice?)
This receives both *#*#8351#*#* and *#*#8350#*#* which enable and disable (respectively) logging for the Voice Dialer app.
/packages/providers/CalendarProvider/AndroidManifest.xml
This receives *#*#225#*#* and brings up a Calendar information page showing all of your linked calendars and the number of associated events.
Click to expand...
Click to collapse
Does this mean there are no other testing menus in aosp android?
Firerouge said:
Does this mean there are no other testing menus in aosp android?
Click to expand...
Click to collapse
I couldn't say for sure, but I would assume that is all that is available within the source. It's quite possible that the Verizon specific files (or GSM) could also have responses as well, as I would think there has to be a service menu somewhere. I wouldn't know how to check that, though.
for my phone i used *#*#340910#*#* and i was able to enter the service menu which allows you to change your number associated with the phone as well as the MSID number
sforbes said:
for my phone i used *#*#340910#*#* and i was able to enter the service menu which allows you to change your number associated with the phone as well as the MSID number
Click to expand...
Click to collapse
Is that your MSL number? Also what version of ICS are you on?
thats just testing menu
flipm00de said:
Does anyone know how to enter the Galaxy Nexus Service menu? Someone produced the code for the testing menu on rootzwiki, which is:
*#*#4636#*#*
If anyone knows, please share. If yo uknow any others, provide those also.
Thanks.
Click to expand...
Click to collapse
All samsung "touchwiz" based devices contain files in /system/csc that set variables dictating how certain parts of the phone act, what is pre-configured, etc. In the case of the AT&T variants, the contents of these files are often dictated by AT&T.
This post is an attempt to try and catalog some of the more useful values that can be changed (and the result of changing them.) Not all the variables seem to do much, and only by trial and error can we really know what will happen... So far, I've only played around with items I found interesting, but will continue to expand in this and if people reply to this post with actual experience changing other variables, I'll add the information to this thread.
PLEASE TEST THINGS AND CONTRIBUTE TO THIS THREAD.
Please don't reply with guesses as to what things may or may not do or with requests about specific variables. I'm hoping that eventually document every CSC variable available and "requests" won't make it go faster. If you want to know what a not-yet-documented variable does, try it out (and post your results.)
First, in order to play with the csc files, your phone should be rooted. This isn't optional, as you'll need the ability to overwrite files in the phone's /system partition (the firmware - sometimes improperly called the "ROM")
I'd strongly suggest making a nandroid (or backup via CWM Recovery or TWRP) before making changes. It's possible to mess things up badly enough that the phone won't boot properly.
It's possible to edit the CSC files directly on the phone, but I'd strongly suggest not doing that. Therefore, you should have a good text editor on your computer that's able to properly deal with unix/linux style line endings (notepad isn't good enough.) Notepad++ is a very good editor and freely available. Google "notepad++" For a linux box, plain "gedit" is fine.
In order to edit the files, you'll need to be able to mount the /system partition as read-write, and to move files from /system/csc to your PC or other location for editing. You have several options for this including root explorer, ES File Explorer, or just using adb. I prefer adb myself, but I'm a commandline type of person.
I won't be spending time describing how to get the CSC files off your phone to your PC, nor will I tell you how to overwrite the existing ones with your edits. This isn't because I'm elitist, an a**hole, or anything like that. (I _am_ some of those things, but that isn't my reason here.) My purpose for leaving out the information is to force inexperienced users to learn these things before editing system files. If I give you all the information, you become dependent on me for more information, and I don't want that (and trust me - neither do you.) As well, if I spoon-feed this, you won't have any idea what do to when something goes wrong.
Find this post helpful? If so, please make it MORE helpful by testing one of the other CSC features and replying to this thread telling us what result you had.
First up... feature.xml...
feature.xml
The CSC "feature.xml" file is in XML format. This means that everything "variable" has a start and end tag. Both contain the name of the variable,
but the end tag has a slash in it. The value of the variable is between the start and end tags. For example: <VariableName>value</VariableName>. So, if this message describes changing "CscFeature_SamsungSucks" from "false" to "true", you'd search in the xml file for "CscFeature_SamsungSucks" and might find this:
Code:
<CscFeature_SamsungSucks>false</CscFeature_SamsungSucks>
You'd change the "false" to "true" (no quotes!) and be done. In some cases, the entire line can be deleted (as noted.)
This file has a LOT of variables in it and this post will concentrate on that particular file. Almost all tinkering will occur in this file, and it's also the easiest to edit (as there aren't any complex xml structures.)
CscFeature_Common_DisableMenu4GalSearch: setting this to false didn't seem to bring up any new global address list options on my device (I'm connected to an exchange server) in the email app or contacts/dialer app.
CscFeature_Settings_DisableMenuFindMyMobile: (see next line)
CscFeature_Settings_FindMyMobile: setting "DisableMenuFindMyMobile" to false and this entry to true will enable the "find my mobile" entries in the Settings->Security menu. I'm unable to get these items to function properly, however. (They worked with my international note2, so it might be that there are other support files missing on the AT&T variant I'm using now.)
CscFeature_FMRadio*: editing these seem to have no effect (I don't think any of the LTE capable NoteII phones are capable of FM Radio.)
CscFeature_NFC_StatusBarIconType: If you delete this line, it will get rid of the "N" statusbar icon when NFC is turned on.
CscFeature_Message*: Be warned that editing some of these may break SMS/MMS messaging on your device. There appears to be many carrier specific settings in here that have dependencies on the specific carrier. For example, I don't think that AT&T's network supports proper SMS Delivery reports, so even setting the corresponding variable to "true" would be futile.
CscFeature_Email_UseFixedBgColorAsWhite: if changed from true to false, the email app will appear inverted (with a black background and white/gray text.)
CscFeature_Sip_DisableAutoCorrection: doesn't seem to have any impact on the samsung keyboard
CscFeature_Sip_DisableSpaceSuggestion: doesn't seem to have any impact on the samsung keyboard
CscFeature_Sip_DefaultOff4AutoSubstitution: doesn't seem to have any impact on the samsung keyboard
CscFeature_Launcher_*: all these seem to be for setting defaults for the touchwiz launcher, so no sense in changing them.
language.xml
(coming soon)
This appears to control what languages are available to the system. Canadian users might want to play with this file to see if adding en_US to the "Display" and/or "SupportList" tags will allow them to choose US English (and perhaps get google's TTS to talk to them in google now.)
others.xml
(coming soon)
This appears to set some carrier defaults, including the APN information and the carrier built-in dialer contacts (such as "AT&T Customer Care")
customer.xml
(coming soon)
I've only glanced at this file so far, but it appears to be carrier specified network information, some carrier specified settings defaults, and even some carrier specified browser bookmarks. There also appears to be some APN related information in here, but I'm not certain what it's in here for.
Nice how to guide man its very informative, im going to play around with this later when I get home...do you mind if I add it to my reference thread so it doesnt get lost when this thread begins to get bigger?
Sent from my SAMSUNG-SGH-I317 using xda premium
mjwhirly said:
Nice how to guide man its very informative, im going to play around with this later when I get home...do you mind if I add it to my reference thread so it doesnt get lost when this thread begins to get bigger?
Click to expand...
Click to collapse
This isn't mine to control. This "belongs" to the community, and I hope that the community contributes to it in a meaningful way. Please feel free to reference it elsewhere - perhaps with (contributions welcome) noted. My ONLY demand is that no one profits from effort I've given freely.
My secret motive is to nudge people out of the "MyRom" mentality and more into the "lets all work together to learn, develop and share" mentality often seen with kernels and open source projects.
Take care
Gary
Gary, have you seen the CSC feature web, set user agent?
Possibly an option to set "Desktop" as default user agent in browser, I for one despise mobile sites.
antiochasylum said:
Possibly an option to set "Desktop" as default user agent in browser, I for one despise mobile sites.
Click to expand...
Click to collapse
Not sure if this is what you are looking for or not: Start the browser, tap the "menu" button. Turn on the "desktop view" checkbox.
There are some UAgent related entries in the feature.xml file. Please play with them and post your results:
CscFeature_Web_SetUserAgent // currently empty
CscFeature_Web_SetUAProfile
CscFeature_Web_Bool_EnableUAProfile // currently false
Thanks so much for this. Sorry for the noob question but I haven't done much with xml files. What is the character to just comment out a line?
Sent from my SAMSUNG-SGH-I317 using xda premium
Romee74 said:
Thanks so much for this. Sorry for the noob question but I haven't done much with xml files. What is the character to just comment out a line?
Click to expand...
Click to collapse
In XML, in order to comment out a line (instead of completely deleting it), it has to be surrounded by special tags:
On the left of the commented out area, you need "<!--" (no quotes) and on the right, you need "-->"
See the below code block for an example.
Code:
<Is_This_Commented> false </Is_This_Commented>
<!-- <Is_This_Commented> true </Is_This_Commented> -->
Take care
Gary
On my Galaxy S III, the file /system/etc/feature_default.xml appears to contain default settings, and feature.xml can override those defaults. I'm not sure how comprehensive the list of settings in feature_default.xml are, but I would imagine that many of the available ones are covered there.
Thundersnuz said:
On my Galaxy S III, the file /system/etc/feature_default.xml appears to contain default settings, and feature.xml can override those defaults. I'm not sure how comprehensive the list of settings in feature_default.xml are, but I would imagine that many of the available ones are covered there.
Click to expand...
Click to collapse
That's interesting. Which variant of sgs3 do you have? Would you be willing to attach the two files to a reply in this thread (or point me to someplace I can find the firmware your using to investigate?)
Thank you
Gary
It would be amazing if we could somehow enable auto-replace on the samsung keyboard. I ended up switching to swiftkey because of how many mistakes I've been making with the stock keyboard, but now I don't get to take advantage of swipe, stylus writing, or the one-handed features...
UCLAKoolman said:
It would be amazing if we could somehow enable auto-replace on the samsung keyboard. I ended up switching to swiftkey because of how many mistakes I've been making with the stock keyboard, but now I don't get to take advantage of swipe, stylus writing, or the one-handed features...
Click to expand...
Click to collapse
I completely agree, but I wasn't able to get it working when tinkering with the CSC values (as noted in the corresponding post.) Perhaps there's some other combination of values that might get it going.
Please give it a try and let us know how it works out.
Take care
Gary
Removing the NFC icon from the staus bar is awesome but has anyone tried switching this line;
<CscFeature_NFC_DefaultCardModeConfig>DISABLE</CscFeature_NFC_DefaultCardModeConfig>
To enable? Im not sure why att would "block" this feature, especially with google wallet getting more support for non-nfc devices.
Sent from my SAMSUNG-SGH-I317 using xda app-developers app
MonsterBandit said:
...but has anyone tried switching this line...
Click to expand...
Click to collapse
I'm not sure why people keep asking if other people have done this, that, or the other thing. TRY IT and let us know what happens.
garyd9 said:
I'm not sure why people keep asking if other people have done this, that, or the other thing. TRY IT and let us know what happens.
Click to expand...
Click to collapse
fair enough...thanks btw...im slowly growing the courage to make changes and explore deeper into these devices...changed the value to "ENABLE" (minus the quotes) and seemingly nothing changed. Google Wallet app still says Not supported. That might be on Google Wallet's end tho. I guess the better question might be has anyone with a Note 2 gotten Google Wallet to work?
When I first got my GN2 running stock, carrier billing worked. I then flashed Jedi 3.3, and it disappeared. I remember that on my HOXL, someone mentioned a fix on the build.prop. Is there anything I can do on the GN2's build.prop to get my carrier billing back?
I'm on AT&T by the way.
silentecho13 said:
When I first got my GN2 running stock, carrier billing worked. I then flashed Jedi 3.3, and it disappeared. I remember that on my HOXL, someone mentioned a fix on the build.prop. Is there anything I can do on the GN2's build.prop to get my carrier billing back?
I'm on AT&T by the way.
Click to expand...
Click to collapse
this is pretty much a how to thread ..
you seem to be having issues with a rom , you should post in there ..
here is how I fixed it in previous roms ..
compare your build.prop form your att rom to the one you are using ..
and add / replace with the att stuff .
Hey everyone, I've been a lurker for quite sometime, so I'm finally posting something. This is isn't in any of the dev sections because this is my first post.
When I first got my GNex (toroplus) was very annoyed with the capabilities of the gsd4t gps chip. Static navigation makes it really hard to use the chip for telemetry projects and the 1Hz position update doesn't give me enough sample data for the things I'm working on. I decided to do some investigation to see if it was limited to the hardware itself or the driver.
I scoured the forum, and tried a bunch of apps, found datasheets and the what not and nothing really improved my situation. I decided to take matters into my own hands and poke around lib_gsd4t.so (stock).
With verbose logging turned on, I noticed an interesting looking entry.
Code:
Hello EE downloder !!!.
{sgee.samsung.csr.com, instantfix.csr.com}, port : 80
Y3Nyc2xsOmROTkw5NnN1, /diff/packedDifference.f2p3enc.ee, format 2
EE_DOWNLOAD: EE_Download_Init done.
EE_Download_Init - returned 0 !!!.
EE_DOWNLOAD: EE_Download_Start successful.
EE_DOWNLOAD:EE_Download_Scheduler started; server_address=(sgee.samsung.csr.com,instantfix.csr.com), port=80, file=/diff/packedDifference.f2p3enc.ee
...
The string Y3Nyc2xsOmROTkw5NnN1 really stuck out to me. The character set fit in the base64 space which for some reason or another, developers seem to think base64 encoded text is somehow a good way to make things more secure. I have seen this numerous times. To me, it just makes it more noticeable that someone is trying to hide something.
So I went ahead and decoded the string and got
Code:
csrsll:dNNL96su
Just to be sure it wasn't some string unique to my phone, I checked where it most likely came from, which is the lib_gsd4t.so and it is indeed there (@offset 0x1b7429).
What's so special about that string?
I'm almost 100% sure that it is the username : password combo for downloading the SGEE data. I'm guessing it is using a post request (anyone wanting to use wireshark to packet sniff this can confirm) because there are extra parameters being used to retrieve the data.
Have I tried to access the file with those credentials?
No.
Why am I posting this?
I thought it was funny that the username and password are hardcoded in the driver and written to the logs. What's the point of having it password protected if you're just going to tell everyone the account credentials?
My actual job involves application security and I used this as an example for the other programmers on my team as to why we shouldn't ever mistake encoding for encryption and if you try to hide something, chances are you are actually drawing attention to it.
Oh also, is anyone interested in knowing more about the library. I have figured out quite a bit
How odd!
If you've figured out the gps drivers maybe you know how to make an updated file to disable static navigation? I op'd this thread http://forum.xda-developers.com/showthread.php?p=38684789 based on the ics version, but would love an android 422 based mod.
I posted my modded drivers. It may also require new configs.
afrotronics said:
I posted my modded drivers. It may also require new configs.
Click to expand...
Click to collapse
Did you ever figure out the proper request? (curl or wget?)