I've had the chance to support a fellow forum user who had to
un-brick his cam as he had by accident
deleted all (deleteable) files from the E4 (good for him he had made a backup as first step).
The symptoms were like this:
- camera would show a logo on boot, that's all.
- RNDIS/FTP/TELNET were still available, but FTP login did not work - telnet was possible
The solution to the bricked state was fetching the firmware upgrade pack (even beeing a small downgrade in reality)
http://cdn.cloud.flir.se/swdownload/assets/cameradownload/flir_ex_pn639_v1.18.7_update_pack.zipand flashing the .fif file with FlirNetInstall - confirming and ignoring several error messages.
Then after a reboot and putting it back into RNDIS mode again the backup was used to overwrite the older files, resulting
in a pretty much perfect reconstruction and a fully working camera where the firmware showed the newer version - disregarding
the fact that appcore.exe was not overwritten via FTP.
The perfect way would have been to create a .fif file from the backup or to
have a .fif backup in the first place (FlirNetInstall).
I also did some
version comparisons and found that his camera (with 1.8.19 firmware) has differences in the following files:
\FlashBFS\system\appcore.exe
\FlashBFS\system\fpga.bin
\FlashBFS\system\fvd.dll
\FlashBFS\system\prodapp.exe
\FlashBFS\system\web\service\imgcorr\pixkill.asp
\FlashFH\MaxResolution.txt
<- file unknown to me, containing "80" as content\FlashFH\default_a\ -> \FlashFH\default_b\
.caps.config.revision text "1.0" <- mine
.caps.config.revision text "1.1" <- his
Prodspec.rsc contains some nice findings, too:
# For Ex camera and SBA0901 detector, Astra
#special max resolution 80x60
.prodSpec.general.version text "0.4X" (was 0.42 for my 1.0)
.prodSpec.map.detectorDefects.blob.blobLimitBig int32 3000 (was 1150 for my 1.0)
.prodSpec.map.detectorDefects.blob.blobLimitSmall int32 3450 (was 1450 for my 1.0)
.prodSpec.map.detectorDefects.blob.maxNumberBlobs int32 100 (was 20 for my 1.0)
And a bunch of new entries:
.prodSpec.map.detectorDefects.blob.ratioTh double 0.37
#Above is replaced by this
.prodSpec.map.windowDefects entry
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le entry
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.Th1 int32 700
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.Th2 int32 400
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.radiusThreshold double 3.5
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.minRadius double 2.3
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.blobLimitBig int32 2450
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.blobLimitSmall int32 3450
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.maxNumberBlobs int32 100
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.ratioTh double 0.37
#pick up map to check from calib .calib.detector.staticGainMap.
#.prodSpec.map.detectorDefects.filename text "ds250C_we_ap_fi_le_static.gan"
# Unverified "dummy" values of Ckj added 2013-09-05
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.C00 double -3.0813
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.C01 double 22655.0
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.C02 double -11879.0
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.C10 double -0.0039
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.C11 double -74.1062
.prodSpec.map.windowDefects.ds250C_we_ap_fi_le.C12 double 40.8838
....
.prodSpec.imgQuality.perf.ccase.ds250C_we_ap_fi_le.BigBB60_netd.maxSpatNoise double 30.0 (was 14.0 for mine)
.prodSpec.SE.ExFOL7.0.mtfMin double 0.23 (was 0.25 for mine)
\Windows\default.mky <-- seems to be some generated key
\Windows\system.mky <-- seems to be some generated key
\Windows\FTPd.tmp <-- differs, seems to be a FTP log-file
A few other files inside FlashBFS also differed (but had the same size) - that was obviously due to some compile time timestamping - usually 3 x 4 byte groups differed inside the file