Downgrading from U-Boot 1.1.4/1.1.6 to U-Boot 1.1.3 on CC9P9360 modules to run old WinCE5.x, LxNETES-3.x or NET+OS-6.x firmware, using NVRAM from EEPROM

EOL Replacement
FS-382 U-Boot 1.1.3 NVRAM in EEPROM, R2 populated (EOL waived, still avail) CC-9P-T225-Z1 U-Boot 1.1.6 NVRAM in Flash, no R2 populated
FS-383 U-Boot 1.1.3 NVRAM in EEPROM, R2 populated CC-9P-T236-Z1 U-Boot 1.1.4 NVRAM in Flash, no R2 populated
FS-3013 U-Boot 1.1.3 NVRAM in EEPROM, no R2 populated CC-9P-V225-Z1 U-Boot 1.1.4 NVRAM in Flash, no R2 populated

Modules CC-9P-x2xx-Z1 have programmed NVRAM in a flash partition maintained by U-Boot 1.1.4 or higher. U-Boot 1.1.3 and operating systems WinCE5.x, LxNETES-3.x expect NVRAM in on module EEPROM.

Downgrade U-Boot and NVRAM into EEPROM from U-Boot console as following:

Connect ethernet with TFTP server providing your latest U-Boot 1.1.3 binary or USB stick with this binary. If it fits your need, you can also use latest U-Boot 1.1.3 FS.3 binary from Digi:
http://ftp1.digi.com/support/patches/uboot113fs3-binaries.zip
http://ftp1.digi.com/support/patches/UBootFixes_113F3.htm

On U-Boot 1.1.4/1.1.6 console type:
# printenv ethaddr
ethaddr=00:04:F3:xx:yy:zz <- remember the MAC address

# update uboot tftp u-boot-cc9p9360val.bin <- to update via ethernet/TFTP
or
# update uboot usb u-boot-cc9p9360val.bin <- to update from USB mem stick

# imm 50 500.2 <- invalidate environment in EEPROM
0500: dd ? ff <- enter any value different from displayed one
0501: 2b ? . <- enter "." to end modification of EERPOM
# reset <- to boot (your) U-Boot 1.1.3 (check its output)

U-Boot 1.1.3 should now boot with message:
*** Warning - bad CRC, using default environment
# setenv ethaddr 00:04:F3:xx:yy:zz <- enter MAC you remembered above or from label/sticker
# saveenv

If you fail to downgrade, you can use the recovery instructions.

Check if placment option R2 affects your application
The CC9P9360 modules do have a on module Dallas DS1337 RTC. On modules FS-383 and FS-383 the interrupt output of this RTC is connected via a 0 Ohm resistor R2 to GPIO13, in order to allow software to get this interrupt.

On all other CC9P9360 modules (e.g. FS-3013 and all CC-9P-?2?? replacements) the resistor R2 is not populated, allowing to use GPIO13 for other purposes (e.g. serial ring indicator). Drawback is, that you can't use the DS1337 RTC interrupt input in your software. If your software depends on this, you should either change the software or patch the module with a 0 Ohm connection on R2.

Last updated: Oct 21, 2024

Recently Viewed

No recently viewed articles

Did you find this article helpful?