public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [Fwd: How to debug problem with Playstation Eye webcam?]
@ 2009-08-29  1:10 Andy Walls
  2009-08-29 15:35 ` Antonio Ospite
  0 siblings, 1 reply; 4+ messages in thread
From: Andy Walls @ 2009-08-29  1:10 UTC (permalink / raw)
  To: Tim Bird, linux-media; +Cc: ospite

Tim,

The video4linux-list is obsolete.  You are more likely to get help at
linux-media@vger.kernel.org

Regards,
Andy

-------- Forwarded Message --------
From: Tim Bird <tim.bird@am.sony.com>
To: video4linux-list@redhat.com
Cc: ospite@studenti.unina.it
Subject: How to debug problem with Playstation Eye webcam?
Date: Fri, 28 Aug 2009 14:41:34 -0700

I'm trying to get a Playstation Eye webcam working under a new install of
Fedora 11 and not having much luck.

I'm running a stock Fedora kernel (2.6.29.4).

When I plug in the device, /dev/video0 is created, and the modules
gspca_main and gspca_ov534 are loaded into the kernel.

The device responds to QUERYCAP and other interrogation commands
from user space, but when my test program actually tries to read
the device, I get a multi-second delay, and an eventual
errno of EIO.

I ran v4l-test version 0.19, and some tests succeeded and others failed.
Results are shown below.  Note that I had to disable the test
"VIDIOC_G_CTRL with NULL parameter", because that resulted in a hang
of v4l-test when run against the 'Eye' webcam.

A logitech web camera has mixed results from v4l-test as well
(succeeding and failing in different places from the Playstation Eye).
But the logitech works fine with my test program and a variety of
other programs.

I'm not sure where to look next to continue debugging this.
I assume that the general relationship of components is:
test program ->linux kernel -> gspca main driver ->
	USB and ov534 driver -> USB and camera hardware

Any tips for how to figure out where the problem might be,
reports of previous experience with this webcam, or additional
diagnostic tools or techniques would be much appreciated.

Thanks,
 -- Tim

=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America
=============================

Here are results from v4l-test for the Playstation Eye (with one
test disabled):

     CUnit - A Unit testing framework for C - Version 2.1-0
     http://cunit.sourceforge.net/


Suite: VIDIOC_QUERYCAP
  Test: VIDIOC_QUERYCAP ... passed
  Test: VIDIOC_CROPCAP ... passed
  Test: VIDIOC_CROPCAP with different inputs ... passed
  Test: VIDIOC_G_SLICED_VBI_CAP ... passed
  Test: VIDIOC_G_SLICED_VBI_CAP with invalid types ... passed
Suite: VIDIOC_ENUM* ioctl calls
  Test: VIDIOC_ENUMAUDIO ... passed
  Test: VIDIOC_ENUMAUDIO, index=S32_MAX ... passed
  Test: VIDIOC_ENUMAUDIO, index=S32_MAX+1 ... passed
  Test: VIDIOC_ENUMAUDIO, index=U32_MAX ... passed
  Test: VIDIOC_ENUMAUDOUT ... passed
  Test: VIDIOC_ENUMAUDOUT, index=S32_MAX ... passed
  Test: VIDIOC_ENUMAUDOUT, index=S32_MAX+1 ... passed
  Test: VIDIOC_ENUMAUDOUT, index=U32_MAX ... passed
  Test: VIDIOC_ENUM_FMT ... passed
  Test: VIDIOC_ENUM_FMT, index=S32_MAX ... passed
  Test: VIDIOC_ENUM_FMT, index=S32_MAX+1 ... passed
  Test: VIDIOC_ENUM_FMT, index=U32_MAX ... passed
  Test: VIDIOC_ENUM_FMT, invalid type ... passed
  Test: VIDIOC_ENUMINPUT ... passed
  Test: VIDIOC_ENUMINPUT, index=S32_MAX ... passed
  Test: VIDIOC_ENUMINPUT, index=S32_MAX+1 ... passed
  Test: VIDIOC_ENUMINPUT, index=U32_MAX ... passed
  Test: VIDIOC_ENUMOUTPUT ... passed
  Test: VIDIOC_ENUMOUTPUT, index=S32_MAX ... passed
  Test: VIDIOC_ENUMOUTPUT, index=S32_MAX+1 ... passed
  Test: VIDIOC_ENUMOUTPUT, index=U32_MAX ... passed
  Test: VIDIOC_ENUMSTD ... passed
  Test: VIDIOC_ENUMSTD, index=S32_MAX ... passed
  Test: VIDIOC_ENUMSTD, index=S32_MAX+1 ... passed
  Test: VIDIOC_ENUMSTD, index=U32_MAX ... passed
  Test: VIDIOC_QUERYCTRL ... passed
  Test: VIDIOC_QUERYCTRL, id=V4L2_CID_BASE-1 ... passed
  Test: VIDIOC_QUERYCTRL, id=V4L2_CID_LASTP1 ... passed
  Test: VIDIOC_QUERYCTRL, id=V4L2_CID_LASTP1+1 ... passed
  Test: VIDIOC_QUERYCTRL with V4L2_CTRL_FLAG_NEXT_CTRL ... passed
  Test: VIDIOC_QUERYCTRL, enumerate private controls ... passed
  Test: VIDIOC_QUERYCTRL, V4L2_CID_PRIVATE_BASE-1 ... passed
  Test: VIDIOC_QUERYCTRL, last private control+1 ... passed
  Test: VIDIOC_QUERYMENU ... passed
  Test: VIDIOC_QUERYMENU with invalid id ... passed
  Test: VIDIOC_QUERYMENU with private controls ... passed
  Test: VIDIOC_QUERYMENU, last private control+1 ... passed
  Test: VIDIOC_ENUM_FRAMESIZES ... passed
  Test: VIDIOC_ENUM_FRAMESIZES with invalid index ... passed
  Test: VIDIOC_ENUM_FRAMESIZES with invalid pixel_format ... passed
Suite: VIDIOC_G_*, VIDIOC_S_* and VIDIOC_TRY_* ioctl calls
  Test: VIDIOC_G_STD ... FAILED
    1. test_VIDIOC_STD.c:79  - CU_ASSERT_EQUAL(ret_std_get,-1)
  Test: VIDIOC_S_STD with the enumerated values ... FAILED
    1. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    2. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
  Test: VIDIOC_S_STD ... FAILED
    1. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    2. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    3. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    4. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    5. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    6. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    7. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    8. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    9. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    10. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    11. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    12. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    13. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    14. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    15. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    16. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    17. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    18. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    19. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    20. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    21. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    22. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    23. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    24. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    25. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    26. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    27. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    28. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    29. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    30. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    31. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    32. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    33. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    34. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    35. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    36. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    37. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    38. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    39. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    40. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    41. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    42. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    43. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    44. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    45. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    46. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    47. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    48. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    49. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    50. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    51. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    52. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    53. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    54. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
  Test: VIDIOC_S_STD with invalid standard ... FAILED
    1. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    2. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    3. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    4. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    5. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    6. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    7. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    8. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    9. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    10. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    11. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    12. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    13. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    14. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    15. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    16. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    17. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    18. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    19. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    20. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    21. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    22. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    23. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    24. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    25. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    26. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    27. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    28. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    29. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    30. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    31. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    32. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    33. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    34. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    35. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    36. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    37. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    38. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    39. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    40. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    41. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    42. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    43. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    44. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    45. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    46. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    47. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    48. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    49. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    50. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    51. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    52. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    53. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    54. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    55. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    56. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    57. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    58. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    59. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    60. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    61. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    62. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    63. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    64. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    65. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    66. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    67. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    68. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    69. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    70. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    71. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    72. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    73. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    74. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    75. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    76. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    77. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    78. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    79. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    80. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    81. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    82. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    83. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    84. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    85. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    86. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    87. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    88. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    89. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    90. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    91. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    92. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    93. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    94. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    95. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    96. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    97. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    98. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    99. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    100. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    101. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    102. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    103. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    104. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    105. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    106. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    107. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    108. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    109. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    110. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    111. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    112. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    113. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
    114. test_VIDIOC_STD.c:323  - CU_ASSERT_EQUAL(ret_set,-1)
    115. test_VIDIOC_STD.c:154  - CU_ASSERT_EQUAL(ret_std_get,-1)
    116. test_VIDIOC_STD.c:156  - CU_ASSERT_EQUAL(ret_std_set,-1)
  Test: VIDIOC_G_INPUT ... passed
  Test: VIDIOC_S_INPUT from enum ... passed
  Test: VIDIOC_S_INPUT with invalid inputs ... passed
  Test: VIDIOC_G_OUTPUT ... passed
  Test: VIDIOC_S_OUTPUT from enum ... passed
  Test: VIDIOC_S_OUTPUT with invalid outputs ... passed
  Test: VIDIOC_G_TUNER ... passed
  Test: VIDIOC_G_TUNER, index=S32_MAX ... passed
  Test: VIDIOC_G_TUNER, index=S32_MAX+1 ... passed
  Test: VIDIOC_G_TUNER, index=U32_MAX ... passed
  Test: VIDIOC_S_TUNER ... passed
  Test: VIDIOC_S_TUNER with invalid index and audmode parameters ... passed
  Test: VIDIOC_G_MODULATOR ... passed
  Test: VIDIOC_G_MODULATOR, index=S32_MAX ... passed
  Test: VIDIOC_G_MODULATOR, index=S32_MAX+1 ... passed
  Test: VIDIOC_G_MODULATOR, index=U32_MAX ... passed
  Test: VIDIOC_G_FREQUENCY ... passed
  Test: VIDIOC_G_FREQUENCY, tuner=S32_MAX ... passed
  Test: VIDIOC_G_FREQUENCY, tuner=S32_MAX+1 ... passed
  Test: VIDIOC_G_FREQUENCY, tuner=U32_MAX ... passed
  Test: VIDIOC_S_FREQUENCY ... passed
  Test: VIDIOC_S_FREQUENCY with boundary values ... passed
  Test: VIDIOC_S_FREQUENCY scan all possbile values ... passed
  Test: VIDIOC_G_PRIORITY ... passed
  Test: VIDIOC_S_PRIORITY ... passed
  Test: VIDIOC_S_PRIORITY with invalid values ... passed
  Test: VIDIOC_G_AUDIO ... passed
  Test: VIDIOC_G_AUDIO, ignore index value ... passed
  Test: VIDIOC_S_AUDIO ... passed
  Test: VIDIOC_S_AUDIO, index=S32_MAX ... passed
  Test: VIDIOC_S_AUDIO, index=S32_MAX+1 ... passed
  Test: VIDIOC_S_AUDIO, index=U32_MAX ... passed
  Test: VIDIOC_G_AUDOUT ... passed
  Test: VIDIOC_G_AUDOUT, ignore index value ... passed
  Test: VIDIOC_S_AUDOUT ... passed
  Test: VIDIOC_S_AUDOUT, index=S32_MAX ... passed
  Test: VIDIOC_S_AUDOUT, index=S32_MAX+1 ... passed
  Test: VIDIOC_S_AUDOUT, index=U32_MAX ... passed
  Test: VIDIOC_G_CROP ... passed
  Test: VIDIOC_G_CROP with invalid type ... passed
  Test: VIDIOC_S_CROP ... passed
  Test: VIDIOC_S_CROP with invalid type ... passed
  Test: VIDIOC_G_CTRL ... passed
  Test: VIDIOC_S_CTRL ... passed
  Test: VIDIOC_S_CTRL with invalid value parameter ... passed
  Test: VIDIOC_S_CTRL, withe balance ... passed
  Test: VIDIOC_S_CTRL, white balance with invalid value parameter ... passed
  Test: VIDIOC_S_CTRL, gain control ... passed
  Test: VIDIOC_S_CTRL, gain control with invalid value parameter ... passed
  Test: VIDIOC_G_EXT_CTRLS with zero items to get ... passed
  Test: VIDIOC_G_EXT_CTRLS with zero items to get, but with invalid count values ... passed
  Test: VIDIOC_G_EXT_CTRLS with only one item to get ... passed
  Test: VIDIOC_S_EXT_CTRLS with zero items to set ... passed
  Test: VIDIOC_S_EXT_CTRLS with zero items to set, but with invalid count values ... passed
  Test: VIDIOC_TRY_EXT_CTRLS with zero items to try ... passed
  Test: VIDIOC_TRY_EXT_CTRLS with zero items to try, but with invalid count values ... passed
  Test: VIDIOC_G_PARM ... passed
  Test: VIDIOC_G_PARM with invalid type parameter ... passed
  Test: VIDIOC_G_FMT ... passed
  Test: VIDIOC_G_FMT with invalid type parameter ... passed
  Test: VIDIOC_S_FMT with enumerated values ... FAILED
    1. test_VIDIOC_FMT.c:771  - CU_ASSERT_EQUAL(memcmp(format_max.fmt.raw_data+sizeof(format_max.fmt.pix), format2.fmt.raw_data+sizeof(format2.fmt.pix),
sizeof(format_max.fmt.raw_data)-sizeof(format_max.fmt.pix)),0)
    2. test_VIDIOC_FMT.c:723  - CU_ASSERT_EQUAL(ret_enum,0)
    3. test_VIDIOC_FMT.c:755  - CU_ASSERT_EQUAL(format_max.fmt.pix.pixelformat,fmtdesc.pixelformat)
    4. test_VIDIOC_FMT.c:771  - CU_ASSERT_EQUAL(memcmp(format_max.fmt.raw_data+sizeof(format_max.fmt.pix), format2.fmt.raw_data+sizeof(format2.fmt.pix),
sizeof(format_max.fmt.raw_data)-sizeof(format_max.fmt.pix)),0)
    5. test_VIDIOC_FMT.c:790  - CU_ASSERT_EQUAL(ret_enum,0)
    6. test_VIDIOC_FMT.c:822  - CU_ASSERT_EQUAL(format_min.fmt.pix.pixelformat,fmtdesc.pixelformat)
  Test: VIDIOC_S_FMT with invalid type parameter ... passed
  Test: VIDIOC_G_JPEGCOMP ... passed
  Test: VIDIOC_G_ENC_INDEX ... passed
Suite: VIDIOC_QUERYSTD
  Test: VIDIOC_QUERYSTD ... passed
Suite: buffer i/o
  Test: VIDIOC_REQBUFS with memory map capture streaming i/o ... FAILED
    1. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    2. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
    3. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    4. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
    5. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    6. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
    7. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    8. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
    9. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    10. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
    11. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    12. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
    13. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    14. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
    15. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    16. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
    17. test_VIDIOC_REQBUFS.c:67  - CU_ASSERT_EQUAL(reqbuf.reserved[0],0)
    18. test_VIDIOC_REQBUFS.c:68  - CU_ASSERT_EQUAL(reqbuf.reserved[1],0)
  Test: VIDIOC_REQBUFS with user pointer capture streaming i/o ... FAILED
    1. test_VIDIOC_REQBUFS.c:140  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    2. test_VIDIOC_REQBUFS.c:140  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    3. test_VIDIOC_REQBUFS.c:140  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    4. test_VIDIOC_REQBUFS.c:140  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    5. test_VIDIOC_REQBUFS.c:140  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    6. test_VIDIOC_REQBUFS.c:140  - CU_ASSERT_EQUAL(errno_req,EINVAL)
  Test: VIDIOC_REQBUFS with memory map output streaming i/o ... passed
  Test: VIDIOC_REQBUFS with user pointer output streaming i/o ... passed
  Test: VIDIOC_REQBUFS with invalid memory parameter, capture ... passed
  Test: VIDIOC_REQBUFS with invalid memory parameter, output ... passed
  Test: VIDIOC_REQBUFS with invalid type parameter, memory mapped i/o ... passed
  Test: VIDIOC_REQBUFS with invalid type parameter, user pointer i/o ... passed
  Test: VIDIOC_QUERYBUF with memory map capture streaming i/o ... passed
  Test: VIDIOC_QUERYBUF with user pointer capture streaming i/o ... FAILED
    1. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    2. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    3. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    4. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    5. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    6. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    7. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    8. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    9. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    10. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    11. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    12. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    13. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    14. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    15. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    16. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    17. test_VIDIOC_QUERYBUF.c:70  - CU_ASSERT_EQUAL(errno_req,EINVAL)
    18. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
  Test: VIDIOC_QUERYBUF with memory map output streaming i/o ... passed
  Test: VIDIOC_QUERYBUF with user pointer output streaming i/o ... passed
  Test: VIDIOC_QUERYBUF with overlay capture (invalid) ... FAILED
    1. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
  Test: VIDIOC_QUERYBUF with overlay output (invalid) ... passed
  Test: VIDIOC_QUERYBUF with invalid memory parameter, capture ... FAILED
    1. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    2. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    3. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
    4. test_VIDIOC_QUERYBUF.c:222  - CU_ASSERT_EQUAL(ret_req,-1)
  Test: VIDIOC_QUERYBUF with invalid memory parameter, output ... passed
  Test: VIDIOC_QUERYBUF with invalid type parameter, memory mapped i/o ... passed
  Test: VIDIOC_QUERYBUF with invalid type parameter, user pointer i/o ... passed
Suite: read only IOCTLs with NULL parameter
  Test: VIDIOC_QUERYCAP with NULL parameter ... passed
  Test: VIDIOC_G_STD with NULL parameter ... FAILED
    1. test_VIDIOC_STD.c:372  - CU_ASSERT_EQUAL(ret_get,-1)
    2. test_VIDIOC_STD.c:373  - CU_ASSERT_EQUAL(errno_get,EINVAL)
    3. test_VIDIOC_STD.c:375  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_G_AUDIO with NULL parameter ... passed
  Test: VIDIOC_G_INPUT with NULL parameter ... passed
  Test: VIDIOC_G_OUTPUT with NULL parameter ... passed
  Test: VIDIOC_G_AUDOUT with NULL parameter ... passed
  Test: VIDIOC_G_JPEGCOMP with NULL parameter ... passed
  Test: VIDIOC_QUERYSTD with NULL parameter ... passed
  Test: VIDIOC_G_PRIORITY with NULL parameter ... passed
  Test: VIDIOC_G_ENC_INDEX with NULL parameter ... passed
Suite: write only IOCTLs with NULL parameter
  Test: VIDIOC_S_STD with NULL parameter ... FAILED
    1. test_VIDIOC_STD.c:426  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_S_TUNER with NULL parameter ... FAILED
    1. test_VIDIOC_TUNER.c:513  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_S_AUDIO with NULL parameter ... passed
  Test: VIDIOC_S_AUDOUT with NULL parameter ... FAILED
    1. test_VIDIOC_AUDOUT.c:456  - CU_ASSERT_EQUAL(errno_set,EINVAL)
  Test: VIDIOC_S_FREQUENCY with NULL parameter ... FAILED
    1. test_VIDIOC_FREQUENCY.c:732  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_S_CROP with NULL parameter ... FAILED
    1. test_VIDIOC_CROP.c:835  - CU_ASSERT_EQUAL(errno_null,EINVAL)
    2. test_VIDIOC_CROP.c:835  - CU_ASSERT_EQUAL(errno_null,EINVAL)
    3. test_VIDIOC_CROP.c:835  - CU_ASSERT_EQUAL(errno_null,EINVAL)
    4. test_VIDIOC_CROP.c:835  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_S_PRIORITY with NULL parameter ... FAILED
    1. test_VIDIOC_PRIORITY.c:272  - CU_ASSERT_EQUAL(errno_null,EINVAL)
Suite: write and read IOCTLs with NULL parameter
  Test: VIDIOC_ENUM_FMT with NULL parameter ... passed
  Test: VIDIOC_G_FMT with NULL parameter ... passed
  Test: VIDIOC_G_PARM with NULL parameter ... passed
  Test: VIDIOC_ENUMSTD with NULL parameter ... FAILED
    1. test_VIDIOC_ENUMSTD.c:205  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_ENUMINPUT with NULL parameter ... passed
  Test: VIDIOC_S_CTRL with NULL parameter ... passed
  Test: VIDIOC_G_TUNER with NULL parameter ... FAILED
    1. test_VIDIOC_TUNER.c:292  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_QUERYCTRL with NULL parameter ... FAILED
    1. test_VIDIOC_QUERYCTRL.c:664  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_QUERYMENU with NULL parameter ... FAILED
    1. test_VIDIOC_QUERYMENU.c:386  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_S_INPUT with NULL parameter ... passed
  Test: VIDIOC_S_OUTPUT with NULL parameter ... FAILED
    1. test_VIDIOC_OUTPUT.c:276  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_ENUMOUTPUT with NULL parameter ... FAILED
    1. test_VIDIOC_ENUMOUTPUT.c:196  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_G_MODULATOR with NULL parameter ... FAILED
    1. test_VIDIOC_MODULATOR.c:235  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_G_FREQUENCY with NULL parameter ... FAILED
    1. test_VIDIOC_FREQUENCY.c:177  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_CROPCAP with NULL parameter ... FAILED
    1. test_VIDIOC_CROPCAP.c:279  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_G_CROP with NULL parameter ... FAILED
    1. test_VIDIOC_CROP.c:141  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_ENUMAUDIO with NULL parameter ... passed
  Test: VIDIOC_ENUMAUDOUT with NULL parameter ... FAILED
    1. test_VIDIOC_ENUMAUDOUT.c:193  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_G_SLICED_VBI_CAP with NULL parameter ... FAILED
    1. test_VIDIOC_G_SLICED_VBI_CAP.c:136  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_G_EXT_CTRLS with NULL parameter ... FAILED
    1. test_VIDIOC_EXT_CTRLS.c:325  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_S_EXT_CTRLS with NULL parameter ... FAILED
    1. test_VIDIOC_EXT_CTRLS.c:500  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_TRY_EXT_CTRLS with NULL parameter ... FAILED
    1. test_VIDIOC_EXT_CTRLS.c:675  - CU_ASSERT_EQUAL(errno_null,EINVAL)
  Test: VIDIOC_ENUM_FRAMESIZES with NULL parameter ... FAILED
    1. test_VIDIOC_ENUM_FRAMESIZES.c:585  - CU_ASSERT_EQUAL(errno_null,EINVAL)
Suite: debug ioctl calls
  Test: test_VIDIOC_LOG_STATUS ... passed
Suite: invalid ioctl calls
  Test: invalid ioctl _IO(0, 0) ... passed
  Test: invalid ioctl _IO(0xFF, 0xFF) ... passed
  Test: invalid v4l1 ioctl _IO('v', 0xFF) ... passed
  Test: invalid v4l2 ioctl _IO('V', 0xFF) ... passed

--Run Summary: Type      Total     Ran  Passed  Failed
               suites       10      10     n/a       0
               tests       177     177     144      33
               asserts    8605    8605    8351     254

--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request@redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Fwd: How to debug problem with Playstation Eye webcam?]
  2009-08-29  1:10 [Fwd: How to debug problem with Playstation Eye webcam?] Andy Walls
@ 2009-08-29 15:35 ` Antonio Ospite
  2009-08-29 16:32   ` Jim Paris
  0 siblings, 1 reply; 4+ messages in thread
From: Antonio Ospite @ 2009-08-29 15:35 UTC (permalink / raw)
  To: Tim Bird; +Cc: linux-media, moinejf

[-- Attachment #1: Type: text/plain, Size: 3070 bytes --]

> -------- Forwarded Message --------
> From: Tim Bird <tim.bird@am.sony.com>

> I'm trying to get a Playstation Eye webcam working under a new install of
> Fedora 11 and not having much luck.
> 
> I'm running a stock Fedora kernel (2.6.29.4).
>

Hi Tim,

before doing any further investigation about code in 2.6.29.4, forgive
the silly question: is using a more recent kernel/driver an option for
you?
I've just tried latest code from v4l-dvb and it "just works" with the
applications I use. You can get the mercurial repository here
http://linuxtv.org/hg/v4l-dvb

I know that there was a regression in 2.6.30 (not sure about 2.6.29.4)
and a patch has been sent by Jim Paris to fix it, I don't know if it is
already in a 2.6.30.x release, tho. The change is this one:
http://patchwork.kernel.org/patch/42114/

> When I plug in the device, /dev/video0 is created, and the modules
> gspca_main and gspca_ov534 are loaded into the kernel.
> 
> The device responds to QUERYCAP and other interrogation commands
> from user space, but when my test program actually tries to read
> the device, I get a multi-second delay, and an eventual
> errno of EIO.
>

I tested the driver with "mplayer" and "luvcview" during development,
and I am now using it with "cheese", I've never run v4l-test.

> I ran v4l-test version 0.19, and some tests succeeded and others failed.
> Results are shown below.  Note that I had to disable the test
> "VIDIOC_G_CTRL with NULL parameter", because that resulted in a hang
> of v4l-test when run against the 'Eye' webcam.
>

I confirm this happens also with the "just working" latest version.

> A logitech web camera has mixed results from v4l-test as well
> (succeeding and failing in different places from the Playstation Eye).
> But the logitech works fine with my test program and a variety of
> other programs.
> 
> I'm not sure where to look next to continue debugging this.
> I assume that the general relationship of components is:
> test program ->linux kernel -> gspca main driver ->
> 	USB and ov534 driver -> USB and camera hardware
> 
> Any tips for how to figure out where the problem might be,
> reports of previous experience with this webcam, or additional
> diagnostic tools or techniques would be much appreciated.
>

I'd give a run to _latest_ code to see if the problem has been
solved already, and if you really can't use it, then you isolate the fix
and apply it to the code you have to use.
Captain Obvious to the rescue :)

> Thanks,
>  -- Tim
> 
> =============================
> Tim Bird
> Architecture Group Chair, CE Linux Forum
> Senior Staff Engineer, Sony Corporation of America
> =============================
>

Regards,
   Antonio Ospite

-- 
Antonio Ospite
http://ao2.it

PGP public key ID: 0x4553B001

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Fwd: How to debug problem with Playstation Eye webcam?]
  2009-08-29 15:35 ` Antonio Ospite
