linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [Bug] mtd: rawnand: gpmi
@ 2019-09-05 20:26 Sean Nyekjaer
  2019-09-05 20:39 ` Marc Kleine-Budde
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-05 20:26 UTC (permalink / raw)
  To: s.hauer, miquel.raynal, linux-mtd; +Cc: mkl

Hi,

I have been troubleshooting some CAN problems on our imx6ull with a raw 
nand flash.
I normally run with a 4.19 series kernel, but to verify those CAN 
problems have been resolved in newer kernels i have been trying ~5.3-rc6.

But with that kernel i have run into trouble with ubifs, it throws a lot 
of errors:
[  188.384572] Not a node, first 24 bytes:
[  188.384588] 00000000: ff ff ff 00 00 00 00 e4 03 00 00 a0 81 00 00 01 
00 00 00 00 00 00 00 00                          ........................
[  188.402976] UBIFS error (ubi0:8 pid 117): ubifs_read_node: bad node 
type (0 but expected 3)
[  188.411605] UBIFS error (ubi0:8 pid 117): ubifs_read_node: bad node 
at LEB 46:49888, LEB mapping status 1

I started a bisect from Linux 5.3-rc7 (bad) to 5.2 (good).
And i'm ending up here:

commit ef347c0cfd619a9251e5a2f9ff72e33650a9bccb (HEAD)
Author: Sascha Hauer <s.hauer@pengutronix.de>
Date:   Tue May 21 09:06:43 2019 +0200

     mtd: rawnand: gpmi: Implement exec_op

dmesg on boot:
[    1.229431] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
[    1.229472] nand: Toshiba NAND 512MiB 3,3V 8-bit
[    1.229510] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, 
OOB size: 128
[    1.229547] ------------[ cut here ]------------
[    1.229604] WARNING: CPU: 0 PID: 1 at 
drivers/mtd/nand/raw/internals.h:114 nand_reset_op+0x198/0x1c0
[    1.229633] Modules linked in:
[    1.229684] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 
5.2.0-rc3-00022-gef347c0cfd61 #84
[    1.229709] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[    1.229770] [<c011184c>] (unwind_backtrace) from [<c010cc78>] 
(show_stack+0x10/0x14)
[    1.229825] [<c010cc78>] (show_stack) from [<c0877328>] 
(dump_stack+0xd4/0x108)
[    1.229880] [<c0877328>] (dump_stack) from [<c0125ffc>] 
(__warn.part.0+0xa8/0xe8)
[    1.229925] [<c0125ffc>] (__warn.part.0) from [<c012619c>] 
(warn_slowpath_null+0x40/0x4c)
[    1.229970] [<c012619c>] (warn_slowpath_null) from [<c0568018>] 
(nand_reset_op+0x198/0x1c0)
[    1.230019] [<c0568018>] (nand_reset_op) from [<c0569d88>] 
(nand_reset+0x58/0xb4)
[    1.230066] [<c0569d88>] (nand_reset) from [<c056a81c>] 
(nand_scan_with_ids+0x6ac/0x15bc)
[    1.230112] [<c056a81c>] (nand_scan_with_ids) from [<c05736b8>] 
(gpmi_nand_probe+0x2b8/0x708)
[    1.230160] [<c05736b8>] (gpmi_nand_probe) from [<c052813c>] 
(platform_drv_probe+0x48/0x98)
[    1.230208] [<c052813c>] (platform_drv_probe) from [<c0525f7c>] 
(really_probe+0xec/0x2c8)
[    1.230260] [<c0525f7c>] (really_probe) from [<c05262b4>] 
(driver_probe_device+0x5c/0x160)
[    1.230303] [<c05262b4>] (driver_probe_device) from [<c0526558>] 
(device_driver_attach+0x58/0x60)
[    1.230343] [<c0526558>] (device_driver_attach) from [<c05265b8>] 
(__driver_attach+0x58/0xd0)
[    1.230391] [<c05265b8>] (__driver_attach) from [<c052442c>] 
(bus_for_each_dev+0x78/0xb8)
[    1.230441] [<c052442c>] (bus_for_each_dev) from [<c052544c>] 
(bus_add_driver+0x150/0x1dc)
[    1.230484] [<c052544c>] (bus_add_driver) from [<c0527248>] 
(driver_register+0x74/0x108)
[    1.230528] [<c0527248>] (driver_register) from [<c0103090>] 
(do_one_initcall+0x80/0x334)
[    1.230576] [<c0103090>] (do_one_initcall) from [<c0c011b4>] 
(kernel_init_freeable+0x2fc/0x3e4)
[    1.230623] [<c0c011b4>] (kernel_init_freeable) from [<c088fe1c>] 
(kernel_init+0x8/0x110)
[    1.230668] [<c088fe1c>] (kernel_init) from [<c01010b4>] 
(ret_from_fork+0x14/0x20)
[    1.230697] Exception stack(0xc8097fb0 to 0xc8097ff8)
[    1.230733] 7fa0:                                     00000000 
00000000 00000000 00000000
[    1.230772] 7fc0: 00000000 00000000 00000000 00000000 00000000 
00000000 00000000 00000000
[    1.230806] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    1.230832] irq event stamp: 104011
[    1.230875] hardirqs last  enabled at (104017): [<c0187e34>] 
console_unlock+0x3f0/0x5c0
[    1.230911] hardirqs last disabled at (104022): [<c0187ac8>] 
console_unlock+0x84/0x5c0
[    1.230950] softirqs last  enabled at (103960): [<c0102540>] 
__do_softirq+0x320/0x50c
[    1.230992] softirqs last disabled at (103953): [<c012d634>] 
irq_exit+0x124/0x18c
[    1.231060] ---[ end trace 12b9d19a5aac4c9f ]---
[    1.234710] Bad block table not found for chip 0
[    1.236076] Bad block table not found for chip 0
[    1.236113] Scanning device for bad blocks
[    1.244907] random: fast init done
[    1.701764] Bad eraseblock 798 at 0x00000c780000
[    2.132734] Bad eraseblock 1536 at 0x000018000000
[    2.133094] Bad eraseblock 1537 at 0x000018040000
[    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
[    2.437254] Bad block table written to 0x00001ff80000, version 0x01

I'm here if anything needs testing :-)

-- 
Best regards,
Sean Nyekjær
Embedded Linux Consultant

+45 42427326
sean@geanix.com

Geanix ApS
https://geanix.com
DK39600706

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-05 20:26 [Bug] mtd: rawnand: gpmi Sean Nyekjaer
@ 2019-09-05 20:39 ` Marc Kleine-Budde
       [not found]   ` <E8555824-943E-45B4-A0ED-D42E13156EEC@geanix.com>
  2019-09-06  7:12 ` Sascha Hauer
  2019-09-10  9:55 ` Sascha Hauer
  2 siblings, 1 reply; 21+ messages in thread
From: Marc Kleine-Budde @ 2019-09-05 20:39 UTC (permalink / raw)
  To: Sean Nyekjaer, s.hauer, miquel.raynal, linux-mtd, linux-can


[-- Attachment #1.1.1: Type: text/plain, Size: 613 bytes --]

On 9/5/19 10:26 PM, Sean Nyekjaer wrote:
> I have been troubleshooting some CAN problems on our imx6ull with a raw 
> nand flash.
> I normally run with a 4.19 series kernel, but to verify those CAN 
> problems have been resolved in newer kernels i have been trying ~5.3-rc6.

What kind of CAN problem? (Cc += linux-can).

Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 144 bytes --]

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
       [not found]   ` <E8555824-943E-45B4-A0ED-D42E13156EEC@geanix.com>
@ 2019-09-06  7:01     ` Marc Kleine-Budde
  0 siblings, 0 replies; 21+ messages in thread
From: Marc Kleine-Budde @ 2019-09-06  7:01 UTC (permalink / raw)
  To: Sean Nyekjær; +Cc: s.hauer, linux-can, linux-mtd, miquel.raynal


[-- Attachment #1.1.1: Type: text/plain, Size: 1131 bytes --]

On 9/5/19 10:58 PM, Sean Nyekjær wrote:
> On 5 Sep 2019, at 22.39, Marc Kleine-Budde <mkl@pengutronix.de
> <mailto:mkl@pengutronix.de>> wrote:
> 
>> On 9/5/19 10:26 PM, Sean Nyekjaer wrote:
>>> I have been troubleshooting some CAN problems on our imx6ull with a raw
>>> nand flash.
>>> I normally run with a 4.19 series kernel, but to verify those CAN
>>> problems have been resolved in newer kernels i have been trying ~5.3-rc6.
>>
>> What kind of CAN problem? (Cc += linux-can).

> The deadlock problem when suspending/waking with flexcan...

Oh right, should have looked at your name :)

> This was supposed to fix it:
> 
> “can: flexcan: fix deadlock when using self wakeup”
> 
> But I can’t easily (in my setup) verify it when ubi/nand is failing :)

Sascha has Maintainer Duties on his todo for today anyways.

Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 144 bytes --]

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-05 20:26 [Bug] mtd: rawnand: gpmi Sean Nyekjaer
  2019-09-05 20:39 ` Marc Kleine-Budde
@ 2019-09-06  7:12 ` Sascha Hauer
  2019-09-06  9:59   ` Sean Nyekjaer
  2019-09-10  9:55 ` Sascha Hauer
  2 siblings, 1 reply; 21+ messages in thread
From: Sascha Hauer @ 2019-09-06  7:12 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: mkl, linux-mtd, miquel.raynal

Hi,

On Thu, Sep 05, 2019 at 10:26:06PM +0200, Sean Nyekjaer wrote:
> Hi,
> 
> I have been troubleshooting some CAN problems on our imx6ull with a raw nand
> flash.
> I normally run with a 4.19 series kernel, but to verify those CAN problems
> have been resolved in newer kernels i have been trying ~5.3-rc6.
> 
> But with that kernel i have run into trouble with ubifs, it throws a lot of
> errors:
> [  188.384572] Not a node, first 24 bytes:
> [  188.384588] 00000000: ff ff ff 00 00 00 00 e4 03 00 00 a0 81 00 00 01 00
> 00 00 00 00 00 00 00                          ........................
> [  188.402976] UBIFS error (ubi0:8 pid 117): ubifs_read_node: bad node type
> (0 but expected 3)
> [  188.411605] UBIFS error (ubi0:8 pid 117): ubifs_read_node: bad node at
> LEB 46:49888, LEB mapping status 1
> 
> I started a bisect from Linux 5.3-rc7 (bad) to 5.2 (good).
> And i'm ending up here:
> 
> commit ef347c0cfd619a9251e5a2f9ff72e33650a9bccb (HEAD)
> Author: Sascha Hauer <s.hauer@pengutronix.de>
> Date:   Tue May 21 09:06:43 2019 +0200

Damn it

> 
>     mtd: rawnand: gpmi: Implement exec_op
> 
> dmesg on boot:
> [    1.229431] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
> [    1.229472] nand: Toshiba NAND 512MiB 3,3V 8-bit
> [    1.229510] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB

4k page size NAND, I didn't have such a device for testing, so indeed it
could be that my patch is broken for 4k NANDs.

> size: 128
> [    1.229547] ------------[ cut here ]------------
> [    1.229604] WARNING: CPU: 0 PID: 1 at
> drivers/mtd/nand/raw/internals.h:114 nand_reset_op+0x198/0x1c0
> [    1.229633] Modules linked in:

This is unrelated. Please cherry-pick:

commit b2b5921fe4b363ff29fea9183aca089231a6bafc
Author: Sascha Hauer <s.hauer@pengutronix.de>
Date:   Tue May 21 10:43:35 2019 +0200

    mtd: rawnand: initialize ntargets with maxchips

> [    1.231060] ---[ end trace 12b9d19a5aac4c9f ]---
> [    1.234710] Bad block table not found for chip 0
> [    1.236076] Bad block table not found for chip 0
> [    1.236113] Scanning device for bad blocks
> [    1.244907] random: fast init done
> [    1.701764] Bad eraseblock 798 at 0x00000c780000
> [    2.132734] Bad eraseblock 1536 at 0x000018000000
> [    2.133094] Bad eraseblock 1537 at 0x000018040000
> [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
> [    2.437254] Bad block table written to 0x00001ff80000, version 0x01

I assume your device had a bbt before, right? In that case we won't have
to go down to UBI, even a plain read seems to be broken.

Could you dump some NAND page with and without ef347c0cfd619a and see if
and how they are different? Something like "nanddump -c -l 4096 /dev/mtdx"
should do it. Maybe you have to adjust the starting address with the -s
option to get some page with data.

Also you could try the mtd test modules to see if tests fail.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-06  7:12 ` Sascha Hauer
@ 2019-09-06  9:59   ` Sean Nyekjaer
  2019-09-06 10:13     ` Sascha Hauer
  0 siblings, 1 reply; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-06  9:59 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: mkl, linux-mtd, miquel.raynal

[-- Attachment #1: Type: text/plain, Size: 3454 bytes --]



On 06/09/2019 09.12, Sascha Hauer wrote:
> Hi,
> 
> On Thu, Sep 05, 2019 at 10:26:06PM +0200, Sean Nyekjaer wrote:
>> Hi,
>>
>> I have been troubleshooting some CAN problems on our imx6ull with a raw nand
>> flash.
>> I normally run with a 4.19 series kernel, but to verify those CAN problems
>> have been resolved in newer kernels i have been trying ~5.3-rc6.
>>
>> But with that kernel i have run into trouble with ubifs, it throws a lot of
>> errors:
>> [  188.384572] Not a node, first 24 bytes:
>> [  188.384588] 00000000: ff ff ff 00 00 00 00 e4 03 00 00 a0 81 00 00 01 00
>> 00 00 00 00 00 00 00                          ........................
>> [  188.402976] UBIFS error (ubi0:8 pid 117): ubifs_read_node: bad node type
>> (0 but expected 3)
>> [  188.411605] UBIFS error (ubi0:8 pid 117): ubifs_read_node: bad node at
>> LEB 46:49888, LEB mapping status 1
>>
>> I started a bisect from Linux 5.3-rc7 (bad) to 5.2 (good).
>> And i'm ending up here:
>>
>> commit ef347c0cfd619a9251e5a2f9ff72e33650a9bccb (HEAD)
>> Author: Sascha Hauer <s.hauer@pengutronix.de>
>> Date:   Tue May 21 09:06:43 2019 +0200
> 
> Damn it
> 
>>
>>      mtd: rawnand: gpmi: Implement exec_op
>>
>> dmesg on boot:
>> [    1.229431] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
>> [    1.229472] nand: Toshiba NAND 512MiB 3,3V 8-bit
>> [    1.229510] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB
> 
> 4k page size NAND, I didn't have such a device for testing, so indeed it
> could be that my patch is broken for 4k NANDs.
> 
>> size: 128
>> [    1.229547] ------------[ cut here ]------------
>> [    1.229604] WARNING: CPU: 0 PID: 1 at
>> drivers/mtd/nand/raw/internals.h:114 nand_reset_op+0x198/0x1c0
>> [    1.229633] Modules linked in:
> 
> This is unrelated. Please cherry-pick:
> 
> commit b2b5921fe4b363ff29fea9183aca089231a6bafc
> Author: Sascha Hauer <s.hauer@pengutronix.de>
> Date:   Tue May 21 10:43:35 2019 +0200
> 
>      mtd: rawnand: initialize ntargets with maxchips

Okay will do :-)

