Question on uvcvideo driver's power management

2010-06-29 Thread Samuel Xu
Question on uvcvideo driver's power management:
Q1: We found some USB material mentioned : Relationship between ACPI
Dx states and USB PM states (active/suspended) is orthogonal.
Suspend/resume might not effect device Dx state(e.g. D0/D1/D3). Is it
a correct statement for general usb device and uvcvideo usb device?
Q2: How to tell USB uvcvideo device’s ACPI Dx state. It seems lsusb
can’t tell us those info. (lspci works for PCI device’s Dx state)
Q3: How to tell USB uvcvideo device’s suspension state? will any query
via urb will cause resume of uvcvideo device?
Q4: should USB uvcvideo device driver response to do some
device-specific power action (e.g. device register writing) to put a
specific USB camera into low power state when responding to suspend
action? (I didn't find such device-specific power code inside uvcvideo
src code)
Q5: If Q4 is Yes, should device vendor respond for those device-specific code?

Thanks!
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Hello to Linux Media mail list

2010-06-25 Thread Samuel Xu
It is my first post to linux-media, sorry for NULL msg.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Question on newly build uvcvideo.ko

2010-06-25 Thread Samuel Xu
HI:
I am using a ASUS netbook with a USB 2.0 web camera (04f2:b071 Chicony
Electronics Co., Ltd 2.0M UVC WebCam / CNF7129)
I installed Linux, and the default uvcvideo.ko works (I tried
gstreamer-properties, which can find CNF7129 device and show correct
video camera test).
While I want to try the newest V4L2 build, So I follow
http://www.linuxtv.org/wiki to:
1: get the src code v4l-dvb-9652f85e688a.tar.gz
2: make and make install on my netbook.
3: reboot system

lsmod shows me uvcvideo module has been loaded, while
gstreamer-properties can't find CNF7129 device, so I can't use this
USB 2.0 web camera now.

I also tried re-install original workable Linux, and make v4l again.
Then copy the newly build uvcvideo.ko to
/lib/modules/2.6.33.xx/kernel/drivers/media/video/uvc/
module still can be found from lsmod, while gstreamer-properties still
can't find CNF7129 device.


Does it mean I must do some code modification for 04f2:b071 device
before I build v4l driver?


Thanks!
Samuel

-Here is lsusb -v information of my
webcam--
Bus 001 Device 004: ID 04f2:b071 Chicony Electronics Co., Ltd 2.0M UVC
WebCam / CNF7129
Device Descriptor:
  bLength18
  bDescriptorType 1
  bcdUSB   2.00
  bDeviceClass  239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
  bMaxPacketSize064
  idVendor   0x04f2 Chicony Electronics Co., Ltd
  idProduct  0xb071 2.0M UVC WebCam / CNF7129
  bcdDevice   15.44
  iManufacturer   2 Chicony Electronics Co., Ltd.
  iProduct1 CNF7129
  iSerial 3 SN0001
...
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Question on newly build uvcvideo.ko

2010-06-25 Thread Samuel Xu
One correction: After make and make install, uvcvideo module can't
auto loaded any more. I must manually insmod uvcvideo.ko to load it.