@ 2009-08-29 16:32   ` Jim Paris
  2009-09-01 23:10     ` Tim Bird
  0 siblings, 1 reply; 4+ messages in thread
From: Jim Paris @ 2009-08-29 16:32 UTC (permalink / raw)
  To: Antonio Ospite; +Cc: Tim Bird, linux-media, moinejf

Antonio Ospite wrote:
> > -------- Forwarded Message --------
> > From: Tim Bird <tim.bird@am.sony.com>
> 
> > I'm trying to get a Playstation Eye webcam working under a new install of
> > Fedora 11 and not having much luck.
> > 
> > I'm running a stock Fedora kernel (2.6.29.4).
> >
> 
> Hi Tim,
> 
> before doing any further investigation about code in 2.6.29.4, forgive
> the silly question: is using a more recent kernel/driver an option for
> you?
> I've just tried latest code from v4l-dvb and it "just works" with the
> applications I use. You can get the mercurial repository here
> http://linuxtv.org/hg/v4l-dvb
> 
> I know that there was a regression in 2.6.30 (not sure about 2.6.29.4)
> and a patch has been sent by Jim Paris to fix it, I don't know if it is
> already in a 2.6.30.x release, tho. The change is this one:
> http://patchwork.kernel.org/patch/42114/

I believe 2.6.29.4 should be okay.  However, the Fedora folks might
have pulled some newer patches which also added the bug.  You might
try a stock 2.6.29.4 kernel instead of Fedora's, or just apply the
patch that Antonio refers to (if thta's the problem).

If your kernel does have the same bug, the symptoms would be as you
described, with the camera's red LED turning on during an attempted
capture.  Do you get the red LED?

You would also probably see the same problem, regardless of kernel
version, if the camera were connected to a full-speed instead of
high-speed USB port.

> I tested the driver with "mplayer" and "luvcview" during development,
> and I am now using it with "cheese", I've never run v4l-test.

Agreed.  luvcview is probably the easiest to test with, and I can
provide command lines for mplayer, ffmpeg, etc, if necessary.

-jim



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Fwd: How to debug problem with Playstation Eye webcam?]
  2009-08-29 16:32   ` Jim Paris
@ 2009-09-01 23:10     ` Tim Bird
  0 siblings, 0 replies; 4+ messages in thread
