Hi,
After digging some deeper into the rom files I found that we have SRS WOW HD libraries on our Samsungs. Check if present in /system/lib/libsoundalive.so
When looking into that file I saw a /data/srstunning.txt file and after decompiling it I found the structure of that text file. I also checked my i5500 files and it was also there. Must be on Samsung Android phones. I think it is used in music player?
In libsoundalive.so I see export:
CSamsungSRSWowHD::srs_wowhd_on(bool, unsigned short, bool, unsigned int)
From logcat:
91.08-01 13:55:56.132 D/AudioSRSWow(2390): CSamsungSRSWowHD::srs_wowhd_on wowHDOnOff(0), WowHDMode(0), bHS(0), uSample(0)
Possible struct of /data/srstunning.txt
Code:
srs_wowHD_EAR_tbSpeakerSize,
srs_wowHD_EAR_SpeakerSize,
srs_wowHD_EAR_srsMode,
srs_wowHD_EAR_wowControl,
srs_wowHD_EAR_definitionControl,
srs_wowHD_EAR_trubassControl,
srs_wowHD_EAR_focus,
srs_wowHD_EAR_inputGain,
srs_wowHD_EAR_outputGain,
srs_wowHD_SPK_tbSpeakerSize,
srs_wowHD_SPK_SpeakerSize,
srs_wowHD_SPK_srsMode,
srs_wowHD_SPK_wowControl,
srs_wowHD_SPK_definitionControl,
srs_wowHD_SPK_trubassControl,
srs_wowHD_SPK_focus,
srs_wowHD_SPK_inputGain,
srs_wowHD_SPK_outputGain,
srs_wowHD_EAR_Normal_tbSpeakerSize,
srs_wowHD_EAR_Normal_SpeakerSize,
srs_wowHD_EAR_Normal_srsMode,
srs_wowHD_EAR_Normal_wowControl,
srs_wowHD_EAR_Normal_definitionControl,
srs_wowHD_EAR_Normal_trubassControl,
srs_wowHD_EAR_Normal_focus,
srs_wowHD_EAR_Normal_inputGain,
srs_wowHD_EAR_Normal_outputGain
Is there already an app that can manage this on android?
Cheers
This is a very interesting find .
Herpderp Adreno + Tegra.
It sure is. I have made some bogus /data/srstunning.txt file with some values and comma's and guess what? After reboot in music player I couldn't hear any difference anymore with headphone on switching 5.1 on/off, or any difference with any of the equallizer settings.
So SRS WOW HD was effective (with my bogus settings)
After that I renamed srstunning.txt and after reboot everything was working as before in music player. Now we have to find out all the parameters that go into srstunning.txt
(not srstuning.txt for some reason only Samsung dev know)
It is getting late now. 2bcontinued...
Cheers
u could look into stock chinese zckpa file, it got louder volume compared to other stock rom. maybe chinese dev uses this srs thingy to make it sound better
Srs probably enables the 5.1 and that's it.
Oh my...maybe this file is causes the differently about bass quality both stock and CM!?
*which I think stock is much better
Sent from my GT-S5830 using Tapatalk
I have pulled Music.apk apart end Srs is indeed used for 5.1 audio. See attachement (music_play_control_srs_on.png)
But now how to control it.
Did none of you realise that just enables 5.1 channel? its always been like that
Sent from my GT-S5830 using xda premium
Decompiled some more.
Switching "5.1ch" on generates this in logcat:
Code:
E/SAMSUNGSRS( 95): CSamsungSRSCshp::srs_cshp_on csHpOnOff(0), CshpMode(0), uSample(0)
E/SAMSUNGSRS( 95): srs_cshp_init : SRS Effect Changed - NORMAL(Full version)
E/SAMSUNGSRS( 95): CSamsungSRSCshp::srs_cshp_on csHpOnOff(1), CshpMode(0), uSample(44100)
E/SAMSUNGSRS( 95): srs_cshp_init : channel alloc size(300) phonestate alloc size(1088)
E/SAMSUNGSRS( 95): ------------ [ srs_cshp_params ] --------------------- iMode[0]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_input_gain [32767]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_output_gain [32767]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_trubass_spk_size [0]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_decoder_opt_mode [4]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_clarity_process_enable [0]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_clarity_control [4153]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_definition_process_enable [0]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_definition_control [9557]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_trubass_control [8192]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_CSDecoder_Opt_Enable [1]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_Limiter_Control [24576]
E/SAMSUNGSRS( 95): srs_cshp_params : srs_cshp_Limiter_Enablel [1]
E/SAMSUNGSRS( 95): ------------ [ srs_cshp_params ] ---------------------
/data/srstunning.txt is very early but looks like this:
Code:
1,2,2,25088,1536,1536,8704,13568,10240,16384,7,1,2,21760,1536,5376,20480,12288,16384,1,1,1,12288,768,21760,13056,10240,16384
Just one question remains, can the srs be influenced by the srstunning.txt file.
Cheers
Try messing around with the different values
Herpderp Adreno + Tegra.
Musicplayer only uses a smal portion of the lib. Pitty. It doesn't read from the /data/srstunning.txt file.
The functions are the in the lib but Musicplayer reads a hardcoded table only. This table
you can find in the libsoundalive.so lib file:
Code:
FF 7F 00 00 srs_cshp_input_gain (32767)
FF 7F 00 00
FF 7F 00 00 srs_cshp_output_gain (32767)
FF 7F 00 00
04 00 00 00 srs_cshp_decoder_opt_mode (4)
04 00 00 00
39 10 00 00 srs_cshp_clarity_control (4153)
03 72 01 00
00 00 00 00 srs_cshp_definition_process_enable (0)
01 00 00 00
55 25 00 00 srs_cshp_definition_control (9557)
00 10 00 00
00 20 00 00 srs_cshp_trubass_control (8192)
00 25 00 00
01 00 00 00 srs_cshp_CSDecoder_Opt_Enable (1)
00 00 00 00
00 60 00 00 srs_cshp_Limiter_Control (24576)
00 60 00 00
01 00 00 00 srs_cshp_Limiter_Enablel
01 00 00 00
srs_cshp_trubass_spk_size ?
srs_cshp_clarity_process_enable ?
logcat:
------------ [ srs_cshp_params ] ---------------------
CSamsungSRSCshp::srs_cshp_on csHpOnOff(0), CshpMode(0), uSample(0)
srs_cshp_init : SRS Effect Changed - NORMAL(Full version)
CSamsungSRSCshp::srs_cshp_on csHpOnOff(1), CshpMode(0), uSample(44100)
srs_cshp_init : channel alloc size(300) phonestate alloc size(1088)
------------ [ srs_cshp_params ] --------------------- iMode[0]
srs_cshp_params : srs_cshp_input_gain [32767]
srs_cshp_params : srs_cshp_output_gain [32767]
srs_cshp_params : srs_cshp_trubass_spk_size [0]
srs_cshp_params : srs_cshp_decoder_opt_mode [4]
srs_cshp_params : srs_cshp_clarity_process_enable [0]
srs_cshp_params : srs_cshp_clarity_control [4153]
srs_cshp_params : srs_cshp_definition_process_enable [1]
srs_cshp_params : srs_cshp_definition_control [9557]
srs_cshp_params : srs_cshp_trubass_control [8192]
srs_cshp_params : srs_cshp_CSDecoder_Opt_Enable [1]
srs_cshp_params : srs_cshp_Limiter_Control [24576]
srs_cshp_params : srs_cshp_Limiter_Enablel [1]
You can mess around in a hex editor. Search for FF 7F 00 00 FF 7F 00 00 FF 7F 00 00 FF 7F 00 00
Then copy it back to the lib. Reboot and use on
the pc adb logcat|find /i "srs" and you will see them if you switch 5.1ch on/off.
But I think it is a dead end.
End of story.
Cheers
SRS WOW HD lib exports for programmers....
If you like you can make your program:
Code:
android::CSoundAliveManager::CSoundAliveManager(void) 00014754
android::fp_write_in 0001B840
android::fp_write_out 0001B844
android::CSoundAliveManager::CSoundAliveManager(void) 00014788
android::CSoundAliveManager::Init(void) 000147BC
android::CSoundAliveManager::IsActive(void) 000147E0
android::CSoundAliveManager::OutputPath(short) 00014814
android::CSoundAliveManager::SetData(void const*,uint,uint,short,short,short) 00014838
android::CSoundAliveManager::GetConfigInfo(void) 0001487C
android::SoundAliveContainer::CheckSampleRate(uint) 00014880
android::CSoundAliveManager::Process(void) 000148E8
android::CSoundAliveManager::Close(void) 00014960
android::CSoundAliveManager::SetEffect(int,int,short *,int,short *) 000149C4
android::SA_EQ8::SA_EQ8(int) 00014E64
android::SA_EXT::SA_EXT(int) 00014CD8
android::SA_BE::SA_BE(int) 00014C8C
android::SA_3DSound::SA_3DSound(int) 00014C3C
android::SA_GLM::SA_GLM(int) 00014D2C
android::SA_SRS_CS::SA_SRS_CS(int) 0001516C
android::SA_MC::SA_MC(int) 00014D88
android::SA_REVERB::SA_REVERB(int) 00014DD8
android::SA_SRS_WOWHD::SA_SRS_WOWHD(int) 00015240
android::CSoundAliveManager::~CSoundAliveManager() 00014BAC
android::CSoundAliveManager::~CSoundAliveManager() 00014BE4
android::SA_3DSound::SA_3DSound(int) 00014C20
`vtable for'android::SA_3DSound 0001B138
android::SA_3DSound::~SA_3DSound() 00014C58
android::SA_3DSound::~SA_3DSound() 00014C5C
android::SA_3DSound::Init(void) 00014C60
android::SA_3DSound::Close(void) 00014C68
android::SA_BE::SA_BE(int) 00014C70
`vtable for'android::SA_BE 0001B118
android::SA_BE::~SA_BE() 00014CA8
android::SA_BE::~SA_BE() 00014CAC
android::SA_BE::Init(void) 00014CB0
android::SA_BE::Close(void) 00014CB4
android::SA_EXT::SA_EXT(int) 00014CBC
`vtable for'android::SA_EXT 0001B0F8
android::SA_EXT::~SA_EXT() 00014CF4
android::SA_EXT::~SA_EXT() 00014CF8
android::SA_EXT::Init(void) 00014CFC
android::SA_EXT::Close(void) 00014D04
android::SA_GLM::SA_GLM(int) 00014D0C
`vtable for'android::SA_GLM 0001B0B8
android::SA_GLM::~SA_GLM() 00014D4C
android::SA_GLM::~SA_GLM() 00014D50
android::SA_GLM::Init(void) 00014D54
android::SA_GLM::Close(void) 00014D60
android::SA_MC::SA_MC(int) 00014D6C
`vtable for'android::SA_MC 0001B098
android::SA_MC::~SA_MC() 00014DA4
android::SA_MC::~SA_MC() 00014DA8
android::SA_MC::Init(void) 00014DAC
android::SA_MC::Close(void) 00014DB4
android::SA_REVERB::SA_REVERB(int) 00014DBC
`vtable for'android::SA_REVERB 0001B078
android::SA_REVERB::~SA_REVERB() 00014DF4
android::SA_REVERB::~SA_REVERB() 00014DF8
android::SA_REVERB::Init(void) 00014DFC
android::SA_REVERB::Close(void) 00014E04
android::SA_SRS_WOWHD::~SA_SRS_WOWHD() 00014E0C
android::SA_SRS_WOWHD::~SA_SRS_WOWHD() 00014E10
android::SA_SRS_WOWHD::Init(void) 00014E14
android::SA_SRS_WOWHD::Close(void) 00014E24
android::SA_SRS_CS::Init(void) 00014E34
android::SA_SRS_CS::Close(void) 00014E3C
android::SA_EQ8::SA_EQ8(int) 00014E44
`vtable for'android::SA_EQ8 0001B0D8
android::SA_EQ8::~SA_EQ8() 00014E84
android::SA_EQ8::~SA_EQ8() 00014E88
android::SA_EQ8::Init(void) 00014E8C
android::SA_EQ8::Close(void) 00014E98
android::SA_EQ8::Process(SA_ConfigInfo *) 00014EA8
android::SA_EQ8::~SA_EQ8() 00014FF8
android::SA_SRS_WOWHD::~SA_SRS_WOWHD() 00015018
android::SA_REVERB::~SA_REVERB() 0001502C
android::SA_MC::~SA_MC() 00015040
android::SA_GLM::~SA_GLM() 00015054
android::SA_EXT::~SA_EXT() 00015068
android::SA_BE::~SA_BE() 0001507C
android::SA_3DSound::~SA_3DSound() 00015090
android::SA_SRS_CS::Process(SA_ConfigInfo *) 000150A4
android::CSamsungSRSCshp::srs_cshp_on(bool,ushort,uint) 00015D90
android::CSamsungSRSCshp::srs_cshp_set_effect_type(int) 000158D8
android::CSamsungSRSCshp::srs_cshp_pp_cb(int,short *) 00015954
android::SA_SRS_CS::~SA_SRS_CS() 00015110
android::CSamsungSRSCshp::~CSamsungSRSCshp() 00015764
`vtable for'android::SA_SRS_CS 0001B038
android::SA_SRS_CS::~SA_SRS_CS() 00015134
android::SA_SRS_CS::~SA_SRS_CS() 00015148
android::CSamsungSRSCshp::CSamsungSRSCshp(void) 0001575C
android::SA_SRS_CS::SA_SRS_CS(int) 00015194
android::SA_SRS_WOWHD::Process(SA_ConfigInfo *) 000151BC
android::CSamsungSRSWowHD::checkSamplingRate(uint) 00015F94
android::CSamsungSRSWowHD::srs_wowhd_on(bool,ushort,bool,uint) 00016108
android::CSamsungSRSWowHD::srs_wowhd_mode_change(int) 00015FF0
android::CSamsungSRSWowHD::srs_wowhd_pp_cb(uint,short *,short) 00016324
android::CSamsungSRSWowHD::CSamsungSRSWowHD(void) 00015F90
`vtable for'android::SA_SRS_WOWHD 0001B058
android::SA_SRS_WOWHD::SA_SRS_WOWHD(int) 00015270
android::SA_REVERB::Process(SA_ConfigInfo *) 000152A0
android::SA_MC::Process(SA_ConfigInfo *) 00015358
android::SA_GLM::Process(SA_ConfigInfo *) 0001540C
android::SA_EXT::Process(SA_ConfigInfo *) 000154FC
android::SA_BE::Process(SA_ConfigInfo *) 000155C8
android::SA_3DSound::Process(SA_ConfigInfo *) 0001568C
android::CSamsungSRSCshp::CSamsungSRSCshp(void) 00015758
android::CSamsungSRSCshp::~CSamsungSRSCshp() 00015760
android::CSamsungSRSCshp::checkSamplingRate(uint) 00015768
android::CSamsungSRSCshp::srs_cshp_proc_end(void) 0001579C
android::init_cshp 0001C4FC
android::CSamsungSRSCshp::__srs_cshp_display_params(int) 000157B8
android::CSamsungSRSCshp::srs_cshp_get_proc(void) 00015918
GetSRSCSHPProcessEnable 000088D0
android::CSHeadphoneChannel 0001BF6C
android::CSamsungSRSCshp::srs_cshp_set_proc(bool) 00015938
SetSRSCSHPProcessEnable 000088C4
SRSCSHeadphone 00008CD8
android::mTemp 0001C6B0
android::CSamsungSRSCshp::srs_cshp_init(uint) 00015BFC
GetSRSCSHeadphoneSize 000088B4
GetSRSCSHeadphoneStateSize 000088BC
SRSCSHeadphoneChannelInit 00008C68
SetSRSCSHeadphoneControlDefault 00008C00
SRSCSHeadphoneInit24k 00008BD0
SRSCSHeadphoneInit32k 00008BA0
SRSCSHeadphoneInit48k 00008B40
SRSCSHeadphoneInit44k 00008B70
SetSRSCSHPCSDecoderOptEnable 00008B28
SetSRSCSHPInputMode 00008914
SetSRSCSHP360LimiterProcessEnable 000089E8
SetSRSCSHP360LimiterControl 000089C8
android::stmp 0001C4E0
android::tempState 0001C0A0
android::tempChannel 0001BF74
android::CSHeadphoneState 0001BF70
android::CSHeadphoneDelay 0001C500
SetSRSCSHPInputGain 000088D8
SetSRSCSHPBypassGain 00008900
SetSRSCSHPOutputGain 000088EC
SetSRSCSHP360TruBassSpeakerSize 00008A98
SetSRSCSHPCSDecoderOptMode 00008B08
SetSRSCSHP360DialogClarityProcessEnable 00008A28
SetSRSCSHP360DialogClarityControl 00008A08
SetSRSCSHP360DefinitionProcessEnable 00008A68
SetSRSCSHP360DefinitionControl 00008A48
SetSRSCSHP360TruBassControl 00008AB8
android::setSRSCSHPTunningValue(int *) 00015E88
srsFile 0001B7E0
android::CSamsungSRSWowHD::CSamsungSRSWowHD(void) 00015F8C
srs_wowHD_EAR_tbSpeakerSize 0001B448
srs_wowHD_EAR_SpeakerSize 0001DEB0
srs_wowHD_EAR_srsMode 0001DEB4
srs_wowHD_EAR_wowControl 0001B44C
srs_wowHD_EAR_definitionControl 0001B450
srs_wowHD_EAR_trubassControl 0001B454
srs_wowHD_EAR_focus 0001B458
srs_wowHD_EAR_inputGain 0001B45C
srs_wowHD_EAR_outputGain 0001B460
srs_wowHD_SPK_tbSpeakerSize 0001B464
srs_wowHD_SPK_SpeakerSize 0001DEB8
srs_wowHD_SPK_srsMode 0001B468
srs_wowHD_SPK_wowControl 0001B46C
srs_wowHD_SPK_definitionControl 0001DEBC
srs_wowHD_SPK_trubassControl 0001B470
srs_wowHD_SPK_focus 0001B474
srs_wowHD_SPK_inputGain 0001B478
srs_wowHD_SPK_outputGain 0001B47C
WOWHD_Init8k 00017DDC
WOWHD_Init11k 0001662C
WOWHD_Init16k 0001698C
WOWHD_Init22k 00016CEC
WOWHD_Init24k 0001704C
WOWHD_Init32k 000173AC
WOWHD_Init48k 00017A6C
WOWHD_Init44k 0001770C
SetWowHDProcessEnable 00018834
SetWowHDFrameSize 0001883C
android::setSRSWOWTunningValue(int *,int *) 000163F4
srsWFile 0001B7E4
srs_wowHD_EAR_Normal_tbSpeakerSize 0001B480
srs_wowHD_EAR_Normal_SpeakerSize 0001B484
srs_wowHD_EAR_Normal_srsMode 0001DEC0
srs_wowHD_EAR_Normal_wowControl 0001B488
srs_wowHD_EAR_Normal_definitionControl 0001B48C
srs_wowHD_EAR_Normal_trubassControl 0001B490
srs_wowHD_EAR_Normal_focus 0001B494
srs_wowHD_EAR_Normal_inputGain 0001B498
srs_wowHD_EAR_Normal_outputGain 0001B49C
kConstPhase1675HzFilter 00018C98
kConstPhase18kHzFilter 00018CA0
kConstPhase4850HzFilter 00018CA8
WowHDInitControl 000189DC
SetFilterCoefPtrs 0001813C
SetNormalizeGain 00018380
SetWowHDHighBitRate 00018844
SetWowHDFOCUS 0001884C
SetWowHDTBSpeakerSize 00018854
SetWowHDSRSSpeakerSize 0001885C
SetWowHDSRS3dMode 00018864
SetWowHDFocusMode 0001886C
SetWowHDDefinitionControl 00018874
SetWowHDCenterControl 0001887C
LinkTBIntegratorLimit2Ctrl 00018884
SetWowHDTruBassControl 000188FC
SetWowHDSpaceControl 00018904
SetWowHDLimiterControl 0001890C
SetWowHDLimiterProcessEnable 00018914
SetWowHDInputGain 0001891C
SetWowHDProcessOutputGain 00018924
WOWHDSetPreset 0001892C
gWowHDPresetPtr 0001B7E8
WOWHDOverridePreset 00018998
GetProcessEnable 00018C18
GetWowHDFrameSize 00018C20
GetHighBitRate 00018C28
GetFOCUSControl 00018C30
GetTBSizeSelector 00018C38
GetSRSSizeSelector 00018C40
GetSRS3dMode 00018C48
GetFocusMode 00018C50
GetTruBassControl 00018C58
GetCenterControl 00018C60
GetSpaceControl 00018C68
GetDefinitionControl 00018C70
GetLimiterControl 00018C78
GetLimiterProcessEnable 00018C80
GetProcessOutputGain 00018C88
GetInputGain 00018C90
GetSRSCSHPInputGain 000088E4
GetSRSCSHPOutputGain 000088F8
GetSRSCSHPBypassGain 0000890C
GetSRSCSHPInputMode 00008920
SRSCSHeadphoneVersion 00008928
SRSCSHeadphoneCopyControls 00008940
SRSHP360CopyControls 0000EA78
SRSCSDecoderOptCopyControls 0000C384
GetSRSCSHP360LimiterControl 000089C0
GetSRSHP360LimiterControl 0000E8BC
SetSRSHP360LimiterControl 0000E8C4
GetSRSCSHP360LimiterProcessEnable 000089E0
GetSRSHP360LimiterProcessEnable 0000E8DC
SetSRSHP360LimiterProcessEnable 0000E8E4
GetSRSCSHP360DialogClarityControl 00008A00
GetSRSHP360FocusControl 0000E8FC
SetSRSHP360FocusControl 0000E904
....
See attachement
Cheers
Related
This is based on another thread at the Blue Angel Upgrading Section.
Supposedly, Increasing the Paging Pool value, allows for smoother speeds at wm5... at the cost of RAM in the Programs area.
Just thought I'd share it here...
Here’s how I did it…
1. Extract NK.nba
> xda2nbftool -x NK.nbf NK.nba 0×20040304
2. Open with a Hex Editor
3. Go To Address 0×00404650
It should look like
64 00 00 00 D8 FF 21 80 01 00 00 00 00 00 50 00
yung pagin pool size is
00 00 50 00 or reversed 00 50 00 00 w/c is 5,242,880 bytes
I changed it to
00 00 00 01 or reversed 01 00 00 00 w/c is 16,777,216 bytes
4. Update Image Check Sum
> xda2nbftool -c -u NK.nba
5. Repack as NK.nbf
> xda2nbftool -x NK.nba NK.nbf 0×20040304
6. Put in the same directory as HimaUpgradeUt.exe
7. Flash as you normally would.
married_jedi said:
Supposedly, Increasing the Paging Pool value, allows for smoother speeds at wm5... at the cost of RAM in the Programs area.
How you can estimate boost of speed after this change ?
Can you describe. It is worth of reflash and reinstall all progs ?
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Supposedly, Increasing the Paging Pool value, allows for smoother speeds at wm5... at the cost of RAM in the Programs area.
How you can estimate boost of speed after this change ?
Can you describe. It is worth of reflash and reinstall all progs ?
Click to expand...
Click to collapse
I do not think that we will have to reinstall the progs.
2Jedy: Did you noticed any improvement in the speed? Which rom did you used? Is the method you described suitable for all roms?
Hello everyone.
With the development of the New ROM, I decided to describe this and that.
-How to Prepare files and packages.
-How to create stable SYS and OEM.
-XIP Porting (Kernel) - if it succeeds.
-Build/Mod. BLDR/BOOT Section
-Change PagePool
-Etc
Small introduction:
Subject shows the structure of folding and unfolding ROM.
Everything described here are doing at your own risk.
I do not answer with any damage to the device.
Please read carefully and proceed with caution.
Topic applies only Toshiba devices Tsunagi: TG01
Execute Image System:
This step tutorial will be further developed.
Once, I'll add this feature in my kitchen.
Add OEM Apps:
OEM - This package is derived from the *. cab file.
It must include:
- The *. dsm guid the value of the name,
- The *. RGU with the same value in the name, it must be in Unicode encoding.
It must also be free, the last line in the content of the text.
- Application *. exe, *. dll, or library
- A shortcut to the program / library - if it is needed. It is not mandatory.
- Content may be more developed (in the files / programs)
Such a package can be easily added to the root of the OEM.
If, of course, is properly filed
Dependence of the Application, the memory devices.:
How can you distinguish the memory which will hit your application / library?
This differs from the rule:
- Module - that is, a file that looks like a directory goes to RAM.
- File - normal-looking, *. exe or *. dll file, going to Storage memory
Porting XIP (Kernel) and insert this file to Image System:
[TUT][UTIL]Remote Porting XIP
Working good in my kitchen for Toshiba TG01
XPR to LZX Compression:
Open the file os.nb.payload in HEX Editor. Find this Lines:
Code:
F8 AC 2C 9D E3 D4 2B 4D BD 30 91 6E D8 4F 31 DC ř¬,ťăÔ+M˝0‘nŘO1Ü
01 00 00 00 01 00 00 00 01 00 00 00 34 00 00 00 ............4...
08 00 00 00 00 02 00 00 00 10 00 00 58 50 52 00 ............XPR.
And change to:
Code:
F8 AC 2C 9D E3 D4 2B 4D BD 30 91 6E D8 4F 31 DC ř¬,ťăÔ+M˝0‘nŘO1Ü
01 00 00 00 01 00 00 00 01 00 00 00 34 00 00 00 ............4...
08 00 00 00 00 02 00 00 00 10 00 00 58 50 52 00 ............LZX.
Save this file. Get this library -> cecompr_nt.dll, then insert to TOOLS folder from your Kitchen ROM.
Download cecompr.dll and overwrite it in your XIP. Build XIP, build ROM, see results. Now Image System takes less memory.
Small Support
Changes PagePool:
Use PagePool Changer
Porting/build BLDR/BOOT and insert this file to Image System:
[UTIL][UPG] buildbldr
Build Image System:
This function, have a my Kitchen.
Ultra Kitchen Edition - ROM Builder for Toshiba TG01
Modyfications SYS Directory
Remove TimeBomb:
Open file *.rgu from location ->SYS/Shell/, and remove two keys from this registry:
Code:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\DeviceBeta]
"Today"="Beta"
"Expiry"="Expires: %02d/%02d/%04d"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\DeviceBeta]
"About"="- BETA"
Now, Go to location -> SYS/Shell/, open file form module shell32.exe/S000 in HexEditor.
Search string 02 EB 7D 3E, and in both instances 7D change to BB.
from:
Code:
02 EB 7D 3E
to:
Code:
02 EB BB 3E
Remember, this sequence occurs twice
Thanks for Camelio
good idea, may be i'll try to understand something and build an italian version too, even if we are quit lucky with our tg01 'cause it's no brand at all.
Thanks for your great job with developement
Hey Nokser do you create wm6.1 rom for tg01?
Nokserze can you writa Polish version too?
here or in pdaclub forum, but I wont to understand anything, so it's more simple in our's language
Thanks for your job
Yes, of course
When you will to make this tourial? or you can write the tourial for stabil oem's now I want to make a rom but i can't create a stabil oem or a oem that's works... or you can tell me how i must put the oem.
Greats ALcAtRas
I give all my work in this, but first I must port WM6.5.5
Nokser, could we use the information you have gained about our device to port android?
Wm first, then we'll see Android
Nokser said:
Wm first, then we'll see Android
Click to expand...
Click to collapse
You think that is posible?There are a lot of people ho want that.
Everything is possible, but we shall see
Is this guide close to completion or has this been forgotten about?
I not forget.... I must gen. all options build structure ROM
Nokser said:
I not forget.... I must gen. all options build structure ROM
Click to expand...
Click to collapse
MAny of us are waiting for your light...
I know My friend
Small Update Thread
Nokser said:
Small Update Thread
Click to expand...
Click to collapse
Very good: I'm waiting for the next update impatiently. Do you know a good general tutorial, not device specific?
super_sonic said:
Very good: I'm waiting for the next update impatiently. Do you know a good general tutorial, not device specific?
Click to expand...
Click to collapse
You'll see ... if i end this tutorial
@Nokser:Can you help us to unlock t01a .It likes tg01 but it don't have code for unlocking .
Please...
Hi
I just changed some stuff like images in a kernel using Android Kernel Kitchen 0.3.1.
Now I wanna test my changes.
My questions is->
What are worst case scenarios possible?
I am ready to go for boot loops and etc. but are there any consequences that may cause real hard brick of my phone? (Like---> it will never start again! or you need to take it to service center for repair!)?
Jaskaran498 said:
Hi
I just changed some stuff like images in a kernel using Android Kernel Kitchen 0.3.1.
Now I wanna test my changes.
My questions is->
What are worst case scenarios possible?
I am ready to go for boot loops and etc. but are there any consequences that may cause real hard brick of my phone? (Like---> it will never start again! or you need to take it to service center for repair!)?
Click to expand...
Click to collapse
What you can expect are boot loops, inability to get even see the boot splash, non-working wifi/ USB / touch / camera/ anything that needs a driver, random reboots. Personal experience: yesterday I was playing with changing part of the initramfs without changing the whole boot.img. It turns out that I needed to update the header size and checksum. Without this, it would hang for some seconds and then reboot (or not start at all). This was all fixable from recovery.
What can happen if you are not careful is a brick because you flash the wrong partition. Otherwise, you can always enter recovery mode and flash the kernel (for the i9300, it is mmcblk0p5). If you are not sure, look for the magic ANDROID! header:
Code:
# dd bs=64 count=1 if=/dev/block/mmcblk0p5 2>/dev/null | hexdump -C
00000000 41 4e 44 52 4f 49 44 21 80 bc 44 00 00 80 00 40 |[email protected]|
00000010 2e 1e 05 00 00 00 00 41 00 00 00 00 00 00 f0 40 |[email protected]|
00000020 00 01 00 40 00 08 00 00 00 00 00 00 00 00 00 00 |[email protected]|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040
So, the absolute worst-case scenario is when you accidentally flash the wrong partition. If you picked your EFS partition and do not have a backup, then your IMEI and stuff are gone.
Note: be sure not to wipe your recovery partition (mmcblk0p6), that requires you restore the recovery using download mode (I have not experienced this yet).
Lekensteyn said:
What you can expect are boot loops, inability to get even see the boot splash, non-working wifi/ USB / touch / camera/ anything that needs a driver, random reboots. Personal experience: yesterday I was playing with changing part of the initramfs without changing the whole boot.img. It turns out that I needed to update the header size and checksum. Without this, it would hang for some seconds and then reboot (or not start at all). This was all fixable from recovery.
What can happen if you are not careful is a brick because you flash the wrong partition. Otherwise, you can always enter recovery mode and flash the kernel (for the i9300, it is mmcblk0p5). If you are not sure, look for the magic ANDROID! header:
Code:
# dd bs=64 count=1 if=/dev/block/mmcblk0p5 2>/dev/null | hexdump -C
00000000 41 4e 44 52 4f 49 44 21 80 bc 44 00 00 80 00 40 |[email protected]|
00000010 2e 1e 05 00 00 00 00 41 00 00 00 00 00 00 f0 40 |[email protected]|
00000020 00 01 00 40 00 08 00 00 00 00 00 00 00 00 00 00 |[email protected]|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040
So, the absolute worst-case scenario is when you accidentally flash the wrong partition. If you picked your EFS partition and do not have a backup, then your IMEI and stuff are gone.
Note: be sure not to wipe your recovery partition (mmcblk0p6), that requires you restore the recovery using download mode (I have not experienced this yet).
Click to expand...
Click to collapse
Kk, thanks.
But what do i do if it does not start at all like u said (what i want is that it should at least be able start in recovery or download if possible).
Since its my first time messing with kernel, i am total n00b then
If it cannot proceed to the "normal" boot, then get into recovery by holding Volume Up + Power + Home for ten seconds while booting (I usually do that when I see the Samsung logo end release when it has restarted, showing the logo again (about ten seconds).
From there, use Install from zip (if you have a "update zip" that contains boot.img and some metadata) or (what I do) use adb push to put the image in /tmp/. Then use dd to write the boot image. Example (I use Linux):
Code:
laptop$ adb push boot-new.img /tmp/boot.img
laptop$ adb shell
# cat /tmp/boot.img > /dev/block/mmcblk0p5
Just in case of hardware failure, I also verify the md5sum:
Code:
laptop$ md5sum boot-new.img
laptop$ du -b boot-new.img # determine file size, say 1234
(android) # dd if=/dev/block/mmcblk0p5 bs=1234 count=1 | md5sum
The two outputs must match, otherwise something went wrong (unlikely, but still).
Lekensteyn said:
If it cannot proceed to the "normal" boot, then get into recovery by holding Volume Up + Power + Home for ten seconds while booting (I usually do that when I see the Samsung logo end release when it has restarted, showing the logo again (about ten seconds).
From there, use Install from zip (if you have a "update zip" that contains boot.img and some metadata) or (what I do) use adb push to put the image in /tmp/. Then use dd to write the boot image. Example (I use Linux):
Code:
laptop$ adb push boot-new.img /tmp/boot.img
laptop$ adb shell
# cat /tmp/boot.img > /dev/block/mmcblk0p5
Just in case of hardware failure, I also verify the md5sum:
Code:
laptop$ md5sum boot-new.img
laptop$ du -b boot-new.img # determine file size, say 1234
(android) # dd if=/dev/block/mmcblk0p5 bs=1234 count=1 | md5sum
The two outputs must match, otherwise something went wrong (unlikely, but still).
Click to expand...
Click to collapse
I know all this but what i m saying is that can there be conditions where neither i will be able to boot recovery nor download (even by volume+power+home method)?
Unless you do really stupid things like overwriting /dev/block/mmcblk0 or other partitions on http://cleanimport.xda/index.php?threads/2362743/, you will be safe.
Jaskaran498 said:
I know all this but what i m saying is that can there be conditions where neither i will be able to boot recovery nor download (even by volume+power+home method)?
Click to expand...
Click to collapse
Recovery has it's own kernel. It doesn't use the one you're modifying
-----------------------
Sent via tapatalk.
I do NOT reply to support queries over PM. Please keep support queries to the Q&A section, so that others may benefit
In the spirit of the old TriangleAway here is how you can make the "FC N" disappear from your unlocked bootloader screen. The N is a number that gets bumped every time you "fastboot flash". This method requires a root shell, if you have busybox installed (e.g. from the Magisk module) it can done 100% on phone. Could help you out if you ever need warrantee service, or just don't like seeing the bootloader count how many times you've messed with the phone.
Code:
OnePlus7TProNR:/sdcard # dd if=/dev/block/by-name/param of=param.dd
2048+0 records in
2048+0 records out
1048576 bytes (1.0 M) copied, 0.017794 s, 56 M/s
# xxd -g 1 param.dd > param.xxd
Now use an editor (vim, nano, whatever) to look for this line in the file:
Code:
00003420: 00 00 00 00 01 00 00 00 01 00 00 00 17 00 00 00 ................
The flash counter is stored in the first non-zero bytes. Change them to zero like this:
Code:
00003420: 00 00 00 00 00 00 00 00 01 00 00 00 17 00 00 00 ................
Finally, flash the partition back, and voila, the "FC" line is gone from the bootloader. Note, these steps would have to be repeated every time you fastboot flash something.
Code:
OnePlus7TProNR:/sdcard # dd if=/dev/block/by-name/param of=param.dd
2048+0 records in
2048+0 records out
1048576 bytes (1.0 M) copied, 0.017794 s, 56 M/s
# xxd -r param.xxd > param-0.dd
# dd if=param-0.dd of=/dev/block/by-name/param
Wait....so does this get rid of the unlocked bootloader screen altogether?
lendawg said:
Wait....so does this get rid of the unlocked bootloader screen altogether?
Click to expand...
Click to collapse
No. Once you've used a "fastboot flash" command, you'll see a line on the bootloader/fastboot screen that says "FC 1".
If you fastboot flash something else, it increases to "FC 2" and so on. I think it persists even if you re-lock the bootloader as an indicator to the manufacturer and carrier that you've messed with your phone, and how many times.
This technique will make that counter go away, making it easier to re-lock the bootloader and make the phone appear unmodified, in case you ever need warrantee service.
There used to be a tool called "Triangle Away" that did something similar a few years ago, but it isn't supported anymore. But this technique does the same thing, you can read more about it here:
https://forum.xda-developers.com/galaxy-s2/orig-development/2014-01-15-triangleaway-v3-26-t1494114
This is just to remove the counter . Any warranty work will probably still be denied seeing you phone is on record as unlocked bootloader when you submit for the unlock.bin. And I'm sure the well I got the unlock.bin but never used it line will not work lol
Hello,
I was wondering if anyone has managed to get this working on the Realme GT as I wanted to look at the carrier policy for my phone, as i've edited the oneplus one successfully.
But was having issues on this one, doesn't seem to recognise the phone to connect to EFS.
Yes. I got it working (on c15 eu). I was testing the same method I used on my poco f3 and it works the same way.
I'm assuming you're rooted.
If so, while usb debugging and usb transfer files mode are on , use the commands:
adb shell
su
setprop sys.usb.config diag,diag_mdm,adb
This should create two new entries in device manager with a yellow icon (faulty driver). You now need to update the driver. The best way of explaining this is to link to a youtube video. It's in turkish and for the mi10t but it works for other phones. Here it is at the correct timestamp. But written in steps it's:
Right click on the device and update driver.
Browse my computer for drivers.
Pick from a list of available drivers from my computer.
Ports (COM and LPT)
"qualcomm incorporated" and "qualcomm hs-usb android diag 9022".
Do this for both entries. They should now both be named something like "qualcomm hs usb diag 9022 (COM6)" in the ports (COM & LTP) section in device manager (each has a different port number for me).
Anyway, after that, the phone shows up in qpst.
Good luck.
Awesome, will give that a go!
joebrit said:
Yes. I got it working (on c15 eu). I was testing the same method I used on my poco f3 and it works the same way.
I'm assuming you're rooted.
If so, while usb debugging and usb transfer files mode are on , use the commands:
adb shell
su
setprop sys.usb.config diag,diag_mdm,adb
This should create two new entries in device manager with a yellow icon (faulty driver). You now need to update the driver. The best way of explaining this is to link to a youtube video. It's in turkish and for the mi10t but it works for other phones. Here it is at the correct timestamp. But written in steps it's:
Right click on the device and update driver.
Browse my computer for drivers.
Pick from a list of available drivers from my computer.
Ports (COM and LPT)
"qualcomm incorporated" and "qualcomm hs-usb android diag 9022".
Do this for both entries. They should now both be named something like "qualcomm hs usb diag 9022 (COM6)" in the ports (COM & LTP) section in device manager (each has a different port number for me).
Anyway, after that, the phone shows up in qpst.
Good luck.
Click to expand...
Click to collapse
Worked perfectly. Thanks. Have you played about to unlock any bands?
unparalleled82 said:
Worked perfectly. Thanks. Have you played about to unlock any bands?
Click to expand...
Click to collapse
No. I haven't tried anything qpst wise with my gt yet. I'm not an expert but I thought you could only activate new bands if the hardware shipped with them enabled but there's an artificial carrier based policy/limitation that qpst could change. I think there's guides out there...
My interest was in locking my phone to a certain tower (pci) for better speeds. Unfortunately, I tried this on my poco f3 a while ago but it didn't work. I used these instructions.
I basically created a file in efs explorer (nv/item_files/modem/lte/rrc/csp/pci_lock)
with the pci hex code inside but it didn't have the right effect. I think that nv item might be outdated.
Yeah the only PCI band locking apps, I've seen are really expensive paid ones, so it can be done somehow.
Network signal guru does band locking and PCI locking on the paid version of the app.
Would be interested in knowing if you actually get it working.
unparalleled82 said:
Would be interested in knowing if you actually get it working.
Click to expand...
Click to collapse
Use the following at your own risk. Make a backup of your efs in qpst (start clients, software download, backup). Having said that, I've used this method successfully to lock the pci and earfcn. It relies on an nv item file:
/nv/item_files/modem/lte/rrc/efs/cell_restrict_opt_params
Navigate to:
/nv/item_files/modem/lte/rrc/efs/
If there is already a file called cell_restrict_opt_params you can make a backup and delete it as we will be replacing it.
Note down your desired earfcn and pci. I'll use earfcn = 500 and pci = 600 as an example.
Go to this hex converter and convert the earfcn and pci values (earfcn = 01F4 and pci = 0258).
Now create a hex file called cell_restrict_opt_params (you can use this program) in the following format:
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 F4 01 00 00 58 02 00 00 00 00 00 00
00 00 00 00
It should be 36 bytes. The 21st and 22nd byte should be the earfcn hex (backwards) with the 25th and 26th bytes being the pci hex (backwards). You can then transfer the file from your pc to the efs folder.
If you want to lock the earfcn only, it's the following format:
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 F4 01 00 00
F4 01 00 00
You will probably have to restart for the changes to take effect. Delete the file if you want to go back to the original state.
Good Luck.