Hi Sam

Good amount of info in your post.

Can you register a username here
http://repo.or.cz/m/reguser.cgi
and send me your username so I can give you commit access.

For making patches, theres a handy guide here
https://groups.google.com/group/microdia/web/using-git-with-microdia
make a patch according to above guidelines, test it.

If you are satisfied with the result(because you have the h/w)
do a
$ git am <path to your tested patch>
then a git push
$ git push ssh://[EMAIL PROTECTED]/srv/git/microdia.git

let us know, in case you face any issues.
thanks for doing this.

I am not sure if any of our users have reported a 0c45:628e,
we'll look into it. SOI968 should already be well supported
at 640x480/vga resolution so no harm in adding support
its better if a user tests it on actual h/w before its pushed in git
master branch

-JoJo

On Thu, Nov 20, 2008 at 9:06 PM, Sam Watkins <[EMAIL PROTECTED]> wrote:
> hi,
>
> I've patched the microdia module to support my 0c45:6251 Microdia webcam
> in an ASUS W7J laptop. That usb ID wasn't included before. I assumed it
> would be the same parameters as the 624F and 6253, and those parameters
> appear to work. Here is the (small) patch, I hope this will be included
> in the module and can thereby be of use to some other people. If I
> should have reported this in some other way please let me know what I
> should have done, thanks.
>
> Here's the relevant line from windows driver .inf file, which is the
> same as for the 624F:
>
>  %USBPCamDesc% =    SN.USBPCam.XP,USB\VID_0c45&PID_6251          ;
>  SN9C201 + OV9650
>
> My camera is supposed to be capable of 1.3M pixels (1280x1024 I guess)
> but I don't see how to use that. Is the high resolution supported by the
> microdia module?
>
> I also noticed there is another webcam 0c45:628e listed in the windows
> driver .inf file, which is apparently already supported by the microdia
> module but was not listed as supported on the main page
> http://groups.google.com/group/microdia
>
> thanks!
>
> >
>
> diff --git a/microdia-usb.c b/microdia-usb.c
> index 0093913..fec67df 100644
> --- a/microdia-usb.c
> +++ b/microdia-usb.c
> @@ -158,6 +158,8 @@ static struct usb_device_id microdia_table[] = {
>        /* SN9C201 + OV9650 */
>        { USB_DEVICE(USB_0C45_VID, USB_624F_PID) },
>        /* SN9C201 + OV9650 */
> +       { USB_DEVICE(USB_0C45_VID, USB_6251_PID) },
> +       /* SN9C201 + OV9650 */
>        { USB_DEVICE(USB_0C45_VID, USB_6253_PID) },
>        /* SN9C201 + OV7670ISP */
>        { USB_DEVICE(USB_0C45_VID, USB_6260_PID) },
> @@ -315,6 +317,21 @@ struct microdia_camera cameras[] = {
>                .set_hvflip = ov965x_set_hvflip,
>        },
>        {
> +               .model = CAMERA_MODEL(USB_0C45_VID, USB_6251_PID),
> +               .type = MICRODIA_VGA,
> +               .sensor_slave_address = 0x30,
> +               .sensor_flags = SN9C20X_I2C_2WIRE,
> +               .supported_fmts = 0x03,
> +               .initialize = microdia_624f_initialize,
> +               .sensor_init = ov965x_initialize,
> +               .start_stream = microdia_624f_start_stream,
> +               .stop_stream = microdia_624f_stop_stream,
> +               .flip_detect = microdia_624f_flip_detect,
> +               .set_auto_exposure = ov965x_set_autoexposure,
> +               .set_exposure = ov965x_set_exposure,
> +               .set_hvflip = ov965x_set_hvflip,
> +       },
> +       {
>                .model = CAMERA_MODEL(USB_0C45_VID, USB_6253_PID),
>                .type = MICRODIA_VGA,
>                .sensor_slave_address = 0x30,
> diff --git a/microdia.h b/microdia.h
> index 60f3748..afd4cef 100644
> --- a/microdia.h
> +++ b/microdia.h
> @@ -53,6 +53,7 @@
>  #define USB_624C_PID   0x624c                  /**< SN9C201 + MI1320 */
>  #define USB_624E_PID   0x624e                  /**< SN9C201 + SOI968 */
>  #define USB_624F_PID   0x624f                  /**< SN9C201 + OV9650 */
> +#define USB_6251_PID   0x6251                  /**< SN9C201 + OV9650 */
>  #define USB_6253_PID   0x6253                  /**< SN9C201 + OV9650 */
>  #define USB_6260_PID   0x6260                  /**< SN9C201 + OV7670ISP */
>  #define USB_6262_PID   0x6262                  /**< SN9C201 + OM6802 */
>
>
> Bus 005 Device 002: ID 0c45:6251 Microdia
> Device Descriptor:
>  bLength                18
>  bDescriptorType         1
>  bcdUSB               2.00
>  bDeviceClass            0 (Defined at Interface level)
>  bDeviceSubClass         0
>  bDeviceProtocol         0
>  bMaxPacketSize0        64
>  idVendor           0x0c45 Microdia
>  idProduct          0x6251
>  bcdDevice            1.00
>  iManufacturer           0
>  iProduct                1 USB20 Camera
>  iSerial                 0
>  bNumConfigurations      1
>  Configuration Descriptor:
>    bLength                 9
>    bDescriptorType         2
>    wTotalLength          279
>    bNumInterfaces          1
>    bConfigurationValue     1
>    iConfiguration          0
>    bmAttributes         0x80
>      (Bus Powered)
>    MaxPower              500mA
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       0
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0000  1x 0 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       1
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0080  1x 128 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       2
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0100  1x 256 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       3
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0180  1x 384 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       4
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       5
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x02a8  1x 680 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       6
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0320  1x 800 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       7
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0b84  2x 900 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
>    Interface Descriptor:
>      bLength                 9
>      bDescriptorType         4
>      bInterfaceNumber        0
>      bAlternateSetting       8
>      bNumEndpoints           3
>      bInterfaceClass       255 Vendor Specific Class
>      bInterfaceSubClass    255 Vendor Specific Subclass
>      bInterfaceProtocol    255 Vendor Specific Protocol
>      iInterface              0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x81  EP 1 IN
>        bmAttributes            1
>          Transfer Type            Isochronous
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x1400  3x 1024 bytes
>        bInterval               1
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x82  EP 2 IN
>        bmAttributes            2
>          Transfer Type            Bulk
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0200  1x 512 bytes
>        bInterval               0
>      Endpoint Descriptor:
>        bLength                 7
>        bDescriptorType         5
>        bEndpointAddress     0x83  EP 3 IN
>        bmAttributes            3
>          Transfer Type            Interrupt
>          Synch Type               None
>          Usage Type               Data
>        wMaxPacketSize     0x0001  1x 1 bytes
>        bInterval              10
> Device Qualifier (for other device speed):
>  bLength                10
>  bDescriptorType         6
>  bcdUSB               2.00
>  bDeviceClass            0 (Defined at Interface level)
>  bDeviceSubClass         0
>  bDeviceProtocol         0
>  bMaxPacketSize0        64
>  bNumConfigurations      1
> Device Status:     0x0000
>  (Bus Powered)
>
>

--~--~---------~--~----~------------~-------~--~----~
Lets make microdia webcams plug'n play, (currently plug'n pray)
To post to this group, send email to [email protected]
Visit us online https://groups.google.com/group/microdia
-~----------~----~----~----~------~----~------~--~---

Reply via email to