USB Product Name Lookup in QNX

I was wondering how the “usb” utility gets information on the Product Name. I am fairly ignorant on how USB works.
Say, I execute the “usb -vv” command and part of its output is as follows:

Device Address : 2
Vendor : 0x04a9 (Canon)
Product : 0x1055 (BJC-85)
Device Release : r0.70
USB Spec Release : v1.10
Serial Number : 44OFBr
Class : 0x00 (Independent per interface)
Max PacketSize0 : 8
Languages : 0x0409 (English)
Configurations : 1
Configuration : 1
Attributes : 0x40 (Self-powered)
Max Power : 2 mA
Interfaces : 1
Interface : 0 / 0
Class : 0x07 (Printer)
Subclass : 0x01
Protocol : 0x02
Endpoints : 2 + Control
Endpoint : 0
Attributes : Control
Max Packet Size: 8
Endpoint : 1
Attributes : Bulk/OUT
Max Packet Size: 64
Endpoint : 2
Attributes : Bulk/IN
Max Packet Size: 64

So, in the line where it shows “Product : 0x1055 (BJC-85)”, I wish to know how this utility gets the string “BJC-85”. Does it get that string from a file or the device?

From what I understand from the enum-usb documentation, it supplies vendor id and device id along with other important USB descriptors, except the device name. Is my understanding correct?

Thanks in advance.

The text string comes from the device.