On Thu, Jul 8, 2010 at 6:14 AM, Jean-Francois Moine <moin...@free.fr> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to