On Thu, Jul 8, 2010 at 6:14 AM, Jean-Francois Moine <[email protected]> wrote:
> Strange! Well, I put the change my test version. May you get this one
> from my web page and test it?
Okay, now I've exhausted the quick fixes that you've suggested and
have come to a new conclusion.
Without modifying the value in "gspca_dev->nbalt" the drivers will
report "bandwidth not wide enough - trying again". Modifying this
value to subtract between 1 and 8 seems to eliminate this bandwidth
error.
However, the results ultimately stay the same as before where there is
video and no audio for decreasing "gspca_dev->nbalt" from 0-5.
Video input stops working after decreasing by 6-8 while still breaking
the audio input, except for decreasing by 8 where the video breaks
and audio remains...due to a "no transfer endpoint found" message.
My conclusion, reducing "gspca_dev->nbalt" by values 1-5 apparently
fix the bandwidth issue and don't alter the video input. However, they
also do not correct the issue where the microphone breaks and becomes
disabled.
Below is a log that I kept of each test, compiling the changes,
rebooting, testing and recording, then repeating for each decrement.
-------------------------------------
gspca_dev->nbalt -= 0; /* or same as no change */
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 21.268018] gspca: main v2.9.0 registered
[ 21.268850] gspca-2.9.50: probing 045e:00f7
[ 21.285392] gspca-2.9.50: video0 created
[ 21.285395] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.285413] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.285419] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (video works, no audio)
$ dmesg | grep "gspca"
[ 21.268018] gspca: main v2.9.0 registered
[ 21.268850] gspca-2.9.50: probing 045e:00f7
[ 21.285392] gspca-2.9.50: video0 created
[ 21.285395] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.285413] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.285419] gspca-2.9.50: 045e:00f7 bad interface 2
[ 158.861671] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 160.405694] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 160.405698] gspca-2.9.50: bandwidth not wide enough - trying
again
[ 160.434684] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 175.635876] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
gspca_dev->nbalt -= 1;
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 21.905722] gspca: main v2.9.0 registered
[ 21.915236] gspca-2.9.50: probing 045e:00f7
[ 21.931505] gspca-2.9.50: video0 created
[ 21.931508] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.931528] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.931536] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (video works, no audio)
$ dmesg | grep "gspca"
[ 21.905722] gspca: main v2.9.0 registered
[ 21.915236] gspca-2.9.50: probing 045e:00f7
[ 21.931505] gspca-2.9.50: video0 created
[ 21.931508] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.931528] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.931536] gspca-2.9.50: 045e:00f7 bad interface 2
[ 188.170963] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 188.170963] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
gspca_dev->nbalt -= 2;
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 22.463556] gspca: main v2.9.0 registered
[ 22.466506] gspca-2.9.50: probing 045e:00f7
[ 22.483436] gspca-2.9.50: video0 created
[ 22.483438] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 22.483458] gspca-2.9.50: 045e:00f7 bad interface 1
[ 22.483465] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (video works, no audio)
$ dmesg | grep "gspca"
[ 22.463556] gspca: main v2.9.0 registered
[ 22.466506] gspca-2.9.50: probing 045e:00f7
[ 22.483436] gspca-2.9.50: video0 created
[ 22.483438] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 22.483458] gspca-2.9.50: 045e:00f7 bad interface 1
[ 22.483465] gspca-2.9.50: 045e:00f7 bad interface 2
[ 139.718647] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 147.487578] gspca-2.9.50: frame overflow 234239 > 233472
[ 158.147090] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
gspca_dev->nbalt -= 3;
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 21.295529] gspca: main v2.9.0 registered
[ 21.296266] gspca-2.9.50: probing 045e:00f7
[ 21.321505] gspca-2.9.50: video0 created
[ 21.321508] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.321528] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.321536] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (video works, no audio)
$ dmesg | grep "gspca"
[ 21.295529] gspca: main v2.9.0 registered
[ 21.296266] gspca-2.9.50: probing 045e:00f7
[ 21.321505] gspca-2.9.50: video0 created
[ 21.321508] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.321528] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.321536] gspca-2.9.50: 045e:00f7 bad interface 2
[ 130.140725] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 138.444830] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
gspca_dev->nbalt -= 4;
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 21.775525] gspca: main v2.9.0 registered
[ 21.776456] gspca-2.9.50: probing 045e:00f7
[ 21.793435] gspca-2.9.50: video0 created
[ 21.793438] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.793455] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.793463] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (video works, no audio)
$ dmesg | grep "gspca"
[ 21.775525] gspca: main v2.9.0 registered
[ 21.776456] gspca-2.9.50: probing 045e:00f7
[ 21.793435] gspca-2.9.50: video0 created
[ 21.793438] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.793455] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.793463] gspca-2.9.50: 045e:00f7 bad interface 2
[ 102.566613] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 107.669128] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
gspca_dev->nbalt -= 5;
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 21.150636] gspca: main v2.9.0 registered
[ 21.151538] gspca-2.9.50: probing 045e:00f7
[ 21.174690] gspca-2.9.50: video0 created
[ 21.174692] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.174710] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.174717] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (video works, no audio)
$ dmesg | grep "gspca"
[ 21.150636] gspca: main v2.9.0 registered
[ 21.151538] gspca-2.9.50: probing 045e:00f7
[ 21.174690] gspca-2.9.50: video0 created
[ 21.174692] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.174710] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.174717] gspca-2.9.50: 045e:00f7 bad interface 2
[ 103.857992] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 108.318804] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
gspca_dev->nbalt -= 6;
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 21.719670] gspca: main v2.9.0 registered
[ 21.720735] gspca-2.9.50: probing 045e:00f7
[ 21.741407] gspca-2.9.50: video0 created
[ 21.741409] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.741425] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.741433] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (no video, no audio)
$ dmesg | grep "gspca"
[ 21.719670] gspca: main v2.9.0 registered
[ 21.720735] gspca-2.9.50: probing 045e:00f7
[ 21.741407] gspca-2.9.50: video0 created
[ 21.741409] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.741425] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.741433] gspca-2.9.50: 045e:00f7 bad interface 2
[ 86.749179] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 98.646330] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
gspca_dev->nbalt -= 7;
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 21.911549] gspca: main v2.9.0 registered
[ 21.912648] gspca-2.9.50: probing 045e:00f7
[ 21.934429] gspca-2.9.50: video0 created
[ 21.934431] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.934452] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.934460] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (no video, no audio)
$ dmesg | grep "gspca"
[ 21.911549] gspca: main v2.9.0 registered
[ 21.912648] gspca-2.9.50: probing 045e:00f7
[ 21.934429] gspca-2.9.50: video0 created
[ 21.934431] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.934452] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.934460] gspca-2.9.50: 045e:00f7 bad interface 2
[ 108.513126] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 121.592828] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
gspca_dev->nbalt -= 8;
Initial startup (audio works)
$ dmesg | grep "gspca"
[ 21.215610] gspca: main v2.9.0 registered
[ 21.217198] gspca-2.9.50: probing 045e:00f7
[ 21.233435] gspca-2.9.50: video0 created
[ 21.233437] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.233459] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.233467] gspca-2.9.50: 045e:00f7 bad interface 2
Started Cheese (no video, audio works)
$ dmesg | grep "gspca"
[ 21.215610] gspca: main v2.9.0 registered
[ 21.217198] gspca-2.9.50: probing 045e:00f7
[ 21.233435] gspca-2.9.50: video0 created
[ 21.233437] gspca-2.9.50: found int in endpoint: 0x83,
buffer_len=1, interval=100
[ 21.233459] gspca-2.9.50: 045e:00f7 bad interface 1
[ 21.233467] gspca-2.9.50: 045e:00f7 bad interface 2
[ 85.830434] gspca: no transfer endpoint found
-------------------------------------
The point of breaking the microphone appears to be at the same
instance that the second "found int in endpoint: 0x83, buffer_len=1,
interval=100" occurs. This is in the alloc_and_submit_int_urb()
function in gspca.c.
Is there any way that I can do a deeper trace on this to find what is
actually going wrong here?
Does this help at all?
Thanks.
--
Kyle Baker
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html