Project

General

Profile

EMMCFirmwareBugs » History » Version 3

Denis 'GNUtoo' Carikli, 11/22/2020 03:47 PM
Add more details and convert away from table to enable that

1 1 Denis 'GNUtoo' Carikli
h1. EMMCFirmwareBugs
2
3
h2. Data corruption
4
5
Several devices have fixes or workarounds in vendor kernels for data corruptions in the eMMC. This can lead to non-working devices as it could potentially corrupt the bootloaders for instance.
6
7
The bug #2104 has more details for the Galaxy SIII.
8
9
h3. Affected devices
10
11 3 Denis 'GNUtoo' Carikli
h4. VTU00M
12
13
*Affected devices*: Some Galaxy SIII (GT-I9300)
14
*Vendor kernel patch*: "mmc: Soft-patch MoviNAND VTU00M (16GB) eMMC failure":https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=da8461692362317a8ffce4d4646953985fcf4e1d
15
*Upstream status*: not upstream
16
*Replicant >=9 status*: not yet ported
17
18
h5. How to check
19
20
As this patch shows:
21
<pre>
22
+	if (!strncmp(host->card->cid.prod_name, "VTU00M", 6) &&
23
+		(host->card->cid.prod_rev == 0xf1) &&
24
+		(mmc_start_movi_smart(host->card) == 0x2))
25
+		host->card->movi_ops = 0x2;
26
</pre>
27
28
* The name of the eMMC is VTU00M
29
* Only certain revisions are affected (revision 0xf1)
30
* The revision is probably in the prv field
31
32
h5. Vendor kernel workaround analysis
33
34
The "mmc: Soft-patch MoviNAND VTU00M (16GB) eMMC failure":https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=da8461692362317a8ffce4d4646953985fcf4e1d patch patches the eMMC firmware at runtime (it patches the firmware in RAM).
35
36
The eMMC firmware patch makes the eMMC hang when a corruption is about to happen.