From: Tim Bird @ 2009-09-01 23:10 UTC (permalink / raw)
  To: Jim Paris; +Cc: Antonio Ospite, linux-media, moinejf

Jim and Antonio,

Thanks very much for the suggestions!  I got it working with
luvcview!  See below for some details.

Jim Paris wrote:
> Antonio Ospite wrote:
>> before doing any further investigation about code in 2.6.29.4, forgive
>> the silly question: is using a more recent kernel/driver an option for
>> you?
>>
>> I've just tried latest code from v4l-dvb and it "just works" with the
>> applications I use. You can get the mercurial repository here
>> http://linuxtv.org/hg/v4l-dvb
>>
>> I know that there was a regression in 2.6.30 (not sure about 2.6.29.4)
>> and a patch has been sent by Jim Paris to fix it, I don't know if it is
>> already in a 2.6.30.x release, tho. The change is this one:
>> http://patchwork.kernel.org/patch/42114/
> 
> I believe 2.6.29.4 should be okay.  However, the Fedora folks might
> have pulled some newer patches which also added the bug.  You might
> try a stock 2.6.29.4 kernel instead of Fedora's, or just apply the
> patch that Antonio refers to (if thta's the problem).

I found that Fedora 11 did indeed have the code that the patch fixes.
That is, it was using a payload length of 2040 instead of 2048.

I downloaded the fedora kernel source and rebuilt the kernel
with the patch applied.

> If your kernel does have the same bug, the symptoms would be as you
> described, with the camera's red LED turning on during an attempted
> capture.  Do you get the red LED?

Yes, I get the red LED.

> You would also probably see the same problem, regardless of kernel
> version, if the camera were connected to a full-speed instead of
> high-speed USB port.
I checked, and the USB port is high speed and the camera connects
at high speed.

usbtree reports:

/: Bus 05.Port 1: Dev 1, Class=root_hub, Drv=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Drv=uhci_hcd/2p, 12M
    |_ Port 2: Dev 2, If 0, Prod=Dell USB Mouse, Class=HID, Drv=usbhid, 1.5M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Drv=uhci_hcd/2p, 12M
    |_ Port 2: Dev 2, If 0, Prod=DELL USB Keyboard, Class=HID, Drv=usbhid, 1.5M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Drv=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Drv=ehci_hcd/8p, 480M
    |_ Port 8: Dev 10, If 0, Prod=USB Camera-B4.04.27.1, Class=vend., Drv=ov534, 480M
    |_ Port 8: Dev 10, If 1, Prod=, Class=audio, Drv=snd-usb-audio, 480M
    |_ Port 8: Dev 10, If 2, Prod=, Class=audio, Drv=snd-usb-audio, 480M

>> I tested the driver with "mplayer" and "luvcview" during development,
>> and I am now using it with "cheese", I've never run v4l-test.
> 
> Agreed.  luvcview is probably the easiest to test with, and I can
> provide command lines for mplayer, ffmpeg, etc, if necessary.

I had 2 test programs.  One runs OK and one still hangs (probably
a bug on my part since I'm new with v4l.)

Cheese and luvcview work great.

Thanks very much for your help!
 -- Tim

=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America
=============================


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-09-01 23:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-29  1:10 [Fwd: How to debug problem with Playstation Eye webcam?] Andy Walls
2009-08-29 15:35 ` Antonio Ospite
2009-08-29 16:32   ` Jim Paris
2009-09-01 23:10     ` Tim Bird

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox