nand "BCH decoding failed" when using bch8_hw_romcode ecc mode
Tibault Damman
tibault.damman at basalte.be
Fri Mar 18 03:32:36 PDT 2022
Gah, I just saw how that mail was sent, let me try that again:
On 17/03/2022 08:46, Sascha Hauer wrote:
> No clue, just some things you could test:
>
> - in BCH8_HW_ROMCODE barebox can't read what it has written itself,
> right?
so it would seem yeah
> - Can barebox read what Linux has written in this mode?
> - Use Linux to write known data to a page:
> seq 10000 > foo
> flash_erase /dev/mtdx 0 0
> nandwrite /dev/mtdx foo
> - Read the same page in raw mode in barebox:
> md -s /dev/nand0.raw 0+2112
> - Write the same data with barebox
> - Read again:
> md -s /dev/nand0.raw 0+2112
> - Compare the results
>
> You could also just return successfully in chien() when the result would
> fail and see what you read.
(I had to edit chien as you suggested, else md didn't print the results)
Writing from linux and barebox seems to give the same result:
> barebox at Phytec phyCORE-OMAP4460:/ gpmc_nand0.eccmode=bch8_hw_romcode
> barebox at Phytec phyCORE-OMAP4460:/ md -s /dev/nand0 0+2112
> BCH decoding failed
> BCH decoding failed
> BCH decoding failed
> BCH decoding failed
> BCH decoding failed
> BCH decoding failed
> 00000000: 0a320a31 0a340a33 0a360a35 0a380a37 1.2.3.4.5.6.7.8.
> 00000010: 30310a39 0a31310a 310a3231 34310a33 9.10.11.12.13.14
> 00000020: 0a35310a 310a3631 38310a37 0a39310a .15.16.17.18.19.
> 00000030: 320a3032 32320a31 0a33320a 320a3432 20.21.22.23.24.2
> 00000040: 36320a35 0a37320a 320a3832 30330a39 5.26.27.28.29.30
> 00000050: 0a31330a 330a3233 34330a33 0a35330a .31.32.33.34.35.
> 00000060: 330a3633 38330a37 0a39330a 340a3034 36.37.38.39.40.4
> 00000070: 32340a31 0a33340a 340a3434 36340a35 1.42.43.44.45.46
> 00000080: 0a37340a 340a3834 30350a39 0a31350a .47.48.49.50.51.
> 00000090: 350a3235 34350a33 0a35350a 350a3635 52.53.54.55.56.5
> 000000a0: 38350a37 0a39350a 360a3036 32360a31 7.58.59.60.61.62
> 000000b0: 0a33360a 360a3436 36360a35 0a37360a .63.64.65.66.67.
> 000000c0: 360a3836 30370a39 0a31370a 370a3237 68.69.70.71.72.7
> 000000d0: 34370a33 0a35370a 370a3637 38370a37 3.74.75.76.77.78
> 000000e0: 0a39370a 380a3038 32380a31 0a33380a .79.80.81.82.83.
> 000000f0: 380a3438 36380a35 0a37380a 380a3838 84.85.86.87.88.8
> 00000100: 30390a39 0a31390a 390a3239 34390a33 9.90.91.92.93.94
> 00000110: 0a35390a 390a3639 38390a37 0a39390a .95.96.97.98.99.
> 00000120: 0a303031 0a313031 0a323031 0a333031 100.101.102.103.
> 00000130: 0a343031 0a353031 0a363031 0a373031 104.105.106.107.
> 00000140: 0a383031 0a393031 0a303131 0a313131 108.109.110.111.
> 00000150: 0a323131 0a333131 0a343131 0a353131 112.113.114.115.
> 00000160: 0a363131 0a373131 0a383131 0a393131 116.117.118.119.
> 00000170: 0a303231 0a313231 0a323231 0a333231 120.121.122.123.
> 00000180: 0a343231 0a353231 0a363231 0a373231 124.125.126.127.
> 00000190: 0a383231 0a393231 0a303331 0a313331 128.129.130.131.
> 000001a0: 0a323331 0a333331 0a343331 0a353331 132.133.134.135.
> 000001b0: 0a363331 0a373331 0a383331 0a393331 136.137.138.139.
> 000001c0: 0a303431 0a313431 0a323431 0a333431 140.141.142.143.
> 000001d0: 0a343431 0a353431 0a363431 0a373431 144.145.146.147.
> 000001e0: 0a383431 0a393431 0a303531 0a313531 148.149.150.151.
> 000001f0: 0a323531 0a333531 0a343531 0a353531 152.153.154.155.
> 00000200: 0a363531 0a373531 0a383531 0a393531 156.157.158.159.
> 00000210: 0a303631 0a313631 0a323631 0a333631 160.161.162.163.
> 00000220: 0a343631 0a353631 0a363631 0a373631 164.165.166.167.
> 00000230: 0a383631 0a393631 0a303731 0a313731 168.169.170.171.
> 00000240: 0a323731 0a333731 0a343731 0a353731 172.173.174.175.
> 00000250: 0a363731 0a373731 0a383731 0a393731 176.177.178.179.
> 00000260: 0a303831 0a313831 0a323831 0a333831 180.181.182.183.
> 00000270: 0a343831 0a353831 0a363831 0a373831 184.185.186.187.
> 00000280: 0a383831 0a393831 0a303931 0a313931 188.189.190.191.
> 00000290: 0a323931 0a333931 0a343931 0a353931 192.193.194.195.
> 000002a0: 0a363931 0a373931 0a383931 0a393931 196.197.198.199.
> 000002b0: 0a303032 0a313032 0a323032 0a333032 200.201.202.203.
> 000002c0: 0a343032 0a353032 0a363032 0a373032 204.205.206.207.
> 000002d0: 0a383032 0a393032 0a303132 0a313132 208.209.210.211.
> 000002e0: 0a323132 0a333132 0a343132 0a353132 212.213.214.215.
> 000002f0: 0a363132 0a373132 0a383132 0a393132 216.217.218.219.
> 00000300: 0a303232 0a313232 0a323232 0a333232 220.221.222.223.
> 00000310: 0a343232 0a353232 0a363232 0a373232 224.225.226.227.
> 00000320: 0a383232 0a393232 0a303332 0a313332 228.229.230.231.
> 00000330: 0a323332 0a333332 0a343332 0a353332 232.233.234.235.
> 00000340: 0a363332 0a373332 0a383332 0a393332 236.237.238.239.
> 00000350: 0a303432 0a313432 0a323432 0a333432 240.241.242.243.
> 00000360: 0a343432 0a353432 0a363432 0a373432 244.245.246.247.
> 00000370: 0a383432 0a393432 0a303532 0a313532 248.249.250.251.
> 00000380: 0a323532 0a333532 0a343532 0a353532 252.253.254.255.
> 00000390: 0a363532 0a373532 0a383532 0a393532 256.257.258.259.
> 000003a0: 0a303632 0a313632 0a323632 0a333632 260.261.262.263.
> 000003b0: 0a343632 0a353632 0a363632 0a373632 264.265.266.267.
> 000003c0: 0a383632 0a393632 0a303732 0a313732 268.269.270.271.
> 000003d0: 0a323732 0a333732 0a343732 0a353732 272.273.274.275.
> 000003e0: 0a363732 0a373732 0a383732 0a393732 276.277.278.279.
> 000003f0: 0a303832 0a313832 0a323832 0a333832 280.281.282.283.
> 00000400: 0a343832 0a353832 0a363832 0a373832 284.285.286.287.
> 00000410: 0a383832 0a393832 0a303932 0a313932 288.289.290.291.
> 00000420: 0a323932 0a333932 0a343932 0a353932 292.293.294.295.
> 00000430: 0a363932 0a373932 0a383932 0a393932 296.297.298.299.
> 00000440: 0a303033 0a313033 0a323033 0a333033 300.301.302.303.
> 00000450: 0a343033 0a353033 0a363033 0a373033 304.305.306.307.
> 00000460: 0a383033 0a393033 0a303133 0a313133 308.309.310.311.
> 00000470: 0a323133 0a333133 0a343133 0a353133 312.313.314.315.
> 00000480: 0a363133 0a373133 0a383133 0a393133 316.317.318.319.
> 00000490: 0a303233 0a313233 0a323233 0a333233 320.321.322.323.
> 000004a0: 0a343233 0a353233 0a363233 0a373233 324.325.326.327.
> 000004b0: 0a383233 0a393233 0a303333 0a313333 328.329.330.331.
> 000004c0: 0a323333 0a333333 0a343333 0a353333 332.333.334.335.
> 000004d0: 0a363333 0a373333 0a383333 0a393333 336.337.338.339.
> 000004e0: 0a303433 0a313433 0a323433 0a333433 340.341.342.343.
> 000004f0: 0a343433 0a353433 0a363433 0a373433 344.345.346.347.
> 00000500: 0a383433 0a393433 0a303533 0a313533 348.349.350.351.
> 00000510: 0a323533 0a333533 0a343533 0a353533 352.353.354.355.
> 00000520: 0a363533 0a373533 0a383533 0a393533 356.357.358.359.
> 00000530: 0a303633 0a313633 0a323633 0a333633 360.361.362.363.
> 00000540: 0a343633 0a353633 0a363633 0a373633 364.365.366.367.
> 00000550: 0a383633 0a393633 0a303733 0a313733 368.369.370.371.
> 00000560: 0a323733 0a333733 0a343733 0a353733 372.373.374.375.
> 00000570: 0a363733 0a373733 0a383733 0a393733 376.377.378.379.
> 00000580: 0a303833 0a313833 0a323833 0a333833 380.381.382.383.
> 00000590: 0a343833 0a353833 0a363833 0a373833 384.385.386.387.
> 000005a0: 0a383833 0a393833 0a303933 0a313933 388.389.390.391.
> 000005b0: 0a323933 0a333933 0a343933 0a353933 392.393.394.395.
> 000005c0: 0a363933 0a373933 0a383933 0a393933 396.397.398.399.
> 000005d0: 0a303034 0a313034 0a323034 0a333034 400.401.402.403.
> 000005e0: 0a343034 0a353034 0a363034 0a373034 404.405.406.407.
> 000005f0: 0a383034 0a393034 0a303134 0a313134 408.409.410.411.
> 00000600: 0a323134 0a333134 0a343134 0a353134 412.413.414.415.
> 00000610: 0a363134 0a373134 0a383134 0a393134 416.417.418.419.
> 00000620: 0a303234 0a313234 0a323234 0a333234 420.421.422.423.
> 00000630: 0a343234 0a353234 0a363234 0a373234 424.425.426.427.
> 00000640: 0a383234 0a393234 0a303334 0a313334 428.429.430.431.
> 00000650: 0a323334 0a333334 0a343334 0a353334 432.433.434.435.
> 00000660: 0a363334 0a373334 0a383334 0a393334 436.437.438.439.
> 00000670: 0a303434 0a313434 0a323434 0a333434 440.441.442.443.
> 00000680: 0a343434 0a353434 0a363434 0a373434 444.445.446.447.
> 00000690: 0a383434 0a393434 0a303534 0a313534 448.449.450.451.
> 000006a0: 0a323534 0a333534 0a343534 0a353534 452.453.454.455.
> 000006b0: 0a363534 0a373534 0a383534 0a393534 456.457.458.459.
> 000006c0: 0a303634 0a313634 0a323634 0a333634 460.461.462.463.
> 000006d0: 0a343634 0a353634 0a363634 0a373634 464.465.466.467.
> 000006e0: 0a383634 0a393634 0a303734 0a313734 468.469.470.471.
> 000006f0: 0a323734 0a333734 0a343734 0a353734 472.473.474.475.
> 00000700: 0a363734 0a373734 0a383734 0a393734 476.477.478.479.
> 00000710: 0a303834 0a313834 0a323834 0a333834 480.481.482.483.
> 00000720: 0a343834 0a353834 0a363834 0a373834 484.485.486.487.
> 00000730: 0a383834 0a393834 0a303934 0a313934 488.489.490.491.
> 00000740: 0a323934 0a333934 0a343934 0a353934 492.493.494.495.
> 00000750: 0a363934 0a373934 0a383934 0a393934 496.497.498.499.
> 00000760: 0a303035 0a313035 0a323035 0a333035 500.501.502.503.
> 00000770: 0a343035 0a353035 0a363035 0a373035 504.505.506.507.
> 00000780: 0a383035 0a393035 0a303135 0a313135 508.509.510.511.
> 00000790: 0a323135 0a333135 0a343135 0a353135 512.513.514.515.
> 000007a0: 0a363135 0a373135 0a383135 0a393135 516.517.518.519.
> 000007b0: 0a303235 0a313235 0a323235 0a333235 520.521.522.523.
> 000007c0: 0a343235 0a353235 0a363235 0a373235 524.525.526.527.
> 000007d0: 0a383235 0a393235 0a303335 0a313335 528.529.530.531.
> 000007e0: 0a323335 0a333335 0a343335 0a353335 532.533.534.535.
> 000007f0: 0a363335 0a373335 0a383335 0a393335 536.537.538.539.
> 00000800: 0a303435 0a313435 0a323435 0a333435 540.541.542.543.
> 00000810: 0a343435 0a353435 0a363435 0a373435 544.545.546.547.
> 00000820: 0a383435 0a393435 0a303535 0a313535 548.549.550.551.
> 00000830: 0a323535 0a333535 0a343535 0a353535 552.553.554.555.
Because the data looks right(?), despite the error prints, I tried
ubiformat again from barebox, then booted linux from SD, and attached
the ubi nand partition in linux... which worked fine.
All volumes and data were there.
Very confused about what's going wrong here.
--
I have since also tried attaching from barebox again, ignoring all the
errors. It does (after several minutes) finally succeed in attaching,
and recognizes all volumes.
Tibault
More information about the barebox
mailing list