Author Topic: Fixing up a mix&match'ed Flir ONE  (Read 1386 times)

0 Members and 1 Guest are viewing this topic.

Offline tmbincTopic starter

  • Frequent Contributor
  • **
  • Posts: 250
Fixing up a mix&match'ed Flir ONE
« on: July 31, 2020, 07:04:25 am »
I've obtained a broken Flir ONE Pro, and a broken Flir ONE Gen 3. The Gen 3 was easy to fix - the battery was broken - but the Pro's AT91SAM SoC had a connection problem with the DRAM (it enumerated in SAM-BA mode only, and couldn't initialize memory). I tried to reflow but as expected it didn't help. I did not attempt to re-ball.

I tested both Leptons with a breakout board, and they both worked properly. The Pro and Gen 3 PCB are apparently identical, so I swapped the Lepton 3.5 into the Gen 3. It successfully connects to the mobile app, gives me a higher thermal resolution, but the MSX is totally off now. Also, temperature readings are not working (usually display -50°C).

I wonder how I can fix this. Unfortunately I can't dump the Pro, as - at least with SAM-BA - this requires working RAM. Desoldering would be an option, but is all but trivial.

I was hoping I can fix this by putting in the right "shared_files". I've dumped the Gen 3 via the serial port (root:indigo), and noticed there's a CameraFiles.zip that - apparently - contains a standard calibration for the 80x60 Lepton. (I don't think it's per-sensor as the device was manufactured in 2020, but the CameraFiles.zip is from 2015).

Does someone have a Pro CameraFiles.zip that I could put it? Or maybe a complete dump of /root/shared_files?
 

Offline tmbincTopic starter

  • Frequent Contributor
  • **
  • Posts: 250
Re: Fixing up a mix&match'ed Flir ONE
« Reply #1 on: July 31, 2020, 09:57:48 am »
Short update: I've fixed up the serial number (it checks 2nd and 3rd character; "05" - flir one consumer aka. gen3, "07" - flir one pro) in the manufacturing_info.txt, and it restored the "pro" behavior in the app (ability to disable MSX, ability to scale temperature range, custom measurements etc.).

To do so, you need to do "setenv flash_enable 1; boot" in u-boot - it boots into "update mode" (where /root/shared_files is read-writable), and then I carefully updated manufacturing_info.txt.

But without the fixed CameraFiles.zip the measurements are still off.

The thermal image quality is still weird/bad, but it's hard to compare with the raw output (when interfacing the Lepton directly). They seem to use a really weird upscaling filter.
« Last Edit: July 31, 2020, 10:06:24 am by tmbinc »
 

Offline tmbincTopic starter

  • Frequent Contributor
  • **
  • Posts: 250
Re: Fixing up a mix&match'ed Flir ONE
« Reply #2 on: August 02, 2020, 05:22:52 pm »
Hm, I could swear there was an answer asking for more details on how to obtain this data, but it's gone now. Maybe it was intentionally removed by the author.

Anyway, I've attached a picture with the pinout of the serial port. You can see the output of my (non-broken) Flir One Gen 3 (Consumer) below. Pressing the button will make the board boot, but it will switch of pretty quickly. Connecting a charger to the charge port (or the phone to the phone port and starting the app) will keep it alive.

Although I didn't use it, it seems a working "sz" (send zmodem) and "rz" (receive zmodem) tool is available, which is somewhat convenient for file transfer.


Start AT91Bootstrap version svn-r0e19705067758995d8a489d3a5a07f7c75888cb7 ...
Init HALF drive strength DDR... BOARD_ConfigureDdram()
DDRSDRC->DDRSDRC_LPR: 0x12101
Done!
Downloading image...
Trying to load uboot...
nandflash_hw_init()
reset_nandflash()
AT91F_NandReadID()
ManufacturerID: 0x2c DeviceID: 0xa1
chip id: 0x2ca1
Copy 0x50000 bytes from 0x40000 to 0x23f00000
nandflash_cfg_8bits_dbw_init()
switch(sNandInfo.uDataNbBytes) 2048:
read_nandflash: while (1)
read_nandflash: while (1)
read_nandflash: while (1)
read_nandflash(): return 0;
Done!
Returning jump to 0x0x23f00000


U-Boot 2010.06-00030-g3d88c2d (Apr 09 2019 - 11:57:08)

DRAM:  64 MiB
NAND:  nand->ecc.bytes 28
nand->ecc.steps 1
nand->ecc.layout = pmecc_oobinfo_2048
host->mm 13
host->nn 8191
host->tt 4
host->sector_size 512
host->sector_number 4
host->ecc_bytes_per_sector 7
host->alpha_to 0x10C000
host->index_of 0x108000
128 MiB
*** Warning - bad CRC or NAND, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   macb0, macb1
eth_enable not set, skipping macb init.
eth_enable not set, skipping macb init.
Watchdog enabled.
Hit CTRL-C to stop autoboot:  0
Data (writethrough) Cache is ON
boot operational

Loading from nand0, offset 0xe00000
   Image Name:   Linux-2.6.39+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3567832 Bytes = 3.4 MiB
   Load Address: 20008000
   Entry Point:  20008000
Bit flip in data area, byte_pos: 22, bit_pos: 5, 0x2d -> 0x0d
Bit flip in data area, byte_pos: 1733, bit_pos: 1, 0x06 -> 0x04
Bit flip in data area, byte_pos: 1919, bit_pos: 5, 0x3b -> 0x1b
Bit flip in data area, byte_pos: 958, bit_pos: 2, 0xa6 -> 0xa2
Bit flip in data area, byte_pos: 307, bit_pos: 6, 0xe8 -> 0xa8
Bit flip in data area, byte_pos: 445, bit_pos: 4, 0x7c -> 0x6c
Automatic boot of image at addr 0x22000000 ...
## Booting kernel from Legacy Image at 22000000 ...
   Image Name:   Linux-2.6.39+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3567832 Bytes = 3.4 MiB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.025000] AT91: CM rev B and higher
