How to recover an unflashable MSB A2 - thomaseichinger/RIOT GitHub Wiki
Overview
This HOWTO may help your bring a unflashable MSB-A2 flashable.
This is done in two steps:
- invert RTS pin (done by ft232r_prog (Linux) or mProg (Windows)
 - erase first block of the ROM to prevent the MSBA2 from booting
 
Linux: ft232r_prog
- Connect MSBA2 to your machine
 - Check for pin state: 
ft232r_prog --dump- if 
rts_inverted = 1you need to invert this pin (set to 0) - run 
ft232r_prog --invert_rtsto invert this pin - check for pin state: 
ft232r_prog --dump 
 - if 
 
Windows: mProg
First step to reprogram the FTDI232R:
- Tools->Read and parse
 - File->Save As bla.ept
 - File->Edit
 
to prevent the MSB-A2 from running user application your have to program the "Device Type" FT232R lowering the RTS line on poweron (uncheck the "Invert RTS#" box in the "Invert RS232 Signals" -Tab). If the checkbox "Load D2XX driver is not yet checked please download and install the D2XX-Driver. (if it does not work with the standard VCP driver) Device->Program
HTerm
- reconnect the device
- you should notice that the MSB2 does not reboot anymore
 
 - start HTerm
- press the 
Bbutton to refresh the device list - select your device from the list (typically 
/dev/ttypUSB0) - set baud rate to 
115200 - click connect
 - set the line breaks to 
CR-LF- once for the sending part in 
send on enter - and on the receiving part in 
Newline at 
 - once for the sending part in 
 
 - press the 
 - reprogram the ROM by entering these commands:
 
command	              response	                         comment
================================================================================
"?"CRNL	             "Synchronized"CRNL	 
"Synchronized"CRNL   "Synchonized"CRNL"OK"CRNL	
"16000"CRNL          "16000"CRNL"OK"CRNL	
"J"CRNL	             "J"CRNL"0"CRNL"402716981"CRNL       LPC2387 (500k) 
"U 23130"CRNL        "U 23130"CRNL"0"CRNL                unlocked 
"P 0 0"CRNL          "P 0 0"CRNL"0"CRNL	                 prepare block 0 0 
"E 0 0"CRNL          "E 0 0"CRNL"0"CRNL	                 erase block 0 0 
"P 1 1"CRNL          "P 1 1"CRNL"0"CRNL	                 prepare block 1 1 
"E 1 1"CRNL          "E 1 1"CRNL"0"CRNL	                 erase block 1 1 
and so on. Usually, erasing the first block should be enough.
Finishing
Finally you should be able to flash the MSB-A2 node. It is important to program the FTDI232R with the initially saved settings, especially enable the "Invert RTS"-checkbox (or run ft232r_prog --invert_rts again)!