Project

General

Profile

GTI9300PARAM » History » Version 12

Denis 'GNUtoo' Carikli, 01/31/2022 08:34 PM
Add structure section to sumarize what we found

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