Project

General

Profile

GTI9300PARAM » History » Version 10

Denis 'GNUtoo' Carikli, 01/31/2022 08:12 PM
Move information from the modem debug level from XMMProtocolInterfaces#GT-I9300 to here as we have params settings here

1 6 Denis 'GNUtoo' Carikli
{{toc}}
2
3 1 Denis 'GNUtoo' Carikli
h1. GTI9300PARAM
4
5
You can dump the PARAM partition for the Galaxy SIII (GT-I9300) like that:
6
<pre>
7
adb pull /dev/block/platform/dw_mmc/by-name/PARAM PARAM.img
8
</pre>
9
10
That file at first looks like a tar archive.
11
<pre>
12
$ file PARAM.img
13
PARAM.img: POSIX tar archive (GNU)
14
</pre>
15
16
And it indeed does contain a tarball:
17
<pre>
18
$ tar tvf PARAM.img
19
-rw-r--r-- se.infra/se.infra 3624 2013-11-28 13:33 adv-env.img
20
-rw-r--r-- se.infra/se.infra 42023 2013-11-28 13:33 ani_upload_1_kernel_panic.jpg
21
-rw-r--r-- se.infra/se.infra 39255 2013-11-28 13:33 ani_upload_2_cp_crash.jpg
22
-rw-r--r-- se.infra/se.infra 47443 2013-11-28 13:33 ani_upload_3_forced_upload.jpg
23
-rw-r--r-- se.infra/se.infra 10810 2013-11-28 13:33 ani_upload_4_hardware_reset.jpg
24
-rw-r--r-- se.infra/se.infra 11586 2013-11-28 13:33 ani_upload_4_smpl.jpg
25
-rw-r--r-- se.infra/se.infra 54151 2013-11-28 13:33 ani_upload_4_unknown_reset.jpg
26
-rw-r--r-- se.infra/se.infra 11495 2013-11-28 13:33 ani_upload_4_watchdog_reset.jpg
27
-rw-r--r-- se.infra/se.infra 12276 2013-11-28 13:33 ani_upload_4_wtsr.jpg
28
-rw-r--r-- se.infra/se.infra  9703 2013-11-28 13:33 ani_upload_4_wtsr_smpl.jpg
29
-rw-r--r-- se.infra/se.infra 12711 2013-11-28 13:33 ani_upload_5_user_fault.jpg
30
-rw-r--r-- se.infra/se.infra 19098 2013-11-28 13:33 ani_upload_6_hsic_disconnected.jpg
31
-rw-r--r-- se.infra/se.infra 84123 2013-11-28 13:33 download_error.jpg
32
-rw-r--r-- se.infra/se.infra 73061 2013-11-28 13:33 download.jpg
33
-rw-r--r-- se.infra/se.infra 64410 2013-11-28 13:33 logo.jpg
34
-rw-r--r-- se.infra/se.infra 37205 2013-11-28 13:33 lpm.jpg
35
-rw-r--r-- se.infra/se.infra 36572 2013-11-28 13:33 lpm_wireless.jpg
36
-rw-r--r-- se.infra/se.infra 91511 2013-11-28 13:33 secure_error.jpg
37
-rwxr-xr-x se.infra/se.infra  5851 2013-11-28 13:33 sud_0.jpg
38
-rwxr-xr-x se.infra/se.infra  2713 2013-11-28 13:33 sud_1.jpg
39
-rwxr-xr-x se.infra/se.infra  5634 2013-11-28 13:33 sud_2.jpg
40
-rwxr-xr-x se.infra/se.infra  6292 2013-11-28 13:33 sud_3.jpg
41
-rwxr-xr-x se.infra/se.infra  4604 2013-11-28 13:33 sud_4.jpg
42
-rwxr-xr-x se.infra/se.infra  5706 2013-11-28 13:33 sud_5.jpg
43
-rwxr-xr-x se.infra/se.infra  6792 2013-11-28 13:33 sud_6.jpg
44
-rwxr-xr-x se.infra/se.infra  3885 2013-11-28 13:33 sud_7.jpg
45
-rwxr-xr-x se.infra/se.infra  6826 2013-11-28 13:33 sud_8.jpg
46
-rwxr-xr-x se.infra/se.infra  6528 2013-11-28 13:33 sud_9.jpg
47
-rw-r--r-- se.infra/se.infra 168616 2013-11-28 13:33 warning.jpg
48
</pre>
49
50
The size of the PARAM.img file is exactly 8MiB:
51
<pre>
52 8 Denis 'GNUtoo' Carikli
$ ls -lah PARAM.img
53 1 Denis 'GNUtoo' Carikli
[...] 8.0M [...] PARAM.img
54 8 Denis 'GNUtoo' Carikli
$ ls -la PARAM.img
55 1 Denis 'GNUtoo' Carikli
[...] 8388608 [...] PARAM.img
56
</pre>
57
58
And we can get the size of the tarball with --totals:
59
<pre>
60
$ man tar
61
  [...]