> 
>> [    1.231060] ---[ end trace 12b9d19a5aac4c9f ]---
>> [    1.234710] Bad block table not found for chip 0
>> [    1.236076] Bad block table not found for chip 0
>> [    1.236113] Scanning device for bad blocks
>> [    1.244907] random: fast init done
>> [    1.701764] Bad eraseblock 798 at 0x00000c780000
>> [    2.132734] Bad eraseblock 1536 at 0x000018000000
>> [    2.133094] Bad eraseblock 1537 at 0x000018040000
>> [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
>> [    2.437254] Bad block table written to 0x00001ff80000, version 0x01
> 
> I assume your device had a bbt before, right? In that case we won't have
> to go down to UBI, even a plain read seems to be broken.

Yes my devicetree looks like this:
&gpmi {
         pinctrl-names = "default";
         pinctrl-0 = <&pinctrl_gpmi_nand1>; 
 
 
 

         nand-on-flash-bbt;
         status = "okay";
};
> 
> Could you dump some NAND page with and without ef347c0cfd619a and see if
> and how they are different? Something like "nanddump -c -l 4096 /dev/mtdx"
> should do it. Maybe you have to adjust the starting address with the -s
> option to get some page with data.

nanddump -c -l 4096 -s 0x0040000 /dev/mtd0 > before
nanddump -c -l 4096 -s 0x0040000 /dev/mtd0 > after
files are attached... They don't differ

Is is better to dump them to gist?

/Sean

> 
> Also you could try the mtd test modules to see if tests fail.
> 
> Sascha
> 

[-- Attachment #2: after --]
[-- Type: text/plain, Size: 20480 bytes --]

0x00040000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040010: 00 00 00 00 00 00 73 fb ff ff 46 43 42 20 00 00  |......s...FCB ..|
0x00040020: 00 01 50 3c 19 06 00 00 00 00 00 10 00 00 80 10  |..P<............|
0x00040030: 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00  |..@.............|
0x00040040: 00 00 04 00 00 00 00 02 00 00 00 02 00 00 04 00  |................|
0x00040050: 00 00 0a 00 00 00 07 00 00 00 00 00 00 00 00 00  |................|
0x00040060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02  |................|
0x00040080: 00 00 00 05 00 00 9b 00 00 00 9b 00 00 00 00 01  |................|
0x00040090: 00 00 9b 0f 00 00 0c 68 82 7e 8e 4e 64 37 32 55  |.......h.~.Nd72U|
0x000400a0: 97 45 74 88 96 3e 94 48 bc e3 01 81 e5 4a e3 f8  |.Et..>.H.....J..|
0x000400b0: 43 0a 3a c7 31 31 c4 47 d2 d2 1f 6b cc 8e 1c ea  |C.:.11.G...k....|
0x000400c0: c0 fa d8 e9 e4 ee ce 3f 94 1d 91 28 d9 9d 0d 05  |.......?...(....|
0x000400d0: b5 37 1d be c8 d1 48 00 00 00 00 00 10 00 00 00  |.7....H.........|
0x000400e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000400f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040150: 00 00 00 00 00 00 00 09 d4 d8 b8 d7 0d cd 3e 3e  |..............>>|
0x00040160: b2 37 43 51 25 bb 1d a2 3c d3 17 f9 00 af 85 b1  |.7CQ%...<.......|
0x00040170: f3 ac 86 c8 8d b6 b8 df a4 4a 66 94 fb 69 0c 62  |.........Jf..i.b|
0x00040180: b7 2d 4f 52 83 8e 4a 57 e3 2b 61 eb 71 6a 86 ae  |.-OR..JW.+a.qj..|
0x00040190: 24 9a 13 88 7c 9f 5f e6 00 00 00 00 00 00 00 00  |$...|._.........|
0x000401a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040730: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040bb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040be0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040cb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040cc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040cd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ce0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040cf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040db0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040dc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040dd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040de0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040df0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040eb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|

[-- Attachment #3: before --]
[-- Type: text/plain, Size: 20480 bytes --]

0x00040000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040010: 00 00 00 00 00 00 73 fb ff ff 46 43 42 20 00 00  |......s...FCB ..|
0x00040020: 00 01 50 3c 19 06 00 00 00 00 00 10 00 00 80 10  |..P<............|
0x00040030: 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00  |..@.............|
0x00040040: 00 00 04 00 00 00 00 02 00 00 00 02 00 00 04 00  |................|
0x00040050: 00 00 0a 00 00 00 07 00 00 00 00 00 00 00 00 00  |................|
0x00040060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02  |................|
0x00040080: 00 00 00 05 00 00 9b 00 00 00 9b 00 00 00 00 01  |................|
0x00040090: 00 00 9b 0f 00 00 0c 68 82 7e 8e 4e 64 37 32 55  |.......h.~.Nd72U|
0x000400a0: 97 45 74 88 96 3e 94 48 bc e3 01 81 e5 4a e3 f8  |.Et..>.H.....J..|
0x000400b0: 43 0a 3a c7 31 31 c4 47 d2 d2 1f 6b cc 8e 1c ea  |C.:.11.G...k....|
0x000400c0: c0 fa d8 e9 e4 ee ce 3f 94 1d 91 28 d9 9d 0d 05  |.......?...(....|
0x000400d0: b5 37 1d be c8 d1 48 00 00 00 00 00 10 00 00 00  |.7....H.........|
0x000400e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000400f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040150: 00 00 00 00 00 00 00 09 d4 d8 b8 d7 0d cd 3e 3e  |..............>>|
0x00040160: b2 37 43 51 25 bb 1d a2 3c d3 17 f9 00 af 85 b1  |.7CQ%...<.......|
0x00040170: f3 ac 86 c8 8d b6 b8 df a4 4a 66 94 fb 69 0c 62  |.........Jf..i.b|
0x00040180: b7 2d 4f 52 83 8e 4a 57 e3 2b 61 eb 71 6a 86 ae  |.-OR..JW.+a.qj..|
0x00040190: 24 9a 13 88 7c 9f 5f e6 00 00 00 00 00 00 00 00  |$...|._.........|
0x000401a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000401f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000402f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000403f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000404f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000405f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000406f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040730: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000407f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000408f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x000409f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040a90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040b90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040bb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040be0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040c90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040cb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040cc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040cd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ce0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040cf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040d90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040db0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040dc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040dd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040de0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040df0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040e90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040eb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0x00040ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|

[-- Attachment #4: Type: text/plain, Size: 144 bytes --]

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-06  9:59   ` Sean Nyekjaer
@ 2019-09-06 10:13     ` Sascha Hauer
  2019-09-06 11:06       ` Sean Nyekjaer
  0 siblings, 1 reply; 21+ messages in thread
From: Sascha Hauer @ 2019-09-06 10:13 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: mkl, linux-mtd, miquel.raynal

On Fri, Sep 06, 2019 at 11:59:20AM +0200, Sean Nyekjaer wrote:
> 
> 
> On 06/09/2019 09.12, Sascha Hauer wrote:
> > Hi,
> > 
> > On Thu, Sep 05, 2019 at 10:26:06PM +0200, Sean Nyekjaer wrote:
> > > Hi,
> > > 
> > > I have been troubleshooting some CAN problems on our imx6ull with a raw nand
> > > flash.
> > > I normally run with a 4.19 series kernel, but to verify those CAN problems
> > > have been resolved in newer kernels i have been trying ~5.3-rc6.
> > > 
> > > But with that kernel i have run into trouble with ubifs, it throws a lot of
> > > errors:
> > > [  188.384572] Not a node, first 24 bytes:
> > > [  188.384588] 00000000: ff ff ff 00 00 00 00 e4 03 00 00 a0 81 00 00 01 00
> > > 00 00 00 00 00 00 00                          ........................
> > > [  188.402976] UBIFS error (ubi0:8 pid 117): ubifs_read_node: bad node type
> > > (0 but expected 3)
> > > [  188.411605] UBIFS error (ubi0:8 pid 117): ubifs_read_node: bad node at
> > > LEB 46:49888, LEB mapping status 1
> > > 
> > > I started a bisect from Linux 5.3-rc7 (bad) to 5.2 (good).
> > > And i'm ending up here:
> > > 
> > > commit ef347c0cfd619a9251e5a2f9ff72e33650a9bccb (HEAD)
> > > Author: Sascha Hauer <s.hauer@pengutronix.de>
> > > Date:   Tue May 21 09:06:43 2019 +0200
> > 
> > Damn it
> > 
> > > 
> > >      mtd: rawnand: gpmi: Implement exec_op
> > > 
> > > dmesg on boot:
> > > [    1.229431] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
> > > [    1.229472] nand: Toshiba NAND 512MiB 3,3V 8-bit
> > > [    1.229510] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB
> > 
> > 4k page size NAND, I didn't have such a device for testing, so indeed it
> > could be that my patch is broken for 4k NANDs.
> > 
> > > size: 128
> > > [    1.229547] ------------[ cut here ]------------
> > > [    1.229604] WARNING: CPU: 0 PID: 1 at
> > > drivers/mtd/nand/raw/internals.h:114 nand_reset_op+0x198/0x1c0
> > > [    1.229633] Modules linked in:
> > 
> > This is unrelated. Please cherry-pick:
> > 
> > commit b2b5921fe4b363ff29fea9183aca089231a6bafc
> > Author: Sascha Hauer <s.hauer@pengutronix.de>
> > Date:   Tue May 21 10:43:35 2019 +0200
> > 
> >      mtd: rawnand: initialize ntargets with maxchips
> 
> Okay will do :-)
> 
> > 
> > > [    1.231060] ---[ end trace 12b9d19a5aac4c9f ]---
> > > [    1.234710] Bad block table not found for chip 0
> > > [    1.236076] Bad block table not found for chip 0
> > > [    1.236113] Scanning device for bad blocks
> > > [    1.244907] random: fast init done
> > > [    1.701764] Bad eraseblock 798 at 0x00000c780000
> > > [    2.132734] Bad eraseblock 1536 at 0x000018000000
> > > [    2.133094] Bad eraseblock 1537 at 0x000018040000
> > > [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
> > > [    2.437254] Bad block table written to 0x00001ff80000, version 0x01
> > 
> > I assume your device had a bbt before, right? In that case we won't have
> > to go down to UBI, even a plain read seems to be broken.
> 
> Yes my devicetree looks like this:
> &gpmi {
>         pinctrl-names = "default";
>         pinctrl-0 = <&pinctrl_gpmi_nand1>;
> 
> 
> 
> 
>         nand-on-flash-bbt;
>         status = "okay";
> };
> > 
> > Could you dump some NAND page with and without ef347c0cfd619a and see if
> > and how they are different? Something like "nanddump -c -l 4096 /dev/mtdx"
> > should do it. Maybe you have to adjust the starting address with the -s
> > option to get some page with data.
> 
> nanddump -c -l 4096 -s 0x0040000 /dev/mtd0 > before
> nanddump -c -l 4096 -s 0x0040000 /dev/mtd0 > after
> files are attached... They don't differ
> 
> Is is better to dump them to gist?

With mtd0 you took the blocks containing the bootloader. Try the one on
which the UBI volume is. Also please pick a page that is almost full.

You could generate a page with this (on the working kernel preferably):

flash_erase /dev/mtd2 0 0
seq 2000 | dd bs=4096 count=1 | nandwrite /dev/mtd2 -

Note this will erase /dev/mtd2

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-06 10:13     ` Sascha Hauer
@ 2019-09-06 11:06       ` Sean Nyekjaer
  2019-09-06 13:28         ` Sascha Hauer
  0 siblings, 1 reply; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-06 11:06 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: mkl, linux-mtd, miquel.raynal

[-- Attachment #1: Type: text/plain, Size: 685 bytes --]



On 06/09/2019 12.13, Sascha Hauer wrote:
> With mtd0 you took the blocks containing the bootloader. Try the one on
> which the UBI volume is. Also please pick a page that is almost full.
> 
> You could generate a page with this (on the working kernel preferably):
> 
> flash_erase /dev/mtd2 0 0
> seq 2000 | dd bs=4096 count=1 | nandwrite /dev/mtd2 -
> 
> Note this will erase /dev/mtd2
> 
> Sascha

did the commands decribed above ^^

root@iwg26:~# /tmp/nanddump -c -l 4096 /dev/mtd2
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 4
Block size 262144, page size 4096, OOB size 128
Dumping data starting at 0x00000000 and ending at 0x00001000...

/Sean

[-- Attachment #2: after --]
[-- Type: text/plain, Size: 20480 bytes --]

0x00000000: 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 37 0a 38 0a  |1.2.3.4.5.6.7.8.|
0x00000010: 39 0a 31 30 0a 31 31 0a 31 32 0a 31 33 0a 31 34  |9.10.11.12.13.14|
0x00000020: 0a 31 35 0a 31 36 0a 31 37 0a 31 38 0a 31 39 0a  |.15.16.17.18.19.|
0x00000030: 32 30 0a 32 31 0a 32 32 0a 32 33 0a 32 34 0a 32  |20.21.22.23.24.2|
0x00000040: 35 0a 32 36 0a 32 37 0a 32 38 0a 32 39 0a 33 30  |5.26.27.28.29.30|
0x00000050: 0a 33 31 0a 33 32 0a 33 33 0a 33 34 0a 33 35 0a  |.31.32.33.34.35.|
0x00000060: 33 36 0a 33 37 0a 33 38 0a 33 39 0a 34 30 0a 34  |36.37.38.39.40.4|
0x00000070: 31 0a 34 32 0a 34 33 0a 34 34 0a 34 35 0a 34 36  |1.42.43.44.45.46|
0x00000080: 0a 34 37 0a 34 38 0a 34 39 0a 35 30 0a 35 31 0a  |.47.48.49.50.51.|
0x00000090: 35 32 0a 35 33 0a 35 34 0a 35 35 0a 35 36 0a 35  |52.53.54.55.56.5|
0x000000a0: 37 0a 35 38 0a 35 39 0a 36 30 0a 36 31 0a 36 32  |7.58.59.60.61.62|
0x000000b0: 0a 36 33 0a 36 34 0a 36 35 0a 36 36 0a 36 37 0a  |.63.64.65.66.67.|
0x000000c0: 36 38 0a 36 39 0a 37 30 0a 37 31 0a 37 32 0a 37  |68.69.70.71.72.7|
0x000000d0: 33 0a 37 34 0a 37 35 0a 37 36 0a 37 37 0a 37 38  |3.74.75.76.77.78|
0x000000e0: 0a 37 39 0a 38 30 0a 38 31 0a 38 32 0a 38 33 0a  |.79.80.81.82.83.|
0x000000f0: 38 34 0a 38 35 0a 38 36 0a 38 37 0a 38 38 0a 38  |84.85.86.87.88.8|
0x00000100: 39 0a 39 30 0a 39 31 0a 39 32 0a 39 33 0a 39 34  |9.90.91.92.93.94|
0x00000110: 0a 39 35 0a 39 36 0a 39 37 0a 39 38 0a 39 39 0a  |.95.96.97.98.99.|
0x00000120: 31 30 30 0a 31 30 31 0a 31 30 32 0a 31 30 33 0a  |100.101.102.103.|
0x00000130: 31 30 34 0a 31 30 35 0a 31 30 36 0a 31 30 37 0a  |104.105.106.107.|
0x00000140: 31 30 38 0a 31 30 39 0a 31 31 30 0a 31 31 31 0a  |108.109.110.111.|
0x00000150: 31 31 32 0a 31 31 33 0a 31 31 34 0a 31 31 35 0a  |112.113.114.115.|
0x00000160: 31 31 36 0a 31 31 37 0a 31 31 38 0a 31 31 39 0a  |116.117.118.119.|
0x00000170: 31 32 30 0a 31 32 31 0a 31 32 32 0a 31 32 33 0a  |120.121.122.123.|
0x00000180: 31 32 34 0a 31 32 35 0a 31 32 36 0a 31 32 37 0a  |124.125.126.127.|
0x00000190: 31 32 38 0a 31 32 39 0a 31 33 30 0a 31 33 31 0a  |128.129.130.131.|
0x000001a0: 31 33 32 0a 31 33 33 0a 31 33 34 0a 31 33 35 0a  |132.133.134.135.|
0x000001b0: 31 33 36 0a 31 33 37 0a 31 33 38 0a 31 33 39 0a  |136.137.138.139.|
0x000001c0: 31 34 30 0a 31 34 31 0a 31 34 32 0a 31 34 33 0a  |140.141.142.143.|
0x000001d0: 31 34 34 0a 31 34 35 0a 31 34 36 0a 31 34 37 0a  |144.145.146.147.|
0x000001e0: 31 34 38 0a 31 34 39 0a 31 35 30 0a 31 35 31 0a  |148.149.150.151.|
0x000001f0: 31 35 32 0a 31 35 33 0a 31 35 34 0a 31 35 35 0a  |152.153.154.155.|
0x00000200: 31 35 36 0a 31 35 37 0a 31 35 38 0a 31 35 39 0a  |156.157.158.159.|
0x00000210: 31 36 30 0a 31 36 31 0a 31 36 32 0a 31 36 33 0a  |160.161.162.163.|
0x00000220: 31 36 34 0a 31 36 35 0a 31 36 36 0a 31 36 37 0a  |164.165.166.167.|
0x00000230: 31 36 38 0a 31 36 39 0a 31 37 30 0a 31 37 31 0a  |168.169.170.171.|
0x00000240: 31 37 32 0a 31 37 33 0a 31 37 34 0a 31 37 35 0a  |172.173.174.175.|
0x00000250: 31 37 36 0a 31 37 37 0a 31 37 38 0a 31 37 39 0a  |176.177.178.179.|
0x00000260: 31 38 30 0a 31 38 31 0a 31 38 32 0a 31 38 33 0a  |180.181.182.183.|
0x00000270: 31 38 34 0a 31 38 35 0a 31 38 36 0a 31 38 37 0a  |184.185.186.187.|
0x00000280: 31 38 38 0a 31 38 39 0a 31 39 30 0a 31 39 31 0a  |188.189.190.191.|
0x00000290: 31 39 32 0a 31 39 33 0a 31 39 34 0a 31 39 35 0a  |192.193.194.195.|
0x000002a0: 31 39 36 0a 31 39 37 0a 31 39 38 0a 31 39 39 0a  |196.197.198.199.|
0x000002b0: 32 30 30 0a 32 30 31 0a 32 30 32 0a 32 30 33 0a  |200.201.202.203.|
0x000002c0: 32 30 34 0a 32 30 35 0a 32 30 36 0a 32 30 37 0a  |204.205.206.207.|
0x000002d0: 32 30 38 0a 32 30 39 0a 32 31 30 0a 32 31 31 0a  |208.209.210.211.|
0x000002e0: 32 31 32 0a 32 31 33 0a 32 31 34 0a 32 31 35 0a  |212.213.214.215.|
0x000002f0: 32 31 36 0a 32 31 37 0a 32 31 38 0a 32 31 39 0a  |216.217.218.219.|
0x00000300: 32 32 30 0a 32 32 31 0a 32 32 32 0a 32 32 33 0a  |220.221.222.223.|
0x00000310: 32 32 34 0a 32 32 35 0a 32 32 36 0a 32 32 37 0a  |224.225.226.227.|
0x00000320: 32 32 38 0a 32 32 39 0a 32 33 30 0a 32 33 31 0a  |228.229.230.231.|
0x00000330: 32 33 32 0a 32 33 33 0a 32 33 34 0a 32 33 35 0a  |232.233.234.235.|
0x00000340: 32 33 36 0a 32 33 37 0a 32 33 38 0a 32 33 39 0a  |236.237.238.239.|
0x00000350: 32 34 30 0a 32 34 31 0a 32 34 32 0a 32 34 33 0a  |240.241.242.243.|
0x00000360: 32 34 34 0a 32 34 35 0a 32 34 36 0a 32 34 37 0a  |244.245.246.247.|
0x00000370: 32 34 38 0a 32 34 39 0a 32 35 30 0a 32 35 31 0a  |248.249.250.251.|
0x00000380: 32 35 32 0a 32 35 33 0a 32 35 34 0a 32 35 35 0a  |252.253.254.255.|
0x00000390: 32 35 36 0a 32 35 37 0a 32 35 38 0a 32 35 39 0a  |256.257.258.259.|
0x000003a0: 32 36 30 0a 32 36 31 0a 32 36 32 0a 32 36 33 0a  |260.261.262.263.|
0x000003b0: 32 36 34 0a 32 36 35 0a 32 36 36 0a 32 36 37 0a  |264.265.266.267.|
0x000003c0: 32 36 38 0a 32 36 39 0a 32 37 30 0a 32 37 31 0a  |268.269.270.271.|
0x000003d0: 32 37 32 0a 32 37 33 0a 32 37 34 0a 32 37 35 0a  |272.273.274.275.|
0x000003e0: 32 37 36 0a 32 37 37 0a 32 37 38 0a 32 37 39 0a  |276.277.278.279.|
0x000003f0: 32 38 30 0a 32 38 31 0a 32 38 32 0a 32 38 33 0a  |280.281.282.283.|
0x00000400: 32 38 34 0a 32 38 35 0a 32 38 36 0a 32 38 37 0a  |284.285.286.287.|
0x00000410: 32 38 38 0a 32 38 39 0a 32 39 30 0a 32 39 31 0a  |288.289.290.291.|
0x00000420: 32 39 32 0a 32 39 33 0a 32 39 34 0a 32 39 35 0a  |292.293.294.295.|
0x00000430: 32 39 36 0a 32 39 37 0a 32 39 38 0a 32 39 39 0a  |296.297.298.299.|
0x00000440: 33 30 30 0a 33 30 31 0a 33 30 32 0a 33 30 33 0a  |300.301.302.303.|
0x00000450: 33 30 34 0a 33 30 35 0a 33 30 36 0a 33 30 37 0a  |304.305.306.307.|
0x00000460: 33 30 38 0a 33 30 39 0a 33 31 30 0a 33 31 31 0a  |308.309.310.311.|
0x00000470: 33 31 32 0a 33 31 33 0a 33 31 34 0a 33 31 35 0a  |312.313.314.315.|
0x00000480: 33 31 36 0a 33 31 37 0a 33 31 38 0a 33 31 39 0a  |316.317.318.319.|
0x00000490: 33 32 30 0a 33 32 31 0a 33 32 32 0a 33 32 33 0a  |320.321.322.323.|
0x000004a0: 33 32 34 0a 33 32 35 0a 33 32 36 0a 33 32 37 0a  |324.325.326.327.|
0x000004b0: 33 32 38 0a 33 32 39 0a 33 33 30 0a 33 33 31 0a  |328.329.330.331.|
0x000004c0: 33 33 32 0a 33 33 33 0a 33 33 34 0a 33 33 35 0a  |332.333.334.335.|
0x000004d0: 33 33 36 0a 33 33 37 0a 33 33 38 0a 33 33 39 0a  |336.337.338.339.|
0x000004e0: 33 34 30 0a 33 34 31 0a 33 34 32 0a 33 34 33 0a  |340.341.342.343.|
0x000004f0: 33 34 34 0a 33 34 35 0a 33 34 36 0a 33 34 37 0a  |344.345.346.347.|
0x00000500: 33 34 38 0a 33 34 39 0a 33 35 30 0a 33 35 31 0a  |348.349.350.351.|
0x00000510: 33 35 32 0a 33 35 33 0a 33 35 34 0a 33 35 35 0a  |352.353.354.355.|
0x00000520: 33 35 36 0a 33 35 37 0a 33 35 38 0a 33 35 39 0a  |356.357.358.359.|
0x00000530: 33 36 30 0a 33 36 31 0a 33 36 32 0a 33 36 33 0a  |360.361.362.363.|
0x00000540: 33 36 34 0a 33 36 35 0a 33 36 36 0a 33 36 37 0a  |364.365.366.367.|
0x00000550: 33 36 38 0a 33 36 39 0a 33 37 30 0a 33 37 31 0a  |368.369.370.371.|
0x00000560: 33 37 32 0a 33 37 33 0a 33 37 34 0a 33 37 35 0a  |372.373.374.375.|
0x00000570: 33 37 36 0a 33 37 37 0a 33 37 38 0a 33 37 39 0a  |376.377.378.379.|
0x00000580: 33 38 30 0a 33 38 31 0a 33 38 32 0a 33 38 33 0a  |380.381.382.383.|
0x00000590: 33 38 34 0a 33 38 35 0a 33 38 36 0a 33 38 37 0a  |384.385.386.387.|
0x000005a0: 33 38 38 0a 33 38 39 0a 33 39 30 0a 33 39 31 0a  |388.389.390.391.|
0x000005b0: 33 39 32 0a 33 39 33 0a 33 39 34 0a 33 39 35 0a  |392.393.394.395.|
0x000005c0: 33 39 36 0a 33 39 37 0a 33 39 38 0a 33 39 39 0a  |396.397.398.399.|
0x000005d0: 34 30 30 0a 34 30 31 0a 34 30 32 0a 34 30 33 0a  |400.401.402.403.|
0x000005e0: 34 30 34 0a 34 30 35 0a 34 30 36 0a 34 30 37 0a  |404.405.406.407.|
0x000005f0: 34 30 38 0a 34 30 39 0a 34 31 30 0a 34 31 31 0a  |408.409.410.411.|
0x00000600: 34 31 32 0a 34 31 33 0a 34 31 34 0a 34 31 35 0a  |412.413.414.415.|
0x00000610: 34 31 36 0a 34 31 37 0a 34 31 38 0a 34 31 39 0a  |416.417.418.419.|
0x00000620: 34 32 30 0a 34 32 31 0a 34 32 32 0a 34 32 33 0a  |420.421.422.423.|
0x00000630: 34 32 34 0a 34 32 35 0a 34 32 36 0a 34 32 37 0a  |424.425.426.427.|
0x00000640: 34 32 38 0a 34 32 39 0a 34 33 30 0a 34 33 31 0a  |428.429.430.431.|
0x00000650: 34 33 32 0a 34 33 33 0a 34 33 34 0a 34 33 35 0a  |432.433.434.435.|
0x00000660: 34 33 36 0a 34 33 37 0a 34 33 38 0a 34 33 39 0a  |436.437.438.439.|
0x00000670: 34 34 30 0a 34 34 31 0a 34 34 32 0a 34 34 33 0a  |440.441.442.443.|
0x00000680: 34 34 34 0a 34 34 35 0a 34 34 36 0a 34 34 37 0a  |444.445.446.447.|
0x00000690: 34 34 38 0a 34 34 39 0a 34 35 30 0a 34 35 31 0a  |448.449.450.451.|
0x000006a0: 34 35 32 0a 34 35 33 0a 34 35 34 0a 34 35 35 0a  |452.453.454.455.|
0x000006b0: 34 35 36 0a 34 35 37 0a 34 35 38 0a 34 35 39 0a  |456.457.458.459.|
0x000006c0: 34 36 30 0a 34 36 31 0a 34 36 32 0a 34 36 33 0a  |460.461.462.463.|
0x000006d0: 34 36 34 0a 34 36 35 0a 34 36 36 0a 34 36 37 0a  |464.465.466.467.|
0x000006e0: 34 36 38 0a 34 36 39 0a 34 37 30 0a 34 37 31 0a  |468.469.470.471.|
0x000006f0: 34 37 32 0a 34 37 33 0a 34 37 34 0a 34 37 35 0a  |472.473.474.475.|
0x00000700: 34 37 36 0a 34 37 37 0a 34 37 38 0a 34 37 39 0a  |476.477.478.479.|
0x00000710: 34 38 30 0a 34 38 31 0a 34 38 32 0a 34 38 33 0a  |480.481.482.483.|
0x00000720: 34 38 34 0a 34 38 35 0a 34 38 36 0a 34 38 37 0a  |484.485.486.487.|
0x00000730: 34 38 38 0a 34 38 39 0a 34 39 30 0a 34 39 31 0a  |488.489.490.491.|
0x00000740: 34 39 32 0a 34 39 33 0a 34 39 34 0a 34 39 35 0a  |492.493.494.495.|
0x00000750: 34 39 36 0a 34 39 37 0a 34 39 38 0a 34 39 39 0a  |496.497.498.499.|
0x00000760: 35 30 30 0a 35 30 31 0a 35 30 32 0a 35 30 33 0a  |500.501.502.503.|
0x00000770: 35 30 34 0a 35 30 35 0a 35 30 36 0a 35 30 37 0a  |504.505.506.507.|
0x00000780: 35 30 38 0a 35 30 39 0a 35 31 30 0a 35 31 31 0a  |508.509.510.511.|
0x00000790: 35 31 32 0a 35 31 33 0a 35 31 34 0a 35 31 35 0a  |512.513.514.515.|
0x000007a0: 35 31 36 0a 35 31 37 0a 35 31 38 0a 35 31 39 0a  |516.517.518.519.|
0x000007b0: 35 32 30 0a 35 32 31 0a 35 32 32 0a 35 32 33 0a  |520.521.522.523.|
0x000007c0: 35 32 34 0a 35 32 35 0a 35 32 36 0a 35 32 37 0a  |524.525.526.527.|
0x000007d0: 35 32 38 0a 35 32 39 0a 35 33 30 0a 35 33 31 0a  |528.529.530.531.|
0x000007e0: 35 33 32 0a 35 33 33 0a 35 33 34 0a 35 33 35 0a  |532.533.534.535.|
0x000007f0: 35 33 36 0a 35 33 37 0a 35 33 38 0a 35 33 39 0a  |536.537.538.539.|
0x00000800: 35 34 30 0a 35 34 31 0a 35 34 32 0a 35 34 33 0a  |540.541.542.543.|
0x00000810: 35 34 34 0a 35 34 35 0a 35 34 36 0a 35 34 37 0a  |544.545.546.547.|
0x00000820: 35 34 38 0a 35 34 39 0a 35 35 30 0a 35 35 31 0a  |548.549.550.551.|
0x00000830: 35 35 32 0a 35 35 33 0a 35 35 34 0a 35 35 35 0a  |552.553.554.555.|
0x00000840: 35 35 36 0a 35 35 37 0a 35 35 38 0a 35 35 39 0a  |556.557.558.559.|
0x00000850: 35 36 30 0a 35 36 31 0a 35 36 32 0a 35 36 33 0a  |560.561.562.563.|
0x00000860: 35 36 34 0a 35 36 35 0a 35 36 36 0a 35 36 37 0a  |564.565.566.567.|
0x00000870: 35 36 38 0a 35 36 39 0a 35 37 30 0a 35 37 31 0a  |568.569.570.571.|
0x00000880: 35 37 32 0a 35 37 33 0a 35 37 34 0a 35 37 35 0a  |572.573.574.575.|
0x00000890: 35 37 36 0a 35 37 37 0a 35 37 38 0a 35 37 39 0a  |576.577.578.579.|
0x000008a0: 35 38 30 0a 35 38 31 0a 35 38 32 0a 35 38 33 0a  |580.581.582.583.|
0x000008b0: 35 38 34 0a 35 38 35 0a 35 38 36 0a 35 38 37 0a  |584.585.586.587.|
0x000008c0: 35 38 38 0a 35 38 39 0a 35 39 30 0a 35 39 31 0a  |588.589.590.591.|
0x000008d0: 35 39 32 0a 35 39 33 0a 35 39 34 0a 35 39 35 0a  |592.593.594.595.|
0x000008e0: 35 39 36 0a 35 39 37 0a 35 39 38 0a 35 39 39 0a  |596.597.598.599.|
0x000008f0: 36 30 30 0a 36 30 31 0a 36 30 32 0a 36 30 33 0a  |600.601.602.603.|
0x00000900: 36 30 34 0a 36 30 35 0a 36 30 36 0a 36 30 37 0a  |604.605.606.607.|
0x00000910: 36 30 38 0a 36 30 39 0a 36 31 30 0a 36 31 31 0a  |608.609.610.611.|
0x00000920: 36 31 32 0a 36 31 33 0a 36 31 34 0a 36 31 35 0a  |612.613.614.615.|
0x00000930: 36 31 36 0a 36 31 37 0a 36 31 38 0a 36 31 39 0a  |616.617.618.619.|
0x00000940: 36 32 30 0a 36 32 31 0a 36 32 32 0a 36 32 33 0a  |620.621.622.623.|
0x00000950: 36 32 34 0a 36 32 35 0a 36 32 36 0a 36 32 37 0a  |624.625.626.627.|
0x00000960: 36 32 38 0a 36 32 39 0a 36 33 30 0a 36 33 31 0a  |628.629.630.631.|
0x00000970: 36 33 32 0a 36 33 33 0a 36 33 34 0a 36 33 35 0a  |632.633.634.635.|
0x00000980: 36 33 36 0a 36 33 37 0a 36 33 38 0a 36 33 39 0a  |636.637.638.639.|
0x00000990: 36 34 30 0a 36 34 31 0a 36 34 32 0a 36 34 33 0a  |640.641.642.643.|
0x000009a0: 36 34 34 0a 36 34 35 0a 36 34 36 0a 36 34 37 0a  |644.645.646.647.|
0x000009b0: 36 34 38 0a 36 34 39 0a 36 35 30 0a 36 35 31 0a  |648.649.650.651.|
0x000009c0: 36 35 32 0a 36 35 33 0a 36 35 34 0a 36 35 35 0a  |652.653.654.655.|
0x000009d0: 36 35 36 0a 36 35 37 0a 36 35 38 0a 36 35 39 0a  |656.657.658.659.|
0x000009e0: 36 36 30 0a 36 36 31 0a 36 36 32 0a 36 36 33 0a  |660.661.662.663.|
0x000009f0: 36 36 34 0a 36 36 35 0a 36 36 36 0a 36 36 37 0a  |664.665.666.667.|
0x00000a00: 36 36 38 0a 36 36 39 0a 36 37 30 0a 36 37 31 0a  |668.669.670.671.|
0x00000a10: 36 37 32 0a 36 37 33 0a 36 37 34 0a 36 37 35 0a  |672.673.674.675.|
0x00000a20: 36 37 36 0a 36 37 37 0a 36 37 38 0a 36 37 39 0a  |676.677.678.679.|
0x00000a30: 36 38 30 0a 36 38 31 0a 36 38 32 0a 36 38 33 0a  |680.681.682.683.|
0x00000a40: 36 38 34 0a 36 38 35 0a 36 38 36 0a 36 38 37 0a  |684.685.686.687.|
0x00000a50: 36 38 38 0a 36 38 39 0a 36 39 30 0a 36 39 31 0a  |688.689.690.691.|
0x00000a60: 36 39 32 0a 36 39 33 0a 36 39 34 0a 36 39 35 0a  |692.693.694.695.|
0x00000a70: 36 39 36 0a 36 39 37 0a 36 39 38 0a 36 39 39 0a  |696.697.698.699.|
0x00000a80: 37 30 30 0a 37 30 31 0a 37 30 32 0a 37 30 33 0a  |700.701.702.703.|
0x00000a90: 37 30 34 0a 37 30 35 0a 37 30 36 0a 37 30 37 0a  |704.705.706.707.|
0x00000aa0: 37 30 38 0a 37 30 39 0a 37 31 30 0a 37 31 31 0a  |708.709.710.711.|
0x00000ab0: 37 31 32 0a 37 31 33 0a 37 31 34 0a 37 31 35 0a  |712.713.714.715.|
0x00000ac0: 37 31 36 0a 37 31 37 0a 37 31 38 0a 37 31 39 0a  |716.717.718.719.|
0x00000ad0: 37 32 30 0a 37 32 31 0a 37 32 32 0a 37 32 33 0a  |720.721.722.723.|
0x00000ae0: 37 32 34 0a 37 32 35 0a 37 32 36 0a 37 32 37 0a  |724.725.726.727.|
0x00000af0: 37 32 38 0a 37 32 39 0a 37 33 30 0a 37 33 31 0a  |728.729.730.731.|
0x00000b00: 37 33 32 0a 37 33 33 0a 37 33 34 0a 37 33 35 0a  |732.733.734.735.|
0x00000b10: 37 33 36 0a 37 33 37 0a 37 33 38 0a 37 33 39 0a  |736.737.738.739.|
0x00000b20: 37 34 30 0a 37 34 31 0a 37 34 32 0a 37 34 33 0a  |740.741.742.743.|
0x00000b30: 37 34 34 0a 37 34 35 0a 37 34 36 0a 37 34 37 0a  |744.745.746.747.|
0x00000b40: 37 34 38 0a 37 34 39 0a 37 35 30 0a 37 35 31 0a  |748.749.750.751.|
0x00000b50: 37 35 32 0a 37 35 33 0a 37 35 34 0a 37 35 35 0a  |752.753.754.755.|
0x00000b60: 37 35 36 0a 37 35 37 0a 37 35 38 0a 37 35 39 0a  |756.757.758.759.|
0x00000b70: 37 36 30 0a 37 36 31 0a 37 36 32 0a 37 36 33 0a  |760.761.762.763.|
0x00000b80: 37 36 34 0a 37 36 35 0a 37 36 36 0a 37 36 37 0a  |764.765.766.767.|
0x00000b90: 37 36 38 0a 37 36 39 0a 37 37 30 0a 37 37 31 0a  |768.769.770.771.|
0x00000ba0: 37 37 32 0a 37 37 33 0a 37 37 34 0a 37 37 35 0a  |772.773.774.775.|
0x00000bb0: 37 37 36 0a 37 37 37 0a 37 37 38 0a 37 37 39 0a  |776.777.778.779.|
0x00000bc0: 37 38 30 0a 37 38 31 0a 37 38 32 0a 37 38 33 0a  |780.781.782.783.|
0x00000bd0: 37 38 34 0a 37 38 35 0a 37 38 36 0a 37 38 37 0a  |784.785.786.787.|
0x00000be0: 37 38 38 0a 37 38 39 0a 37 39 30 0a 37 39 31 0a  |788.789.790.791.|
0x00000bf0: 37 39 32 0a 37 39 33 0a 37 39 34 0a 37 39 35 0a  |792.793.794.795.|
0x00000c00: 37 39 36 0a 37 39 37 0a 37 39 38 0a 37 39 39 0a  |796.797.798.799.|
0x00000c10: 38 30 30 0a 38 30 31 0a 38 30 32 0a 38 30 33 0a  |800.801.802.803.|
0x00000c20: 38 30 34 0a 38 30 35 0a 38 30 36 0a 38 30 37 0a  |804.805.806.807.|
0x00000c30: 38 30 38 0a 38 30 39 0a 38 31 30 0a 38 31 31 0a  |808.809.810.811.|
0x00000c40: 38 31 32 0a 38 31 33 0a 38 31 34 0a 38 31 35 0a  |812.813.814.815.|
0x00000c50: 38 31 36 0a 38 31 37 0a 38 31 38 0a 38 31 39 0a  |816.817.818.819.|
0x00000c60: 38 32 30 0a 38 32 31 0a 38 32 32 0a 38 32 33 0a  |820.821.822.823.|
0x00000c70: 38 32 34 0a 38 32 35 0a 38 32 36 0a 38 32 37 0a  |824.825.826.827.|
0x00000c80: 38 32 38 0a 38 32 39 0a 38 33 30 0a 38 33 31 0a  |828.829.830.831.|
0x00000c90: 38 33 32 0a 38 33 33 0a 38 33 34 0a 38 33 35 0a  |832.833.834.835.|
0x00000ca0: 38 33 36 0a 38 33 37 0a 38 33 38 0a 38 33 39 0a  |836.837.838.839.|
0x00000cb0: 38 34 30 0a 38 34 31 0a 38 34 32 0a 38 34 33 0a  |840.841.842.843.|
0x00000cc0: 38 34 34 0a 38 34 35 0a 38 34 36 0a 38 34 37 0a  |844.845.846.847.|
0x00000cd0: 38 34 38 0a 38 34 39 0a 38 35 30 0a 38 35 31 0a  |848.849.850.851.|
0x00000ce0: 38 35 32 0a 38 35 33 0a 38 35 34 0a 38 35 35 0a  |852.853.854.855.|
0x00000cf0: 38 35 36 0a 38 35 37 0a 38 35 38 0a 38 35 39 0a  |856.857.858.859.|
0x00000d00: 38 36 30 0a 38 36 31 0a 38 36 32 0a 38 36 33 0a  |860.861.862.863.|
0x00000d10: 38 36 34 0a 38 36 35 0a 38 36 36 0a 38 36 37 0a  |864.865.866.867.|
0x00000d20: 38 36 38 0a 38 36 39 0a 38 37 30 0a 38 37 31 0a  |868.869.870.871.|
0x00000d30: 38 37 32 0a 38 37 33 0a 38 37 34 0a 38 37 35 0a  |872.873.874.875.|
0x00000d40: 38 37 36 0a 38 37 37 0a 38 37 38 0a 38 37 39 0a  |876.877.878.879.|
0x00000d50: 38 38 30 0a 38 38 31 0a 38 38 32 0a 38 38 33 0a  |880.881.882.883.|
0x00000d60: 38 38 34 0a 38 38 35 0a 38 38 36 0a 38 38 37 0a  |884.885.886.887.|
0x00000d70: 38 38 38 0a 38 38 39 0a 38 39 30 0a 38 39 31 0a  |888.889.890.891.|
0x00000d80: 38 39 32 0a 38 39 33 0a 38 39 34 0a 38 39 35 0a  |892.893.894.895.|
0x00000d90: 38 39 36 0a 38 39 37 0a 38 39 38 0a 38 39 39 0a  |896.897.898.899.|
0x00000da0: 39 30 30 0a 39 30 31 0a 39 30 32 0a 39 30 33 0a  |900.901.902.903.|
0x00000db0: 39 30 34 0a 39 30 35 0a 39 30 36 0a 39 30 37 0a  |904.905.906.907.|
0x00000dc0: 39 30 38 0a 39 30 39 0a 39 31 30 0a 39 31 31 0a  |908.909.910.911.|
0x00000dd0: 39 31 32 0a 39 31 33 0a 39 31 34 0a 39 31 35 0a  |912.913.914.915.|
0x00000de0: 39 31 36 0a 39 31 37 0a 39 31 38 0a 39 31 39 0a  |916.917.918.919.|
0x00000df0: 39 32 30 0a 39 32 31 0a 39 32 32 0a 39 32 33 0a  |920.921.922.923.|
0x00000e00: 39 32 34 0a 39 32 35 0a 39 32 36 0a 39 32 37 0a  |924.925.926.927.|
0x00000e10: 39 32 38 0a 39 32 39 0a 39 33 30 0a 39 33 31 0a  |928.929.930.931.|
0x00000e20: 39 33 32 0a 39 33 33 0a 39 33 34 0a 39 33 35 0a  |932.933.934.935.|
0x00000e30: 39 33 36 0a 39 33 37 0a 39 33 38 0a 39 33 39 0a  |936.937.938.939.|
0x00000e40: 39 34 30 0a 39 34 31 0a 39 34 32 0a 39 34 33 0a  |940.941.942.943.|
0x00000e50: 39 34 34 0a 39 34 35 0a 39 34 36 0a 39 34 37 0a  |944.945.946.947.|
0x00000e60: 39 34 38 0a 39 34 39 0a 39 35 30 0a 39 35 31 0a  |948.949.950.951.|
0x00000e70: 39 35 32 0a 39 35 33 0a 39 35 34 0a 39 35 35 0a  |952.953.954.955.|
0x00000e80: 39 35 36 0a 39 35 37 0a 39 35 38 0a 39 35 39 0a  |956.957.958.959.|
0x00000e90: 39 36 30 0a 39 36 31 0a 39 36 32 0a 39 36 33 0a  |960.961.962.963.|
0x00000ea0: 39 36 34 0a 39 36 35 0a 39 36 36 0a 39 36 37 0a  |964.965.966.967.|
0x00000eb0: 39 36 38 0a 39 36 39 0a 39 37 30 0a 39 37 31 0a  |968.969.970.971.|
0x00000ec0: 39 37 32 0a 39 37 33 0a 39 37 34 0a 39 37 35 0a  |972.973.974.975.|
0x00000ed0: 39 37 36 0a 39 37 37 0a 39 37 38 0a 39 37 39 0a  |976.977.978.979.|
0x00000ee0: 39 38 30 0a 39 38 31 0a 39 38 32 0a 39 38 33 0a  |980.981.982.983.|
0x00000ef0: 39 38 34 0a 39 38 35 0a 39 38 36 0a 39 38 37 0a  |984.985.986.987.|
0x00000f00: 39 38 38 0a 39 38 39 0a 39 39 30 0a 39 39 31 0a  |988.989.990.991.|
0x00000f10: 39 39 32 0a 39 39 33 0a 39 39 34 0a 39 39 35 0a  |992.993.994.995.|
0x00000f20: 39 39 36 0a 39 39 37 0a 39 39 38 0a 39 39 39 0a  |996.997.998.999.|
0x00000f30: 31 30 30 30 0a 31 30 30 31 0a 31 30 30 32 0a 31  |1000.1001.1002.1|
0x00000f40: 30 30 33 0a 31 30 30 34 0a 31 30 30 35 0a 31 30  |003.1004.1005.10|
0x00000f50: 30 36 0a 31 30 30 37 0a 31 30 30 38 0a 31 30 30  |06.1007.1008.100|
0x00000f60: 39 0a 31 30 31 30 0a 31 30 31 31 0a 31 30 31 32  |9.1010.1011.1012|
0x00000f70: 0a 31 30 31 33 0a 31 30 31 34 0a 31 30 31 35 0a  |.1013.1014.1015.|
0x00000f80: 31 30 31 36 0a 31 30 31 37 0a 31 30 31 38 0a 31  |1016.1017.1018.1|
0x00000f90: 30 31 39 0a 31 30 32 30 0a 31 30 32 31 0a 31 30  |019.1020.1021.10|
0x00000fa0: 32 32 0a 31 30 32 33 0a 31 30 32 34 0a 31 30 32  |22.1023.1024.102|
0x00000fb0: 35 0a 31 30 32 36 0a 31 30 32 37 0a 31 30 32 38  |5.1026.1027.1028|
0x00000fc0: 0a 31 30 32 39 0a 31 30 33 30 0a 31 30 33 31 0a  |.1029.1030.1031.|
0x00000fd0: 31 30 33 32 0a 31 30 33 33 0a 31 30 33 34 0a 31  |1032.1033.1034.1|
0x00000fe0: 30 33 35 0a 31 30 33 36 0a 31 30 33 37 0a 31 30  |035.1036.1037.10|
0x00000ff0: 33 38 0a 31 30 33 39 0a 31 30 34 30 0a 31 30 34  |38.1039.1040.104|

[-- Attachment #3: before --]
[-- Type: text/plain, Size: 20480 bytes --]

0x00000000: 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 37 0a 38 0a  |1.2.3.4.5.6.7.8.|
0x00000010: 39 0a 31 30 0a 31 31 0a 31 32 0a 31 33 0a 31 34  |9.10.11.12.13.14|
0x00000020: 0a 31 35 0a 31 36 0a 31 37 0a 31 38 0a 31 39 0a  |.15.16.17.18.19.|
0x00000030: 32 30 0a 32 31 0a 32 32 0a 32 33 0a 32 34 0a 32  |20.21.22.23.24.2|
0x00000040: 35 0a 32 36 0a 32 37 0a 32 38 0a 32 39 0a 33 30  |5.26.27.28.29.30|
0x00000050: 0a 33 31 0a 33 32 0a 33 33 0a 33 34 0a 33 35 0a  |.31.32.33.34.35.|
0x00000060: 33 36 0a 33 37 0a 33 38 0a 33 39 0a 34 30 0a 34  |36.37.38.39.40.4|
0x00000070: 31 0a 34 32 0a 34 33 0a 34 34 0a 34 35 0a 34 36  |1.42.43.44.45.46|
0x00000080: 0a 34 37 0a 34 38 0a 34 39 0a 35 30 0a 35 31 0a  |.47.48.49.50.51.|
0x00000090: 35 32 0a 35 33 0a 35 34 0a 35 35 0a 35 36 0a 35  |52.53.54.55.56.5|
0x000000a0: 37 0a 35 38 0a 35 39 0a 36 30 0a 36 31 0a 36 32  |7.58.59.60.61.62|
0x000000b0: 0a 36 33 0a 36 34 0a 36 35 0a 36 36 0a 36 37 0a  |.63.64.65.66.67.|
0x000000c0: 36 38 0a 36 39 0a 37 30 0a 37 31 0a 37 32 0a 37  |68.69.70.71.72.7|
0x000000d0: 33 0a 37 34 0a 37 35 0a 37 36 0a 37 37 0a 37 38  |3.74.75.76.77.78|
0x000000e0: 0a 37 39 0a 38 30 0a 38 31 0a 38 32 0a 38 33 0a  |.79.80.81.82.83.|
0x000000f0: 38 34 0a 38 35 0a 38 36 0a 38 37 0a 38 38 0a 38  |84.85.86.87.88.8|
0x00000100: 39 0a 39 30 0a 39 31 0a 39 32 0a 39 33 0a 39 34  |9.90.91.92.93.94|
0x00000110: 0a 39 35 0a 39 36 0a 39 37 0a 39 38 0a 39 39 0a  |.95.96.97.98.99.|
0x00000120: 31 30 30 0a 31 30 31 0a 31 30 32 0a 31 30 33 0a  |100.101.102.103.|
0x00000130: 31 30 34 0a 31 30 35 0a 31 30 36 0a 31 30 37 0a  |104.105.106.107.|
0x00000140: 31 30 38 0a 31 30 39 0a 31 31 30 0a 31 31 31 0a  |108.109.110.111.|
0x00000150: 31 31 32 0a 31 31 33 0a 31 31 34 0a 31 31 35 0a  |112.113.114.115.|
0x00000160: 31 31 36 0a 31 31 37 0a 31 31 38 0a 31 31 39 0a  |116.117.118.119.|
0x00000170: 31 32 30 0a 31 32 31 0a 31 32 32 0a 31 32 33 0a  |120.121.122.123.|
0x00000180: 31 32 34 0a 31 32 35 0a 31 32 36 0a 31 32 37 0a  |124.125.126.127.|
0x00000190: 31 32 38 0a 31 32 39 0a 31 33 30 0a 31 33 31 0a  |128.129.130.131.|
0x000001a0: 31 33 32 0a 31 33 33 0a 31 33 34 0a 31 33 35 0a  |132.133.134.135.|
0x000001b0: 31 33 36 0a 31 33 37 0a 31 33 38 0a 31 33 39 0a  |136.137.138.139.|
0x000001c0: 31 34 30 0a 31 34 31 0a 31 34 32 0a 31 34 33 0a  |140.141.142.143.|
0x000001d0: 31 34 34 0a 31 34 35 0a 31 34 36 0a 31 34 37 0a  |144.145.146.147.|
0x000001e0: 31 34 38 0a 31 34 39 0a 31 35 30 0a 31 35 31 0a  |148.149.150.151.|
0x000001f0: 31 35 32 0a 31 35 33 0a 31 35 34 0a 31 35 35 0a  |152.153.154.155.|
0x00000200: 31 35 36 0a 31 35 37 0a 31 35 38 0a 31 35 39 0a  |156.157.158.159.|
0x00000210: 31 36 30 0a 31 36 31 0a 31 36 32 0a 31 36 33 0a  |160.161.162.163.|
0x00000220: 31 36 34 0a 31 36 35 0a 31 36 36 0a 31 36 37 0a  |164.165.166.167.|
0x00000230: 31 36 38 0a 31 36 39 0a 31 37 30 0a 31 37 31 0a  |168.169.170.171.|
0x00000240: 31 37 32 0a 31 37 33 0a 31 37 34 0a 31 37 35 0a  |172.173.174.175.|
0x00000250: 31 37 36 0a 31 37 37 0a 31 37 38 0a 31 37 39 0a  |176.177.178.179.|
0x00000260: 31 38 30 0a 31 38 31 0a 31 38 32 0a 31 38 33 0a  |180.181.182.183.|
0x00000270: 31 38 34 0a 31 38 35 0a 31 38 36 0a 31 38 37 0a  |184.185.186.187.|
0x00000280: 31 38 38 0a 31 38 39 0a 31 39 30 0a 31 39 31 0a  |188.189.190.191.|
0x00000290: 31 39 32 0a 31 39 33 0a 31 39 34 0a 31 39 35 0a  |192.193.194.195.|
0x000002a0: 31 39 36 0a 31 39 37 0a 31 39 38 0a 31 39 39 0a  |196.197.198.199.|
0x000002b0: 32 30 30 0a 32 30 31 0a 32 30 32 0a 32 30 33 0a  |200.201.202.203.|
0x000002c0: 32 30 34 0a 32 30 35 0a 32 30 36 0a 32 30 37 0a  |204.205.206.207.|
0x000002d0: 32 30 38 0a 32 30 39 0a 32 31 30 0a 32 31 31 0a  |208.209.210.211.|
0x000002e0: 32 31 32 0a 32 31 33 0a 32 31 34 0a 32 31 35 0a  |212.213.214.215.|
0x000002f0: 32 31 36 0a 32 31 37 0a 32 31 38 0a 32 31 39 0a  |216.217.218.219.|
0x00000300: 32 32 30 0a 32 32 31 0a 32 32 32 0a 32 32 33 0a  |220.221.222.223.|
0x00000310: 32 32 34 0a 32 32 35 0a 32 32 36 0a 32 32 37 0a  |224.225.226.227.|
0x00000320: 32 32 38 0a 32 32 39 0a 32 33 30 0a 32 33 31 0a  |228.229.230.231.|
0x00000330: 32 33 32 0a 32 33 33 0a 32 33 34 0a 32 33 35 0a  |232.233.234.235.|
0x00000340: 32 33 36 0a 32 33 37 0a 32 33 38 0a 32 33 39 0a  |236.237.238.239.|
0x00000350: 32 34 30 0a 32 34 31 0a 32 34 32 0a 32 34 33 0a  |240.241.242.243.|
0x00000360: 32 34 34 0a 32 34 35 0a 32 34 36 0a 32 34 37 0a  |244.245.246.247.|
0x00000370: 32 34 38 0a 32 34 39 0a 32 35 30 0a 32 35 31 0a  |248.249.250.251.|
0x00000380: 32 35 32 0a 32 35 33 0a 32 35 34 0a 32 35 35 0a  |252.253.254.255.|
0x00000390: 32 35 36 0a 32 35 37 0a 32 35 38 0a 32 35 39 0a  |256.257.258.259.|
0x000003a0: 32 36 30 0a 32 36 31 0a 32 36 32 0a 32 36 33 0a  |260.261.262.263.|
0x000003b0: 32 36 34 0a 32 36 35 0a 32 36 36 0a 32 36 37 0a  |264.265.266.267.|
0x000003c0: 32 36 38 0a 32 36 39 0a 32 37 30 0a 32 37 31 0a  |268.269.270.271.|
0x000003d0: 32 37 32 0a 32 37 33 0a 32 37 34 0a 32 37 35 0a  |272.273.274.275.|
0x000003e0: 32 37 36 0a 32 37 37 0a 32 37 38 0a 32 37 39 0a  |276.277.278.279.|
0x000003f0: 32 38 30 0a 32 38 31 0a 32 38 32 0a 32 38 33 0a  |280.281.282.283.|
0x00000400: 32 38 34 0a 32 38 35 0a 32 38 36 0a 32 38 37 0a  |284.285.286.287.|
0x00000410: 32 38 38 0a 32 38 39 0a 32 39 30 0a 32 39 31 0a  |288.289.290.291.|
0x00000420: 32 39 32 0a 32 39 33 0a 32 39 34 0a 32 39 35 0a  |292.293.294.295.|
0x00000430: 32 39 36 0a 32 39 37 0a 32 39 38 0a 32 39 39 0a  |296.297.298.299.|
0x00000440: 33 30 30 0a 33 30 31 0a 33 30 32 0a 33 30 33 0a  |300.301.302.303.|
0x00000450: 33 30 34 0a 33 30 35 0a 33 30 36 0a 33 30 37 0a  |304.305.306.307.|
0x00000460: 33 30 38 0a 33 30 39 0a 33 31 30 0a 33 31 31 0a  |308.309.310.311.|
0x00000470: 33 31 32 0a 33 31 33 0a 33 31 34 0a 33 31 35 0a  |312.313.314.315.|
0x00000480: 33 31 36 0a 33 31 37 0a 33 31 38 0a 33 31 39 0a  |316.317.318.319.|
0x00000490: 33 32 30 0a 33 32 31 0a 33 32 32 0a 33 32 33 0a  |320.321.322.323.|
0x000004a0: 33 32 34 0a 33 32 35 0a 33 32 36 0a 33 32 37 0a  |324.325.326.327.|
0x000004b0: 33 32 38 0a 33 32 39 0a 33 33 30 0a 33 33 31 0a  |328.329.330.331.|
0x000004c0: 33 33 32 0a 33 33 33 0a 33 33 34 0a 33 33 35 0a  |332.333.334.335.|
0x000004d0: 33 33 36 0a 33 33 37 0a 33 33 38 0a 33 33 39 0a  |336.337.338.339.|
0x000004e0: 33 34 30 0a 33 34 31 0a 33 34 32 0a 33 34 33 0a  |340.341.342.343.|
0x000004f0: 33 34 34 0a 33 34 35 0a 33 34 36 0a 33 34 37 0a  |344.345.346.347.|
0x00000500: 33 34 38 0a 33 34 39 0a 33 35 30 0a 33 35 31 0a  |348.349.350.351.|
0x00000510: 33 35 32 0a 33 35 33 0a 33 35 34 0a 33 35 35 0a  |352.353.354.355.|
0x00000520: 33 35 36 0a 33 35 37 0a 33 35 38 0a 33 35 39 0a  |356.357.358.359.|
0x00000530: 33 36 30 0a 33 36 31 0a 33 36 32 0a 33 36 33 0a  |360.361.362.363.|
0x00000540: 33 36 34 0a 33 36 35 0a 33 36 36 0a 33 36 37 0a  |364.365.366.367.|
0x00000550: 33 36 38 0a 33 36 39 0a 33 37 30 0a 33 37 31 0a  |368.369.370.371.|
0x00000560: 33 37 32 0a 33 37 33 0a 33 37 34 0a 33 37 35 0a  |372.373.374.375.|
0x00000570: 33 37 36 0a 33 37 37 0a 33 37 38 0a 33 37 39 0a  |376.377.378.379.|
0x00000580: 33 38 30 0a 33 38 31 0a 33 38 32 0a 33 38 33 0a  |380.381.382.383.|
0x00000590: 33 38 34 0a 33 38 35 0a 33 38 36 0a 33 38 37 0a  |384.385.386.387.|
0x000005a0: 33 38 38 0a 33 38 39 0a 33 39 30 0a 33 39 31 0a  |388.389.390.391.|
0x000005b0: 33 39 32 0a 33 39 33 0a 33 39 34 0a 33 39 35 0a  |392.393.394.395.|
0x000005c0: 33 39 36 0a 33 39 37 0a 33 39 38 0a 33 39 39 0a  |396.397.398.399.|
0x000005d0: 34 30 30 0a 34 30 31 0a 34 30 32 0a 34 30 33 0a  |400.401.402.403.|
0x000005e0: 34 30 34 0a 34 30 35 0a 34 30 36 0a 34 30 37 0a  |404.405.406.407.|
0x000005f0: 34 30 38 0a 34 30 39 0a 34 31 30 0a 34 31 31 0a  |408.409.410.411.|
0x00000600: 34 31 32 0a 34 31 33 0a 34 31 34 0a 34 31 35 0a  |412.413.414.415.|
0x00000610: 34 31 36 0a 34 31 37 0a 34 31 38 0a 34 31 39 0a  |416.417.418.419.|
0x00000620: 34 32 30 0a 34 32 31 0a 34 32 32 0a 34 32 33 0a  |420.421.422.423.|
0x00000630: 34 32 34 0a 34 32 35 0a 34 32 36 0a 34 32 37 0a  |424.425.426.427.|
0x00000640: 34 32 38 0a 34 32 39 0a 34 33 30 0a 34 33 31 0a  |428.429.430.431.|
0x00000650: 34 33 32 0a 34 33 33 0a 34 33 34 0a 34 33 35 0a  |432.433.434.435.|
0x00000660: 34 33 36 0a 34 33 37 0a 34 33 38 0a 34 33 39 0a  |436.437.438.439.|
0x00000670: 34 34 30 0a 34 34 31 0a 34 34 32 0a 34 34 33 0a  |440.441.442.443.|
0x00000680: 34 34 34 0a 34 34 35 0a 34 34 36 0a 34 34 37 0a  |444.445.446.447.|
0x00000690: 34 34 38 0a 34 34 39 0a 34 35 30 0a 34 35 31 0a  |448.449.450.451.|
0x000006a0: 34 35 32 0a 34 35 33 0a 34 35 34 0a 34 35 35 0a  |452.453.454.455.|
0x000006b0: 34 35 36 0a 34 35 37 0a 34 35 38 0a 34 35 39 0a  |456.457.458.459.|
0x000006c0: 34 36 30 0a 34 36 31 0a 34 36 32 0a 34 36 33 0a  |460.461.462.463.|
0x000006d0: 34 36 34 0a 34 36 35 0a 34 36 36 0a 34 36 37 0a  |464.465.466.467.|
0x000006e0: 34 36 38 0a 34 36 39 0a 34 37 30 0a 34 37 31 0a  |468.469.470.471.|
0x000006f0: 34 37 32 0a 34 37 33 0a 34 37 34 0a 34 37 35 0a  |472.473.474.475.|
0x00000700: 34 37 36 0a 34 37 37 0a 34 37 38 0a 34 37 39 0a  |476.477.478.479.|
0x00000710: 34 38 30 0a 34 38 31 0a 34 38 32 0a 34 38 33 0a  |480.481.482.483.|
0x00000720: 34 38 34 0a 34 38 35 0a 34 38 36 0a 34 38 37 0a  |484.485.486.487.|
0x00000730: 34 38 38 0a 34 38 39 0a 34 39 30 0a 34 39 31 0a  |488.489.490.491.|
0x00000740: 34 39 32 0a 34 39 33 0a 34 39 34 0a 34 39 35 0a  |492.493.494.495.|
0x00000750: 34 39 36 0a 34 39 37 0a 34 39 38 0a 34 39 39 0a  |496.497.498.499.|
0x00000760: 35 30 30 0a 35 30 31 0a 35 30 32 0a 35 30 33 0a  |500.501.502.503.|
0x00000770: 35 30 34 0a 35 30 35 0a 35 30 36 0a 35 30 37 0a  |504.505.506.507.|
0x00000780: 35 30 38 0a 35 30 39 0a 35 31 30 0a 35 31 31 0a  |508.509.510.511.|
0x00000790: 35 31 32 0a 35 31 33 0a 35 31 34 0a 35 31 35 0a  |512.513.514.515.|
0x000007a0: 35 31 36 0a 35 31 37 0a 35 31 38 0a 35 31 39 0a  |516.517.518.519.|
0x000007b0: 35 32 30 0a 35 32 31 0a 35 32 32 0a 35 32 33 0a  |520.521.522.523.|
0x000007c0: 35 32 34 0a 35 32 35 0a 35 32 36 0a 35 32 37 0a  |524.525.526.527.|
0x000007d0: 35 32 38 0a 35 32 39 0a 35 33 30 0a 35 33 31 0a  |528.529.530.531.|
0x000007e0: 35 33 32 0a 35 33 33 0a 35 33 34 0a 35 33 35 0a  |532.533.534.535.|
0x000007f0: 35 33 36 0a 35 33 37 0a 35 33 38 0a 35 33 39 0a  |536.537.538.539.|
0x00000800: 35 34 30 0a 35 34 31 0a 35 34 32 0a 35 34 33 0a  |540.541.542.543.|
0x00000810: 35 34 34 0a 35 34 35 0a 35 34 36 0a 35 34 37 0a  |544.545.546.547.|
0x00000820: 35 34 38 0a 35 34 39 0a 35 35 30 0a 35 35 31 0a  |548.549.550.551.|
0x00000830: 35 35 32 0a 35 35 33 0a 35 35 34 0a 35 35 35 0a  |552.553.554.555.|
0x00000840: 35 35 36 0a 35 35 37 0a 35 35 38 0a 35 35 39 0a  |556.557.558.559.|
0x00000850: 35 36 30 0a 35 36 31 0a 35 36 32 0a 35 36 33 0a  |560.561.562.563.|
0x00000860: 35 36 34 0a 35 36 35 0a 35 36 36 0a 35 36 37 0a  |564.565.566.567.|
0x00000870: 35 36 38 0a 35 36 39 0a 35 37 30 0a 35 37 31 0a  |568.569.570.571.|
0x00000880: 35 37 32 0a 35 37 33 0a 35 37 34 0a 35 37 35 0a  |572.573.574.575.|
0x00000890: 35 37 36 0a 35 37 37 0a 35 37 38 0a 35 37 39 0a  |576.577.578.579.|
0x000008a0: 35 38 30 0a 35 38 31 0a 35 38 32 0a 35 38 33 0a  |580.581.582.583.|
0x000008b0: 35 38 34 0a 35 38 35 0a 35 38 36 0a 35 38 37 0a  |584.585.586.587.|
0x000008c0: 35 38 38 0a 35 38 39 0a 35 39 30 0a 35 39 31 0a  |588.589.590.591.|
0x000008d0: 35 39 32 0a 35 39 33 0a 35 39 34 0a 35 39 35 0a  |592.593.594.595.|
0x000008e0: 35 39 36 0a 35 39 37 0a 35 39 38 0a 35 39 39 0a  |596.597.598.599.|
0x000008f0: 36 30 30 0a 36 30 31 0a 36 30 32 0a 36 30 33 0a  |600.601.602.603.|
0x00000900: 36 30 34 0a 36 30 35 0a 36 30 36 0a 36 30 37 0a  |604.605.606.607.|
0x00000910: 36 30 38 0a 36 30 39 0a 36 31 30 0a 36 31 31 0a  |608.609.610.611.|
0x00000920: 36 31 32 0a 36 31 33 0a 36 31 34 0a 36 31 35 0a  |612.613.614.615.|
0x00000930: 36 31 36 0a 36 31 37 0a 36 31 38 0a 36 31 39 0a  |616.617.618.619.|
0x00000940: 36 32 30 0a 36 32 31 0a 36 32 32 0a 36 32 33 0a  |620.621.622.623.|
0x00000950: 36 32 34 0a 36 32 35 0a 36 32 36 0a 36 32 37 0a  |624.625.626.627.|
0x00000960: 36 32 38 0a 36 32 39 0a 36 33 30 0a 36 33 31 0a  |628.629.630.631.|
0x00000970: 36 33 32 0a 36 33 33 0a 36 33 34 0a 36 33 35 0a  |632.633.634.635.|
0x00000980: 36 33 36 0a 36 33 37 0a 36 33 38 0a 36 33 39 0a  |636.637.638.639.|
0x00000990: 36 34 30 0a 36 34 31 0a 36 34 32 0a 36 34 33 0a  |640.641.642.643.|
0x000009a0: 36 34 34 0a 36 34 35 0a 36 34 36 0a 36 34 37 0a  |644.645.646.647.|
0x000009b0: 36 34 38 0a 36 34 39 0a 36 35 30 0a 36 35 31 0a  |648.649.650.651.|
0x000009c0: 36 35 32 0a 36 35 33 0a 36 35 34 0a 36 35 35 0a  |652.653.654.655.|
0x000009d0: 36 35 36 0a 36 35 37 0a 36 35 38 0a 36 35 39 0a  |656.657.658.659.|
0x000009e0: 36 36 30 0a 36 36 31 0a 36 36 32 0a 36 36 33 0a  |660.661.662.663.|
0x000009f0: 36 36 34 0a 36 36 35 0a 36 36 36 0a 36 36 37 0a  |664.665.666.667.|
0x00000a00: 36 36 38 0a 36 36 39 0a 36 37 30 0a 36 37 31 0a  |668.669.670.671.|
0x00000a10: 36 37 32 0a 36 37 33 0a 36 37 34 0a 36 37 35 0a  |672.673.674.675.|
0x00000a20: 36 37 36 0a 36 37 37 0a 36 37 38 0a 36 37 39 0a  |676.677.678.679.|
0x00000a30: 36 38 30 0a 36 38 31 0a 36 38 32 0a 36 38 33 0a  |680.681.682.683.|
0x00000a40: 36 38 34 0a 36 38 35 0a 36 38 36 0a 36 38 37 0a  |684.685.686.687.|
0x00000a50: 36 38 38 0a 36 38 39 0a 36 39 30 0a 36 39 31 0a  |688.689.690.691.|
0x00000a60: 36 39 32 0a 36 39 33 0a 36 39 34 0a 36 39 35 0a  |692.693.694.695.|
0x00000a70: 36 39 36 0a 36 39 37 0a 36 39 38 0a 36 39 39 0a  |696.697.698.699.|
0x00000a80: 37 30 30 0a 37 30 31 0a 37 30 32 0a 37 30 33 0a  |700.701.702.703.|
0x00000a90: 37 30 34 0a 37 30 35 0a 37 30 36 0a 37 30 37 0a  |704.705.706.707.|
0x00000aa0: 37 30 38 0a 37 30 39 0a 37 31 30 0a 37 31 31 0a  |708.709.710.711.|
0x00000ab0: 37 31 32 0a 37 31 33 0a 37 31 34 0a 37 31 35 0a  |712.713.714.715.|
0x00000ac0: 37 31 36 0a 37 31 37 0a 37 31 38 0a 37 31 39 0a  |716.717.718.719.|
0x00000ad0: 37 32 30 0a 37 32 31 0a 37 32 32 0a 37 32 33 0a  |720.721.722.723.|
0x00000ae0: 37 32 34 0a 37 32 35 0a 37 32 36 0a 37 32 37 0a  |724.725.726.727.|
0x00000af0: 37 32 38 0a 37 32 39 0a 37 33 30 0a 37 33 31 0a  |728.729.730.731.|
0x00000b00: 37 33 32 0a 37 33 33 0a 37 33 34 0a 37 33 35 0a  |732.733.734.735.|
0x00000b10: 37 33 36 0a 37 33 37 0a 37 33 38 0a 37 33 39 0a  |736.737.738.739.|
0x00000b20: 37 34 30 0a 37 34 31 0a 37 34 32 0a 37 34 33 0a  |740.741.742.743.|
0x00000b30: 37 34 34 0a 37 34 35 0a 37 34 36 0a 37 34 37 0a  |744.745.746.747.|
0x00000b40: 37 34 38 0a 37 34 39 0a 37 35 30 0a 37 35 31 0a  |748.749.750.751.|
0x00000b50: 37 35 32 0a 37 35 33 0a 37 35 34 0a 37 35 35 0a  |752.753.754.755.|
0x00000b60: 37 35 36 0a 37 35 37 0a 37 35 38 0a 37 35 39 0a  |756.757.758.759.|
0x00000b70: 37 36 30 0a 37 36 31 0a 37 36 32 0a 37 36 33 0a  |760.761.762.763.|
0x00000b80: 37 36 34 0a 37 36 35 0a 37 36 36 0a 37 36 37 0a  |764.765.766.767.|
0x00000b90: 37 36 38 0a 37 36 39 0a 37 37 30 0a 37 37 31 0a  |768.769.770.771.|
0x00000ba0: 37 37 32 0a 37 37 33 0a 37 37 34 0a 37 37 35 0a  |772.773.774.775.|
0x00000bb0: 37 37 36 0a 37 37 37 0a 37 37 38 0a 37 37 39 0a  |776.777.778.779.|
0x00000bc0: 37 38 30 0a 37 38 31 0a 37 38 32 0a 37 38 33 0a  |780.781.782.783.|
0x00000bd0: 37 38 34 0a 37 38 35 0a 37 38 36 0a 37 38 37 0a  |784.785.786.787.|
0x00000be0: 37 38 38 0a 37 38 39 0a 37 39 30 0a 37 39 31 0a  |788.789.790.791.|
0x00000bf0: 37 39 32 0a 37 39 33 0a 37 39 34 0a 37 39 35 0a  |792.793.794.795.|
0x00000c00: 37 39 36 0a 37 39 37 0a 37 39 38 0a 37 39 39 0a  |796.797.798.799.|
0x00000c10: 38 30 30 0a 38 30 31 0a 38 30 32 0a 38 30 33 0a  |800.801.802.803.|
0x00000c20: 38 30 34 0a 38 30 35 0a 38 30 36 0a 38 30 37 0a  |804.805.806.807.|
0x00000c30: 38 30 38 0a 38 30 39 0a 38 31 30 0a 38 31 31 0a  |808.809.810.811.|
0x00000c40: 38 31 32 0a 38 31 33 0a 38 31 34 0a 38 31 35 0a  |812.813.814.815.|
0x00000c50: 38 31 36 0a 38 31 37 0a 38 31 38 0a 38 31 39 0a  |816.817.818.819.|
0x00000c60: 38 32 30 0a 38 32 31 0a 38 32 32 0a 38 32 33 0a  |820.821.822.823.|
0x00000c70: 38 32 34 0a 38 32 35 0a 38 32 36 0a 38 32 37 0a  |824.825.826.827.|
0x00000c80: 38 32 38 0a 38 32 39 0a 38 33 30 0a 38 33 31 0a  |828.829.830.831.|
0x00000c90: 38 33 32 0a 38 33 33 0a 38 33 34 0a 38 33 35 0a  |832.833.834.835.|
0x00000ca0: 38 33 36 0a 38 33 37 0a 38 33 38 0a 38 33 39 0a  |836.837.838.839.|
0x00000cb0: 38 34 30 0a 38 34 31 0a 38 34 32 0a 38 34 33 0a  |840.841.842.843.|
0x00000cc0: 38 34 34 0a 38 34 35 0a 38 34 36 0a 38 34 37 0a  |844.845.846.847.|
0x00000cd0: 38 34 38 0a 38 34 39 0a 38 35 30 0a 38 35 31 0a  |848.849.850.851.|
0x00000ce0: 38 35 32 0a 38 35 33 0a 38 35 34 0a 38 35 35 0a  |852.853.854.855.|
0x00000cf0: 38 35 36 0a 38 35 37 0a 38 35 38 0a 38 35 39 0a  |856.857.858.859.|
0x00000d00: 38 36 30 0a 38 36 31 0a 38 36 32 0a 38 36 33 0a  |860.861.862.863.|
0x00000d10: 38 36 34 0a 38 36 35 0a 38 36 36 0a 38 36 37 0a  |864.865.866.867.|
0x00000d20: 38 36 38 0a 38 36 39 0a 38 37 30 0a 38 37 31 0a  |868.869.870.871.|
0x00000d30: 38 37 32 0a 38 37 33 0a 38 37 34 0a 38 37 35 0a  |872.873.874.875.|
0x00000d40: 38 37 36 0a 38 37 37 0a 38 37 38 0a 38 37 39 0a  |876.877.878.879.|
0x00000d50: 38 38 30 0a 38 38 31 0a 38 38 32 0a 38 38 33 0a  |880.881.882.883.|
0x00000d60: 38 38 34 0a 38 38 35 0a 38 38 36 0a 38 38 37 0a  |884.885.886.887.|
0x00000d70: 38 38 38 0a 38 38 39 0a 38 39 30 0a 38 39 31 0a  |888.889.890.891.|
0x00000d80: 38 39 32 0a 38 39 33 0a 38 39 34 0a 38 39 35 0a  |892.893.894.895.|
0x00000d90: 38 39 36 0a 38 39 37 0a 38 39 38 0a 38 39 39 0a  |896.897.898.899.|
0x00000da0: 39 30 30 0a 39 30 31 0a 39 30 32 0a 39 30 33 0a  |900.901.902.903.|
0x00000db0: 39 30 34 0a 39 30 35 0a 39 30 36 0a 39 30 37 0a  |904.905.906.907.|
0x00000dc0: 39 30 38 0a 39 30 39 0a 39 31 30 0a 39 31 31 0a  |908.909.910.911.|
0x00000dd0: 39 31 32 0a 39 31 33 0a 39 31 34 0a 39 31 35 0a  |912.913.914.915.|
0x00000de0: 39 31 36 0a 39 31 37 0a 39 31 38 0a 39 31 39 0a  |916.917.918.919.|
0x00000df0: 39 32 30 0a 39 32 31 0a 39 32 32 0a 39 32 33 0a  |920.921.922.923.|
0x00000e00: 39 32 34 0a 39 32 35 0a 39 32 36 0a 39 32 37 0a  |924.925.926.927.|
0x00000e10: 39 32 38 0a 39 32 39 0a 39 33 30 0a 39 33 31 0a  |928.929.930.931.|
0x00000e20: 39 33 32 0a 39 33 33 0a 39 33 34 0a 39 33 35 0a  |932.933.934.935.|
0x00000e30: 39 33 36 0a 39 33 37 0a 39 33 38 0a 39 33 39 0a  |936.937.938.939.|
0x00000e40: 39 34 30 0a 39 34 31 0a 39 34 32 0a 39 34 33 0a  |940.941.942.943.|
0x00000e50: 39 34 34 0a 39 34 35 0a 39 34 36 0a 39 34 37 0a  |944.945.946.947.|
0x00000e60: 39 34 38 0a 39 34 39 0a 39 35 30 0a 39 35 31 0a  |948.949.950.951.|
0x00000e70: 39 35 32 0a 39 35 33 0a 39 35 34 0a 39 35 35 0a  |952.953.954.955.|
0x00000e80: 39 35 36 0a 39 35 37 0a 39 35 38 0a 39 35 39 0a  |956.957.958.959.|
0x00000e90: 39 36 30 0a 39 36 31 0a 39 36 32 0a 39 36 33 0a  |960.961.962.963.|
0x00000ea0: 39 36 34 0a 39 36 35 0a 39 36 36 0a 39 36 37 0a  |964.965.966.967.|
0x00000eb0: 39 36 38 0a 39 36 39 0a 39 37 30 0a 39 37 31 0a  |968.969.970.971.|
0x00000ec0: 39 37 32 0a 39 37 33 0a 39 37 34 0a 39 37 35 0a  |972.973.974.975.|
0x00000ed0: 39 37 36 0a 39 37 37 0a 39 37 38 0a 39 37 39 0a  |976.977.978.979.|
0x00000ee0: 39 38 30 0a 39 38 31 0a 39 38 32 0a 39 38 33 0a  |980.981.982.983.|
0x00000ef0: 39 38 34 0a 39 38 35 0a 39 38 36 0a 39 38 37 0a  |984.985.986.987.|
0x00000f00: 39 38 38 0a 39 38 39 0a 39 39 30 0a 39 39 31 0a  |988.989.990.991.|
0x00000f10: 39 39 32 0a 39 39 33 0a 39 39 34 0a 39 39 35 0a  |992.993.994.995.|
0x00000f20: 39 39 36 0a 39 39 37 0a 39 39 38 0a 39 39 39 0a  |996.997.998.999.|
0x00000f30: 31 30 30 30 0a 31 30 30 31 0a 31 30 30 32 0a 31  |1000.1001.1002.1|
0x00000f40: 30 30 33 0a 31 30 30 34 0a 31 30 30 35 0a 31 30  |003.1004.1005.10|
0x00000f50: 30 36 0a 31 30 30 37 0a 31 30 30 38 0a 31 30 30  |06.1007.1008.100|
0x00000f60: 39 0a 31 30 31 30 0a 31 30 31 31 0a 31 30 31 32  |9.1010.1011.1012|
0x00000f70: 0a 31 30 31 33 0a 31 30 31 34 0a 31 30 31 35 0a  |.1013.1014.1015.|
0x00000f80: 31 30 31 36 0a 31 30 31 37 0a 31 30 31 38 0a 31  |1016.1017.1018.1|
0x00000f90: 30 31 39 0a 31 30 32 30 0a 31 30 32 31 0a 31 30  |019.1020.1021.10|
0x00000fa0: 32 32 0a 31 30 32 33 0a 31 30 32 34 0a 31 30 32  |22.1023.1024.102|
0x00000fb0: 35 0a 31 30 32 36 0a 31 30 32 37 0a 31 30 32 38  |5.1026.1027.1028|
0x00000fc0: 0a 31 30 32 39 0a 31 30 33 30 0a 31 30 33 31 0a  |.1029.1030.1031.|
0x00000fd0: 31 30 33 32 0a 31 30 33 33 0a 31 30 33 34 0a 31  |1032.1033.1034.1|
0x00000fe0: 30 33 35 0a 31 30 33 36 0a 31 30 33 37 0a 31 30  |035.1036.1037.10|
0x00000ff0: 33 38 0a 31 30 33 39 0a 31 30 34 30 0a 31 30 34  |38.1039.1040.104|

[-- Attachment #4: Type: text/plain, Size: 144 bytes --]

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-06 11:06       ` Sean Nyekjaer
@ 2019-09-06 13:28         ` Sascha Hauer
  2019-09-06 15:05           ` Sean Nyekjaer
  0 siblings, 1 reply; 21+ messages in thread
From: Sascha Hauer @ 2019-09-06 13:28 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: mkl, linux-mtd, miquel.raynal

On Fri, Sep 06, 2019 at 01:06:58PM +0200, Sean Nyekjaer wrote:
> 
> 
> On 06/09/2019 12.13, Sascha Hauer wrote:
> > With mtd0 you took the blocks containing the bootloader. Try the one on
> > which the UBI volume is. Also please pick a page that is almost full.
> > 
> > You could generate a page with this (on the working kernel preferably):
> > 
> > flash_erase /dev/mtd2 0 0
> > seq 2000 | dd bs=4096 count=1 | nandwrite /dev/mtd2 -
> > 
> > Note this will erase /dev/mtd2
> > 
> > Sascha
> 
> did the commands decribed above ^^
> 
> root@iwg26:~# /tmp/nanddump -c -l 4096 /dev/mtd2
> ECC failed: 0
> ECC corrected: 0
> Number of bad blocks: 0
> Number of bbt blocks: 4
> Block size 262144, page size 4096, OOB size 128
> Dumping data starting at 0x00000000 and ending at 0x00001000...

Ok, both are identical, so this doesn't bring us further. Have you tried
the mtd test modules?

Sascha


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-06 13:28         ` Sascha Hauer
@ 2019-09-06 15:05           ` Sean Nyekjaer
  0 siblings, 0 replies; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-06 15:05 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: mkl, linux-mtd, miquel.raynal



On 06/09/2019 15.28, Sascha Hauer wrote:
> Ok, both are identical, so this doesn't bring us further. Have you tried
> the mtd test modules?

mtd_oobtest: OK
mtd_subpagetes: OK
mtd_speedtest: OK

Any idea to where I should look?

/Sean

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-05 20:26 [Bug] mtd: rawnand: gpmi Sean Nyekjaer
  2019-09-05 20:39 ` Marc Kleine-Budde
  2019-09-06  7:12 ` Sascha Hauer
@ 2019-09-10  9:55 ` Sascha Hauer
  2019-09-10 10:18   ` Sean Nyekjaer
  2 siblings, 1 reply; 21+ messages in thread
From: Sascha Hauer @ 2019-09-10  9:55 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: mkl, linux-mtd, miquel.raynal

On Thu, Sep 05, 2019 at 10:26:06PM +0200, Sean Nyekjaer wrote:
> Hi,
> 
> I have been troubleshooting some CAN problems on our imx6ull with a raw nand
> flash.
> I normally run with a 4.19 series kernel, but to verify those CAN problems
> have been resolved in newer kernels i have been trying ~5.3-rc6.
> 
> [    1.231060] ---[ end trace 12b9d19a5aac4c9f ]---
> [    1.234710] Bad block table not found for chip 0
> [    1.236076] Bad block table not found for chip 0
> [    1.236113] Scanning device for bad blocks
> [    1.244907] random: fast init done
> [    1.701764] Bad eraseblock 798 at 0x00000c780000
> [    2.132734] Bad eraseblock 1536 at 0x000018000000
> [    2.133094] Bad eraseblock 1537 at 0x000018040000
> [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
> [    2.437254] Bad block table written to 0x00001ff80000, version 0x01

What about this "Bad block table written" message? You should see this
exactly once. Do you see this multiple times, especially when switching
kernels between the good one and the bad one?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-10  9:55 ` Sascha Hauer
@ 2019-09-10 10:18   ` Sean Nyekjaer
  2019-09-10 10:48     ` Sascha Hauer
  0 siblings, 1 reply; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-10 10:18 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: mkl, linux-mtd, miquel.raynal



On 10/09/2019 11.55, Sascha Hauer wrote:
>> [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
>> [    2.437254] Bad block table written to 0x00001ff80000, version 0x01
> What about this "Bad block table written" message? You should see this
> exactly once. Do you see this multiple times, especially when switching
> kernels between the good one and the bad one?
> 
> Sascha

Not exactly sure what you mean, but here is the dumps:

Before (mtd: rawnand: gpmi: Implement exec_op)
[    3.389352] Bad block table written to 0x00001ffc0000, version 0x01
[    3.399019] Bad block table written to 0x00001ff80000, version 0x01

After
[    3.301096] Bad block table written to 0x00001ffc0000, version 0x01
[    3.310599] Bad block table written to 0x00001ff80000, version 0x01

/Sean

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-10 10:18   ` Sean Nyekjaer
@ 2019-09-10 10:48     ` Sascha Hauer
  2019-09-10 11:00       ` Sean Nyekjaer
  0 siblings, 1 reply; 21+ messages in thread
From: Sascha Hauer @ 2019-09-10 10:48 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: mkl, linux-mtd, miquel.raynal

On Tue, Sep 10, 2019 at 12:18:25PM +0200, Sean Nyekjaer wrote:
> 
> 
> On 10/09/2019 11.55, Sascha Hauer wrote:
> > > [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
> > > [    2.437254] Bad block table written to 0x00001ff80000, version 0x01
> > What about this "Bad block table written" message? You should see this
> > exactly once. Do you see this multiple times, especially when switching
> > kernels between the good one and the bad one?
> > 
> > Sascha
> 
> Not exactly sure what you mean, but here is the dumps:
> 
> Before (mtd: rawnand: gpmi: Implement exec_op)
> [    3.389352] Bad block table written to 0x00001ffc0000, version 0x01
> [    3.399019] Bad block table written to 0x00001ff80000, version 0x01
> 
> After
> [    3.301096] Bad block table written to 0x00001ffc0000, version 0x01
> [    3.310599] Bad block table written to 0x00001ff80000, version 0x01

The Bad block table is written once. When you see this message multiple
times then this means that Linux can't read the BBT and writes it again.
So the question is: Start the good kernel multiple times. Do you see
this message once or on each boot? Then start the bad Kernel multiple
times. Do you see the message once or on each boot?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-10 10:48     ` Sascha Hauer
@ 2019-09-10 11:00       ` Sean Nyekjaer
  2019-09-10 11:08         ` Sascha Hauer
  0 siblings, 1 reply; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-10 11:00 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: mkl, linux-mtd, miquel.raynal



On 10/09/2019 12.48, Sascha Hauer wrote:
> On Tue, Sep 10, 2019 at 12:18:25PM +0200, Sean Nyekjaer wrote:
>>
>>
>> On 10/09/2019 11.55, Sascha Hauer wrote:
>>>> [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
>>>> [    2.437254] Bad block table written to 0x00001ff80000, version 0x01
>>> What about this "Bad block table written" message? You should see this
>>> exactly once. Do you see this multiple times, especially when switching
>>> kernels between the good one and the bad one?
>>>
>>> Sascha
>>
>> Not exactly sure what you mean, but here is the dumps:
>>
>> Before (mtd: rawnand: gpmi: Implement exec_op)
>> [    3.389352] Bad block table written to 0x00001ffc0000, version 0x01
>> [    3.399019] Bad block table written to 0x00001ff80000, version 0x01
>>
>> After
>> [    3.301096] Bad block table written to 0x00001ffc0000, version 0x01
>> [    3.310599] Bad block table written to 0x00001ff80000, version 0x01
> 
> The Bad block table is written once. When you see this message multiple
> times then this means that Linux can't read the BBT and writes it again.
> So the question is: Start the good kernel multiple times. Do you see
> this message once or on each boot? Then start the bad Kernel multiple
> times. Do you see the message once or on each boot?
> 
> Sascha
> 

U-boot:
=> nand erase.chip

NAND erase.chip: device 0 whole chip
Skipping bad block at  0x0c780000
Skipping bad block at  0x18000000
Skipping bad block at  0x18040000
Skipping bad block at  0x1ff00000
Skipping bad block at  0x1ff40000
Skipping bad block at  0x1ff80000
Skipping bad block at  0x1ffc0000

Look weird it marks the bbt location bad ?
Or is it a uboot feature?
I have tried another board, and uboot marks the bbt location bad on that 
as well

First boot:
[    4.149870] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc 
 

[    4.156589] nand: Toshiba NAND 512MiB 3,3V 8-bit
[    4.161500] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, 
OOB size: 128 

[    4.175918] Bad block table not found for chip 0
[    4.184059] Bad block table not found for chip 0
[    4.188808] Scanning device for bad blocks
[    4.690183] Bad eraseblock 798 at 0x00000c780000
[    5.155504] Bad eraseblock 1536 at 0x000018000000
[    5.161008] Bad eraseblock 1537 at 0x000018040000
[    5.487883] Bad block table written to 0x00001ffc0000, version 0x01 
 

[    5.498577] Bad block table written to 0x00001ff80000, version 0x01
[    5.506251] 3 fixed-partitions partitions found on MTD device 
gpmi-nand 

[    5.513214] Creating 3 MTD partitions on "gpmi-nand":
[    5.518423] 0x000000000000-0x000000800000 : "boot"
[    5.534167] 0x000000800000-0x00001ca00000 : "ubi"
[    5.906810] 0x00001ca00000-0x000020000000 : "testing"
[    5.958044] gpmi-nand 1806000.gpmi-nand: driver registered.

Second boot:
[    1.377261] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc 
 

[    1.377312] nand: Toshiba NAND 512MiB 3,3V 8-bit 

[    1.377363] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, 
OOB size: 128 

[    1.382752] random: fast init done 
 

[    1.384410] Bad block table not found for chip 0 
 

[    1.387878] Bad block table not found for chip 0
[    1.387928] Scanning device for bad blocks
[    1.900584] Bad eraseblock 798 at 0x00000c780000
[    2.373883] Bad eraseblock 1536 at 0x000018000000
[    2.374633] Bad eraseblock 1537 at 0x000018040000
[    2.705792] Bad block table written to 0x00001ffc0000, version 0x01 
 

[    2.709983] Bad block table written to 0x00001ff80000, version 0x01
[    2.711142] 3 fixed-partitions partitions found on MTD device 
gpmi-nand 

[    2.711193] Creating 3 MTD partitions on "gpmi-nand":
[    2.711313] 0x000000000000-0x000000800000 : "boot"
[    2.722427] 0x000000800000-0x00001ca00000 : "ubi"
[    3.103921] 0x00001ca00000-0x000020000000 : "testing"
[    3.152034] gpmi-nand 1806000.gpmi-nand: driver registered.

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-10 11:00       ` Sean Nyekjaer
@ 2019-09-10 11:08         ` Sascha Hauer
  2019-09-10 11:51           ` Sean Nyekjaer
  0 siblings, 1 reply; 21+ messages in thread
From: Sascha Hauer @ 2019-09-10 11:08 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: mkl, linux-mtd, miquel.raynal

On Tue, Sep 10, 2019 at 01:00:30PM +0200, Sean Nyekjaer wrote:
> 
> 
> On 10/09/2019 12.48, Sascha Hauer wrote:
> > On Tue, Sep 10, 2019 at 12:18:25PM +0200, Sean Nyekjaer wrote:
> > > 
> > > 
> > > On 10/09/2019 11.55, Sascha Hauer wrote:
> > > > > [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
> > > > > [    2.437254] Bad block table written to 0x00001ff80000, version 0x01
> > > > What about this "Bad block table written" message? You should see this
> > > > exactly once. Do you see this multiple times, especially when switching
> > > > kernels between the good one and the bad one?
> > > > 
> > > > Sascha
> > > 
> > > Not exactly sure what you mean, but here is the dumps:
> > > 
> > > Before (mtd: rawnand: gpmi: Implement exec_op)
> > > [    3.389352] Bad block table written to 0x00001ffc0000, version 0x01
> > > [    3.399019] Bad block table written to 0x00001ff80000, version 0x01
> > > 
> > > After
> > > [    3.301096] Bad block table written to 0x00001ffc0000, version 0x01
> > > [    3.310599] Bad block table written to 0x00001ff80000, version 0x01
> > 
> > The Bad block table is written once. When you see this message multiple
> > times then this means that Linux can't read the BBT and writes it again.
> > So the question is: Start the good kernel multiple times. Do you see
> > this message once or on each boot? Then start the bad Kernel multiple
> > times. Do you see the message once or on each boot?
> > 
> > Sascha
> > 
> 
> U-boot:
> => nand erase.chip
> 
> NAND erase.chip: device 0 whole chip
> Skipping bad block at  0x0c780000
> Skipping bad block at  0x18000000
> Skipping bad block at  0x18040000
> Skipping bad block at  0x1ff00000
> Skipping bad block at  0x1ff40000
> Skipping bad block at  0x1ff80000
> Skipping bad block at  0x1ffc0000
> 
> Look weird it marks the bbt location bad ?

Yes, that's normal. The BBT itself is marked as bad. Otherwise the they
would just be used by regular mtd users.

> Or is it a uboot feature?
> I have tried another board, and uboot marks the bbt location bad on that as
> well
> 
> First boot:
> [    4.149870] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
> 
> 
> [    4.156589] nand: Toshiba NAND 512MiB 3,3V 8-bit
> [    4.161500] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB
> size: 128
> 
> [    4.175918] Bad block table not found for chip 0
> [    4.184059] Bad block table not found for chip 0
> [    4.188808] Scanning device for bad blocks
> [    4.690183] Bad eraseblock 798 at 0x00000c780000
> [    5.155504] Bad eraseblock 1536 at 0x000018000000
> [    5.161008] Bad eraseblock 1537 at 0x000018040000
> [    5.487883] Bad block table written to 0x00001ffc0000, version 0x01

And is this the bad kernel or the good kernel? The question I am trying
to answer is: Can the good kernel read the BBT it has written? Can the
bad Kernel do that?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-10 11:08         ` Sascha Hauer
@ 2019-09-10 11:51           ` Sean Nyekjaer
  2019-09-19 11:21             ` Sean Nyekjaer
  0 siblings, 1 reply; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-10 11:51 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: mkl, linux-mtd, miquel.raynal



On 10/09/2019 13.08, Sascha Hauer wrote:
> On Tue, Sep 10, 2019 at 01:00:30PM +0200, Sean Nyekjaer wrote:
>>
>>
>> On 10/09/2019 12.48, Sascha Hauer wrote:
>>> On Tue, Sep 10, 2019 at 12:18:25PM +0200, Sean Nyekjaer wrote:
>>>>
>>>>
>>>> On 10/09/2019 11.55, Sascha Hauer wrote:
>>>>>> [    2.434057] Bad block table written to 0x00001ffc0000, version 0x01
>>>>>> [    2.437254] Bad block table written to 0x00001ff80000, version 0x01
>>>>> What about this "Bad block table written" message? You should see this
>>>>> exactly once. Do you see this multiple times, especially when switching
>>>>> kernels between the good one and the bad one?
>>>>>
>>>>> Sascha
>>>>
>>>> Not exactly sure what you mean, but here is the dumps:
>>>>
>>>> Before (mtd: rawnand: gpmi: Implement exec_op)
>>>> [    3.389352] Bad block table written to 0x00001ffc0000, version 0x01
>>>> [    3.399019] Bad block table written to 0x00001ff80000, version 0x01
>>>>
>>>> After
>>>> [    3.301096] Bad block table written to 0x00001ffc0000, version 0x01
>>>> [    3.310599] Bad block table written to 0x00001ff80000, version 0x01
>>>
>>> The Bad block table is written once. When you see this message multiple
>>> times then this means that Linux can't read the BBT and writes it again.
>>> So the question is: Start the good kernel multiple times. Do you see
>>> this message once or on each boot? Then start the bad Kernel multiple
>>> times. Do you see the message once or on each boot?
>>>
>>> Sascha
>>>
>>
>> U-boot:
>> => nand erase.chip
>>
>> NAND erase.chip: device 0 whole chip
>> Skipping bad block at  0x0c780000
>> Skipping bad block at  0x18000000
>> Skipping bad block at  0x18040000
>> Skipping bad block at  0x1ff00000
>> Skipping bad block at  0x1ff40000
>> Skipping bad block at  0x1ff80000
>> Skipping bad block at  0x1ffc0000
>>
>> Look weird it marks the bbt location bad ?
> 
> Yes, that's normal. The BBT itself is marked as bad. Otherwise the they
> would just be used by regular mtd users.
> 
>> Or is it a uboot feature?
>> I have tried another board, and uboot marks the bbt location bad on that as
>> well
>>
>> First boot:
>> [    4.149870] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
>>
>>
>> [    4.156589] nand: Toshiba NAND 512MiB 3,3V 8-bit
>> [    4.161500] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB
>> size: 128
>>
>> [    4.175918] Bad block table not found for chip 0
>> [    4.184059] Bad block table not found for chip 0
>> [    4.188808] Scanning device for bad blocks
>> [    4.690183] Bad eraseblock 798 at 0x00000c780000
>> [    5.155504] Bad eraseblock 1536 at 0x000018000000
>> [    5.161008] Bad eraseblock 1537 at 0x000018040000
>> [    5.487883] Bad block table written to 0x00001ffc0000, version 0x01
> 
> And is this the bad kernel or the good kernel? The question I am trying
> to answer is: Can the good kernel read the BBT it has written? Can the
> bad Kernel do that?

The "First boot" and "Second boot" was before the exec_op patch...

This is the new kernel including the exec_op patch:
[    1.343615] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc 
 

[    1.343656] nand: Toshiba NAND 512MiB 3,3V 8-bit 
 

[    1.343693] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, 
OOB size: 128 

[    1.348666] random: fast init done 

[    1.349518] Bad block table not found for chip 0
[    1.351451] Bad block table not found for chip 0
[    1.351486] Scanning device for bad blocks
[    1.827337] Bad eraseblock 798 at 0x00000c780000 
 

[    2.265949] Bad eraseblock 1536 at 0x000018000000
[    2.266318] Bad eraseblock 1537 at 0x000018040000 
 

[    2.572820] Bad block table written to 0x00001ffc0000, version 0x01 

[    2.576120] Bad block table written to 0x00001ff80000, version 0x01 
 

[    2.577087] 3 fixed-partitions partitions found on MTD device 
gpmi-nand 

[    2.577127] Creating 3 MTD partitions on "gpmi-nand":
[    2.577188] 0x000000000000-0x000000800000 : "boot" 
 
 
 

[    2.584162] 0x000000800000-0x00001ca00000 : "ubi"
[    2.608571] 0x00001ca00000-0x000020000000 : "testing" 

[    2.614136] gpmi-nand 1806000.gpmi-nand: driver registered.

Exactly the same output... which must mean it fails reading/writing the 
bbt on the 4.19.x series kernel.

/Sean

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-10 11:51           ` Sean Nyekjaer
@ 2019-09-19 11:21             ` Sean Nyekjaer
  2019-09-19 11:27               ` Miquel Raynal
  0 siblings, 1 reply; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-19 11:21 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: mkl, linux-mtd, miquel.raynal



On 10/09/2019 13.51, Sean Nyekjaer wrote:
> 
> 
> On 10/09/2019 13.08, Sascha Hauer wrote:
>> On Tue, Sep 10, 2019 at 01:00:30PM +0200, Sean Nyekjaer wrote:
>>>
>>>
>>> On 10/09/2019 12.48, Sascha Hauer wrote:
>>>> On Tue, Sep 10, 2019 at 12:18:25PM +0200, Sean Nyekjaer wrote:
>>>>>
>>>>>
>>>>> On 10/09/2019 11.55, Sascha Hauer wrote:
>>>>>>> [    2.434057] Bad block table written to 0x00001ffc0000, version 
>>>>>>> 0x01
>>>>>>> [    2.437254] Bad block table written to 0x00001ff80000, version 
>>>>>>> 0x01
>>>>>> What about this "Bad block table written" message? You should see 
>>>>>> this
>>>>>> exactly once. Do you see this multiple times, especially when 
>>>>>> switching
>>>>>> kernels between the good one and the bad one?
>>>>>>
>>>>>> Sascha
>>>>>
>>>>> Not exactly sure what you mean, but here is the dumps:
>>>>>
>>>>> Before (mtd: rawnand: gpmi: Implement exec_op)
>>>>> [    3.389352] Bad block table written to 0x00001ffc0000, version 0x01
>>>>> [    3.399019] Bad block table written to 0x00001ff80000, version 0x01
>>>>>
>>>>> After
>>>>> [    3.301096] Bad block table written to 0x00001ffc0000, version 0x01
>>>>> [    3.310599] Bad block table written to 0x00001ff80000, version 0x01
>>>>
>>>> The Bad block table is written once. When you see this message multiple
>>>> times then this means that Linux can't read the BBT and writes it 
>>>> again.
>>>> So the question is: Start the good kernel multiple times. Do you see
>>>> this message once or on each boot? Then start the bad Kernel multiple
>>>> times. Do you see the message once or on each boot?
>>>>
>>>> Sascha
>>>>
>>>
>>> U-boot:
>>> => nand erase.chip
>>>
>>> NAND erase.chip: device 0 whole chip
>>> Skipping bad block at  0x0c780000
>>> Skipping bad block at  0x18000000
>>> Skipping bad block at  0x18040000
>>> Skipping bad block at  0x1ff00000
>>> Skipping bad block at  0x1ff40000
>>> Skipping bad block at  0x1ff80000
>>> Skipping bad block at  0x1ffc0000
>>>
>>> Look weird it marks the bbt location bad ?
>>
>> Yes, that's normal. The BBT itself is marked as bad. Otherwise the they
>> would just be used by regular mtd users.
>>
>>> Or is it a uboot feature?
>>> I have tried another board, and uboot marks the bbt location bad on 
>>> that as
>>> well
>>>
>>> First boot:
>>> [    4.149870] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
>>>
>>>
>>> [    4.156589] nand: Toshiba NAND 512MiB 3,3V 8-bit
>>> [    4.161500] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 
>>> 4096, OOB
>>> size: 128
>>>
>>> [    4.175918] Bad block table not found for chip 0
>>> [    4.184059] Bad block table not found for chip 0
>>> [    4.188808] Scanning device for bad blocks
>>> [    4.690183] Bad eraseblock 798 at 0x00000c780000
>>> [    5.155504] Bad eraseblock 1536 at 0x000018000000
>>> [    5.161008] Bad eraseblock 1537 at 0x000018040000
>>> [    5.487883] Bad block table written to 0x00001ffc0000, version 0x01
>>
>> And is this the bad kernel or the good kernel? The question I am trying
>> to answer is: Can the good kernel read the BBT it has written? Can the
>> bad Kernel do that?
> 
> The "First boot" and "Second boot" was before the exec_op patch...
> 
> This is the new kernel including the exec_op patch:
> [    1.343615] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
> 
> [    1.343656] nand: Toshiba NAND 512MiB 3,3V 8-bit
> 
> [    1.343693] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, 
> OOB size: 128
> [    1.348666] random: fast init done
> [    1.349518] Bad block table not found for chip 0
> [    1.351451] Bad block table not found for chip 0
> [    1.351486] Scanning device for bad blocks
> [    1.827337] Bad eraseblock 798 at 0x00000c780000
> 
> [    2.265949] Bad eraseblock 1536 at 0x000018000000
> [    2.266318] Bad eraseblock 1537 at 0x000018040000
> 
> [    2.572820] Bad block table written to 0x00001ffc0000, version 0x01
> [    2.576120] Bad block table written to 0x00001ff80000, version 0x01
> 
> [    2.577087] 3 fixed-partitions partitions found on MTD device gpmi-nand
> [    2.577127] Creating 3 MTD partitions on "gpmi-nand":
> [    2.577188] 0x000000000000-0x000000800000 : "boot"
> 
> 
> 
> [    2.584162] 0x000000800000-0x00001ca00000 : "ubi"
> [    2.608571] 0x00001ca00000-0x000020000000 : "testing"
> [    2.614136] gpmi-nand 1806000.gpmi-nand: driver registered.
> 
> Exactly the same output... which must mean it fails reading/writing the 
> bbt on the 4.19.x series kernel.
> 
> /Sean

Hi Sascha

Please let me know when you have some time to look into this :-)
I dosen't seem right that it writes the bbt on a 4.19 series kernel twice

/Sean

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-19 11:21             ` Sean Nyekjaer
@ 2019-09-19 11:27               ` Miquel Raynal
  2019-09-19 12:15                 ` Sean Nyekjaer
  0 siblings, 1 reply; 21+ messages in thread
From: Miquel Raynal @ 2019-09-19 11:27 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: mkl, Sascha Hauer, linux-mtd

Hi Sean,

Sean Nyekjaer <sean@geanix.com> wrote on Thu, 19 Sep 2019 13:21:56
+0200:

> On 10/09/2019 13.51, Sean Nyekjaer wrote:
> > 
> > 
> > On 10/09/2019 13.08, Sascha Hauer wrote:  
> >> On Tue, Sep 10, 2019 at 01:00:30PM +0200, Sean Nyekjaer wrote:  
> >>>
> >>>
> >>> On 10/09/2019 12.48, Sascha Hauer wrote:  
> >>>> On Tue, Sep 10, 2019 at 12:18:25PM +0200, Sean Nyekjaer wrote:  
> >>>>>
> >>>>>
> >>>>> On 10/09/2019 11.55, Sascha Hauer wrote:  
> >>>>>>> [    2.434057] Bad block table written to 0x00001ffc0000, version >>>>>>> 0x01
> >>>>>>> [    2.437254] Bad block table written to 0x00001ff80000, version >>>>>>> 0x01  
> >>>>>> What about this "Bad block table written" message? You should see >>>>>> this
> >>>>>> exactly once. Do you see this multiple times, especially when >>>>>> switching
> >>>>>> kernels between the good one and the bad one?
> >>>>>>
> >>>>>> Sascha  
> >>>>>
> >>>>> Not exactly sure what you mean, but here is the dumps:
> >>>>>
> >>>>> Before (mtd: rawnand: gpmi: Implement exec_op)
> >>>>> [    3.389352] Bad block table written to 0x00001ffc0000, version 0x01
> >>>>> [    3.399019] Bad block table written to 0x00001ff80000, version 0x01
> >>>>>
> >>>>> After
> >>>>> [    3.301096] Bad block table written to 0x00001ffc0000, version 0x01
> >>>>> [    3.310599] Bad block table written to 0x00001ff80000, version 0x01  
> >>>>
> >>>> The Bad block table is written once. When you see this message multiple
> >>>> times then this means that Linux can't read the BBT and writes it >>>> again.
> >>>> So the question is: Start the good kernel multiple times. Do you see
> >>>> this message once or on each boot? Then start the bad Kernel multiple
> >>>> times. Do you see the message once or on each boot?
> >>>>
> >>>> Sascha
> >>>>  
> >>>
> >>> U-boot:  
> >>> => nand erase.chip  
> >>>
> >>> NAND erase.chip: device 0 whole chip
> >>> Skipping bad block at  0x0c780000
> >>> Skipping bad block at  0x18000000
> >>> Skipping bad block at  0x18040000
> >>> Skipping bad block at  0x1ff00000
> >>> Skipping bad block at  0x1ff40000
> >>> Skipping bad block at  0x1ff80000
> >>> Skipping bad block at  0x1ffc0000
> >>>
> >>> Look weird it marks the bbt location bad ?  
> >>
> >> Yes, that's normal. The BBT itself is marked as bad. Otherwise the they
> >> would just be used by regular mtd users.
> >>  
> >>> Or is it a uboot feature?
> >>> I have tried another board, and uboot marks the bbt location bad on >>> that as
> >>> well
> >>>
> >>> First boot:
> >>> [    4.149870] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
> >>>
> >>>
> >>> [    4.156589] nand: Toshiba NAND 512MiB 3,3V 8-bit
> >>> [    4.161500] nand: 512 MiB, SLC, erase size: 256 KiB, page size: >>> 4096, OOB
> >>> size: 128
> >>>
> >>> [    4.175918] Bad block table not found for chip 0
> >>> [    4.184059] Bad block table not found for chip 0
> >>> [    4.188808] Scanning device for bad blocks
> >>> [    4.690183] Bad eraseblock 798 at 0x00000c780000
> >>> [    5.155504] Bad eraseblock 1536 at 0x000018000000
> >>> [    5.161008] Bad eraseblock 1537 at 0x000018040000
> >>> [    5.487883] Bad block table written to 0x00001ffc0000, version 0x01  
> >>
> >> And is this the bad kernel or the good kernel? The question I am trying
> >> to answer is: Can the good kernel read the BBT it has written? Can the
> >> bad Kernel do that?  
> > 
> > The "First boot" and "Second boot" was before the exec_op patch...
> > 
> > This is the new kernel including the exec_op patch:
> > [    1.343615] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
> > 
> > [    1.343656] nand: Toshiba NAND 512MiB 3,3V 8-bit
> > 
> > [    1.343693] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, > OOB size: 128
> > [    1.348666] random: fast init done
> > [    1.349518] Bad block table not found for chip 0
> > [    1.351451] Bad block table not found for chip 0
> > [    1.351486] Scanning device for bad blocks
> > [    1.827337] Bad eraseblock 798 at 0x00000c780000
> > 
> > [    2.265949] Bad eraseblock 1536 at 0x000018000000
> > [    2.266318] Bad eraseblock 1537 at 0x000018040000
> > 
> > [    2.572820] Bad block table written to 0x00001ffc0000, version 0x01
> > [    2.576120] Bad block table written to 0x00001ff80000, version 0x01
> > 
> > [    2.577087] 3 fixed-partitions partitions found on MTD device gpmi-nand
> > [    2.577127] Creating 3 MTD partitions on "gpmi-nand":
> > [    2.577188] 0x000000000000-0x000000800000 : "boot"
> > 
> > 
> > 
> > [    2.584162] 0x000000800000-0x00001ca00000 : "ubi"
> > [    2.608571] 0x00001ca00000-0x000020000000 : "testing"
> > [    2.614136] gpmi-nand 1806000.gpmi-nand: driver registered.
> > 
> > Exactly the same output... which must mean it fails reading/writing the > bbt on the 4.19.x series kernel.
> > 
> > /Sean  
> 
> Hi Sascha
> 
> Please let me know when you have some time to look into this :-)
> I dosen't seem right that it writes the bbt on a 4.19 series kernel twice
> 

For me the disturbing part is:

> >>> [    4.175918] Bad block table not found for chip 0
> >>> [    4.184059] Bad block table not found for chip 0

Writing the BBT twice is expected.

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-19 11:27               ` Miquel Raynal
@ 2019-09-19 12:15                 ` Sean Nyekjaer
  2019-09-20  6:54                   ` Sean Nyekjaer
  2019-09-20  9:17                   ` Sascha Hauer
  0 siblings, 2 replies; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-19 12:15 UTC (permalink / raw)
  To: Miquel Raynal; +Cc: mkl, Sascha Hauer, linux-mtd, Martin Hundebøll


>> Hi Sascha
>>
>> Please let me know when you have some time to look into this :-)
>> I dosen't seem right that it writes the bbt on a 4.19 series kernel twice
>>
> 
> For me the disturbing part is:
> 
>>>>> [    4.175918] Bad block table not found for chip 0
>>>>> [    4.184059] Bad block table not found for chip 0
> 
> Writing the BBT twice is expected.
> 
> Thanks,
> Miquèl
> 

Hi,

Tried this:

diff --git a/drivers/mtd/nand/raw/nand_bbt.c 
b/drivers/mtd/nand/raw/nand_bbt.c
index 39db352f8757..b0337f8a0da4 100644
--- a/drivers/mtd/nand/raw/nand_bbt.c
+++ b/drivers/mtd/nand/raw/nand_bbt.c
@@ -1200,6 +1200,8 @@ static int nand_scan_bbt(struct mtd_info *mtd, 
struct nand_bbt_descr *bd)
         if (res)
                 goto err;

+       search_read_bbts(mtd, buf, td, md);
+
         /* Prevent the bbt regions from erasing / writing */
         mark_bbt_region(mtd, td);
         if (md

Result is:

[    2.191412] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc 
 

[    2.198095] nand: Toshiba NAND 512MiB 3,3V 8-bit 

[    2.202848] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, 
OOB size: 128 

[    2.217337] Bad block table not found for chip 0 
 

[    2.225535] Bad block table not found for chip 0 
 

[    2.230475] Scanning device for bad blocks 
 

[    2.749832] Bad eraseblock 798 at 0x00000c780000
[    3.230712] Bad eraseblock 1536 at 0x000018000000
[    3.236263] Bad eraseblock 1537 at 0x000018040000
[    3.574122] Bad block table written to 0x00001ffc0000, version 0x01
[    3.584874] Bad block table written to 0x00001ff80000, version 0x01
[    3.592306] Bad block table found at page 131008, version 0x01 
 

[    3.600059] Bad block table found at page 130944, version 0x01
[    3.607129] 3 fixed-partitions partitions found on MTD device 
gpmi-nand 

[    3.614105] Creating 3 MTD partitions on "gpmi-nand":
[    3.619540] 0x000000000000-0x000000800000 : "boot"
[    3.635437] 0x000000800000-0x00001ca00000 : "ubi"
[    4.018183] 0x00001ca00000-0x000020000000 : "testing" 
 

[    4.070734] gpmi-nand 1806000.gpmi-nand: driver registered.

Seems like it's U-boot that is corrupting the table.

But I don't think it's related to the original issue with commit
ef347c0cfd619a9251e5a2f9ff72e33650a9bccb

/Sean

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-19 12:15                 ` Sean Nyekjaer
@ 2019-09-20  6:54                   ` Sean Nyekjaer
  2019-09-20  9:17                   ` Sascha Hauer
  1 sibling, 0 replies; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-20  6:54 UTC (permalink / raw)
  To: Miquel Raynal; +Cc: mkl, Sascha Hauer, linux-mtd, Martin Hundebøll



On 19/09/2019 14.15, Sean Nyekjaer wrote:
> 
>>> Hi Sascha
>>>
>>> Please let me know when you have some time to look into this :-)
>>> I dosen't seem right that it writes the bbt on a 4.19 series kernel 
>>> twice
>>>
>>
>> For me the disturbing part is:
>>
>>>>>> [    4.175918] Bad block table not found for chip 0
>>>>>> [    4.184059] Bad block table not found for chip 0
>>
>> Writing the BBT twice is expected.
>>
>> Thanks,
>> Miquèl
>>
> 
> Hi,
> 
> Tried this:
> 
> diff --git a/drivers/mtd/nand/raw/nand_bbt.c 
> b/drivers/mtd/nand/raw/nand_bbt.c
> index 39db352f8757..b0337f8a0da4 100644
> --- a/drivers/mtd/nand/raw/nand_bbt.c
> +++ b/drivers/mtd/nand/raw/nand_bbt.c
> @@ -1200,6 +1200,8 @@ static int nand_scan_bbt(struct mtd_info *mtd, 
> struct nand_bbt_descr *bd)
>          if (res)
>                  goto err;
> 
> +       search_read_bbts(mtd, buf, td, md);
> +
>          /* Prevent the bbt regions from erasing / writing */
>          mark_bbt_region(mtd, td);
>          if (md
> 
> Result is:
> 
> [    2.191412] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
> 
> [    2.198095] nand: Toshiba NAND 512MiB 3,3V 8-bit
> [    2.202848] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, 
> OOB size: 128
> [    2.217337] Bad block table not found for chip 0
> 
> [    2.225535] Bad block table not found for chip 0
> 
> [    2.230475] Scanning device for bad blocks
> 
> [    2.749832] Bad eraseblock 798 at 0x00000c780000
> [    3.230712] Bad eraseblock 1536 at 0x000018000000
> [    3.236263] Bad eraseblock 1537 at 0x000018040000
> [    3.574122] Bad block table written to 0x00001ffc0000, version 0x01
> [    3.584874] Bad block table written to 0x00001ff80000, version 0x01
> [    3.592306] Bad block table found at page 131008, version 0x01
> 
> [    3.600059] Bad block table found at page 130944, version 0x01
> [    3.607129] 3 fixed-partitions partitions found on MTD device gpmi-nand
> [    3.614105] Creating 3 MTD partitions on "gpmi-nand":
> [    3.619540] 0x000000000000-0x000000800000 : "boot"
> [    3.635437] 0x000000800000-0x00001ca00000 : "ubi"
> [    4.018183] 0x00001ca00000-0x000020000000 : "testing"
> 
> [    4.070734] gpmi-nand 1806000.gpmi-nand: driver registered.
> 
> Seems like it's U-boot that is corrupting the table.
> 
> But I don't think it's related to the original issue with commit
> ef347c0cfd619a9251e5a2f9ff72e33650a9bccb
> 
> /Sean

Enabled BBT in uboot :-)

[    2.089572] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
[    2.096098] nand: Toshiba NAND 512MiB 3,3V 8-bit
[    2.101088] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, 
OOB size: 128
[    2.111704] Bad block table found at page 131008, version 0x01
[    2.118589] Bad block table found at page 130944, version 0x01
[    2.124846] nand_read_bbt: bad block at 0x00000c780000
[    2.130279] nand_read_bbt: bad block at 0x000018000000
[    2.135517] nand_read_bbt: bad block at 0x000018040000
[    2.142081] 3 fixed-partitions partitions found on MTD device gpmi-nand

But my gut feeling was right, we still have the issue:

[  304.192311] UBIFS error (ubi0:8 pid 264): ubifs_read_node: bad node 
type (0 but expected 9) 
 
 

[  304.201279] UBIFS error (ubi0:8 pid 264): ubifs_read_node: bad node 
at LEB 70:141016, LEB mapping status 1 
 
 

[  304.211141] Not a node, first 24 bytes: 
 

[  304.211163] 00000000: ff ff ff ff ff ff ff ff ff ff ff 62 2b 07 00 00 
00 00 00 6c 00 00 00 09 
...........b+......l.... 
 

[  304.228038] CPU: 0 PID: 264 Comm: rm Not tainted 5.3.0 #190 
 

[  304.233644] Hardware name: Freescale i.MX6 Ultralite (Device Tree) 
 

[  304.239878] [<c011184c>] (unwind_backtrace) from [<c010cc24>] 
(show_stack+0x10/0x14) 
 
 

[  304.247662] [<c010cc24>] (show_stack) from [<c0897674>] 
(dump_stack+0xd4/0x108) 
 
 

[  304.255010] [<c0897674>] (dump_stack) from [<c03c1710>] 
(ubifs_read_node+0x22c/0x268) 
 
 

[  304.262883] [<c03c1710>] (ubifs_read_node) from [<c03dd3a0>] 
(ubifs_load_znode+0x80/0x454) 
 
 

[  304.271191] [<c03dd3a0>] (ubifs_load_znode) from [<c03c4600>] 
(ubifs_lookup_level0+0xd8/0x208) 
 
 

[  304.279844] [<c03c4600>] (ubifs_lookup_level0) from [<c03c6058>] 
(ubifs_tnc_next_ent+0x60/0x1c8) 
 
 

[  304.288668] [<c03c6058>] (ubifs_tnc_next_ent) from [<c03cd198>] 
(ubifs_add_orphan+0xc0/0xf0) 
 
 

[  304.297139] [<c03cd198>] (ubifs_add_orphan) from [<c03b3000>] 
(ubifs_jnl_update+0x208/0x670) 
 
 

[  304.305616] [<c03b3000>] (ubifs_jnl_update) from [<c03b87b4>] 
(ubifs_unlink+0x1bc/0x2b0) 
 
 

[  304.313744] [<c03b87b4>] (ubifs_unlink) from [<c02954b0>] 
(vfs_unlink+0x10c/0x224) 
 
 

[  304.321349] [<c02954b0>] (vfs_unlink) from [<c02996e0>] 
(do_unlinkat+0x180/0x280) 
 
 

[  304.328866] [<c02996e0>] (do_unlinkat) from [<c0101000>] 
(ret_fast_syscall+0x0/0x28) 
 
 

[  304.336635] Exception stack(0xc8ca3fa8 to 0xc8ca3ff0) 
 

[  304.341717] 3fa0:                   bee52f13 00000000 bee52f13 
00000002 00000000 00008000 
 
 

[  304.349925] 3fc0: bee52f13 00000000 00000000 0000000a bee52e14 
00000000 b6f5afa4 00087664 
 
 

[  304.358127] 3fe0: b6e33e11 bee52bfc 0006525f b6e33e18

/Sean

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-19 12:15                 ` Sean Nyekjaer
  2019-09-20  6:54                   ` Sean Nyekjaer
@ 2019-09-20  9:17                   ` Sascha Hauer
  2019-09-23 10:37                     ` Sean Nyekjaer
  1 sibling, 1 reply; 21+ messages in thread
From: Sascha Hauer @ 2019-09-20  9:17 UTC (permalink / raw)
  To: Sean Nyekjaer; +Cc: mkl, linux-mtd, Martin Hundebøll, Miquel Raynal

On Thu, Sep 19, 2019 at 02:15:22PM +0200, Sean Nyekjaer wrote:
> 
> > > Hi Sascha
> > > 
> > > Please let me know when you have some time to look into this :-)
> > > I dosen't seem right that it writes the bbt on a 4.19 series kernel twice
> > > 
> > 
> > For me the disturbing part is:
> > 
> > > > > > [    4.175918] Bad block table not found for chip 0
> > > > > > [    4.184059] Bad block table not found for chip 0
> > 
> > Writing the BBT twice is expected.
> > 
> > Thanks,
> > Miquèl
> > 
> 
> Hi,
> 
> Tried this:
> 
> diff --git a/drivers/mtd/nand/raw/nand_bbt.c
> b/drivers/mtd/nand/raw/nand_bbt.c
> index 39db352f8757..b0337f8a0da4 100644
> --- a/drivers/mtd/nand/raw/nand_bbt.c
> +++ b/drivers/mtd/nand/raw/nand_bbt.c
> @@ -1200,6 +1200,8 @@ static int nand_scan_bbt(struct mtd_info *mtd, struct
> nand_bbt_descr *bd)
>         if (res)
>                 goto err;
> 
> +       search_read_bbts(mtd, buf, td, md);
> +
>         /* Prevent the bbt regions from erasing / writing */
>         mark_bbt_region(mtd, td);
>         if (md
> 
> Result is:
> 
> [    2.191412] nand: device found, Manufacturer ID: 0x98, Chip ID: 0xdc
> 
> 
> [    2.198095] nand: Toshiba NAND 512MiB 3,3V 8-bit
> 
> [    2.202848] nand: 512 MiB, SLC, erase size: 256 KiB, page size: 4096, OOB
> size: 128
> 
> [    2.217337] Bad block table not found for chip 0
> 
> 
> [    2.225535] Bad block table not found for chip 0
> 
> 
> [    2.230475] Scanning device for bad blocks
> 
> 
> [    2.749832] Bad eraseblock 798 at 0x00000c780000
> [    3.230712] Bad eraseblock 1536 at 0x000018000000
> [    3.236263] Bad eraseblock 1537 at 0x000018040000
> [    3.574122] Bad block table written to 0x00001ffc0000, version 0x01
> [    3.584874] Bad block table written to 0x00001ff80000, version 0x01
> [    3.592306] Bad block table found at page 131008, version 0x01
> 
> 
> [    3.600059] Bad block table found at page 130944, version 0x01
> [    3.607129] 3 fixed-partitions partitions found on MTD device gpmi-nand
> 
> [    3.614105] Creating 3 MTD partitions on "gpmi-nand":
> [    3.619540] 0x000000000000-0x000000800000 : "boot"
> [    3.635437] 0x000000800000-0x00001ca00000 : "ubi"
> [    4.018183] 0x00001ca00000-0x000020000000 : "testing"
> 
> 
> [    4.070734] gpmi-nand 1806000.gpmi-nand: driver registered.
> 
> Seems like it's U-boot that is corrupting the table.

I don't think that U-Boot is corrupting the table. Apparently
ef347c0cfd619a925 introduces a unwanted change in the page layout of the
NAND. I would expect that with the known good kernel you have a bbt
written by either the Kernel or U-Boot, doesn't matter, both parties can
read it. Once you start the broken Kernel the kernel can no longer read
the table, re-writes it, can now read it itself, but U-Boot no longer
can read it, then re-writes it with the effect that Linux re-writes it
again.

I don't know how the differences look, you have to nail that down
yourself by systematically using nandwrite and nandread, maybe with or
without oob. Once you found the differences I can help you in finding
the issue in my patch. Alternatively I can offer you to have a look
myself, but you would have to provide me a board, either physically
by mail or virtually by ssh.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [Bug] mtd: rawnand: gpmi
  2019-09-20  9:17                   ` Sascha Hauer
@ 2019-09-23 10:37                     ` Sean Nyekjaer
  0 siblings, 0 replies; 21+ messages in thread
From: Sean Nyekjaer @ 2019-09-23 10:37 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: mkl, linux-mtd, Martin Hundebøll, Miquel Raynal



On 20/09/2019 11.17, Sascha Hauer wrote:
> I don't think that U-Boot is corrupting the table. Apparently
> ef347c0cfd619a925 introduces a unwanted change in the page layout of the
> NAND. I would expect that with the known good kernel you have a bbt
> written by either the Kernel or U-Boot, doesn't matter, both parties can
> read it. Once you start the broken Kernel the kernel can no longer read
> the table, re-writes it, can now read it itself, but U-Boot no longer
> can read it, then re-writes it with the effect that Linux re-writes it
> again.
> 
> I don't know how the differences look, you have to nail that down
> yourself by systematically using nandwrite and nandread, maybe with or
> without oob. Once you found the differences I can help you in finding
> the issue in my patch. Alternatively I can offer you to have a look
> myself, but you would have to provide me a board, either physically
> by mail or virtually by ssh.
> 
> Sascha
> 

We are using suspend (to ram).
And it seems that it's suspend that triggers the UBI errors.

I'm getting this in the log:
[  661.348790] gpmi_reset_block(5cbb0f7e): module reset timeout
[  661.348889] gpmi-nand 1806000.gpmi-nand: Error setting GPMI : -110
[  661.348928] PM: dpm_run_callback(): platform_pm_resume+0x0/0x44 
returns -110
[  661.348961] PM: Device 1806000.gpmi-nand failed to resume: error -110

[  686.595724] ubi0 error: ubi_io_read: error -74 (ECC error) while 
reading 188 bytes from PEB 949:247208, read 188 bytes
[  686.607767] UBIFS error (ubi0:8 pid 284): ubifs_read_node: bad node 
type (0 but expected 9)
[  686.616592] UBIFS error (ubi0:8 pid 284): ubifs_read_node: bad node 
at LEB 204:239016, LEB mapping status 1
[  686.626462] Not a node, first 24 bytes:
[  686.626482] 00000000: 00 5e 04 00 00 2d 05 00 20 bb 00 00 00 a0 44 02 
00 bc 00 00 00 5e 04 00                          .^...-.. .....D......^..
[  686.645435] UBIFS error (ubi0:8 pid 284): ubifs_evict_inode: can't 
delete inode 1118, error -22
[  686.655449] UBIFS error (ubi0:8 pid 252): make_reservation: cannot 
reserve 328 bytes in jhead 1, error -30
[  716.895990] UBIFS error (ubi0:8 pid 272): make_reservation: cannot 
reserve 160 bytes in jhead 1, error -30
[  716.905996] UBIFS error (ubi0:8 pid 272): ubifs_write_inode: can't 
write inode 1119, error -30

/Sean

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2019-09-23 10:38 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-05 20:26 [Bug] mtd: rawnand: gpmi Sean Nyekjaer
2019-09-05 20:39 ` Marc Kleine-Budde
     [not found]   ` <E8555824-943E-45B4-A0ED-D42E13156EEC@geanix.com>
2019-09-06  7:01     ` Marc Kleine-Budde
2019-09-06  7:12 ` Sascha Hauer
2019-09-06  9:59   ` Sean Nyekjaer
2019-09-06 10:13     ` Sascha Hauer
2019-09-06 11:06       ` Sean Nyekjaer
2019-09-06 13:28         ` Sascha Hauer
2019-09-06 15:05           ` Sean Nyekjaer
2019-09-10  9:55 ` Sascha Hauer
2019-09-10 10:18   ` Sean Nyekjaer
2019-09-10 10:48     ` Sascha Hauer
2019-09-10 11:00       ` Sean Nyekjaer
2019-09-10 11:08         ` Sascha Hauer
2019-09-10 11:51           ` Sean Nyekjaer
2019-09-19 11:21             ` Sean Nyekjaer
2019-09-19 11:27               ` Miquel Raynal
2019-09-19 12:15                 ` Sean Nyekjaer
2019-09-20  6:54                   ` Sean Nyekjaer
2019-09-20  9:17                   ` Sascha Hauer
2019-09-23 10:37                     ` Sean Nyekjaer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).