Quoting Hans Petter Selasky <hsela...@c2i.net>:

Hi,

For both Micron cameras, #webcamd -B just gives `Cannot find USB device'.

This usually happens when the webcamd is not listed.


dmesg output for the Mightex camera (MT9M001 chip):
ugen3.2: <Mightex> at usbus3

and usbconfig -d ugen3.2 dump_device_desc gives:
ugen3.2: <USB-MT9M001-2 Mightex> at usbus3, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=ON

    bLength = 0x0012
    bDescriptorType = 0x0001
    bcdUSB = 0x0200
    bDeviceClass = 0x0000
    bDeviceSubClass = 0x0000
    bDeviceProtocol = 0x0000
    bMaxPacketSize0 = 0x0040
    idVendor = 0x04b4
    idProduct = 0x0228
    bcdDevice = 0x0000
    iManufacturer = 0x0001  <Mightex>
    iProduct = 0x0002  <USB-MT9M001-2>
    iSerialNumber = 0x0000  <no string>
    bNumConfigurations = 0x0001


For the MT9T031 camera (likely prototype), dmesg gives:
ugen3.2: <Micron> at usbus3

and usbconfig -d ugen3.2 dump_device_desc:
ugen3.2: <Demo2A Micron> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

    bLength = 0x0012
    bDescriptorType = 0x0001
    bcdUSB = 0x0200
    bDeviceClass = 0x0000
    bDeviceSubClass = 0x0000
    bDeviceProtocol = 0x0000
    bMaxPacketSize0 = 0x0040
    idVendor = 0x0634
    idProduct = 0x1007
    bcdDevice = 0x0021
    iManufacturer = 0x0001  <Micron>
    iProduct = 0x0002  <Demo2A>
    iSerialNumber = 0x0000  <no string>
    bNumConfigurations = 0x0001




Now, I have no coding skills, but thought it would be good to have a
look into the driver code. I hoped I would find Vendor and Product
id's that differed from how the camera identified, this explaining the
refusal to associate. But while some other v4l drivers appear to
contain things like {USB_DEVICE(0xXXXX, 0xXXXX), .driver_info=XXXXX},
such code is absent from the mt9xxxx.c files. Instead, there is a
function data = reg_read(client, MT9M001_CHIP_VERSION) that does some
sort of identification. But this is on the i2c level, reading the chip
version number. I thought that for doing this, the system would
already need to know what Micron chip it is dealing with.

Any thoughts would be appreciated.

Hi,

I did a little bit of grepping, and I think you need to patch the following
file to get your webcam working:

v4l-dvb/linux/drivers/media/video/gspca/sn9c20x.c

You can use this entry as an example:

{USB_DEVICE(0x0c45, 0x6240), SN9C20X(MT9M001, 0x5d, 0)},

The iProduct dump indicates this is the right place to hack for the MT9M001
one :-)

--HPS


I added
{USB_DEVICE(0x04b4, 0x0228), SN9C20X(MT9M001, 0x5d, 0)},
to the list, with 0x5d as i2c address as the other two MT9M001 entries have it too. After re-making ulinux and using the new webcamd from that directory, I get

Attached ugen3.2[0] to cuse init 0
Cannot find USB device

Interestingly, the other (MT9T031) camera, for which nothing changed, only states `Cannot find USB device' without returning `Attached [...]'. The Logitech cam, which used to work, states `Attached [...]' and then `Creating /dev/video0'.

But for this Logitech cam, pwcview now complains `Failed to access webcam: Device not configured'. Note that I used the webcamd from ports before, so I must have messed something up. I updated to the latest svn version. I will update my ports too, as this doesn't appear to have anything to do with the change to the code I made.

On the other hand, webcamd still returns `Cannot find USB device' for the MT9M001 camera. Maybe simply adding the corresponding USB_DEVICE() entry was not what you meant?

Regards,

Tiemen
_______________________________________________
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to