Here is lsmod result, I never have chance to make uvcvideo module used
bit to 1 :(
[r...@user-desktop uvc]# lsmod
Module  Size  Used by
uvcvideo   46182  0
rt2860sta 406917  1
battery 7968  0

After 2 questions, there is dmesg from uvcvideo after my manually
insmod, any idea?
Another question is: If newest v4l code tree has been advanced much
than src tree inside 2.6.33 kernel, which v4l src label is nearest
from src tree inside 2.6.33 kernel?
3rdd question is: if I want to build v4l driver from src inside 2.6.33
kernel directly. How should I do? (I tried to make menuconfig and make
modules from a clean kernel, while insmod the newly build uvcvideo.ko
reports: insmod: error inserting './uvcvideo.ko': -1 Invalid module
format

[   78.446109] uvcvideo: Found UVC 1.00 device CNF7129 (04f2:b071)
[   78.462540] [ cut here ]
[   78.462569] WARNING: at drivers/media/video/v4l2-dev.c:420
__video_register_device+0x44/0x3d7()
[   78.462581] Hardware name: 1000H
[   78.462588] Modules linked in: uvcvideo(+) rt2860sta(C) battery
[   78.462616] Pid: 690, comm: insmod Tainted: G C
2.6.33.3-11.1-netbook #1
[   78.462626] Call Trace:
[   78.462647]  [c1030944] warn_slowpath_common+0x66/0x7d
[   78.462665]  [c12f89ad] ? __video_register_device+0x44/0x3d7
[   78.462682]  [c1030968] warn_slowpath_null+0xd/0x10
[   78.462697]  [c12f89ad] __video_register_device+0x44/0x3d7
[   78.462714]  [c12f8d56] video_register_device+0xa/0xc
[   78.462744]  [f82e50fc] uvc_probe+0x9c0/0xb26 [uvcvideo]
[   78.462763]  [c12c1e35] usb_probe_interface+0xe1/0x136
[   78.462782]  [c11fff7b] driver_probe_device+0x87/0x107
[   78.462799]  [c120003e] __driver_attach+0x43/0x5f
[   78.462815]  [c11ff907] bus_for_each_dev+0x3e/0x69
[   78.462831]  [c11ffe46] driver_attach+0x14/0x16
[   78.462846]  [c11b] ? __driver_attach+0x0/0x5f
[   78.462862]  [c11ff3aa] bus_add_driver+0x105/0x235
[   78.462879]  [c1200280] driver_register+0x7a/0xe1
[   78.462894]  [c12c1bf6] usb_register_driver+0x67/0x104
[   78.462919]  [f82c2000] ? uvc_init+0x0/0x71 [uvcvideo]
[   78.462942]  [f82c2059] uvc_init+0x59/0x71 [uvcvideo]
[   78.462958]  [c100113a] do_one_initcall+0x4d/0x132
[   78.462977]  [c105a1b6] sys_init_module+0xa7/0x1db
[   78.462992]  [c10027d0] sysenter_do_call+0x12/0x26
[   78.463051] ---[ end trace a67861dcf94e1e3a ]---
[   78.463064] uvcvideo: Failed to register video device (-22).
[   78.463758] usbcore: registered new interface driver uvcvideo
[   78.463774] USB Video Class driver (v0.1.0)

2010/6/25 Laurent Pinchart laurent.pinch...@ideasonboard.com:
 Hi Samuel,

 On Friday 25 June 2010 11:25:13 Samuel Xu wrote:
 HI:
 I am using a ASUS netbook with a USB 2.0 web camera (04f2:b071 Chicony
 Electronics Co., Ltd 2.0M UVC WebCam / CNF7129)
 I installed Linux, and the default uvcvideo.ko works (I tried
 gstreamer-properties, which can find CNF7129 device and show correct
 video camera test).
 While I want to try the newest V4L2 build, So I follow
 http://www.linuxtv.org/wiki to:
 1: get the src code v4l-dvb-9652f85e688a.tar.gz
 2: make and make install on my netbook.
 3: reboot system

 lsmod shows me uvcvideo module has been loaded, while
 gstreamer-properties can't find CNF7129 device, so I can't use this
 USB 2.0 web camera now.

 Can you look at the kernel log (dmesg) and report messages printed by the
 uvcvideo driver ?

 I also tried re-install original workable Linux, and make v4l again.
 Then copy the newly build uvcvideo.ko to
 /lib/modules/2.6.33.xx/kernel/drivers/media/video/uvc/
 module still can be found from lsmod, while gstreamer-properties still
 can't find CNF7129 device.

 That's to be expected, as the new v4l-dvb build you installed replaced the
 core v4l modules (such as videodev.ko), and the new version isn't compatible
 with the uvcvideo driver that came with your kernel.

 Does it mean I must do some code modification for 04f2:b071 device
 before I build v4l driver?

 In theory, no.

 --
 Regards,

 Laurent Pinchart

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Question on newly build uvcvideo.ko

2010-06-25 Thread Samuel Xu
Hi, Pinchart:
 Appreciate your possible comments on those dmesg info.

Samuel

2010/6/25 Samuel Xu samuel.xu.t...@gmail.com:
 One correction: After make and make install, uvcvideo module can't
 auto loaded any more. I must manually insmod uvcvideo.ko to load it.

 Here is lsmod result, I never have chance to make uvcvideo module used
 bit to 1 :(
 [r...@user-desktop uvc]# lsmod
 Module                  Size  Used by
 uvcvideo               46182  0
 rt2860sta             406917  1
 battery                 7968  0

 After 2 questions, there is dmesg from uvcvideo after my manually
 insmod, any idea?
 Another question is: If newest v4l code tree has been advanced much
 than src tree inside 2.6.33 kernel, which v4l src label is nearest
 from src tree inside 2.6.33 kernel?
 3rdd question is: if I want to build v4l driver from src inside 2.6.33
 kernel directly. How should I do? (I tried to make menuconfig and make
 modules from a clean kernel, while insmod the newly build uvcvideo.ko
 reports: insmod: error inserting './uvcvideo.ko': -1 Invalid module
 format

 [   78.446109] uvcvideo: Found UVC 1.00 device CNF7129 (04f2:b071)
 [   78.462540] [ cut here ]
 [   78.462569] WARNING: at drivers/media/video/v4l2-dev.c:420
 __video_register_device+0x44/0x3d7()
 [   78.462581] Hardware name: 1000H
 [   78.462588] Modules linked in: uvcvideo(+) rt2860sta(C) battery
 [   78.462616] Pid: 690, comm: insmod Tainted: G         C
 2.6.33.3-11.1-netbook #1
 [   78.462626] Call Trace:
 [   78.462647]  [c1030944] warn_slowpath_common+0x66/0x7d
 [   78.462665]  [c12f89ad] ? __video_register_device+0x44/0x3d7
 [   78.462682]  [c1030968] warn_slowpath_null+0xd/0x10
 [   78.462697]  [c12f89ad] __video_register_device+0x44/0x3d7
 [   78.462714]  [c12f8d56] video_register_device+0xa/0xc
 [   78.462744]  [f82e50fc] uvc_probe+0x9c0/0xb26 [uvcvideo]
 [   78.462763]  [c12c1e35] usb_probe_interface+0xe1/0x136
 [   78.462782]  [c11fff7b] driver_probe_device+0x87/0x107
 [   78.462799]  [c120003e] __driver_attach+0x43/0x5f
 [   78.462815]  [c11ff907] bus_for_each_dev+0x3e/0x69
 [   78.462831]  [c11ffe46] driver_attach+0x14/0x16
 [   78.462846]  [c11b] ? __driver_attach+0x0/0x5f
 [   78.462862]  [c11ff3aa] bus_add_driver+0x105/0x235
 [   78.462879]  [c1200280] driver_register+0x7a/0xe1
 [   78.462894]  [c12c1bf6] usb_register_driver+0x67/0x104
 [   78.462919]  [f82c2000] ? uvc_init+0x0/0x71 [uvcvideo]
 [   78.462942]  [f82c2059] uvc_init+0x59/0x71 [uvcvideo]
 [   78.462958]  [c100113a] do_one_initcall+0x4d/0x132
 [   78.462977]  [c105a1b6] sys_init_module+0xa7/0x1db
 [   78.462992]  [c10027d0] sysenter_do_call+0x12/0x26
 [   78.463051] ---[ end trace a67861dcf94e1e3a ]---
 [   78.463064] uvcvideo: Failed to register video device (-22).
 [   78.463758] usbcore: registered new interface driver uvcvideo
 [   78.463774] USB Video Class driver (v0.1.0)

 2010/6/25 Laurent Pinchart laurent.pinch...@ideasonboard.com:
 Hi Samuel,

 On Friday 25 June 2010 11:25:13 Samuel Xu wrote:
 HI:
 I am using a ASUS netbook with a USB 2.0 web camera (04f2:b071 Chicony
 Electronics Co., Ltd 2.0M UVC WebCam / CNF7129)
 I installed Linux, and the default uvcvideo.ko works (I tried
 gstreamer-properties, which can find CNF7129 device and show correct
 video camera test).
 While I want to try the newest V4L2 build, So I follow
 http://www.linuxtv.org/wiki to:
 1: get the src code v4l-dvb-9652f85e688a.tar.gz
 2: make and make install on my netbook.
 3: reboot system

 lsmod shows me uvcvideo module has been loaded, while
 gstreamer-properties can't find CNF7129 device, so I can't use this
 USB 2.0 web camera now.

 Can you look at the kernel log (dmesg) and report messages printed by the
 uvcvideo driver ?

 I also tried re-install original workable Linux, and make v4l again.
 Then copy the newly build uvcvideo.ko to
 /lib/modules/2.6.33.xx/kernel/drivers/media/video/uvc/
 module still can be found from lsmod, while gstreamer-properties still
 can't find CNF7129 device.

 That's to be expected, as the new v4l-dvb build you installed replaced the
 core v4l modules (such as videodev.ko), and the new version isn't compatible
 with the uvcvideo driver that came with your kernel.

 Does it mean I must do some code modification for 04f2:b071 device
 before I build v4l driver?

 In theory, no.

 --
 Regards,

 Laurent Pinchart


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html