Logitech C270 Serial Numbers Not Unique

We are attempting to use multiple Logitech C270 cameras on a Control Hub. Three of the four C270s we have show up as SN0001. When they are plugged in at the same time, they can’t be differentiated from each other. As a result, we can’t give them unique names in the hardware config, making them unreachable through code.

Anybody else experienced this?

Logitech C270 serial numbers should be 12-character serial numbers. If your serial number is SN0001 I suspect that your cameras are misconfigured (at the factory), or perhaps in an extreme case you might not actually have Logitech C270 cameras but possibly knock-off clones that do not have serial numbers and always provide SN0001, similar to the XIAOMI IMILAB CMSXJ22A (I provide this as an example Webcam that provides the static serial number SN0001 since no serial number is assigned to them at the factory).

I would highly recommend taking this up with Logitech customer support.

EDIT: Ok, now we know the “SerialNumber” isn’t actually the “Serial Number” of the device, it’s the serial number of the main device descriptor for the device (because there are multiple usb interfaces from the USB device, like a video interface, audio interface, and so on, and the “parent” is the upper level device descriptor). It would be interesting to find out if Logitech changed how their USB interfaces work in newer models, and instead of giving the upper-level descriptor a unique serial number they gave the unique serial numbers to the individual interfaces and made the upper-level descriptor generic? I dunno, that sounds dumb, and a backward-compatibility nightmare for them.

-Danny

1 Like

That’s very interesting. Thanks for the info.

Is there a tool out there to query the camera serial number? I’d like to refer to it instead of the niche case for FTC?

When I say it’s a 12-character string, I meant the “Logitech” displayed serial number. For a Logitech C270 camera, the first place you should look for the serial number is on the tag attached to the USB cord. The tag is down near the USB connector itself, just above the ferrite core. It’s a black tag, and on one side on the bottom of the tag it has a white section with information about the camera printed. You can see it in this marketing picture of the camera:

On Windows there’s not a single tool that I can find that gets me access to the core device descriptor, which is where the serial number we’re pulling is being read from. I had to walk through the source code for the FTC SDK to verify how the serial number is being read.

Essentially we look at the USB device information, which provides the bus, port, description, and other information about the USB device. At the end of the structure is the OS private area, which gives us access to private USB data that contains the serial number. Reading the Serial Number then becomes a simple exercise. But, again, I can’t find a single tool on Windows that will provide access to the data; even Logitech’s own camera configuration tool cannot provide the serial number and tools for looking at device information also cannot show it.

There’s a Linux tool called dmesg that can show the information output from the USB system when devices are loaded, and the serial number can be seen in the log output, but there’s no Windows equivalent way of seeing that info.

I wish I had a better explanation.

-Danny

1 Like

The serial number can be obtained from device manager:

1 Like

That was literally the only element I didn’t look at myself, because I said to myself, “Why would we ever be looking at the parent?” Yet, there’s my reported serial number as well.

From my Control Hub configuratiuon:

image

And from Windows:

image

Thanks, @Windwoes!

@jefferson Please see my edits to my first post in this thread.

-Danny

1 Like

Y’all are awesome. I’m away from the cameras for the day, but I’ll try to check it out this weekend to see what they are reporting on Device Manager.

I started a chat with Logitech’s tech support… never actually talked to a non-robot. I’ll report back what I eventually figure out. Thanks for everybody’s help!