When recovering a ConnectCore 9P9360 or ConnectCore 9P9750 module which is not booting anymore, sometimes even re-programming U-Boot via JTAG into flash does not revive the module.
With U-Boot 1.1.3 and some early versions of U-Boot 1.1.4 using the on module I2C EEPROM to store environment variables, the root cause of "no serial output" or ""not able to interrupt autoboot by key or Ctrl-C/break" can be a misconfigured environment setting.
For example, if bootdelay=0 was set, there is sometimes no way to set this back, since you will never get the U-Boot prompt anymore. The same would be true if you set the baudrate to some uncommon value which is not determined by your terminal program.
One way around this is to boot your operating system and modify the eeprom contents from there.
If the OS does not boot, you can recover with the Digi JTAG-Booster with the following DOS-commands:
CC9P9360: JTAG9360 /pser env.bin /serclk=GPIO70 /serdat=GPIO71 /serbig /o=500 /lpt-base=378
CC9P9750: JTAG9750 /pser env.bin /serclk=I2C_SCL /serdat=I2C_SDA /serbig /o=500 /lpt-base=378
Where env.bin is a binary file smaller than 2KByte containing known good eeprom contents read with the /rser option, or some random contents, which will cause U-Boot to boot up with default environment settings and the warning:
*** Warning - bad CRC, using default environment
Note: The procedure above will clear the MAC address stored in EEPROM.
To restore the MAC address you have to enter:
setenv ethaddr 00:04:F3:xx:yy:zz; saveenv
where xx:yy:zz is the tail of the MAC address printed on the module.
Note: if you are working with newer U-Boot 1.1.4 or U-Boot 1.1.6 storing NVRAM in flash, use those recovery instructions
Deflate the latter file to a local disk and accept any security allerts (uncheck to be asked again) to read the Windows helpfile.