[    0.038000] AT91: EK rev B and higher
Starting watchdog...done
mounting jffs2 READ-ONLY...done
start battery charge control
Starting battery_charge: OK
done
Formatting /tmp/versions: OK

Welcome to Rosebud (Operational)
(none) login: root
Password: indigo
login[315]: root login on 'ttyS0'
~ # cd
.ssh/          shared_files/
~ # cd shared_files/
~/shared_files # sz CameraFiles.zip


This should start a zmodem download of "CameraFiles.zip".

There's also a way to obtain these files over USB but I haven't investigated.
 

Offline Fraser

  • Super Contributor
  • ***
  • Posts: 13168
  • Country: gb
Re: Fixing up a mix&match'ed Flir ONE
« Reply #3 on: August 02, 2020, 07:30:51 pm »
Hi,

Yes that was me. I realised I was not helping you by asking questions when you need someone to help with a working unit. My unit is clearly in distress as it fails boot and goes into red led warning mode. I do not want to offer what I cannot provide.

If I have helped you please consider a donation : https://gofund.me/c86b0a2c
 

Offline tmbincTopic starter

  • Frequent Contributor
  • **
  • Posts: 250
Re: Fixing up a mix&match'ed Flir ONE
« Reply #4 on: August 03, 2020, 09:16:18 am »
Oh, no worry! You've been super helpful all around here all the time.

In fact, it would be great if you could watch your unit's serial port and post the output (if you haven't) - this should give some indication of the failure mode.
 

Offline Fraser

  • Super Contributor
  • ***
  • Posts: 13168
  • Country: gb
Re: Fixing up a mix&match'ed Flir ONE
« Reply #5 on: August 03, 2020, 11:29:11 am »
Hiya,

I will wire my unit up for serial comms and capture the boot log. If it is useful as a file donor I will download the data and send it to you.

Fraser
If I have helped you please consider a donation : https://gofund.me/c86b0a2c
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf