Unable to flash ESP32-WROOM - Getting RAM errors

vs_pedro
Posts: 5
Joined: Mon Apr 09, 2018 6:11 pm

Unable to flash ESP32-WROOM - Getting RAM errors

Postby vs_pedro » Mon Apr 09, 2018 6:29 pm

Hello,
We've been developing a solution using ESP32-WROOM modules, however I could only flash the modules randomly. Most (>95%) of the time I've been getting either RAM errors (when using esptool to read the chip_id) or Flash Memory errors (when trying to actually flash it).

The board is now populated only by the module + decoupling capacitors and pull resistors. There is a 4.7uF and a 100nF capacitor on the power rails less then a centimeter from the power pins. The ENABLE line is pulled up by a 10k resistor and decoupled by a 100nF as per datasheet. GPIO0 is grounded directly via a jumper.

Below there is a log of what happens when trying to read the flash status.
OS: Ubuntu Bionic Beaver
Kernel: Linux 4.15.0-13-generic

Code: Select all

esptool.py -p /dev/ttyACM0 --trace --before no_reset --after no_reset read_flash_status

esptool.py v2.3.1
Connecting...TRACE +0.000 command op=0x08 data len=36 wait_response=1 timeout=0.100 data='\x07\x07\x12 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU'
TRACE +0.000 Write 46 bytes: '\xc0\x00\x08$\x00\x00\x00\x00\x00\x07\x07\x12 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\xc0'
TRACE +0.006 Read 1 bytes: '\xc0'
TRACE +0.000 Read 5 bytes: '\x01\x08\x04\x00\x07'
TRACE +0.001 Read 1 bytes: '\x07'
TRACE +0.001 Read 1 bytes: '\x12'
TRACE +0.000 Read 3 bytes: ' \x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 11 bytes: '\x00\xc0\xc0\x01\x08\x04\x00\x07\x07\x12 '
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 10 bytes: '\x00\x00\x00\xc0\xc0\x01\x08\x04\x00\x07'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x07'
TRACE +0.000 Read 10 bytes: '\x12 \x00\x00\x00\x00\xc0\xc0\x01\x08'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.003 Read 1 bytes: '\x04'
TRACE +0.000 Read 22 bytes: '\x00\x07\x07\x12 \x00\x00\x00\x00\xc0\xc0\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 31 bytes: '\xc0\xc0\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00\xc0\xc0\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00\xc0\xc0\x01'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x08'
TRACE +0.000 Read 1 bytes: '\x04'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 9 bytes: '\x07\x07\x12 \x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'

Detecting chip type...TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='x\x00\x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00x\x00\x00`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 8 bytes: '\x01\n\x04\x00\x00%\x12\x15'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 3 bytes: '\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x04\x00\x00%\x12\x15\x00\x00\x00\x00'
 ESP32
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x0c\xa0\x01`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x0c\xa0\x01`\xc0'
TRACE +0.006 Read 1 bytes: '\xc0'
TRACE +0.000 Read 13 bytes: '\x01\n\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Chip is ESP32D0WDQ6 (revision 0)
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x0c\xa0\x01`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x0c\xa0\x01`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 10 bytes: '\x01\n\x04\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\n\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x10\xa0\x01`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x10\xa0\x01`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 9 bytes: '\x01\n\x04\x005\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x04\x005\x00\x00\x00\x00\x00\x00\x00'
Features: WiFi, BT, Dual Core
Uploading stub...
TRACE +0.000 command op=0x05 data len=16 wait_response=1 timeout=3.000 data=' \x0c\x00\x00\x01\x00\x00\x00\x00\x18\x00\x00\x00\x00\t@'
TRACE +0.000 Write 26 bytes: '\xc0\x00\x05\x10\x00\x00\x00\x00\x00 \x0c\x00\x00\x01\x00\x00\x00\x00\x18\x00\x00\x00\x00\t@\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 7 bytes: '\x01\x05\x04\x005\x00\x00'
TRACE +0.003 Read 1 bytes: '\x00'
TRACE +0.000 Read 5 bytes: '\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\x05\x04\x005\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.001 command op=0x07 data len=3120 wait_response=1 timeout=3.000 data=' \x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8 \xf4?\xf80\xf4?6A\x00\x91\xfd\xff\xc0 \x00\x88\t\x80\x80$VH\xff\x91\xfa\xff\xc0 \x00\x88\t\x80\x80$VH\xff\x1d\xf0\x00\x00\x00\x10 \xf4?\x00 \xf4?\x00\x00\x00\x086A\x00\xe5\xfc\xff\x81\xfb\xff\x0c\x02\xc0 \x00)\x08\x91\xfa\xff!\xfa\xff\xc0 \x00"i\x00\xc0 \x00(\tVr\xff\xc0 \x00\x88\x08\x0c\x12\x80\x80\x04 (0\x1d\xf0\x00\x00\x00\x00@6A\x00e\xfc\xff\x16\x9a\xff\x81\xed\xff\x91\xfc\xff\xc0 \x00\x99\x08\xc0 \x00\x98\x08Vy\xff\x1d\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x98\x00\xfd?\xff\xff\xff\x00\x04 \xf4?6A\x00!\xfc\xff2"\x04\x16C\x05e\xf8\xff\x16\xea\x04\xa5\xfb\xffXB\x0c\xf8\x0c\x13A\xf4\xffW\xa8\x0bX"\x80U\x10\xcc5A\xf2\xff\x1c\x03\x88"@X\x11%\xf3\xff\x81\xf0\xff\x80\x85\x10Q\xf0\xff\xc0 \x00\x89\x05\x81\xd2\xff\xc0 \x00Bh\x00\xc0 \x00H\x08Vt\xff\x88BH"0\x88\xc0:4\x89B9"\x1d\xf0\x00\x08\x00\xf4?\x1c\x00\xf4?\x00\x00\xf4?\x90\x00\xfd?\x08\x80\xfc?\x80\x80\x00\x00\x84\x80\x00\x00@@\x00\x00H\xc0\xfc?\x10\x00\xf4?\x94\x00\xfd?6A\x00!\xf4\xff1\xf7\xffA\xf7\xff\xc0 \x00X\x02JCa\xf1\xff\xc0 \x00(\x06  t\x16\xe2\t\xc6#\x00a\xee\xff\xb1\xee\xff\xc0 \x00\xa2&\x00\xa0\xa0t\xe5\xa5\x00\x96\xca\x04\x91\xea\xff\x81\xeb\xff\xb1\xeb\xff\x80\x89\x80\xb0\xb9\x80\xc0 \x00\xc8\x08\x92\x1b\x00\xa0\xa0t\x90\x80\xf4\x1b\x98\x90\x90\xf4\xc0 \x00\x92[\x00\x8a\x8c\xc0 \x00\xa2H\x00\x82\x1b\x00\x91\xe1\xff\x80\x80\xf4\x97\x98>\xc0 \x00\xa8\x04\x81\xe0\xff\x91\xdd\xff7\x9a\x19F\x02\x00|\xe8\x87\x1a\xe9F\t\x00\x00\x00\xc0 \x009\x08\xc0 \x00\x99\x04F\x02\x00\xc0 \x00\x99\x08\xc0 \x009\x04\x81\xd1\xff\x0c\t\x8a\x83\xc0 \x00\x92X\x00\x0b"&\x02\x02\xc6\xd9\xff\xc6\xd4\xff\x00!\xce\xff\xc0 \x00Y\x02\x1d\xf0\x00\x00P-\x06@6A\x00A\xa4\xffX405c\x16\xe3\x03X\x14ZSP\\A\x86\x00\x00e\xe8\xff\x88D\xa6\x18\x04\x88$\x87\xa5\xf2\xe5\xe0\xff\x16\x9a\xff\xa8\x140\xc3  \xb2 \x81\xf2\xff\xe0\x08\x00\x8c:"\xa0\xc4)TX\x14:UY\x14X405\xc094\x1d\xf0\x00\x08 \xf4?\x00\x00@\x00p\xe2\xfa?H$\x06@\xf0"\x06@6a\x00\xe5\xd9\xff\xad\x01\x81\xfc\xff\xe0\x08\x00=\n\x0c\x12\xec\xea\x98\x01\x82\xa2\x00\x80\x89\x10\x89\x01\xa5\xde\xff\x91\xf2\xff\x81\xf3\xff\xc0 \x00\xa8\t\x80\x8a \xc0 \x00\x82i\x00\xb2!\x00\xa1\xef\xff\x81\xf0\xff\xe0\x08\x00\xa0#\x83\x1d\xf0\x00\x00\xff\x0f\x00\x006A\x00\xa1x\xff\x91\xfd\xff\x82\xa0\x01\x82J\x002j\x010\x8cA"j\x0300\xb4\x9a"\x89**\x83\x80\x8cA\x0c\x02\x89J)Z\xa5\xf8\xff-\n2\xa0\xc5\xa0#\x93\x1d\xf0\x00,\x92\x00@6A\x00\x82\xa0\xc0\xad\x02\x87\x92\x0e\xa2\xa0\xdb\x81\xfb\xff\xe0\x08\x00\xa2\xa0\xdc\x86\x03\x00\x82\xa0\xdb\x87\x92\x08\x81\xf7\xff\xe0\x08\x00\xa2\xa0\xdd\x81\xf4\xff\xe0\x08\x00\x1d\xf0\x00\x00\x006A\x00:2\x06\x02\x00\x00\xa2\x02\x00\x1b"\xe5\xfb\xff7\x92\xf4\x1d\xf0\x00\x00\x00\x10\x00\x00X\x10\x00\x00|\xda\x05@\xd8.\x06@\x9c\xda\x05@\x1c\xdb\x05@6!!\xa2\xd1\x10\x81\xfa\xff\xe0\x08\x00\x86\t\x00\x00Q\xf6\xff\xbd\x01PCc\xcd\x04\xad\x02\x81\xf6\xff\xe0\x08\x00\xec\xfa\xcd\x04\xbd\x01\xa2\xd1\x10\x81\xf3\xff\xe0\x08\x00J"@3\xc0Vc\xfd\xa1\xec\xff\xb2\xd1\x10\x1a\xaa\x81\xee\xff\xe0\x08\x00\xa1\xe9\xff\x1c\x0b\x1a\xaa%\xf8\xff-\x03\x1d\xf0"\xa0c\x1d\xf0\x00\x006A\x00\xa2\xa0\xc0\x81\xcd\xff\xe0\x08\x00\x1d\xf0\x00\x00h\x10\x00\x00p\x10\x00\x00t\x10\x00\x00x\x10\x00\x00\xfcg\x00@\xa4\x92\x00@\x08h\x00@6A!a\xf9\xff\x81\xf9\xff\x1af\x1a\x88I\x06r\xd1\x10\x0c\x06,\nY\x08bg\x1a\x81\xf6\xff\xe0\x08\x00\x81\xcf\xffG\xb8\x02F6\x00\xad\x07\x81\xcf\xff\xe0\x08\x00M\x06Q\xef\xffa\xcb\xff\x1aUj\x81\x89\x05\x06-\x00\x00\x81\xe9\xff@c\xc0\x1a\x88\x88\x08\xbd\x01`hc\xcd\x06 \xa2 \x81\xc5\xff\xe0\x08\x00\x8c\xea\x91\xe1\xff\x0c\x05Rg\x16m\x05\x9aQF\r\x00\x00%\xf6\xff`\xb6 \xad\x01\xe5\xec\xff\xa5\xf5\xff\xcd\x06\x10\xb1 p\xa7 \x81\xba\xff\xe0\x08\x00j"jD7\xb4\xcc\x81\xd6\xffPd\xc0\x1a\x88\x88\x08\x876\xa3\x06\xef\xff\x00\x00\x81\xd4\xff\xe0\x08\x00\x81\xd1\xff\x10\x88\x80\xb2(\x00%s\x00\xf7\xea\r\xf6F\n`\xb5\x80\xa2K\x00\x1bf\x06\xf7\xff|\xeb\xb7\x9a\xd7&F\'\xa1\xa5\xffp\xb7 \x1a\xaa\x81\xa7\xff\xe0\x08\x00e\xef\xff\xa1\xa0\xff\x1c\x0b\x1a\xaa\xe5\xe5\xff\xa5\xee\xff,\n\x81\xc3\xff\xe0\x08\x00\x1d\xf0R\'\x1a7\xb5\xd1W\xb4\x8e\xc6\xf2\xff\x1d\xf0\x00\x00\x00\x00\xfc?OHAI\xa4+\xfd?4\x01\t@\x0c\x00\xf4?8@\xf4?\xff\xff\x00\x00\x00\x00\x01\x00\x8c\x80\x00\x00\x10@\x00\x00\x00@\x00\x00\x00\x00\xfc?\x04\x00\xfc?\x10\'\x00\x00\x14\x00\xf4?\xff\xff\x0f\x00\xa4+\xfd?\x08\x00\xfc?\xb0\x00\xfd?|h\x00@\xecg\x00@X\x86\x00@l*\x06@82\x06@\xcc,\x06@L,\x06@4\x85\x00@\xcc\x90\x00@0\xef\x05@X\x92\x00@L\x82\x00@\x14,\x06@6\xc1\x00!\xe0\xff\x0c\n"a\x08B\xa0\x00\x81\xef\xff\xe0\x08\x00!\xdb\xff1\xdc\xff\x06\x01\x00Bb\x00K"72\xf7e\xe2\xff\x0cK\xa2\xc1 %\xd9\xff\xa5\xe1\xffA\xe0\xfe!\xe0\xfe\xb1\xd4\xff\x0c\x0c*$\x0cZ\xc0 \x00I\x02\x81\xe2\xff\xe0\x08\x001\xd0\xff"\xa1\x01\xc0 \x00X\x03,\n % \xc0 \x00)\x03\x81\x84\xff\xe0\x08\x00\x81\xdb\xff\xe0\x08\x00!\xc9\xff\xc0 \x008\x02\xcc\xba\x1c\xc2 #\x10"\xc2\xf8\x0c\x13 \xa3\x83\x0c\x0b\x81\xd4\xff\xe0\x08\x00\xf1\xc2\xff\xd1R\xff\xc1\xc2\xff\xb1\xa5\xfe\xe2\xa1\x00\x0c\n\x81\xcf\xff\xe0\x08\x001\xa4\xfeR\xd3+!\xc2\xfeA\xbc\xffJb\xc0 \x00(\x06\x16r\xff\xc0 \x00x\x06\x0c\x02\xc0 \x00)\x06\x0c\x16bA\x10b\x07\x01"Q\tbA\x11)Qf\x96\x17"\x07\x03b\x07\x02\x80"\x11`" fB\x08(\'\xc0 \x00(\x02)Q\xa5\xd5\xff\x0c\x8b\xa2\xc1\x10e\xcc\xff"\x07\x03\x82\x07\x02\x80"\x11\x80\x82 !\xa7\xff\x87\xb2\x11\xa2\xa0\xc0\xa5\xc7\xff\xa2\xa0\xeee\xc7\xff%\xd3\xffF\xe2\xffb\x07\x01\x0c\xd2\'\x96\x02\x06\x91\x00g2Nff\x02\xc6\xb0\x00\xf6v f6\x02\xc6e\x00\xf6F\x08f&\x02\xc6K\x00F\xaf\x00fF\x02\x06{\x00fV\x02\x86\x8f\x00\x86\xab\x00\x0c\x92\'\x96\x02\x06\x86\x00g2\x08fv\x02\xc6\x8c\x00\x86\xa6\x00f\x96\x02F\x84\x00\x0c\xb2\'\x96\x02Fy\x00F\xa2\x00\x1c2\'\x96\x02\xc69\x00g2(f\xb6\x02\xc6C\x00\x1c\x02g2\n\x0c\xf2\'\x96\x02\x06.\x00\x06\x9a\x00\x1c\x12\'\x96\x02\x86K\x00\x1c"\'\x96\x02Fc\x00F\x95\x00"\xa0\xd1\'\x16-g2\t"\xa0\xd0\'\x16\x18\xc6\x90\x00\x00"\xa0\xd2\'\x96\x02\x86%\x00"\xa0\xd3\'\x96\x02F!\x01F\x8b\x00\x0c\x12\x16\x18=\xad\x02-\n\x86\x86\x00&\x88\x02\x86\x84\x00\xc6\xf4\x00\x00\x00%\xb1\xff`F `"\x80\x16*\x01\x86\x7f\x00\x00\xa0\xacA\x81w\xff\xe0\x08\x00V\x1a\x1fB\xd4\xf0@\xa2\xc0\xcc$\x86\xfd\x00\x00\xa0`\xf4V\x16\xfea_\xff\x86\x03\x00\xa0\xa0\xf5\x81o\xff\xe0\x08\x00V\xda\x1c`D\xc0@\xa2\xc0G6\xea\x86\x03\x00\xa0\xacA\x81h\xff\xe0\x08\x00VZ\x1bB\xd4\xf0@\xa2\xc0V\xa4\xfeF\xee\x00\x0c\x06"\xa0\xc0&\x88\x02Fk\x00\x86\xee\x00\x00\x00f\xb8\x02\x86\xec\x00\x06G\x00f\xb8\x02\x86\xd7\x00\xc6a\x00"\xa0\x01&\xb8\x02\x06`\x00\x92\'\x04\x81I\xffb\xa0\x00"\xa0\xc2\x87\x19\x02\xc6^\x00\xb8W\xa8\'\xa5\xab\xff\xc6\xcf\x00\x00\x00\x00\x0c\x14f\xb8,\xa8G\x81@\xff\x0c\x06"\xa0\xc2\x87\x1a\x02FV\x00\x887\xb8W\xa8\' \x88\x11\x89\xc1%\xa9\xff!\x1c\xfe\x88\xc1ib"\xd2+\x89"\xa0F\x83-\x04\x86J\x00\x91\x17\xfe\x0c\x06\xa2\t\x00"\xa0\xc6g\x9a\x02\x86I\x00h\'(Y\x82\xc8\xf0\x80f\xc0\x92\xa0\xc0`)\x93b\xc7\x18\x9d\x06\xb2\xa0\xef\xc6\x01\x00\xa2\t\x00\x1b\x99\xa0\xbb0`\xa9\xc0\x87*\xf1\x82\x07\x05\xa2\x07\x04b\x07\x06\x80\x88\x11\xa0\x98 \x00f\x11\x90\x86 b\x07\x07\x92\xa0\xc1\x80f\x01\x80f `\x8b\xc0\x80)\x93\x0c\x06F4\x00\x00\x81\xfe\xfd\x0c\x06\x92\x08\x00"\xa0\xc6g\x99\x02\xc6/\x00\x988"\xa0\xc8g\x19\x02\x06-\x00bH\x00(X\x06+\x00\x1c\x82\'\x98\x02F\x9f\x00\x0c\x06\x0c\x12F\'\x00\x00fH\x02F\xa3\x00\x06!\x00f\xb8\x02\x06\xa5\x00\xc6\x01\x00\x00\x00fH\x02\x86\xa4\x00\x0c\x06"\xa0\xc0\x86\x1e\x00\x00\x00f\xb8\x02F\xa2\x00\x06\x18\x00\xc1\x03\xff\x0c\x06\xa8\x0c\x0c\x12\x82\xc8\xf0\x9d\x06\x80\x92\x93\xa0&\x93 \x99\x10"\xa0\xc6g\x99R\xb1\xfd\xfem\t\xd8\x0b"\xa0\xc9\x87=E\x80\xe0\x14\x0c\x06"\xa0\xc0g\x9e:b\xc7\x18-\x0e\xc6\x02\x00*\x96\x98\tK"\x99\nK\xaa\x0c\x19 \xed\xc0\x872\xed\x16\xd9"\xa9\x0c\xe9\x0b\x86\x89\x00\x00\x00f\x88\x02\x86\x8d\x00\x0c\x12\x0c\x06\xc6\x01\x00\x00\x00b\xa0\x00"\xa0\xff \xa0t\xa5\x97\xff`\xa0te\x97\xff%\xa3\xffV\xa2\xc8b\x07\x01\x0c\xf8\x87\x161g8\x15fF\x02FU\x00ff\x02F[\x00&6\x02F\x1b\xff\x06\x1b\x00\x00\x1c"\'\x96\x02FO\x00"\xa0\xd2\'\x16K\x1c\x12\'\x16\x02\xc6\x14\xff\xc6\x1a\x00\xa1\xd6\xfe\x81\xe3\xfe\xe0\x08\x00a\xd5\xfe\x81\xd5\xfe\xc0 \x00h\x06\xb87\x80\x86\x10\xc0\x88\x11`d5\x80f\x80\xb0f\x82\xb8\' \xa2 \xb0\xb6\xc2\x81\xd9\xfe\xe0\x08\x00\xa2\xa3\xe8\x81\xd6\xfe\xe0\x08\x00F\x04\xff\x00\x00\xd2\'\x05\xc2\'\x04\xb2\'\x03\xa8\'%\x9d\xff\x86\xff\xfe\x00\xb2\x07\x03"\x07\x02\x80\xbb\x11 \xbb \xb2\xcb\xf0\xa2\xc7\x18%~\xffF\xf9\xfe\x00b\x07\x03\x82\x07\x02\x80f\x11\x80f "\xc7\x18b\xc6\xf0\x0c\x19\x06\x1e\x00A\xb9\xfeq\xb5\xfd\xe2$\x00ba\x07\xe0w\xc0ra\x06x%\x0c9w6\x01\x0c\x19\x99\xd1\xe9\xc1ed\xff\x98\xd1q\xb1\xfe\xe8\xc1\xa1\xb0\xfe\xbd\x02\x99\x01\xf2\xc1\x18\xdd\x07\xc2\xc1\x1c\x81\xb7\xfe\xe0\x08\x00\x9d\n\xb8%\xa8q\xa0\xbb\xc0\xb9%\xa0f\xc0\xb8\x04\xaa"\xa8a\xaa\xbb\x0b\xa9\xa0\xa9 \xb9\x04\xa0\xaf\x05p\xbb\xc0\xcc\x9a\xc2\xdb\x80\x0c\x1d\xc0\xad\x83\x16\xaa\x00\xad\x07\x99\xd1%u\xff\x98\xd1y\x04\x8c\xb6x3\x8cw\x90\x7f1\x90w\xc0\x96w\xf7\xd6\x89\x00"\xa0\xc7)S\xc68\x00\x00V\xf9\r(3\x16\x12\xb3"\xa0\xc8\x86\x00\x00"\xa0\xc9)S\xc6\xc8\xfe\xa8\'V\xea\xb1\x81\x9a\xfe\xe0\x08\x00\xa1\x88\xfe\x81\x95\xfe\xe0\x08\x00\x81\x97\xfe\xe0\x08\x00\x86\xc1\xfe\x00(7\x16\x02\xb0\xe0\x02\x00\x86\xbe\xfe\x00\x89\xc1\x81\x92\xfe\xe0\x08\x00\x88\xc1\xa0\x82\x93\xad\x08F\x07\xff(\'h7`\x82 \x80\x80\xb4\x16\x08\xc2\xc6\x8a\xff\xb2\'\x03\xa2\'\x02e\x81\xff"\xa0\x00\x0c\x16\xa0&\x93F\x86\xff\xf8w\xe8g\xd8W\xc8G\xb87\xa8\'\x0c\x12\x81z\xfe\xe0\x08\x00m\n\x0c\n`*\x83\x06\x82\xff\xa8\'\x0c\x0b\x81t\xfe\xe0\x08\x00\x0c\x02\x06{\xff\x00(\'h7\xc0 \x00i\x02\x0c\x06-\x06\x06z\xff!b\xfe\x88Wh\'\x89\x02!`\xfei\x02\x06\xf6\xff\x91^\xfe\x0c\x08h\t"\xa0\xc8`(\x83m\x02!Z\xfe\x89\t\x89\x02\x0c\x12`(\x83\x06k\xff(3\x16R\xf2\x86\x93\xfe\x00\x1d\xf0\x00\x006A\x00\x9d\x02\x82\xa0\xc0(\x03\x87\x99\x0e\xcc2\x0c\x12\xc6\x06\x00\x0c\x02)\x03|\xe2\x1d\xf0&\x12\x05&"\x12\x06\x0c\x00\x82\xa0\xdb\x80)#\x87\x99)\x0c")\x03\x06\x08\x00"\xa0\xdc\'\x99\x08\x0c\x12)\x03-\x08\x1d\xf0\x00\x82\xa0\xdd|\xf2\x87\x99\x0b\x0c\x12)\x03"\xa0\xdb\x1d\xf0\x00|\xf2\x1d\xf0\x00\x00'
TRACE +0.001 Write 3203 bytes: '\xc0\x00\x070\x0c\x85\x00\x00\x00 \x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8 \xf4?\xf80\xf4?6A\x00\x91\xfd\xff\xdb\xdc \x00\x88\t\x80\x80$VH\xff\x91\xfa\xff\xdb\xdc \x00\x88\t\x80\x80$VH\xff\x1d\xf0\x00\x00\x00\x10 \xf4?\x00 \xf4?\x00\x00\x00\x086A\x00\xe5\xfc\xff\x81\xfb\xff\x0c\x02\xdb\xdc \x00)\x08\x91\xfa\xff!\xfa\xff\xdb\xdc \x00"i\x00\xdb\xdc \x00(\tVr\xff\xdb\xdc \x00\x88\x08\x0c\x12\x80\x80\x04 (0\x1d\xf0\x00\x00\x00\x00@6A\x00e\xfc\xff\x16\x9a\xff\x81\xed\xff\x91\xfc\xff\xdb\xdc \x00\x99\x08\xdb\xdc \x00\x98\x08Vy\xff\x1d\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x98\x00\xfd?\xff\xff\xff\x00\x04 \xf4?6A\x00!\xfc\xff2"\x04\x16C\x05e\xf8\xff\x16\xea\x04\xa5\xfb\xffXB\x0c\xf8\x0c\x13A\xf4\xffW\xa8\x0bX"\x80U\x10\xcc5A\xf2\xff\x1c\x03\x88"@X\x11%\xf3\xff\x81\xf0\xff\x80\x85\x10Q\xf0\xff\xdb\xdc \x00\x89\x05\x81\xd2\xff\xdb\xdc \x00Bh\x00\xdb\xdc \x00H\x08Vt\xff\x88BH"0\x88\xdb\xdc:4\x89B9"\x1d\xf0\x00\x08\x00\xf4?\x1c\x00\xf4?\x00\x00\xf4?\x90\x00\xfd?\x08\x80\xfc?\x80\x80\x00\x00\x84\x80\x00\x00@@\x00\x00H\xdb\xdc\xfc?\x10\x00\xf4?\x94\x00\xfd?6A\x00!\xf4\xff1\xf7\xffA\xf7\xff\xdb\xdc \x00X\x02JCa\xf1\xff\xdb\xdc \x00(\x06  t\x16\xe2\t\xc6#\x00a\xee\xff\xb1\xee\xff\xdb\xdc \x00\xa2&\x00\xa0\xa0t\xe5\xa5\x00\x96\xca\x04\x91\xea\xff\x81\xeb\xff\xb1\xeb\xff\x80\x89\x80\xb0\xb9\x80\xdb\xdc \x00\xc8\x08\x92\x1b\x00\xa0\xa0t\x90\x80\xf4\x1b\x98\x90\x90\xf4\xdb\xdc \x00\x92[\x00\x8a\x8c\xdb\xdc \x00\xa2H\x00\x82\x1b\x00\x91\xe1\xff\x80\x80\xf4\x97\x98>\xdb\xdc \x00\xa8\x04\x81\xe0\xff\x91\xdd\xff7\x9a\x19F\x02\x00|\xe8\x87\x1a\xe9F\t\x00\x00\x00\xdb\xdc \x009\x08\xdb\xdc \x00\x99\x04F\x02\x00\xdb\xdc \x00\x99\x08\xdb\xdc \x009\x04\x81\xd1\xff\x0c\t\x8a\x83\xdb\xdc \x00\x92X\x00\x0b"&\x02\x02\xc6\xd9\xff\xc6\xd4\xff\x00!\xce\xff\xdb\xdc \x00Y\x02\x1d\xf0\x00\x00P-\x06@6A\x00A\xa4\xffX405c\x16\xe3\x03X\x14ZSP\\A\x86\x00\x00e\xe8\xff\x88D\xa6\x18\x04\x88$\x87\xa5\xf2\xe5\xe0\xff\x16\x9a\xff\xa8\x140\xc3  \xb2 \x81\xf2\xff\xe0\x08\x00\x8c:"\xa0\xc4)TX\x14:UY\x14X405\xdb\xdc94\x1d\xf0\x00\x08 \xf4?\x00\x00@\x00p\xe2\xfa?H$\x06@\xf0"\x06@6a\x00\xe5\xd9\xff\xad\x01\x81\xfc\xff\xe0\x08\x00=\n\x0c\x12\xec\xea\x98\x01\x82\xa2\x00\x80\x89\x10\x89\x01\xa5\xde\xff\x91\xf2\xff\x81\xf3\xff\xdb\xdc \x00\xa8\t\x80\x8a \xdb\xdc \x00\x82i\x00\xb2!\x00\xa1\xef\xff\x81\xf0\xff\xe0\x08\x00\xa0#\x83\x1d\xf0\x00\x00\xff\x0f\x00\x006A\x00\xa1x\xff\x91\xfd\xff\x82\xa0\x01\x82J\x002j\x010\x8cA"j\x0300\xb4\x9a"\x89**\x83\x80\x8cA\x0c\x02\x89J)Z\xa5\xf8\xff-\n2\xa0\xc5\xa0#\x93\x1d\xf0\x00,\x92\x00@6A\x00\x82\xa0\xdb\xdc\xad\x02\x87\x92\x0e\xa2\xa0\xdb\xdd\x81\xfb\xff\xe0\x08\x00\xa2\xa0\xdc\x86\x03\x00\x82\xa0\xdb\xdd\x87\x92\x08\x81\xf7\xff\xe0\x08\x00\xa2\xa0\xdd\x81\xf4\xff\xe0\x08\x00\x1d\xf0\x00\x00\x006A\x00:2\x06\x02\x00\x00\xa2\x02\x00\x1b"\xe5\xfb\xff7\x92\xf4\x1d\xf0\x00\x00\x00\x10\x00\x00X\x10\x00\x00|\xda\x05@\xd8.\x06@\x9c\xda\x05@\x1c\xdb\xdd\x05@6!!\xa2\xd1\x10\x81\xfa\xff\xe0\x08\x00\x86\t\x00\x00Q\xf6\xff\xbd\x01PCc\xcd\x04\xad\x02\x81\xf6\xff\xe0\x08\x00\xec\xfa\xcd\x04\xbd\x01\xa2\xd1\x10\x81\xf3\xff\xe0\x08\x00J"@3\xdb\xdcVc\xfd\xa1\xec\xff\xb2\xd1\x10\x1a\xaa\x81\xee\xff\xe0\x08\x00\xa1\xe9\xff\x1c\x0b\x1a\xaa%\xf8\xff-\x03\x1d\xf0"\xa0c\x1d\xf0\x00\x006A\x00\xa2\xa0\xdb\xdc\x81\xcd\xff\xe0\x08\x00\x1d\xf0\x00\x00h\x10\x00\x00p\x10\x00\x00t\x10\x00\x00x\x10\x00\x00\xfcg\x00@\xa4\x92\x00@\x08h\x00@6A!a\xf9\xff\x81\xf9\xff\x1af\x1a\x88I\x06r\xd1\x10\x0c\x06,\nY\x08bg\x1a\x81\xf6\xff\xe0\x08\x00\x81\xcf\xffG\xb8\x02F6\x00\xad\x07\x81\xcf\xff\xe0\x08\x00M\x06Q\xef\xffa\xcb\xff\x1aUj\x81\x89\x05\x06-\x00\x00\x81\xe9\xff@c\xdb\xdc\x1a\x88\x88\x08\xbd\x01`hc\xcd\x06 \xa2 \x81\xc5\xff\xe0\x08\x00\x8c\xea\x91\xe1\xff\x0c\x05Rg\x16m\x05\x9aQF\r\x00\x00%\xf6\xff`\xb6 \xad\x01\xe5\xec\xff\xa5\xf5\xff\xcd\x06\x10\xb1 p\xa7 \x81\xba\xff\xe0\x08\x00j"jD7\xb4\xcc\x81\xd6\xffPd\xdb\xdc\x1a\x88\x88\x08\x876\xa3\x06\xef\xff\x00\x00\x81\xd4\xff\xe0\x08\x00\x81\xd1\xff\x10\x88\x80\xb2(\x00%s\x00\xf7\xea\r\xf6F\n`\xb5\x80\xa2K\x00\x1bf\x06\xf7\xff|\xeb\xb7\x9a\xd7&F\'\xa1\xa5\xffp\xb7 \x1a\xaa\x81\xa7\xff\xe0\x08\x00e\xef\xff\xa1\xa0\xff\x1c\x0b\x1a\xaa\xe5\xe5\xff\xa5\xee\xff,\n\x81\xc3\xff\xe0\x08\x00\x1d\xf0R\'\x1a7\xb5\xd1W\xb4\x8e\xc6\xf2\xff\x1d\xf0\x00\x00\x00\x00\xfc?OHAI\xa4+\xfd?4\x01\t@\x0c\x00\xf4?8@\xf4?\xff\xff\x00\x00\x00\x00\x01\x00\x8c\x80\x00\x00\x10@\x00\x00\x00@\x00\x00\x00\x00\xfc?\x04\x00\xfc?\x10\'\x00\x00\x14\x00\xf4?\xff\xff\x0f\x00\xa4+\xfd?\x08\x00\xfc?\xb0\x00\xfd?|h\x00@\xecg\x00@X\x86\x00@l*\x06@82\x06@\xcc,\x06@L,\x06@4\x85\x00@\xcc\x90\x00@0\xef\x05@X\x92\x00@L\x82\x00@\x14,\x06@6\xc1\x00!\xe0\xff\x0c\n"a\x08B\xa0\x00\x81\xef\xff\xe0\x08\x00!\xdb\xdd\xff1\xdc\xff\x06\x01\x00Bb\x00K"72\xf7e\xe2\xff\x0cK\xa2\xc1 %\xd9\xff\xa5\xe1\xffA\xe0\xfe!\xe0\xfe\xb1\xd4\xff\x0c\x0c*$\x0cZ\xdb\xdc \x00I\x02\x81\xe2\xff\xe0\x08\x001\xd0\xff"\xa1\x01\xdb\xdc \x00X\x03,\n % \xdb\xdc \x00)\x03\x81\x84\xff\xe0\x08\x00\x81\xdb\xdd\xff\xe0\x08\x00!\xc9\xff\xdb\xdc \x008\x02\xcc\xba\x1c\xc2 #\x10"\xc2\xf8\x0c\x13 \xa3\x83\x0c\x0b\x81\xd4\xff\xe0\x08\x00\xf1\xc2\xff\xd1R\xff\xc1\xc2\xff\xb1\xa5\xfe\xe2\xa1\x00\x0c\n\x81\xcf\xff\xe0\x08\x001\xa4\xfeR\xd3+!\xc2\xfeA\xbc\xffJb\xdb\xdc \x00(\x06\x16r\xff\xdb\xdc \x00x\x06\x0c\x02\xdb\xdc \x00)\x06\x0c\x16bA\x10b\x07\x01"Q\tbA\x11)Qf\x96\x17"\x07\x03b\x07\x02\x80"\x11`" fB\x08(\'\xdb\xdc \x00(\x02)Q\xa5\xd5\xff\x0c\x8b\xa2\xc1\x10e\xcc\xff"\x07\x03\x82\x07\x02\x80"\x11\x80\x82 !\xa7\xff\x87\xb2\x11\xa2\xa0\xdb\xdc\xa5\xc7\xff\xa2\xa0\xeee\xc7\xff%\xd3\xffF\xe2\xffb\x07\x01\x0c\xd2\'\x96\x02\x06\x91\x00g2Nff\x02\xc6\xb0\x00\xf6v f6\x02\xc6e\x00\xf6F\x08f&\x02\xc6K\x00F\xaf\x00fF\x02\x06{\x00fV\x02\x86\x8f\x00\x86\xab\x00\x0c\x92\'\x96\x02\x06\x86\x00g2\x08fv\x02\xc6\x8c\x00\x86\xa6\x00f\x96\x02F\x84\x00\x0c\xb2\'\x96\x02Fy\x00F\xa2\x00\x1c2\'\x96\x02\xc69\x00g2(f\xb6\x02\xc6C\x00\x1c\x02g2\n\x0c\xf2\'\x96\x02\x06.\x00\x06\x9a\x00\x1c\x12\'\x96\x02\x86K\x00\x1c"\'\x96\x02Fc\x00F\x95\x00"\xa0\xd1\'\x16-g2\t"\xa0\xd0\'\x16\x18\xc6\x90\x00\x00"\xa0\xd2\'\x96\x02\x86%\x00"\xa0\xd3\'\x96\x02F!\x01F\x8b\x00\x0c\x12\x16\x18=\xad\x02-\n\x86\x86\x00&\x88\x02\x86\x84\x00\xc6\xf4\x00\x00\x00%\xb1\xff`F `"\x80\x16*\x01\x86\x7f\x00\x00\xa0\xacA\x81w\xff\xe0\x08\x00V\x1a\x1fB\xd4\xf0@\xa2\xdb\xdc\xcc$\x86\xfd\x00\x00\xa0`\xf4V\x16\xfea_\xff\x86\x03\x00\xa0\xa0\xf5\x81o\xff\xe0\x08\x00V\xda\x1c`D\xdb\xdc@\xa2\xdb\xdcG6\xea\x86\x03\x00\xa0\xacA\x81h\xff\xe0\x08\x00VZ\x1bB\xd4\xf0@\xa2\xdb\xdcV\xa4\xfeF\xee\x00\x0c\x06"\xa0\xdb\xdc&\x88\x02Fk\x00\x86\xee\x00\x00\x00f\xb8\x02\x86\xec\x00\x06G\x00f\xb8\x02\x86\xd7\x00\xc6a\x00"\xa0\x01&\xb8\x02\x06`\x00\x92\'\x04\x81I\xffb\xa0\x00"\xa0\xc2\x87\x19\x02\xc6^\x00\xb8W\xa8\'\xa5\xab\xff\xc6\xcf\x00\x00\x00\x00\x0c\x14f\xb8,\xa8G\x81@\xff\x0c\x06"\xa0\xc2\x87\x1a\x02FV\x00\x887\xb8W\xa8\' \x88\x11\x89\xc1%\xa9\xff!\x1c\xfe\x88\xc1ib"\xd2+\x89"\xa0F\x83-\x04\x86J\x00\x91\x17\xfe\x0c\x06\xa2\t\x00"\xa0\xc6g\x9a\x02\x86I\x00h\'(Y\x82\xc8\xf0\x80f\xdb\xdc\x92\xa0\xdb\xdc`)\x93b\xc7\x18\x9d\x06\xb2\xa0\xef\xc6\x01\x00\xa2\t\x00\x1b\x99\xa0\xbb0`\xa9\xdb\xdc\x87*\xf1\x82\x07\x05\xa2\x07\x04b\x07\x06\x80\x88\x11\xa0\x98 \x00f\x11\x90\x86 b\x07\x07\x92\xa0\xc1\x80f\x01\x80f `\x8b\xdb\xdc\x80)\x93\x0c\x06F4\x00\x00\x81\xfe\xfd\x0c\x06\x92\x08\x00"\xa0\xc6g\x99\x02\xc6/\x00\x988"\xa0\xc8g\x19\x02\x06-\x00bH\x00(X\x06+\x00\x1c\x82\'\x98\x02F\x9f\x00\x0c\x06\x0c\x12F\'\x00\x00fH\x02F\xa3\x00\x06!\x00f\xb8\x02\x06\xa5\x00\xc6\x01\x00\x00\x00fH\x02\x86\xa4\x00\x0c\x06"\xa0\xdb\xdc\x86\x1e\x00\x00\x00f\xb8\x02F\xa2\x00\x06\x18\x00\xc1\x03\xff\x0c\x06\xa8\x0c\x0c\x12\x82\xc8\xf0\x9d\x06\x80\x92\x93\xa0&\x93 \x99\x10"\xa0\xc6g\x99R\xb1\xfd\xfem\t\xd8\x0b"\xa0\xc9\x87=E\x80\xe0\x14\x0c\x06"\xa0\xdb\xdcg\x9e:b\xc7\x18-\x0e\xc6\x02\x00*\x96\x98\tK"\x99\nK\xaa\x0c\x19 \xed\xdb\xdc\x872\xed\x16\xd9"\xa9\x0c\xe9\x0b\x86\x89\x00\x00\x00f\x88\x02\x86\x8d\x00\x0c\x12\x0c\x06\xc6\x01\x00\x00\x00b\xa0\x00"\xa0\xff \xa0t\xa5\x97\xff`\xa0te\x97\xff%\xa3\xffV\xa2\xc8b\x07\x01\x0c\xf8\x87\x161g8\x15fF\x02FU\x00ff\x02F[\x00&6\x02F\x1b\xff\x06\x1b\x00\x00\x1c"\'\x96\x02FO\x00"\xa0\xd2\'\x16K\x1c\x12\'\x16\x02\xc6\x14\xff\xc6\x1a\x00\xa1\xd6\xfe\x81\xe3\xfe\xe0\x08\x00a\xd5\xfe\x81\xd5\xfe\xdb\xdc \x00h\x06\xb87\x80\x86\x10\xdb\xdc\x88\x11`d5\x80f\x80\xb0f\x82\xb8\' \xa2 \xb0\xb6\xc2\x81\xd9\xfe\xe0\x08\x00\xa2\xa3\xe8\x81\xd6\xfe\xe0\x08\x00F\x04\xff\x00\x00\xd2\'\x05\xc2\'\x04\xb2\'\x03\xa8\'%\x9d\xff\x86\xff\xfe\x00\xb2\x07\x03"\x07\x02\x80\xbb\x11 \xbb \xb2\xcb\xf0\xa2\xc7\x18%~\xffF\xf9\xfe\x00b\x07\x03\x82\x07\x02\x80f\x11\x80f "\xc7\x18b\xc6\xf0\x0c\x19\x06\x1e\x00A\xb9\xfeq\xb5\xfd\xe2$\x00ba\x07\xe0w\xdb\xdcra\x06x%\x0c9w6\x01\x0c\x19\x99\xd1\xe9\xc1ed\xff\x98\xd1q\xb1\xfe\xe8\xc1\xa1\xb0\xfe\xbd\x02\x99\x01\xf2\xc1\x18\xdd\x07\xc2\xc1\x1c\x81\xb7\xfe\xe0\x08\x00\x9d\n\xb8%\xa8q\xa0\xbb\xdb\xdc\xb9%\xa0f\xdb\xdc\xb8\x04\xaa"\xa8a\xaa\xbb\x0b\xa9\xa0\xa9 \xb9\x04\xa0\xaf\x05p\xbb\xdb\xdc\xcc\x9a\xc2\xdb\xdd\x80\x0c\x1d\xdb\xdc\xad\x83\x16\xaa\x00\xad\x07\x99\xd1%u\xff\x98\xd1y\x04\x8c\xb6x3\x8cw\x90\x7f1\x90w\xdb\xdc\x96w\xf7\xd6\x89\x00"\xa0\xc7)S\xc68\x00\x00V\xf9\r(3\x16\x12\xb3"\xa0\xc8\x86\x00\x00"\xa0\xc9)S\xc6\xc8\xfe\xa8\'V\xea\xb1\x81\x9a\xfe\xe0\x08\x00\xa1\x88\xfe\x81\x95\xfe\xe0\x08\x00\x81\x97\xfe\xe0\x08\x00\x86\xc1\xfe\x00(7\x16\x02\xb0\xe0\x02\x00\x86\xbe\xfe\x00\x89\xc1\x81\x92\xfe\xe0\x08\x00\x88\xc1\xa0\x82\x93\xad\x08F\x07\xff(\'h7`\x82 \x80\x80\xb4\x16\x08\xc2\xc6\x8a\xff\xb2\'\x03\xa2\'\x02e\x81\xff"\xa0\x00\x0c\x16\xa0&\x93F\x86\xff\xf8w\xe8g\xd8W\xc8G\xb87\xa8\'\x0c\x12\x81z\xfe\xe0\x08\x00m\n\x0c\n`*\x83\x06\x82\xff\xa8\'\x0c\x0b\x81t\xfe\xe0\x08\x00\x0c\x02\x06{\xff\x00(\'h7\xdb\xdc \x00i\x02\x0c\x06-\x06\x06z\xff!b\xfe\x88Wh\'\x89\x02!`\xfei\x02\x06\xf6\xff\x91^\xfe\x0c\x08h\t"\xa0\xc8`(\x83m\x02!Z\xfe\x89\t\x89\x02\x0c\x12`(\x83\x06k\xff(3\x16R\xf2\x86\x93\xfe\x00\x1d\xf0\x00\x006A\x00\x9d\x02\x82\xa0\xdb\xdc(\x03\x87\x99\x0e\xcc2\x0c\x12\xc6\x06\x00\x0c\x02)\x03|\xe2\x1d\xf0&\x12\x05&"\x12\x06\x0c\x00\x82\xa0\xdb\xdd\x80)#\x87\x99)\x0c")\x03\x06\x08\x00"\xa0\xdc\'\x99\x08\x0c\x12)\x03-\x08\x1d\xf0\x00\x82\xa0\xdd|\xf2\x87\x99\x0b\x0c\x12)\x03"\xa0\xdb\xdd\x1d\xf0\x00|\xf2\x1d\xf0\x00\x00\xc0'
TRACE +0.331 Read 1 bytes: '\xc0'
TRACE +0.000 Read 4 bytes: '\x01\x07\x04\x00'
TRACE +0.001 Read 1 bytes: '5'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 4 bytes: '\x00\x00\x01\x07'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\xc0'
TRACE +0.000 Full packet: '\x01\x07\x04\x005\x00\x00\x00\x01\x07\x00\x00'

A fatal error occurred: Failed to write to target RAM (result was 01070000)
Thanks in advance,

Pedro

ESP_Sprite
Posts: 9764
Joined: Thu Nov 26, 2015 4:08 am

Re: Unable to flash ESP32-WROOM - Getting RAM errors

Postby ESP_Sprite » Tue Apr 10, 2018 3:53 am

What power supply are you using? Is it capable of putting out a stable 3.3V at give-or-take half an amp?

User avatar
ESP_krzychb
Posts: 400
Joined: Sat Oct 01, 2016 9:05 am
Contact:

Re: Unable to flash ESP32-WROOM - Getting RAM errors

Postby ESP_krzychb » Tue Apr 10, 2018 8:00 am

vs_pedro wrote:There is a 4.7uF and a 100nF capacitor on the power rails...
I would also add bigger uF value decoupling capacitors following Espressif's reference designs, see ESP32-DevKitC Reference Design.

The design contains 22uF and 100nF capacitors for the ESP32 module, not counting 22uF nearby on the output of a voltage regulator. There is also 4.7uF + 100nF there but just for the CP2102 chip.

vs_pedro
Posts: 5
Joined: Mon Apr 09, 2018 6:11 pm

Re: Unable to flash ESP32-WROOM - Getting RAM errors

Postby vs_pedro » Tue Apr 10, 2018 11:33 am

ESP_Sprite wrote:What power supply are you using? Is it capable of putting out a stable 3.3V at give-or-take half an amp?
Thanks for the answer. Yes, It's capable of providing 2A and there seems to be no drop in the rail voltage while programming when checked using an oscilloscope.

I'm simply measuring the voltage at the pin and checking for a drop in the screen to appear, but I'm not sure if it's the best way to capture possible transients. If you know a better way to look into this please let me know.

vs_pedro
Posts: 5
Joined: Mon Apr 09, 2018 6:11 pm

Re: Unable to flash ESP32-WROOM - Getting RAM errors

Postby vs_pedro » Tue Apr 10, 2018 11:34 am

krzychb wrote:
vs_pedro wrote:There is a 4.7uF and a 100nF capacitor on the power rails...
I would also add bigger uF value decoupling capacitors following Espressif's reference designs, see ESP32-DevKitC Reference Design.

The design contains 22uF and 100nF capacitors for the ESP32 module, not counting 22uF nearby on the output of a voltage regulator. There is also 4.7uF + 100nF there but just for the CP2102 chip.
Oh, I see. I'll try it and then report here on the post.

vs_pedro
Posts: 5
Joined: Mon Apr 09, 2018 6:11 pm

Re: Unable to flash ESP32-WROOM - Getting RAM errors

Postby vs_pedro » Tue Apr 10, 2018 11:58 am

Alright, I checked both things.

I've tested with two power supplies, one of them should be able to provide 500mA (LDO from USB) and the other one 2A (external power supply) and both gave the same errors.

I also added the 22uF capacitor with no success.

I tried changing the flash mode to DOUT, but that didn't help either.

I managed to get a single read_flash_status command to work, this is the output:

Code: Select all

esptool.py -p /dev/ttyACM0 --trace --before no_reset --after no_reset read_flash_status
esptool.py v2.3.1
Connecting...TRACE +0.000 command op=0x08 data len=36 wait_response=1 timeout=0.100 data='\x07\x07\x12 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU'
TRACE +0.000 Write 46 bytes: '\xc0\x00\x08$\x00\x00\x00\x00\x00\x07\x07\x12 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\xc0'
TRACE +0.007 Read 1 bytes: '\xc0'
TRACE +0.002 Read 31 bytes: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00\xc0\xc0\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00\xc0\xc0\x01\x08\x04'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.000 Read 10 bytes: '\x00\x07\x07\x12 \x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\xc0'
TRACE +0.001 Read 1 bytes: '\x01'
TRACE +0.000 Read 2 bytes: '\x08\x04'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 10 bytes: '\x07\x07\x12 \x00\x00\x00\x00\xc0\xc0'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x01'
TRACE +0.000 Read 11 bytes: '\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.000 Read 10 bytes: '\xc0\x01\x08\x04\x00\x07\x07\x12 \x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 10 bytes: '\x00\x00\xc0\xc0\x01\x08\x04\x00\x07\x07'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x12'
TRACE +0.000 Read 10 bytes: ' \x00\x00\x00\x00\xc0\xc0\x01\x08\x04'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 9 bytes: '\x07\x07\x12 \x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\x08\x04\x00\x07\x07\x12 \x00\x00\x00\x00'

Detecting chip type...TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='x\x00\x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00x\x00\x00`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 7 bytes: '\x01\n\x04\x00\x00%\x12'
TRACE +0.001 Read 1 bytes: '\x15'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.002 Read 4 bytes: '\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x04\x00\x00%\x12\x15\x00\x00\x00\x00'
 ESP32
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x0c\xa0\x01`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x0c\xa0\x01`\xc0'
TRACE +0.002 Read 1 bytes: '\xc0'
TRACE +0.000 Read 3 bytes: '\x01\n\x04'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.002 Read 5 bytes: '\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Chip is ESP32D0WDQ6 (revision 0)
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x0c\xa0\x01`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x0c\xa0\x01`\xc0'
TRACE +0.002 Read 1 bytes: '\xc0'
TRACE +0.000 Read 1 bytes: '\x01'
TRACE +0.001 Read 1 bytes: '\n'
TRACE +0.000 Read 10 bytes: '\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\n\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x10\xa0\x01`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x10\xa0\x01`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 11 bytes: '\x01\n\x04\x005\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\n\x04\x005\x00\x00\x00\x00\x00\x00\x00'
Features: WiFi, BT, Dual Core
Uploading stub...
TRACE +0.000 command op=0x05 data len=16 wait_response=1 timeout=3.000 data=' \x0c\x00\x00\x01\x00\x00\x00\x00\x18\x00\x00\x00\x00\t@'
TRACE +0.000 Write 26 bytes: '\xc0\x00\x05\x10\x00\x00\x00\x00\x00 \x0c\x00\x00\x01\x00\x00\x00\x00\x18\x00\x00\x00\x00\t@\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 2 bytes: '\x01\x05'
TRACE +0.001 Read 1 bytes: '\x04'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '5\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 6 bytes: '\x00\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\x05\x04\x005\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.001 command op=0x07 data len=3120 wait_response=1 timeout=3.000 data=' \x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8 \xf4?\xf80\xf4?6A\x00\x91\xfd\xff\xc0 \x00\x88\t\x80\x80$VH\xff\x91\xfa\xff\xc0 \x00\x88\t\x80\x80$VH\xff\x1d\xf0\x00\x00\x00\x10 \xf4?\x00 \xf4?\x00\x00\x00\x086A\x00\xe5\xfc\xff\x81\xfb\xff\x0c\x02\xc0 \x00)\x08\x91\xfa\xff!\xfa\xff\xc0 \x00"i\x00\xc0 \x00(\tVr\xff\xc0 \x00\x88\x08\x0c\x12\x80\x80\x04 (0\x1d\xf0\x00\x00\x00\x00@6A\x00e\xfc\xff\x16\x9a\xff\x81\xed\xff\x91\xfc\xff\xc0 \x00\x99\x08\xc0 \x00\x98\x08Vy\xff\x1d\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x98\x00\xfd?\xff\xff\xff\x00\x04 \xf4?6A\x00!\xfc\xff2"\x04\x16C\x05e\xf8\xff\x16\xea\x04\xa5\xfb\xffXB\x0c\xf8\x0c\x13A\xf4\xffW\xa8\x0bX"\x80U\x10\xcc5A\xf2\xff\x1c\x03\x88"@X\x11%\xf3\xff\x81\xf0\xff\x80\x85\x10Q\xf0\xff\xc0 \x00\x89\x05\x81\xd2\xff\xc0 \x00Bh\x00\xc0 \x00H\x08Vt\xff\x88BH"0\x88\xc0:4\x89B9"\x1d\xf0\x00\x08\x00\xf4?\x1c\x00\xf4?\x00\x00\xf4?\x90\x00\xfd?\x08\x80\xfc?\x80\x80\x00\x00\x84\x80\x00\x00@@\x00\x00H\xc0\xfc?\x10\x00\xf4?\x94\x00\xfd?6A\x00!\xf4\xff1\xf7\xffA\xf7\xff\xc0 \x00X\x02JCa\xf1\xff\xc0 \x00(\x06  t\x16\xe2\t\xc6#\x00a\xee\xff\xb1\xee\xff\xc0 \x00\xa2&\x00\xa0\xa0t\xe5\xa5\x00\x96\xca\x04\x91\xea\xff\x81\xeb\xff\xb1\xeb\xff\x80\x89\x80\xb0\xb9\x80\xc0 \x00\xc8\x08\x92\x1b\x00\xa0\xa0t\x90\x80\xf4\x1b\x98\x90\x90\xf4\xc0 \x00\x92[\x00\x8a\x8c\xc0 \x00\xa2H\x00\x82\x1b\x00\x91\xe1\xff\x80\x80\xf4\x97\x98>\xc0 \x00\xa8\x04\x81\xe0\xff\x91\xdd\xff7\x9a\x19F\x02\x00|\xe8\x87\x1a\xe9F\t\x00\x00\x00\xc0 \x009\x08\xc0 \x00\x99\x04F\x02\x00\xc0 \x00\x99\x08\xc0 \x009\x04\x81\xd1\xff\x0c\t\x8a\x83\xc0 \x00\x92X\x00\x0b"&\x02\x02\xc6\xd9\xff\xc6\xd4\xff\x00!\xce\xff\xc0 \x00Y\x02\x1d\xf0\x00\x00P-\x06@6A\x00A\xa4\xffX405c\x16\xe3\x03X\x14ZSP\\A\x86\x00\x00e\xe8\xff\x88D\xa6\x18\x04\x88$\x87\xa5\xf2\xe5\xe0\xff\x16\x9a\xff\xa8\x140\xc3  \xb2 \x81\xf2\xff\xe0\x08\x00\x8c:"\xa0\xc4)TX\x14:UY\x14X405\xc094\x1d\xf0\x00\x08 \xf4?\x00\x00@\x00p\xe2\xfa?H$\x06@\xf0"\x06@6a\x00\xe5\xd9\xff\xad\x01\x81\xfc\xff\xe0\x08\x00=\n\x0c\x12\xec\xea\x98\x01\x82\xa2\x00\x80\x89\x10\x89\x01\xa5\xde\xff\x91\xf2\xff\x81\xf3\xff\xc0 \x00\xa8\t\x80\x8a \xc0 \x00\x82i\x00\xb2!\x00\xa1\xef\xff\x81\xf0\xff\xe0\x08\x00\xa0#\x83\x1d\xf0\x00\x00\xff\x0f\x00\x006A\x00\xa1x\xff\x91\xfd\xff\x82\xa0\x01\x82J\x002j\x010\x8cA"j\x0300\xb4\x9a"\x89**\x83\x80\x8cA\x0c\x02\x89J)Z\xa5\xf8\xff-\n2\xa0\xc5\xa0#\x93\x1d\xf0\x00,\x92\x00@6A\x00\x82\xa0\xc0\xad\x02\x87\x92\x0e\xa2\xa0\xdb\x81\xfb\xff\xe0\x08\x00\xa2\xa0\xdc\x86\x03\x00\x82\xa0\xdb\x87\x92\x08\x81\xf7\xff\xe0\x08\x00\xa2\xa0\xdd\x81\xf4\xff\xe0\x08\x00\x1d\xf0\x00\x00\x006A\x00:2\x06\x02\x00\x00\xa2\x02\x00\x1b"\xe5\xfb\xff7\x92\xf4\x1d\xf0\x00\x00\x00\x10\x00\x00X\x10\x00\x00|\xda\x05@\xd8.\x06@\x9c\xda\x05@\x1c\xdb\x05@6!!\xa2\xd1\x10\x81\xfa\xff\xe0\x08\x00\x86\t\x00\x00Q\xf6\xff\xbd\x01PCc\xcd\x04\xad\x02\x81\xf6\xff\xe0\x08\x00\xec\xfa\xcd\x04\xbd\x01\xa2\xd1\x10\x81\xf3\xff\xe0\x08\x00J"@3\xc0Vc\xfd\xa1\xec\xff\xb2\xd1\x10\x1a\xaa\x81\xee\xff\xe0\x08\x00\xa1\xe9\xff\x1c\x0b\x1a\xaa%\xf8\xff-\x03\x1d\xf0"\xa0c\x1d\xf0\x00\x006A\x00\xa2\xa0\xc0\x81\xcd\xff\xe0\x08\x00\x1d\xf0\x00\x00h\x10\x00\x00p\x10\x00\x00t\x10\x00\x00x\x10\x00\x00\xfcg\x00@\xa4\x92\x00@\x08h\x00@6A!a\xf9\xff\x81\xf9\xff\x1af\x1a\x88I\x06r\xd1\x10\x0c\x06,\nY\x08bg\x1a\x81\xf6\xff\xe0\x08\x00\x81\xcf\xffG\xb8\x02F6\x00\xad\x07\x81\xcf\xff\xe0\x08\x00M\x06Q\xef\xffa\xcb\xff\x1aUj\x81\x89\x05\x06-\x00\x00\x81\xe9\xff@c\xc0\x1a\x88\x88\x08\xbd\x01`hc\xcd\x06 \xa2 \x81\xc5\xff\xe0\x08\x00\x8c\xea\x91\xe1\xff\x0c\x05Rg\x16m\x05\x9aQF\r\x00\x00%\xf6\xff`\xb6 \xad\x01\xe5\xec\xff\xa5\xf5\xff\xcd\x06\x10\xb1 p\xa7 \x81\xba\xff\xe0\x08\x00j"jD7\xb4\xcc\x81\xd6\xffPd\xc0\x1a\x88\x88\x08\x876\xa3\x06\xef\xff\x00\x00\x81\xd4\xff\xe0\x08\x00\x81\xd1\xff\x10\x88\x80\xb2(\x00%s\x00\xf7\xea\r\xf6F\n`\xb5\x80\xa2K\x00\x1bf\x06\xf7\xff|\xeb\xb7\x9a\xd7&F\'\xa1\xa5\xffp\xb7 \x1a\xaa\x81\xa7\xff\xe0\x08\x00e\xef\xff\xa1\xa0\xff\x1c\x0b\x1a\xaa\xe5\xe5\xff\xa5\xee\xff,\n\x81\xc3\xff\xe0\x08\x00\x1d\xf0R\'\x1a7\xb5\xd1W\xb4\x8e\xc6\xf2\xff\x1d\xf0\x00\x00\x00\x00\xfc?OHAI\xa4+\xfd?4\x01\t@\x0c\x00\xf4?8@\xf4?\xff\xff\x00\x00\x00\x00\x01\x00\x8c\x80\x00\x00\x10@\x00\x00\x00@\x00\x00\x00\x00\xfc?\x04\x00\xfc?\x10\'\x00\x00\x14\x00\xf4?\xff\xff\x0f\x00\xa4+\xfd?\x08\x00\xfc?\xb0\x00\xfd?|h\x00@\xecg\x00@X\x86\x00@l*\x06@82\x06@\xcc,\x06@L,\x06@4\x85\x00@\xcc\x90\x00@0\xef\x05@X\x92\x00@L\x82\x00@\x14,\x06@6\xc1\x00!\xe0\xff\x0c\n"a\x08B\xa0\x00\x81\xef\xff\xe0\x08\x00!\xdb\xff1\xdc\xff\x06\x01\x00Bb\x00K"72\xf7e\xe2\xff\x0cK\xa2\xc1 %\xd9\xff\xa5\xe1\xffA\xe0\xfe!\xe0\xfe\xb1\xd4\xff\x0c\x0c*$\x0cZ\xc0 \x00I\x02\x81\xe2\xff\xe0\x08\x001\xd0\xff"\xa1\x01\xc0 \x00X\x03,\n % \xc0 \x00)\x03\x81\x84\xff\xe0\x08\x00\x81\xdb\xff\xe0\x08\x00!\xc9\xff\xc0 \x008\x02\xcc\xba\x1c\xc2 #\x10"\xc2\xf8\x0c\x13 \xa3\x83\x0c\x0b\x81\xd4\xff\xe0\x08\x00\xf1\xc2\xff\xd1R\xff\xc1\xc2\xff\xb1\xa5\xfe\xe2\xa1\x00\x0c\n\x81\xcf\xff\xe0\x08\x001\xa4\xfeR\xd3+!\xc2\xfeA\xbc\xffJb\xc0 \x00(\x06\x16r\xff\xc0 \x00x\x06\x0c\x02\xc0 \x00)\x06\x0c\x16bA\x10b\x07\x01"Q\tbA\x11)Qf\x96\x17"\x07\x03b\x07\x02\x80"\x11`" fB\x08(\'\xc0 \x00(\x02)Q\xa5\xd5\xff\x0c\x8b\xa2\xc1\x10e\xcc\xff"\x07\x03\x82\x07\x02\x80"\x11\x80\x82 !\xa7\xff\x87\xb2\x11\xa2\xa0\xc0\xa5\xc7\xff\xa2\xa0\xeee\xc7\xff%\xd3\xffF\xe2\xffb\x07\x01\x0c\xd2\'\x96\x02\x06\x91\x00g2Nff\x02\xc6\xb0\x00\xf6v f6\x02\xc6e\x00\xf6F\x08f&\x02\xc6K\x00F\xaf\x00fF\x02\x06{\x00fV\x02\x86\x8f\x00\x86\xab\x00\x0c\x92\'\x96\x02\x06\x86\x00g2\x08fv\x02\xc6\x8c\x00\x86\xa6\x00f\x96\x02F\x84\x00\x0c\xb2\'\x96\x02Fy\x00F\xa2\x00\x1c2\'\x96\x02\xc69\x00g2(f\xb6\x02\xc6C\x00\x1c\x02g2\n\x0c\xf2\'\x96\x02\x06.\x00\x06\x9a\x00\x1c\x12\'\x96\x02\x86K\x00\x1c"\'\x96\x02Fc\x00F\x95\x00"\xa0\xd1\'\x16-g2\t"\xa0\xd0\'\x16\x18\xc6\x90\x00\x00"\xa0\xd2\'\x96\x02\x86%\x00"\xa0\xd3\'\x96\x02F!\x01F\x8b\x00\x0c\x12\x16\x18=\xad\x02-\n\x86\x86\x00&\x88\x02\x86\x84\x00\xc6\xf4\x00\x00\x00%\xb1\xff`F `"\x80\x16*\x01\x86\x7f\x00\x00\xa0\xacA\x81w\xff\xe0\x08\x00V\x1a\x1fB\xd4\xf0@\xa2\xc0\xcc$\x86\xfd\x00\x00\xa0`\xf4V\x16\xfea_\xff\x86\x03\x00\xa0\xa0\xf5\x81o\xff\xe0\x08\x00V\xda\x1c`D\xc0@\xa2\xc0G6\xea\x86\x03\x00\xa0\xacA\x81h\xff\xe0\x08\x00VZ\x1bB\xd4\xf0@\xa2\xc0V\xa4\xfeF\xee\x00\x0c\x06"\xa0\xc0&\x88\x02Fk\x00\x86\xee\x00\x00\x00f\xb8\x02\x86\xec\x00\x06G\x00f\xb8\x02\x86\xd7\x00\xc6a\x00"\xa0\x01&\xb8\x02\x06`\x00\x92\'\x04\x81I\xffb\xa0\x00"\xa0\xc2\x87\x19\x02\xc6^\x00\xb8W\xa8\'\xa5\xab\xff\xc6\xcf\x00\x00\x00\x00\x0c\x14f\xb8,\xa8G\x81@\xff\x0c\x06"\xa0\xc2\x87\x1a\x02FV\x00\x887\xb8W\xa8\' \x88\x11\x89\xc1%\xa9\xff!\x1c\xfe\x88\xc1ib"\xd2+\x89"\xa0F\x83-\x04\x86J\x00\x91\x17\xfe\x0c\x06\xa2\t\x00"\xa0\xc6g\x9a\x02\x86I\x00h\'(Y\x82\xc8\xf0\x80f\xc0\x92\xa0\xc0`)\x93b\xc7\x18\x9d\x06\xb2\xa0\xef\xc6\x01\x00\xa2\t\x00\x1b\x99\xa0\xbb0`\xa9\xc0\x87*\xf1\x82\x07\x05\xa2\x07\x04b\x07\x06\x80\x88\x11\xa0\x98 \x00f\x11\x90\x86 b\x07\x07\x92\xa0\xc1\x80f\x01\x80f `\x8b\xc0\x80)\x93\x0c\x06F4\x00\x00\x81\xfe\xfd\x0c\x06\x92\x08\x00"\xa0\xc6g\x99\x02\xc6/\x00\x988"\xa0\xc8g\x19\x02\x06-\x00bH\x00(X\x06+\x00\x1c\x82\'\x98\x02F\x9f\x00\x0c\x06\x0c\x12F\'\x00\x00fH\x02F\xa3\x00\x06!\x00f\xb8\x02\x06\xa5\x00\xc6\x01\x00\x00\x00fH\x02\x86\xa4\x00\x0c\x06"\xa0\xc0\x86\x1e\x00\x00\x00f\xb8\x02F\xa2\x00\x06\x18\x00\xc1\x03\xff\x0c\x06\xa8\x0c\x0c\x12\x82\xc8\xf0\x9d\x06\x80\x92\x93\xa0&\x93 \x99\x10"\xa0\xc6g\x99R\xb1\xfd\xfem\t\xd8\x0b"\xa0\xc9\x87=E\x80\xe0\x14\x0c\x06"\xa0\xc0g\x9e:b\xc7\x18-\x0e\xc6\x02\x00*\x96\x98\tK"\x99\nK\xaa\x0c\x19 \xed\xc0\x872\xed\x16\xd9"\xa9\x0c\xe9\x0b\x86\x89\x00\x00\x00f\x88\x02\x86\x8d\x00\x0c\x12\x0c\x06\xc6\x01\x00\x00\x00b\xa0\x00"\xa0\xff \xa0t\xa5\x97\xff`\xa0te\x97\xff%\xa3\xffV\xa2\xc8b\x07\x01\x0c\xf8\x87\x161g8\x15fF\x02FU\x00ff\x02F[\x00&6\x02F\x1b\xff\x06\x1b\x00\x00\x1c"\'\x96\x02FO\x00"\xa0\xd2\'\x16K\x1c\x12\'\x16\x02\xc6\x14\xff\xc6\x1a\x00\xa1\xd6\xfe\x81\xe3\xfe\xe0\x08\x00a\xd5\xfe\x81\xd5\xfe\xc0 \x00h\x06\xb87\x80\x86\x10\xc0\x88\x11`d5\x80f\x80\xb0f\x82\xb8\' \xa2 \xb0\xb6\xc2\x81\xd9\xfe\xe0\x08\x00\xa2\xa3\xe8\x81\xd6\xfe\xe0\x08\x00F\x04\xff\x00\x00\xd2\'\x05\xc2\'\x04\xb2\'\x03\xa8\'%\x9d\xff\x86\xff\xfe\x00\xb2\x07\x03"\x07\x02\x80\xbb\x11 \xbb \xb2\xcb\xf0\xa2\xc7\x18%~\xffF\xf9\xfe\x00b\x07\x03\x82\x07\x02\x80f\x11\x80f "\xc7\x18b\xc6\xf0\x0c\x19\x06\x1e\x00A\xb9\xfeq\xb5\xfd\xe2$\x00ba\x07\xe0w\xc0ra\x06x%\x0c9w6\x01\x0c\x19\x99\xd1\xe9\xc1ed\xff\x98\xd1q\xb1\xfe\xe8\xc1\xa1\xb0\xfe\xbd\x02\x99\x01\xf2\xc1\x18\xdd\x07\xc2\xc1\x1c\x81\xb7\xfe\xe0\x08\x00\x9d\n\xb8%\xa8q\xa0\xbb\xc0\xb9%\xa0f\xc0\xb8\x04\xaa"\xa8a\xaa\xbb\x0b\xa9\xa0\xa9 \xb9\x04\xa0\xaf\x05p\xbb\xc0\xcc\x9a\xc2\xdb\x80\x0c\x1d\xc0\xad\x83\x16\xaa\x00\xad\x07\x99\xd1%u\xff\x98\xd1y\x04\x8c\xb6x3\x8cw\x90\x7f1\x90w\xc0\x96w\xf7\xd6\x89\x00"\xa0\xc7)S\xc68\x00\x00V\xf9\r(3\x16\x12\xb3"\xa0\xc8\x86\x00\x00"\xa0\xc9)S\xc6\xc8\xfe\xa8\'V\xea\xb1\x81\x9a\xfe\xe0\x08\x00\xa1\x88\xfe\x81\x95\xfe\xe0\x08\x00\x81\x97\xfe\xe0\x08\x00\x86\xc1\xfe\x00(7\x16\x02\xb0\xe0\x02\x00\x86\xbe\xfe\x00\x89\xc1\x81\x92\xfe\xe0\x08\x00\x88\xc1\xa0\x82\x93\xad\x08F\x07\xff(\'h7`\x82 \x80\x80\xb4\x16\x08\xc2\xc6\x8a\xff\xb2\'\x03\xa2\'\x02e\x81\xff"\xa0\x00\x0c\x16\xa0&\x93F\x86\xff\xf8w\xe8g\xd8W\xc8G\xb87\xa8\'\x0c\x12\x81z\xfe\xe0\x08\x00m\n\x0c\n`*\x83\x06\x82\xff\xa8\'\x0c\x0b\x81t\xfe\xe0\x08\x00\x0c\x02\x06{\xff\x00(\'h7\xc0 \x00i\x02\x0c\x06-\x06\x06z\xff!b\xfe\x88Wh\'\x89\x02!`\xfei\x02\x06\xf6\xff\x91^\xfe\x0c\x08h\t"\xa0\xc8`(\x83m\x02!Z\xfe\x89\t\x89\x02\x0c\x12`(\x83\x06k\xff(3\x16R\xf2\x86\x93\xfe\x00\x1d\xf0\x00\x006A\x00\x9d\x02\x82\xa0\xc0(\x03\x87\x99\x0e\xcc2\x0c\x12\xc6\x06\x00\x0c\x02)\x03|\xe2\x1d\xf0&\x12\x05&"\x12\x06\x0c\x00\x82\xa0\xdb\x80)#\x87\x99)\x0c")\x03\x06\x08\x00"\xa0\xdc\'\x99\x08\x0c\x12)\x03-\x08\x1d\xf0\x00\x82\xa0\xdd|\xf2\x87\x99\x0b\x0c\x12)\x03"\xa0\xdb\x1d\xf0\x00|\xf2\x1d\xf0\x00\x00'
TRACE +0.001 Write 3203 bytes: '\xc0\x00\x070\x0c\x85\x00\x00\x00 \x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8 \xf4?\xf80\xf4?6A\x00\x91\xfd\xff\xdb\xdc \x00\x88\t\x80\x80$VH\xff\x91\xfa\xff\xdb\xdc \x00\x88\t\x80\x80$VH\xff\x1d\xf0\x00\x00\x00\x10 \xf4?\x00 \xf4?\x00\x00\x00\x086A\x00\xe5\xfc\xff\x81\xfb\xff\x0c\x02\xdb\xdc \x00)\x08\x91\xfa\xff!\xfa\xff\xdb\xdc \x00"i\x00\xdb\xdc \x00(\tVr\xff\xdb\xdc \x00\x88\x08\x0c\x12\x80\x80\x04 (0\x1d\xf0\x00\x00\x00\x00@6A\x00e\xfc\xff\x16\x9a\xff\x81\xed\xff\x91\xfc\xff\xdb\xdc \x00\x99\x08\xdb\xdc \x00\x98\x08Vy\xff\x1d\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x98\x00\xfd?\xff\xff\xff\x00\x04 \xf4?6A\x00!\xfc\xff2"\x04\x16C\x05e\xf8\xff\x16\xea\x04\xa5\xfb\xffXB\x0c\xf8\x0c\x13A\xf4\xffW\xa8\x0bX"\x80U\x10\xcc5A\xf2\xff\x1c\x03\x88"@X\x11%\xf3\xff\x81\xf0\xff\x80\x85\x10Q\xf0\xff\xdb\xdc \x00\x89\x05\x81\xd2\xff\xdb\xdc \x00Bh\x00\xdb\xdc \x00H\x08Vt\xff\x88BH"0\x88\xdb\xdc:4\x89B9"\x1d\xf0\x00\x08\x00\xf4?\x1c\x00\xf4?\x00\x00\xf4?\x90\x00\xfd?\x08\x80\xfc?\x80\x80\x00\x00\x84\x80\x00\x00@@\x00\x00H\xdb\xdc\xfc?\x10\x00\xf4?\x94\x00\xfd?6A\x00!\xf4\xff1\xf7\xffA\xf7\xff\xdb\xdc \x00X\x02JCa\xf1\xff\xdb\xdc \x00(\x06  t\x16\xe2\t\xc6#\x00a\xee\xff\xb1\xee\xff\xdb\xdc \x00\xa2&\x00\xa0\xa0t\xe5\xa5\x00\x96\xca\x04\x91\xea\xff\x81\xeb\xff\xb1\xeb\xff\x80\x89\x80\xb0\xb9\x80\xdb\xdc \x00\xc8\x08\x92\x1b\x00\xa0\xa0t\x90\x80\xf4\x1b\x98\x90\x90\xf4\xdb\xdc \x00\x92[\x00\x8a\x8c\xdb\xdc \x00\xa2H\x00\x82\x1b\x00\x91\xe1\xff\x80\x80\xf4\x97\x98>\xdb\xdc \x00\xa8\x04\x81\xe0\xff\x91\xdd\xff7\x9a\x19F\x02\x00|\xe8\x87\x1a\xe9F\t\x00\x00\x00\xdb\xdc \x009\x08\xdb\xdc \x00\x99\x04F\x02\x00\xdb\xdc \x00\x99\x08\xdb\xdc \x009\x04\x81\xd1\xff\x0c\t\x8a\x83\xdb\xdc \x00\x92X\x00\x0b"&\x02\x02\xc6\xd9\xff\xc6\xd4\xff\x00!\xce\xff\xdb\xdc \x00Y\x02\x1d\xf0\x00\x00P-\x06@6A\x00A\xa4\xffX405c\x16\xe3\x03X\x14ZSP\\A\x86\x00\x00e\xe8\xff\x88D\xa6\x18\x04\x88$\x87\xa5\xf2\xe5\xe0\xff\x16\x9a\xff\xa8\x140\xc3  \xb2 \x81\xf2\xff\xe0\x08\x00\x8c:"\xa0\xc4)TX\x14:UY\x14X405\xdb\xdc94\x1d\xf0\x00\x08 \xf4?\x00\x00@\x00p\xe2\xfa?H$\x06@\xf0"\x06@6a\x00\xe5\xd9\xff\xad\x01\x81\xfc\xff\xe0\x08\x00=\n\x0c\x12\xec\xea\x98\x01\x82\xa2\x00\x80\x89\x10\x89\x01\xa5\xde\xff\x91\xf2\xff\x81\xf3\xff\xdb\xdc \x00\xa8\t\x80\x8a \xdb\xdc \x00\x82i\x00\xb2!\x00\xa1\xef\xff\x81\xf0\xff\xe0\x08\x00\xa0#\x83\x1d\xf0\x00\x00\xff\x0f\x00\x006A\x00\xa1x\xff\x91\xfd\xff\x82\xa0\x01\x82J\x002j\x010\x8cA"j\x0300\xb4\x9a"\x89**\x83\x80\x8cA\x0c\x02\x89J)Z\xa5\xf8\xff-\n2\xa0\xc5\xa0#\x93\x1d\xf0\x00,\x92\x00@6A\x00\x82\xa0\xdb\xdc\xad\x02\x87\x92\x0e\xa2\xa0\xdb\xdd\x81\xfb\xff\xe0\x08\x00\xa2\xa0\xdc\x86\x03\x00\x82\xa0\xdb\xdd\x87\x92\x08\x81\xf7\xff\xe0\x08\x00\xa2\xa0\xdd\x81\xf4\xff\xe0\x08\x00\x1d\xf0\x00\x00\x006A\x00:2\x06\x02\x00\x00\xa2\x02\x00\x1b"\xe5\xfb\xff7\x92\xf4\x1d\xf0\x00\x00\x00\x10\x00\x00X\x10\x00\x00|\xda\x05@\xd8.\x06@\x9c\xda\x05@\x1c\xdb\xdd\x05@6!!\xa2\xd1\x10\x81\xfa\xff\xe0\x08\x00\x86\t\x00\x00Q\xf6\xff\xbd\x01PCc\xcd\x04\xad\x02\x81\xf6\xff\xe0\x08\x00\xec\xfa\xcd\x04\xbd\x01\xa2\xd1\x10\x81\xf3\xff\xe0\x08\x00J"@3\xdb\xdcVc\xfd\xa1\xec\xff\xb2\xd1\x10\x1a\xaa\x81\xee\xff\xe0\x08\x00\xa1\xe9\xff\x1c\x0b\x1a\xaa%\xf8\xff-\x03\x1d\xf0"\xa0c\x1d\xf0\x00\x006A\x00\xa2\xa0\xdb\xdc\x81\xcd\xff\xe0\x08\x00\x1d\xf0\x00\x00h\x10\x00\x00p\x10\x00\x00t\x10\x00\x00x\x10\x00\x00\xfcg\x00@\xa4\x92\x00@\x08h\x00@6A!a\xf9\xff\x81\xf9\xff\x1af\x1a\x88I\x06r\xd1\x10\x0c\x06,\nY\x08bg\x1a\x81\xf6\xff\xe0\x08\x00\x81\xcf\xffG\xb8\x02F6\x00\xad\x07\x81\xcf\xff\xe0\x08\x00M\x06Q\xef\xffa\xcb\xff\x1aUj\x81\x89\x05\x06-\x00\x00\x81\xe9\xff@c\xdb\xdc\x1a\x88\x88\x08\xbd\x01`hc\xcd\x06 \xa2 \x81\xc5\xff\xe0\x08\x00\x8c\xea\x91\xe1\xff\x0c\x05Rg\x16m\x05\x9aQF\r\x00\x00%\xf6\xff`\xb6 \xad\x01\xe5\xec\xff\xa5\xf5\xff\xcd\x06\x10\xb1 p\xa7 \x81\xba\xff\xe0\x08\x00j"jD7\xb4\xcc\x81\xd6\xffPd\xdb\xdc\x1a\x88\x88\x08\x876\xa3\x06\xef\xff\x00\x00\x81\xd4\xff\xe0\x08\x00\x81\xd1\xff\x10\x88\x80\xb2(\x00%s\x00\xf7\xea\r\xf6F\n`\xb5\x80\xa2K\x00\x1bf\x06\xf7\xff|\xeb\xb7\x9a\xd7&F\'\xa1\xa5\xffp\xb7 \x1a\xaa\x81\xa7\xff\xe0\x08\x00e\xef\xff\xa1\xa0\xff\x1c\x0b\x1a\xaa\xe5\xe5\xff\xa5\xee\xff,\n\x81\xc3\xff\xe0\x08\x00\x1d\xf0R\'\x1a7\xb5\xd1W\xb4\x8e\xc6\xf2\xff\x1d\xf0\x00\x00\x00\x00\xfc?OHAI\xa4+\xfd?4\x01\t@\x0c\x00\xf4?8@\xf4?\xff\xff\x00\x00\x00\x00\x01\x00\x8c\x80\x00\x00\x10@\x00\x00\x00@\x00\x00\x00\x00\xfc?\x04\x00\xfc?\x10\'\x00\x00\x14\x00\xf4?\xff\xff\x0f\x00\xa4+\xfd?\x08\x00\xfc?\xb0\x00\xfd?|h\x00@\xecg\x00@X\x86\x00@l*\x06@82\x06@\xcc,\x06@L,\x06@4\x85\x00@\xcc\x90\x00@0\xef\x05@X\x92\x00@L\x82\x00@\x14,\x06@6\xc1\x00!\xe0\xff\x0c\n"a\x08B\xa0\x00\x81\xef\xff\xe0\x08\x00!\xdb\xdd\xff1\xdc\xff\x06\x01\x00Bb\x00K"72\xf7e\xe2\xff\x0cK\xa2\xc1 %\xd9\xff\xa5\xe1\xffA\xe0\xfe!\xe0\xfe\xb1\xd4\xff\x0c\x0c*$\x0cZ\xdb\xdc \x00I\x02\x81\xe2\xff\xe0\x08\x001\xd0\xff"\xa1\x01\xdb\xdc \x00X\x03,\n % \xdb\xdc \x00)\x03\x81\x84\xff\xe0\x08\x00\x81\xdb\xdd\xff\xe0\x08\x00!\xc9\xff\xdb\xdc \x008\x02\xcc\xba\x1c\xc2 #\x10"\xc2\xf8\x0c\x13 \xa3\x83\x0c\x0b\x81\xd4\xff\xe0\x08\x00\xf1\xc2\xff\xd1R\xff\xc1\xc2\xff\xb1\xa5\xfe\xe2\xa1\x00\x0c\n\x81\xcf\xff\xe0\x08\x001\xa4\xfeR\xd3+!\xc2\xfeA\xbc\xffJb\xdb\xdc \x00(\x06\x16r\xff\xdb\xdc \x00x\x06\x0c\x02\xdb\xdc \x00)\x06\x0c\x16bA\x10b\x07\x01"Q\tbA\x11)Qf\x96\x17"\x07\x03b\x07\x02\x80"\x11`" fB\x08(\'\xdb\xdc \x00(\x02)Q\xa5\xd5\xff\x0c\x8b\xa2\xc1\x10e\xcc\xff"\x07\x03\x82\x07\x02\x80"\x11\x80\x82 !\xa7\xff\x87\xb2\x11\xa2\xa0\xdb\xdc\xa5\xc7\xff\xa2\xa0\xeee\xc7\xff%\xd3\xffF\xe2\xffb\x07\x01\x0c\xd2\'\x96\x02\x06\x91\x00g2Nff\x02\xc6\xb0\x00\xf6v f6\x02\xc6e\x00\xf6F\x08f&\x02\xc6K\x00F\xaf\x00fF\x02\x06{\x00fV\x02\x86\x8f\x00\x86\xab\x00\x0c\x92\'\x96\x02\x06\x86\x00g2\x08fv\x02\xc6\x8c\x00\x86\xa6\x00f\x96\x02F\x84\x00\x0c\xb2\'\x96\x02Fy\x00F\xa2\x00\x1c2\'\x96\x02\xc69\x00g2(f\xb6\x02\xc6C\x00\x1c\x02g2\n\x0c\xf2\'\x96\x02\x06.\x00\x06\x9a\x00\x1c\x12\'\x96\x02\x86K\x00\x1c"\'\x96\x02Fc\x00F\x95\x00"\xa0\xd1\'\x16-g2\t"\xa0\xd0\'\x16\x18\xc6\x90\x00\x00"\xa0\xd2\'\x96\x02\x86%\x00"\xa0\xd3\'\x96\x02F!\x01F\x8b\x00\x0c\x12\x16\x18=\xad\x02-\n\x86\x86\x00&\x88\x02\x86\x84\x00\xc6\xf4\x00\x00\x00%\xb1\xff`F `"\x80\x16*\x01\x86\x7f\x00\x00\xa0\xacA\x81w\xff\xe0\x08\x00V\x1a\x1fB\xd4\xf0@\xa2\xdb\xdc\xcc$\x86\xfd\x00\x00\xa0`\xf4V\x16\xfea_\xff\x86\x03\x00\xa0\xa0\xf5\x81o\xff\xe0\x08\x00V\xda\x1c`D\xdb\xdc@\xa2\xdb\xdcG6\xea\x86\x03\x00\xa0\xacA\x81h\xff\xe0\x08\x00VZ\x1bB\xd4\xf0@\xa2\xdb\xdcV\xa4\xfeF\xee\x00\x0c\x06"\xa0\xdb\xdc&\x88\x02Fk\x00\x86\xee\x00\x00\x00f\xb8\x02\x86\xec\x00\x06G\x00f\xb8\x02\x86\xd7\x00\xc6a\x00"\xa0\x01&\xb8\x02\x06`\x00\x92\'\x04\x81I\xffb\xa0\x00"\xa0\xc2\x87\x19\x02\xc6^\x00\xb8W\xa8\'\xa5\xab\xff\xc6\xcf\x00\x00\x00\x00\x0c\x14f\xb8,\xa8G\x81@\xff\x0c\x06"\xa0\xc2\x87\x1a\x02FV\x00\x887\xb8W\xa8\' \x88\x11\x89\xc1%\xa9\xff!\x1c\xfe\x88\xc1ib"\xd2+\x89"\xa0F\x83-\x04\x86J\x00\x91\x17\xfe\x0c\x06\xa2\t\x00"\xa0\xc6g\x9a\x02\x86I\x00h\'(Y\x82\xc8\xf0\x80f\xdb\xdc\x92\xa0\xdb\xdc`)\x93b\xc7\x18\x9d\x06\xb2\xa0\xef\xc6\x01\x00\xa2\t\x00\x1b\x99\xa0\xbb0`\xa9\xdb\xdc\x87*\xf1\x82\x07\x05\xa2\x07\x04b\x07\x06\x80\x88\x11\xa0\x98 \x00f\x11\x90\x86 b\x07\x07\x92\xa0\xc1\x80f\x01\x80f `\x8b\xdb\xdc\x80)\x93\x0c\x06F4\x00\x00\x81\xfe\xfd\x0c\x06\x92\x08\x00"\xa0\xc6g\x99\x02\xc6/\x00\x988"\xa0\xc8g\x19\x02\x06-\x00bH\x00(X\x06+\x00\x1c\x82\'\x98\x02F\x9f\x00\x0c\x06\x0c\x12F\'\x00\x00fH\x02F\xa3\x00\x06!\x00f\xb8\x02\x06\xa5\x00\xc6\x01\x00\x00\x00fH\x02\x86\xa4\x00\x0c\x06"\xa0\xdb\xdc\x86\x1e\x00\x00\x00f\xb8\x02F\xa2\x00\x06\x18\x00\xc1\x03\xff\x0c\x06\xa8\x0c\x0c\x12\x82\xc8\xf0\x9d\x06\x80\x92\x93\xa0&\x93 \x99\x10"\xa0\xc6g\x99R\xb1\xfd\xfem\t\xd8\x0b"\xa0\xc9\x87=E\x80\xe0\x14\x0c\x06"\xa0\xdb\xdcg\x9e:b\xc7\x18-\x0e\xc6\x02\x00*\x96\x98\tK"\x99\nK\xaa\x0c\x19 \xed\xdb\xdc\x872\xed\x16\xd9"\xa9\x0c\xe9\x0b\x86\x89\x00\x00\x00f\x88\x02\x86\x8d\x00\x0c\x12\x0c\x06\xc6\x01\x00\x00\x00b\xa0\x00"\xa0\xff \xa0t\xa5\x97\xff`\xa0te\x97\xff%\xa3\xffV\xa2\xc8b\x07\x01\x0c\xf8\x87\x161g8\x15fF\x02FU\x00ff\x02F[\x00&6\x02F\x1b\xff\x06\x1b\x00\x00\x1c"\'\x96\x02FO\x00"\xa0\xd2\'\x16K\x1c\x12\'\x16\x02\xc6\x14\xff\xc6\x1a\x00\xa1\xd6\xfe\x81\xe3\xfe\xe0\x08\x00a\xd5\xfe\x81\xd5\xfe\xdb\xdc \x00h\x06\xb87\x80\x86\x10\xdb\xdc\x88\x11`d5\x80f\x80\xb0f\x82\xb8\' \xa2 \xb0\xb6\xc2\x81\xd9\xfe\xe0\x08\x00\xa2\xa3\xe8\x81\xd6\xfe\xe0\x08\x00F\x04\xff\x00\x00\xd2\'\x05\xc2\'\x04\xb2\'\x03\xa8\'%\x9d\xff\x86\xff\xfe\x00\xb2\x07\x03"\x07\x02\x80\xbb\x11 \xbb \xb2\xcb\xf0\xa2\xc7\x18%~\xffF\xf9\xfe\x00b\x07\x03\x82\x07\x02\x80f\x11\x80f "\xc7\x18b\xc6\xf0\x0c\x19\x06\x1e\x00A\xb9\xfeq\xb5\xfd\xe2$\x00ba\x07\xe0w\xdb\xdcra\x06x%\x0c9w6\x01\x0c\x19\x99\xd1\xe9\xc1ed\xff\x98\xd1q\xb1\xfe\xe8\xc1\xa1\xb0\xfe\xbd\x02\x99\x01\xf2\xc1\x18\xdd\x07\xc2\xc1\x1c\x81\xb7\xfe\xe0\x08\x00\x9d\n\xb8%\xa8q\xa0\xbb\xdb\xdc\xb9%\xa0f\xdb\xdc\xb8\x04\xaa"\xa8a\xaa\xbb\x0b\xa9\xa0\xa9 \xb9\x04\xa0\xaf\x05p\xbb\xdb\xdc\xcc\x9a\xc2\xdb\xdd\x80\x0c\x1d\xdb\xdc\xad\x83\x16\xaa\x00\xad\x07\x99\xd1%u\xff\x98\xd1y\x04\x8c\xb6x3\x8cw\x90\x7f1\x90w\xdb\xdc\x96w\xf7\xd6\x89\x00"\xa0\xc7)S\xc68\x00\x00V\xf9\r(3\x16\x12\xb3"\xa0\xc8\x86\x00\x00"\xa0\xc9)S\xc6\xc8\xfe\xa8\'V\xea\xb1\x81\x9a\xfe\xe0\x08\x00\xa1\x88\xfe\x81\x95\xfe\xe0\x08\x00\x81\x97\xfe\xe0\x08\x00\x86\xc1\xfe\x00(7\x16\x02\xb0\xe0\x02\x00\x86\xbe\xfe\x00\x89\xc1\x81\x92\xfe\xe0\x08\x00\x88\xc1\xa0\x82\x93\xad\x08F\x07\xff(\'h7`\x82 \x80\x80\xb4\x16\x08\xc2\xc6\x8a\xff\xb2\'\x03\xa2\'\x02e\x81\xff"\xa0\x00\x0c\x16\xa0&\x93F\x86\xff\xf8w\xe8g\xd8W\xc8G\xb87\xa8\'\x0c\x12\x81z\xfe\xe0\x08\x00m\n\x0c\n`*\x83\x06\x82\xff\xa8\'\x0c\x0b\x81t\xfe\xe0\x08\x00\x0c\x02\x06{\xff\x00(\'h7\xdb\xdc \x00i\x02\x0c\x06-\x06\x06z\xff!b\xfe\x88Wh\'\x89\x02!`\xfei\x02\x06\xf6\xff\x91^\xfe\x0c\x08h\t"\xa0\xc8`(\x83m\x02!Z\xfe\x89\t\x89\x02\x0c\x12`(\x83\x06k\xff(3\x16R\xf2\x86\x93\xfe\x00\x1d\xf0\x00\x006A\x00\x9d\x02\x82\xa0\xdb\xdc(\x03\x87\x99\x0e\xcc2\x0c\x12\xc6\x06\x00\x0c\x02)\x03|\xe2\x1d\xf0&\x12\x05&"\x12\x06\x0c\x00\x82\xa0\xdb\xdd\x80)#\x87\x99)\x0c")\x03\x06\x08\x00"\xa0\xdc\'\x99\x08\x0c\x12)\x03-\x08\x1d\xf0\x00\x82\xa0\xdd|\xf2\x87\x99\x0b\x0c\x12)\x03"\xa0\xdb\xdd\x1d\xf0\x00|\xf2\x1d\xf0\x00\x00\xc0'
TRACE +0.333 Read 1 bytes: '\xc0'
TRACE +0.000 Read 7 bytes: '\x01\x07\x04\x005\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\x07\x04\x005\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x05 data len=16 wait_response=1 timeout=3.000 data='\x04\x00\x00\x00\x01\x00\x00\x00\x00\x18\x00\x00\xa4+\xfd?'
TRACE +0.000 Write 26 bytes: '\xc0\x00\x05\x10\x00\x00\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00\x18\x00\x00\xa4+\xfd?\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 7 bytes: '\x01\x05\x04\x005\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\x05\x04\x005\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x07 data len=20 wait_response=1 timeout=3.000 data='\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\xfc?'
TRACE +0.000 Write 30 bytes: '\xc0\x00\x07\x14\x00$\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\xfc?\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 4 bytes: '\x01\x07\x04\x00'
TRACE +0.001 Read 1 bytes: '5'
TRACE +0.000 Read 8 bytes: '\x00\x00\x00\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\x07\x04\x005\x00\x00\x00\x00\x00\x00\x00'
Running stub...
TRACE +0.000 command op=0x06 data len=8 wait_response=1 timeout=3.000 data='\x00\x00\x00\x00d\x05\t@'
TRACE +0.000 Write 18 bytes: '\xc0\x00\x06\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x05\t@\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 5 bytes: '\x01\x06\x04\x005'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 7 bytes: '\x00\x00\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\x06\x04\x005\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 5 bytes: 'OHAI\xc0'
TRACE +0.000 Full packet: 'OHAI'
Stub running...
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x1c \x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x1c \x00`\xc0'
TRACE +0.005 Read 1 bytes: '\xc0'
TRACE +0.000 Read 9 bytes: '\x01\n\x00\x00@\x00\x00\x80\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\n\x00\x00@\x00\x00\x80\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='$ \x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00$ \x00`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 9 bytes: '\x01\n\x00\x00\x00\x00\x00p\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\n\x00\x00\x00\x00\x00p\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data=', \x00`\x07\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00, \x00`\x07\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.002 Read 11 bytes: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='\x1c \x00`\x00\x00\x00\x90\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00\x1c \x00`\x00\x00\x00\x90\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 9 bytes: '\x01\t\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='$ \x00`\x05\x00\x00p\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00$ \x00`\x05\x00\x00p\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 9 bytes: '\x01\t\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='\x80 \x00`\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00\x80 \x00`\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 8 bytes: '\x01\t\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.002 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='\x00 \x00`\x00\x00\x04\x00\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00\x00 \x00`\x00\x00\x04\x00\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 10 bytes: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x00 \x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x00 \x00`\xc0'
TRACE +0.005 Read 12 bytes: '\xc0\x01\n\x00\x00\x00\x00\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x80 \x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x80 \x00`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 6 bytes: '\x01\n\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\x00'
TRACE +0.001 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\n\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='\x1c \x00`@\x00\x00\x80\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00\x1c \x00`@\x00\x00\x80\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 8 bytes: '\x01\t\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.003 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='$ \x00`\x00\x00\x00p\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00$ \x00`\x00\x00\x00p\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 6 bytes: '\x01\t\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\x00'
TRACE +0.001 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x1c \x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x1c \x00`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 11 bytes: '\x01\n\x00\x00@\x00\x00\x80\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x00\x00@\x00\x00\x80\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='$ \x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00$ \x00`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 6 bytes: '\x01\n\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 4 bytes: 'p\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x00\x00\x00\x00\x00p\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data=', \x00`\x07\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00, \x00`\x07\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.005 Read 1 bytes: '\xc0'
TRACE +0.000 Read 5 bytes: '\x01\t\x00\x00\x00'
TRACE +0.000 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='\x1c \x00`\x00\x00\x00\x90\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00\x1c \x00`\x00\x00\x00\x90\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 7 bytes: '\x01\t\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='$ \x00`5\x00\x00p\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00$ \x00`5\x00\x00p\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.006 Read 1 bytes: '\xc0'
TRACE +0.000 Read 11 bytes: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='\x80 \x00`\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00\x80 \x00`\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 8 bytes: '\x01\t\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='\x00 \x00`\x00\x00\x04\x00\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00\x00 \x00`\x00\x00\x04\x00\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 8 bytes: '\x01\t\x00\x00\x00\x00\x00\x00'
TRACE +0.003 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x00 \x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x00 \x00`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 1 bytes: '\x01'
TRACE +0.000 Read 1 bytes: '\n'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 5 bytes: '\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\n\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x0a data len=4 wait_response=1 timeout=3.000 data='\x80 \x00`'
TRACE +0.000 Write 14 bytes: '\xc0\x00\n\x04\x00\x00\x00\x00\x00\x80 \x00`\xc0'
TRACE +0.003 Read 1 bytes: '\xc0'
TRACE +0.000 Read 9 bytes: '\x01\n\x00\x00\x02\x00\x00\x00\x00'
TRACE +0.000 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\n\x00\x00\x02\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='\x1c \x00`@\x00\x00\x80\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00\x1c \x00`@\x00\x00\x80\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 8 bytes: '\x01\t\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 1 bytes: '\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x09 data len=16 wait_response=1 timeout=3.000 data='$ \x00`\x00\x00\x00p\xff\xff\xff\xff\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\t\x10\x00\x00\x00\x00\x00$ \x00`\x00\x00\x00p\xff\xff\xff\xff\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 8 bytes: '\x01\t\x00\x00\x00\x00\x00\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\xc0'
TRACE +0.000 Full packet: '\x01\t\x00\x00\x00\x00\x00\x00\x00\x00'
Status value: 0x0200
Staying in bootloader.
TRACE +0.000 command op=0x02 data len=16 wait_response=1 timeout=3.000 data='\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00'
TRACE +0.000 Write 26 bytes: '\xc0\x00\x02\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xc0'
TRACE +0.004 Read 1 bytes: '\xc0'
TRACE +0.000 Read 8 bytes: '\x01\x02\x00\x00\x00\x00\x00\x00'
TRACE +0.009 Read 1 bytes: '\x00'
TRACE +0.000 Read 2 bytes: '\x00\xc0'
TRACE +0.000 Full packet: '\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00'
TRACE +0.000 command op=0x04 data len=4 wait_response=1 timeout=3.000 data='\x00\x00\x00\x00'
TRACE +0.000 Write 14 bytes: '\xc0\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0'
TRACE +0.002 Read 3 bytes: '\xc0\x01\x04'
TRACE +0.000 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.001 Read 1 bytes: '\x00'
TRACE +0.002 Read 1 bytes: '\x00'
TRACE +0.000 Read 5 bytes: '\x00\x00\x00\x00\xc0'
TRACE +0.000 Full packet: '\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00'
Also, this is what I get when trying to flash the module:

Code: Select all

esptool.py v2.1
Connecting...
Chip is ESP32D0WDQ6 (revision 0)
Enabling default SPI flash mode...
Configuring flash size...
Auto-detected Flash size: 8MB
Erasing flash...
Compressed 8192 bytes to 47...
Took 0.07s to erase flash block

Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 852.1 kbit/s)...
Hash of data verified.
Erasing flash...
Flash params set to 0x033f
Compressed 12304 bytes to 8113...
Took 0.12s to erase flash block