62
  --totals[=SIGNAL]
63
         Print  total bytes after processing the archive. [...]
64
</pre>
65
66
For example:
67
<pre>
68 8 Denis 'GNUtoo' Carikli
$ tar --totals -tf PARAM.img
69 1 Denis 'GNUtoo' Carikli
adv-env.img
70
[many files]
71
warning.jpg
72
Total bytes read: 911360 (890KiB, 286MiB/s)
73
</pre>
74
75 7 Denis 'GNUtoo' Carikli
So here the tarball terminates way before the end of the PARAM.img file.
76 1 Denis 'GNUtoo' Carikli
77
911360 is 0xde800:
78
<pre>
79
$ python
80
[...]
81
>>> hex(911360)
82
'0xde800'
83
</pre>
84
85
But we still have things after the tarball:
86
<pre>
87
$ hexdump -C PARAM.img
88
000dd4a0  05 00 14 00 50 07 ff d9  00 00 00 00 00 00 00 00  |....P...........|
89
000dd4b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
90
*
91
00700000  03 00 fe ca 00 01 00 00  00 00 00 00 00 00 00 00  |................|
92
00700010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
93
*
94
00700200  00 00 00 00 03 00 00 00  4c 4f 00 00 00 00 00 00  |........LO......|
95
00700210  00 00 00 00 03 00 00 00  01 00 00 00 00 00 00 00  |................|
96
00700220  00 00 00 00 00 00 00 00  63 6f 6e 73 6f 6c 65 3d  |........console=|
97
00700230  72 61 6d 20 6c 6f 67 6c  65 76 65 6c 3d 34 00 00  |ram loglevel=4..|
98
00700240  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
99
*
100
00700e20  00 00 00 00 00 00 00 00  ff ff ff ff ff ef 7f ff  |................|
101
00700e30  ff ff f7 ff ff ff f7 ff  ff fe ff ff ff ff 7f ff  |................|
102
00700e40  fb ef ff ff ff fb ff df  ff ff ff ff ff ff ff ff  |................|
103
00700e50  df bf ff ff 7f ef f7 ff  f7 ff ff ff ff fe ff ff  |................|
104
00700e60  ff ff ff ff ef fb ff ef  ff fb ff ff fd ff f7 ef  |................|
105
00700e70  ff ff ff ff f5 ff ff ff  ff ff ff ff ff ff ff ff  |................|
106
00700e80  ff ff ff fe ff ef ff ff  ff bf fd ff ff ff ff ff  |................|
107
00700e90  ff ff ff ff ff ff f7 fb  ff ff ff eb ff ff ff eb  |................|
108
00700ea0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff fb  |................|
109
00700eb0  ff ff ff ff ff ff ff ff  ff ff ff df ff ff ff ff  |................|
110
00700ec0  ff ff ff ff ff ff f7 ff  ff ff ff ff ff ff ff ff  |................|
111
00700ed0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff fb  |................|
112
00700ee0  df ff ff ff ff ff ff ff  ff ff ff ff ff ff d7 ff  |................|
113
00700ef0  ff ff ff af ff ff ff fe  ff ff ff ff ff ff ff ff  |................|
114
00700f00  ff ef ff ff ff 7f ff ff  ff df ff ff f7 ff ff ff  |................|
115
00700f10  ff ff ff ff ff ff ff ff  ff ff ff ef ff ff f7 ff  |................|
116
00700f20  ff ff ff ff ff ff ff ff  ff fe ef ff ff ef fb df  |................|
117
00700f30  ff ff ff ff ff fb ff ff  ff ff ff ff ff ff ff ff  |................|
118
00700f40  ff ff f5 ff ff ff ff fb  ff ff ff ff ff ff ff ff  |................|
119
00700f50  fb ff ff fb fd ff ff ff  ff ff ff ff ff ff ff ff  |................|
120
00700f60  f7 ff ff ef f7 ff ff ef  ff ff ff ff ff 9e ff fd  |................|
121
00700f70  ff ff ff ff fb ff ff de  f3 fb ff ff ff ef df ff  |................|
122
00700f80  ff ff ff ff ff fb ff bf  ff ff ff ff ff ff ff fd  |................|
123
00700f90  ff fe f7 fe ff eb ff ff  ff fb ff ff df ff ff ff  |................|
124
00700fa0  df ff ff ff ff ff ff ff  ff ff fb ff ff ff ff fb  |................|
125
00700fb0  ff ff ff df ff ff ff ff  fe fe fe ff ff f7 ff ff  |................|
126
00700fc0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff fb  |................|
127
00700fd0  fd ff ff ff ff fd ff ff  ff ff ff ff fe ff ff ff  |................|
128
00700fe0  ff ff df ff ff ff ff fb  ff ff ff ff ff ff ff ff  |................|
129
00700ff0  ff f7 df ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
130
00701000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
131
*
132
007ffc00  d4 ad 55 ff 52 e9 ed 4c  f8 d1 9c 08 79 b6 e9 6c  |..U.R..L....y..l|
133
007ffc10  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
134
*
135
00800000
136
</pre>
137
138
Questions:
139
* Can we ignore what is after the tarball and grow it to 8MiB?
140
* Does what's after contains encrypted data for the bootloader?
141 2 Denis 'GNUtoo' Carikli
142
h2. adv_env.img
143
144
Here's the content of the adv-env.img file:
145
<pre>
146 8 Denis 'GNUtoo' Carikli
$ hexdump -C adv-env.img
147 2 Denis 'GNUtoo' Carikli
00000000  03 00 fe ca 00 01 00 00  00 00 00 00 00 00 00 00  |................|
148
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
149
*
150
00000200  04 00 00 00 01 00 00 00  4c 4f 00 00 00 00 00 00  |........LO......|
151
00000210  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
152
00000220  00 00 00 00 00 00 00 00  63 6f 6e 73 6f 6c 65 3d  |........console=|
153
00000230  72 61 6d 20 6c 6f 67 6c  65 76 65 6c 3d 34 00 00  |ram loglevel=4..|
154
00000240  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
155
*
156
00000e20  00 00 00 00 00 00 00 00                           |........|
157
00000e28
158
</pre>
159
160
Questions:
161
* Why are the kernel parameters repeated again after the end of the tarball?
162
* Where are the updated kernel parameters stored?
163
* Are the default and in-use kernel parameters stored at different location?
164 3 Denis 'GNUtoo' Carikli
165
h2. kenrel command line
166
167
*Default kernel command line*: @console=ram loglevel=4@
168
169 8 Denis 'GNUtoo' Carikli
Test:
170 3 Denis 'GNUtoo' Carikli
* change to @console=ram loglevel=8@ through the bootloader setenv command
171 8 Denis 'GNUtoo' Carikli
* run saveenv
172 3 Denis 'GNUtoo' Carikli
* reboot and validate that it's really changed with printenv
173
* observe the results on the filesystem
174
175
See [[MidasBootloader]] for more details on how to change the command line parameters.
176
177
After changing the environment variable, we still have loglevel=4 in the adv-env.img file that is in the tarball:
178
adv-env.img
179
<pre>
180 8 Denis 'GNUtoo' Carikli
$ hexdump -C adv-env.img
181 3 Denis 'GNUtoo' Carikli
00000000  03 00 fe ca 00 01 00 00  00 00 00 00 00 00 00 00  |................|
182
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
183
*
184
00000200  04 00 00 00 01 00 00 00  4c 4f 00 00 00 00 00 00  |........LO......|
185
00000210  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
186
00000220  00 00 00 00 00 00 00 00  63 6f 6e 73 6f 6c 65 3d  |........console=|
187
00000230  72 61 6d 20 6c 6f 67 6c  65 76 65 6c 3d 34 00 00  |ram loglevel=4..|
188
00000240  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
189
*
190
00000e20  00 00 00 00 00 00 00 00                           |........|
191
00000e28
192
</pre>
193
So these must be the default parameters.
194
195
And the actual kernel parameters were instead saved after the tarball:
196
<pre>
197
$ hexdump PARAM.img
198
*
199
00700200  00 00 00 00 03 00 00 00  4c 4f 00 00 00 00 00 00  |........LO......|
200
00700210  00 00 00 00 03 00 00 00  01 00 00 00 00 00 00 00  |................|
201
00700220  00 00 00 00 00 00 00 00  63 6f 6e 73 6f 6c 65 3d  |........console=|
202
00700230  72 61 6d 20 6c 6f 67 6c  65 76 65 6c 3d 38 00 00  |ram loglevel=8..|
203
00700240  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
204
*
205
</pre>
206
207
208 8 Denis 'GNUtoo' Carikli
*Results:*
209 3 Denis 'GNUtoo' Carikli
* Since the s-boot 4.0 bootloader on several Exynos 4412 devices (GT-I9300, GT-I9305, GT-N7100, GT-N7105) doesn't take into account the boot.img kenrel parameters, we can then try to change them by editing the PARAM.img after the tarball.
210
* There is valuable info after the tarball => don't make the tarball grow too much.
211 4 Denis 'GNUtoo' Carikli
212
h2. USB switch
213
214
On a GT-I9300, if I set the address @0x00700204@ to @00@, it switch to the USB to the modem's USB, and @Bus 002 Device 095: ID 1519:0020 Comneon HSIC Device@ appears when connecting the GT-I9300 to a computer.
215
216
When I set it back to @01@, I can have ADB again.
217
218 1 Denis 'GNUtoo' Carikli
Here's the diff:
219
<pre>
220 5 Denis 'GNUtoo' Carikli
$ vbindiff PARAM.img PARAM.img.new
221
PARAM.img
222 4 Denis 'GNUtoo' Carikli
0070 0204: 00 00 00 00 4C 4F 00 00  00 00 00 00 00 00 00 00  ....LO.. ........  
223
0070 0214: 03 00 00 00 01 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
224
0070 0224: 00 00 00 00 63 6F 6E 73  6F 6C 65 3D 72 61 6D 20  ....cons ole=ram   
225
0070 0234: 6C 6F 67 6C 65 76 65 6C  3D 38 00 00 00 00 00 00  loglevel =8......  
226
0070 0244: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
227
0070 0254: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
228
0070 0264: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
229
0070 0274: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
230
0070 0284: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
231
0070 0294: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
232
0070 02A4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
233
0070 02B4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
234
0070 02C4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
235
0070 02D4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
236
0070 02E4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
237
0070 02F4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
238
PARAM.img.new                                                                   
239
0070 0204: 01 00 00 00 4C 4F 00 00  00 00 00 00 00 00 00 00  ....LO.. ........  
240
0070 0214: 03 00 00 00 01 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
241
0070 0224: 00 00 00 00 63 6F 6E 73  6F 6C 65 3D 72 61 6D 20  ....cons ole=ram   
242
0070 0234: 6C 6F 67 6C 65 76 65 6C  3D 38 00 00 00 00 00 00  loglevel =8......  
243
0070 0244: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
244
0070 0254: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
245
0070 0264: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
246
0070 0274: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
247
0070 0284: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
248
0070 0294: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
249
0070 02A4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
250
0070 02B4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
251
0070 02C4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
252
0070 02D4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
253
0070 02E4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
254
0070 02F4: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
255
┌──────────────────────────────────────────────────────────────────────────────┐
256
│Arrow keys move  F find      RET next difference  ESC quit  T move top        │
257
│C ASCII/EBCDIC   E edit file   G goto position      Q quit  B move bottom     │
258
└──────────────────────────────────────────────────────────────────────────────┘
259
</pre>
260
261 9 Denis 'GNUtoo' Carikli
At the next boot the s-boot bootloader will then configure the USB switch to connect to the modem USB.
262
263
You can also get that behavior with the stock OS if you go to the phone application and enter @*#7284#@ and set @USB@ to
264
@MODEM@ and then click on the @SAVE and RESET@ button. It will then reboot the phone automatically.
265
266
Note that in both case (when doing it manually with Replicant or through the stock OS):
267
* ADB will not work anymore in Replicant, the recovery and the stock OS
268
* Heimdall may not work anymore
269
so you need a plan to be able to recovery from it.
270
271
If you run the stock OS, you can't count on recoveries as it tend to replace them the recoveries with its own recovery, but you can still use @*#7284#@ to change @USB@ back to @PDA@ instead of @MODEM@.
272
273
With Replicant, you can enable the terminal, adb and root for adb and applications in the developers settings, and once that is done, through the terminal application you can get root with @su@ and then type the following command to enable adb again: 
274
<pre>
275
echo PDA > /sys/devices/virtual/sec/switch/usb_sel
276
</pre>
277
as this command is temporary (until the next reboot), you'll have to edit again the @PARAM@ partition and copy the modified @PARAM@ image to the @PARAM@ partition with @dd@.
278 10 Denis 'GNUtoo' Carikli
279
h2. Modem debug level
280
281
In the stock OS, if we go to the phone application and dial @*#9900#@ and change the @Debug Level Enabled@ (@LOW@ @MEDIUM@ and @HIGH@ are available), the PARAM partition will be modified (and then the phone will be rebooted):
282
283
Here we switched the setting from @LOW@ to @MEDIUM@, and it produces a difference at @0x700208@:
284
<pre>
285
$ vbindiff low-2/PARAM.img medium-2/PARAM.img
286
low-2/PARAM.img                                                                 
287
0070 0208: 4C 4F 00 00 00 00 00 00  00 00 00 00 03 00 00 00  LO...... ........  
288
0070 0218: 01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
289
0070 0228: 63 6F 6E 73 6F 6C 65 3D  72 61 6D 20 6C 6F 67 6C  console= ram logl  
290
0070 0238: 65 76 65 6C 3D 38 00 00  00 00 00 00 00 00 00 00  evel=8.. ........  
291
0070 0248: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
292
0070 0258: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
293
0070 0268: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
294
0070 0278: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
295
0070 0288: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
296
0070 0298: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
297
0070 02A8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
298
0070 02B8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
299
0070 02C8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
300
0070 02D8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
301
0070 02E8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
302
0070 02F8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
303
medium-2/PARAM.img                                                              
304
0070 0208: 4D 49 00 00 00 00 00 00  00 00 00 00 03 00 00 00  MI...... ........  
305
0070 0218: 01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
306
0070 0228: 63 6F 6E 73 6F 6C 65 3D  72 61 6D 20 6C 6F 67 6C  console= ram logl  
307
0070 0238: 65 76 65 6C 3D 38 00 00  00 00 00 00 00 00 00 00  evel=8.. ........  
308
0070 0248: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
309
0070 0258: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
310
0070 0268: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
311
0070 0278: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
312
0070 0288: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
313
0070 0298: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
314
0070 02A8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
315
0070 02B8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
316
0070 02C8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
317
0070 02D8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
318
0070 02E8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
319
0070 02F8: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
320
┌──────────────────────────────────────────────────────────────────────────────┐
321
│Arrow keys move  F find      RET next difference  ESC quit  T move top        │
322
│C ASCII/EBCDIC   E edit file   G goto position      Q quit  B move bottom     │
323
└──────────────────────────────────────────────────────────────────────────────┘
324
</pre>
325
326
And here's what happens when switching from @MEDIUM@ to @HIGH@:
327
<pre>
328
$ vbindiff medium-2/PARAM.img high-1/PARAM.img
329
medium-2/PARAM.img                                                              
330
0070 0200: 00 00 00 00 01 00 00 00  4D 49 00 00 00 00 00 00  ........ MI......  
331
0070 0210: 00 00 00 00 03 00 00 00  01 00 00 00 00 00 00 00  ........ ........  
332
0070 0220: 00 00 00 00 00 00 00 00  63 6F 6E 73 6F 6C 65 3D  ........ console=  
333
0070 0230: 72 61 6D 20 6C 6F 67 6C  65 76 65 6C 3D 38 00 00  ram logl evel=8..  
334
0070 0240: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
335
0070 0250: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
336
0070 0260: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
337
0070 0270: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
338
0070 0280: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
339
0070 0290: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
340
0070 02A0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
341
0070 02B0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
342
0070 02C0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
343
0070 02D0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
344
0070 02E0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
345
0070 02F0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
346
high-1/PARAM.img                                                                
347
0070 0200: 00 00 00 00 01 00 00 00  48 49 00 00 00 00 00 00  ........ HI......  
348
0070 0210: 00 00 00 00 03 00 00 00  01 00 00 00 00 00 00 00  ........ ........  
349
0070 0220: 00 00 00 00 00 00 00 00  63 6F 6E 73 6F 6C 65 3D  ........ console=  
350
0070 0230: 72 61 6D 20 6C 6F 67 6C  65 76 65 6C 3D 38 00 00  ram logl evel=8..  
351
0070 0240: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
352
0070 0250: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
353
0070 0260: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
354
0070 0270: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
355
0070 0280: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
356
0070 0290: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
357
0070 02A0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
358
0070 02B0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
359
0070 02C0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
360
0070 02D0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
361
0070 02E0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
362
0070 02F0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
363
┌──────────────────────────────────────────────────────────────────────────────┐
364
│Arrow keys move  F find      RET next difference  ESC quit  T move top        │
365
│C ASCII/EBCDIC   E edit file   G goto position      Q quit  B move bottom     │
366
└──────────────────────────────────────────────────────────────────────────────┘
367
</pre>
368
369
Unfortunately in both cases, it also changes what appears to be a checksum:
370
<pre>
371
$ vbindiff medium-2/PARAM.img high-1/PARAM.img
372
medium-2/PARAM.img                                                              
373
007F FC00: 0D 4D 03 C0 FD 5C A8 D1  2B 14 25 76 03 51 C5 27  .M...\.. +.%v.Q.'  
374
007F FC10: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
375
007F FC20: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
376
007F FC30: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
377
007F FC40: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
378
007F FC50: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
379
007F FC60: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
380
007F FC70: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
381
007F FC80: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
382
007F FC90: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
383
007F FCA0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
384
007F FCB0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
385
007F FCC0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
386
007F FCD0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
387
007F FCE0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
388
007F FCF0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
389
high-1/PARAM.img                                                                
390
007F FC00: 67 39 08 85 9C 4A FE B8  65 47 9C C8 BB 95 DF B7  g9...J.. eG......  
391
007F FC10: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
392
007F FC20: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
393
007F FC30: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
394
007F FC40: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
395
007F FC50: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
396
007F FC60: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
397
007F FC70: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
398
007F FC80: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
399
007F FC90: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
400
007F FCA0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
401
007F FCB0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
402
007F FCC0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
403
007F FCD0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
404
007F FCE0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
405
007F FCF0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........  
406
┌──────────────────────────────────────────────────────────────────────────────┐
407
│Arrow keys move  F find      RET next difference  ESC quit  T move top        │
408
│C ASCII/EBCDIC   E edit file   G goto position      Q quit  B move bottom     │
409
└──────────────────────────────────────────────────────────────────────────────┘
410
</pre>
411
412
To capture that I had to :
413
* Set the desired setting (through the phone application after dialing @$*#9900#@ and let it reboot
414
* then shut down the phone
415
* Then boot into the download mode
416
* then flash a Replicant recovery with root to @BOOT@ (do not flash it to RECOVERY)
417
* Then to dump the PARAM partition
418
* Then to reboot to the bootloader
419
* Then to flash back the stock OS BOOT
420
421
If for some reason I rebooted to the RECOVERY partition, the setting would be changed back to @LOW@ (this was verified by dialing @*#9900#@ and then looking at the setting value without changing it).