Canon 60D Makernotes:Lens serial found...

Started by BogdanH, October 03, 2010, 07:19:28 AM

Previous topic - Next topic

BogdanH

Hi Phil,

So you can check by yourself, please download this photo:
http://www.imaging-resource.com/PRODS/E60D/YIMG_0007.HTM -in this image you can see:
ExifIFD:LensSerialNumber=00001059b3

I've made HTM dump of that image and found the same value which you describe as:
MakerNotes-37 Tag 0x4019

I just though, maybe it's worth to take a look...

Bogdan

Phil Harvey

Hi Bogdan,

Thanks for pointing this out.  The 60D samples I have don't contain this information, but ExifTool extracts 2 serial numbers from my samples, and they are different.

I will download the sample from your link and test it as soon as I can.  (Too bad this just missed the 8.33 release)

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

BogdanH

Hi,

As it seems, older lenses don't report serial number to camera. I've checked some other 60D samples from IR, where EF24-70mm was used, and there both tags (ExifIFD:LensSerialNumber and Makernotes:0x4019) have value zero.

Bogdan

Phil Harvey

I have taken a look at the sample you found.

Good catch!  I'm impressed that you noticed the lens serial number embedded in the data of tag 0x4019.

In the standard EXIF, both the lens and camera body serial numbers are written as strings, encoded in hexadecimal.  The Canon SerialNumber tag is integer, and exiftool decodes it as a 10 digit decimal number.  This decoding technique has been validated for many models, but not yet for the 60D.  (Unfortunately imaging-resource doesn't show the bottom plate of the camera so I can't verify this for this sample.)  I would be surprised if the 60D decoding has changed.  If not, then Canon is printing the serial numbers wrong in the EXIF, which is annoying.  I am guessing that the same may be happening for the LensSerialNumber, and I need to know how to properly decode this from tag 0x4019.

If anyone finds a 60D sample for which you know what the printed lens and/or camera body serial number, please let me know.

Thanks.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

I managed to locate a sample from a 60D with production firmware (1.0.5).  The sample you linked was from pre-production firmware 2.8.1 (yes, pre-production firmware numbers are higher for some reason).  With 1.0.5 Canon has fixed the encoding of the camera body serial number in the standard EXIF, and it is now decimal and agrees with the ExifTool decoding of the makernote serial number, so this is now verified as far as I am concerned.

The lens serial number is still hexadecimal, so it looks like maybe this is the proper way to decode the makernote lens serial number, but it would be very useful to verify this.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

BogdanH

Quote from: Phil Harvey on October 04, 2010, 08:57:30 AM
...(yes, pre-production firmware numbers are higher for some reason)...
-didn't know that.
Quote
The lens serial number is still hexadecimal, so it looks like maybe this is the proper way to decode the makernote lens serial number, but it would be very useful to verify this.
I've downloaded another jpg sample from dpreview and dumped to htm (see attached file). Somehow hard to believe it's coincidence.
On the other hand, I wouldn't expect, manufacturer gives lens serial numbers in hex notation. But, if Canon managed to mess(?) with ExifIFD:LensInfo,.. could it be, that they (my mistake) wrote hex value into ExifIFD:LensSerialNumber? You know...they "forgot" to translate to decimal..(?).
I'll try to get example from some dpreview member...

Bogdan

Phil Harvey

Quote from: BogdanH on October 04, 2010, 01:34:27 PM
I've downloaded another jpg sample from dpreview and dumped to htm (see attached file). Somehow hard to believe it's coincidence.

Hard to believe, yes.  But this is exactly what happened for the camera SerialNumber tag.  Check this in your sample.  If it is a pre-production image, the EXIF SerialNumber tag is hexadecimal, which is definitely wrong for the 60D.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

#7
Quote from: Phil Harvey on October 04, 2010, 01:41:45 PM
If it is a pre-production image, the EXIF SerialNumber tag is hexadecimal,

Hmmm.  I just noticed I can see the EXIF SerialNumber in your HtmlDump output, and it is decimal.  What is the CanonFirmwareVersion for this image?

- Phil

Edit: Also, I notice that this ASCII string is not null terminated as required by the EXIF specification.  Yet another bug in their firmware. :(  (But ExifTool deals with this type of problem without even complaining.)
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

BogdanH

Hi,

Camera firmware is "1.0.0.". Image is from http://www.dpreview.com/galleries/reviewsamples/albums/canon-eos-60d-preview-samples/
-first photo ("two ducks").

I've asked for real samples on dpreview forum. The problem is (as it seems), not every lens gives serial number to camera. So, to be sure I get usefull info, I've limited request to EF-S15-85mm and EF-S18-135mm -but not every 60D owner might have one of both lenses... I'll let you know when/if I get some response there.

Bogdan