Writing at 0x00001000... (12 %)
Writing at 0x00001400... (25 %)
Writing at 0x00001800... (37 %)
A fatal error occurred: Failed to write compressed data to flash after seq 2 (result was 01073332)
A fatal error occurred: Failed to write compressed data to flash after seq 2 (result was 01073332)
I'm starting to think the module's flash itself might be the problem. Is there any way to know?

Thanks for everybody who helped me.

Pedro

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: Unable to flash ESP32-WROOM - Getting RAM errors

Postby ESP_Angus » Tue Apr 10, 2018 11:39 pm

Hi vs_pedro,

The intermittent issues you have certainly point to something with hardware. Either power supply integrity, or signal integrity for the serial lines. Suggest double-checking all connections for signal, power, and grounds.

A couple of additional questions:

- Is anything connected to GPIOs 9-11 (these pins of the module are shared with the SPI flash)?

- Where are you sourcing the WROOM modules from? Were they a special order for 8MB of onboard flash (as shown from the auto-detect size, above)?

- Does anything change if you drop the baud rate (like -b 9600 or -b 57600)?
vs_pedro wrote: I'm simply measuring the voltage at the pin and checking for a drop in the screen to appear, but I'm not sure if it's the best way to capture possible transients. If you know a better way to look into this please let me know.
The glitches due to current draw can be very short, so you probably won't see them without setting the oscilloscope to trigger. If I'm looking for this kind of thing, I usually set something like Single triggering mode, DC coupling, falling edge trigger, and set the trigger level maybe 100mV to 300mV below the DC voltage when the chip is idle. Set the timescale to maybe 1us/div. Then arm the scope and try running the operation which causes the problem. If the voltage drops below the trigger level, the scope will trigger and you'll see a trace of the waveform at that point in time.

