diff --git a/firmware/rust1/download_firmware_via_modbus.py b/firmware/rust1/download_firmware_via_modbus.py
index f858e1e6472f205c1519b71b8825e127f7af0c80..56b3d86f34d375ba4c78f2837a4339ce5b7ff5d0 100644
--- a/firmware/rust1/download_firmware_via_modbus.py
+++ b/firmware/rust1/download_firmware_via_modbus.py
@@ -87,6 +87,27 @@ def main():
             if x.registers != [0, 1, 0, 1]:
                 raise Exception("We haven't implemented re-sending blocks, yet.")
 
+        if False:
+            with open("flash-read.bin", "wb") as f:
+                block_size = 32768
+                for offset in range(0, 2*1024*1024, block_size):
+                    x = client.write_registers(3, offset//512, slave=DEVICE_ADDR)
+                    logger.info("set offset: %r" % x)
+
+                    read_size = 200
+                    for offset2 in range(0, block_size, read_size):
+                        r = FileRecord(file_number=1, record_number=offset2//2, record_length=min(read_size, block_size-offset2)//2)
+                        x = client.read_file_record([
+                            r
+                        ], slave=DEVICE_ADDR)
+                        #logger.info("read: %r" % x)
+                        #logger.info("read: %r, %r" % (x.records[0], r))
+                        #logger.info("read: %r" % x.records[0].record_data)
+                        data = x.records[0].record_data
+                        assert(len(data) == r.record_length*2)
+                        assert(f.tell() == offset+offset2)
+                        f.write(data)
+
         x = client.write_registers(1, struct.unpack(">H", b"UP")[0], slave=DEVICE_ADDR)
         logger.info("write to mark for update: %s", x)