(This is assuming you have a storage oscilloscope, ie DSO. Doing this kind of analysis with a non-storage oscilloscope is harder...)

Make sure to place the probe as close as possible to the WROOM VCC pin, and connect ground clip as close as possible to the WROOM ground (the ground clip usually ends up a bit further away due to basic logistics.)

vs_pedro
Posts: 5
Joined: Mon Apr 09, 2018 6:11 pm

Re: Unable to flash ESP32-WROOM - Getting RAM errors

Postby vs_pedro » Thu Apr 12, 2018 11:02 am

Everything is just getting weirder.

No, I didn't place any special order. I used stock ESP-WROOM-32 sourced from DFRobot (TEL0111).

I checked the power rails as you suggested and could not find any glitches. I'm now using 22uF + 4.7uF + 100nF as decoupling. All capacitors are less than 1 cm away from the module.

No, nothing is currently attached to those pins (GPIO9-11). However some traces run from them to non-populated pads. Maybe the added capacitance distorts the signal?

I checked the serial line and they seemed to be okay, however I noticed a >180ns rise time. Is this acceptable? I couldn't find the maximum rise time on the datasheet.

By lowering the baud rate to 38400 (the module wouldn't respond to 9600), I could get the module to flash correctly twice, although the second time it didn't finish the verification.

First time

Code: Select all

(38400, 40MHz, DOUT)
esptool.py v2.1
Connecting........_____....._____.....____
Chip is ESP32D0WDQ6 (revision 0)
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 8MB

Writing at 0x0000e000... (100 %)
Wrote 16384 bytes at 0x0000e000 in 4.8 seconds (27.5 kbit/s)...
Hash of data verified.
Flash params set to 0x0330

Writing at 0x00001000... (100 %)
Wrote 16384 bytes at 0x00001000 in 4.9 seconds (26.8 kbit/s)...
Hash of data verified.

Writing at 0x00010000... (10 %)
Writing at 0x00014000... (20 %)
Writing at 0x00018000... (30 %)
Writing at 0x0001c000... (40 %)
Writing at 0x00020000... (50 %)
Writing at 0x00024000... (60 %)
Writing at 0x00028000... (70 %)
Writing at 0x0002c000... (80 %)
Writing at 0x00030000... (90 %)
Writing at 0x00034000... (100 %)
Wrote 163840 bytes at 0x00010000 in 48.1 seconds (27.2 kbit/s)...
Hash of data verified.

Writing at 0x00008000... (100 %)
Wrote 16384 bytes at 0x00008000 in 4.8 seconds (27.5 kbit/s)...
Hash of data verified.

Leaving...
Staying in bootloader.
The second time it gave the following error right after the last write:

Code: Select all

A fatal error occurred: Timed out waiting for packet header
However the code ran correctly (just initialize a SoftAP).

I have no idea what might be happening right now.

Thanks,
Pedro

Who is online

Users browsing this forum: asargent and 88 guests