pwc-webcam attached to usb-ohci card blocks on read() indefinitely.
I have a computer with four USB ports, one UHCI-controller on the motherboard and three OHCI PCI-cards from Lucent Technologies (can't get the exact make and model until tomorrow, no physical access right now).
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
The camera attached to the UHCI-controller running usb-uhci works just fine, but the three attached to the OHCI-controllers running usb-ohci don't. After a random amount of frames being read from a camera the read()-call blocks indefinitely until the device is closed. Next time the v4l-device is opened the program can again read frames from the camera but read() always blocks after some time.
The amount of frames that are successfully read can range from 50 to a couple of thousand, the amount seems to be totally random. There are no messages in the logs of any kind when the blocking occurs. It happens with both read() and mmap(), always on the usb-ohci cards and never on the usb-uhci onboard controller.
Since we have never seen this problem with these cameras, and we've been using them for well over a year, so I don't think it is a bug in pwc.o. It could be flaky hardware, in which case usb-ohci should have a workaround. It could be that some of the cards are sharing IRQ's but one of the cards has a differant one, and the UHCI is on the same IRQ as two of the OHCI cards.
The most probable is that there is a bug somewhere in usb-ohci since we only see the behaviour with this card/driver combination, or that the cards are crap.
I've tried both 2.4.17 and 18 with the same result.
The only thing in dmesg is:
pwc Iso frame 1 of USB has error -18
But these messages occur without read() blocking most of the times.
Is there any way to get more info on what is going on in usb-ohci?
/Carl-Johan Kjellander
please Cc me as I'm not subscribing to the list.
Signature · 4 lines
begin 644 carljohan_at_kjellander_dot_com.gif Y1TE&.#=A(0`F`(```````/___RP`````(0`F```"@XR/!\N<#U.;+MI`<[U(>\!UGQ9BGT%>'D2I Y*=NX,2@OUF2&<827ILW;^822C>\7!!Z1,!K'B5(6H<SH-"E*TJ3%*/>QI6:7"A>Y?):D2^*U@NCV R<MOQ=]V(B6>LZYD-_T1U<@3W]A4(^$-W4]A#V")W6#.R"$;IR'@).46BN7$9>5D``#L`
Quoted 3 lines · Carl-Johan Kjellander
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
As you are using this closed source module, I suggest you take this up with that module's author.
Good luck,
greg k-h
Quoted 8 lines · Greg KH
Quoted 3 lines · Carl-Johan Kjellander
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
As you are using this closed source module, I suggest you take this up with that module's author.
The problem exists even when pwcx.o isn't loaded so the bug is not in there.
# lsmod --version lsmod version 2.4.13 # lsmod Module Size Used by Tainted: P eepro100 17520 1 appletalk 19596 0 (autoclean) ipchains 30884 12 md 43712 0 (unused) audio 38080 0 (unused) soundcore 3428 8 [audio] pwc 38592 1 usb-uhci 21348 0 (unused) usb-ohci 17920 0 (unused) usbcore 49440 1 [audio pwc usb-uhci usb-ohci]
The test machine has not had pxwc.o loaded after bootup and the problem is still there.
/Carl-Johan Kjellander
please CC me.
Signature · 4 lines
begin 644 carljohan_at_kjellander_dot_com.gif Y1TE&.#=A(0`F`(```````/___RP`````(0`F```"@XR/!\N<#U.;+MI`<[U(>\!UGQ9BGT%>'D2I Y*=NX,2@OUF2&<827ILW;^822C>\7!!Z1,!K'B5(6H<SH-"E*TJ3%*/>QI6:7"A>Y?):D2^*U@NCV R<MOQ=]V(B6>LZYD-_T1U<@3W]A4(^$-W4]A#V")W6#.R"$;IR'@).46BN7$9>5D``#L`
Am Dienstag, 5. März 2002 06:11 schrieb Greg KH:
Quoted 6 lines · Carl-Johan Kjellander
Quoted 2 lines
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
As you are using this closed source module, I suggest you take this up with that module's author.
Perhaps you could first ask whether the hang can be reproduced without that module loaded ?
Secondly, that module is unlikely to cause that kind of trouble.
Regards
Oliver
Quoted 11 lines · Oliver Neukum
Am Dienstag, 5. März 2002 06:11 schrieb Greg KH:
Quoted 6 lines · Carl-Johan Kjellander
Quoted 2 lines
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
As you are using this closed source module, I suggest you take this up with that module's author.
Perhaps you could first ask whether the hang can be reproduced without that module loaded ?
Secondly, that module is unlikely to cause that kind of trouble.
I might completely misunderstand the thread, but I would suspect the pwc and pwcx modules to be the drivers for the pwc-webcam which blocks forever on read syscalls.
How would you perform the read on the pwc-webcam w/o that driver module?
Michael.
--
Michael Weller: [email protected], [email protected], or even [email protected]. If you encounter an eowmob account on any machine in the net, it's very likely it's me.
Quoted 18 lines · Dr. Michael Weller
Quoted 7 lines · Oliver Neukum
Am Dienstag, 5. März 2002 06:11 schrieb Greg KH:
Quoted 5 lines · Carl-Johan Kjellander
Quoted 4 lines
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
Quoted 7 lines
Quoted 3 lines
As you are using this closed source module, I suggest you take this up with that module's author.
Perhaps you could first ask whether the hang can be reproduced without that module loaded ?
Secondly, that module is unlikely to cause that kind of trouble.
Quoted 5 lines
I might completely misunderstand the thread, but I would suspect the pwc and pwcx modules to be the drivers for the pwc-webcam which blocks forever on read syscalls.
How would you perform the read on the pwc-webcam w/o that driver module?
The pwcx.o module (binary only) is not necessary for operation of a Philips webcam. The pwc.o module (GPL) is sufficient if you don't need 640x480 resolution, and high fps rates. Pwcx is a module to decompress the videostream from the camera for higher framerates since the USB bandwidth is not enough for 640x480x30fps of raw videodata.
The pwc module is included in the standard linux kernel, pwcx is not, but the problem is still not in pwcx. The problem is reproducible without pwcx being loaded.
/Carl-Johan Kjellander
please CC me.
Signature · 4 lines
begin 644 carljohan_at_kjellander_dot_com.gif Y1TE&.#=A(0`F`(```````/___RP`````(0`F```"@XR/!\N<#U.;+MI`<[U(>\!UGQ9BGT%>'D2I Y*=NX,2@OUF2&<827ILW;^822C>\7!!Z1,!K'B5(6H<SH-"E*TJ3%*/>QI6:7"A>Y?):D2^*U@NCV R<MOQ=]V(B6>LZYD-_T1U<@3W]A4(^$-W4]A#V")W6#.R"$;IR'@).46BN7$9>5D``#L`
Quoted 7 lines · Oliver Neukum
Am Dienstag, 5. März 2002 06:11 schrieb Greg KH:
Quoted 5 lines · Carl-Johan Kjellander
Quoted 4 lines
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
Quoted 7 lines
Quoted 3 lines
As you are using this closed source module, I suggest you take this up with that module's author.
Perhaps you could first ask whether the hang can be reproduced without that module loaded ?
Secondly, that module is unlikely to cause that kind of trouble.
The problem can be reproduced on a computer that has not loaded pwcx.o after boot. The problem is not caused by pwcx.o at all.
/Carl-Johan Kjellander
Signature · 4 lines
begin 644 carljohan_at_kjellander_dot_com.gif Y1TE&.#=A(0`F`(```````/___RP`````(0`F```"@XR/!\N<#U.;+MI`<[U(>\!UGQ9BGT%>'D2I Y*=NX,2@OUF2&<827ILW;^822C>\7!!Z1,!K'B5(6H<SH-"E*TJ3%*/>QI6:7"A>Y?):D2^*U@NCV R<MOQ=]V(B6>LZYD-_T1U<@3W]A4(^$-W4]A#V")W6#.R"$;IR'@).46BN7$9>5D``#L`
Quoted 12 lines · Carl-Johan Kjellander
Quoted 11 lines · Oliver Neukum
Am Dienstag, 5. März 2002 06:11 schrieb Greg KH:
Quoted 8 lines · Carl-Johan Kjellander
Quoted 4 lines
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
As you are using this closed source module, I suggest you take this up with that module's author.
Quoted 6 lines
Quoted 3 lines
Perhaps you could first ask whether the hang can be reproduced without that module loaded ?
Secondly, that module is unlikely to cause that kind of trouble.The problem can be reproduced on a computer that has not loaded pwcx.o after boot. The problem is not caused by pwcx.o at all.
But you are reading from the pwc driver, right? Have you asked the author of that driver about this?
thanks,
greg k-h
Quoted 22 lines · Greg KH
Quoted 20 lines · Carl-Johan Kjellander
Quoted 18 lines · Oliver Neukum
Am Dienstag, 5. März 2002 06:11 schrieb Greg KH:
Quoted 11 lines · Carl-Johan Kjellander
Quoted 6 lines
Attached to each one of these is an Philips ToUCam pro which uses the pwc and pwcx modules. (yes, the kernel becomes tainted by the pwcx module)
As you are using this closed source module, I suggest you take this up with that module's author.
Perhaps you could first ask whether the hang can be reproduced without that module loaded ?
Secondly, that module is unlikely to cause that kind of trouble.
Quoted 6 lines
Quoted 3 lines
The problem can be reproduced on a computer that has not loaded pwcx.o after boot. The problem is not caused by pwcx.o at all.
But you are reading from the pwc driver, right? Have you asked the author of that driver about this?
Since the problem isn't reproducible on the pwc-camera on the onboard UHCI controller, I tend to think it isn't a problem with the PWC driver but with either the hardware or the usb-ohci driver. If 3 out of four cameras has the same problem, and the fourth doesn't the problem is easiest to find if you look at the difference between them, the UHCI vs OHCI controller/drivers.
And I think he is subscribed to this list. I don't want to bother him to much since he has gotten tons of bugreports that has turned out to be bugs in uhci.o, usb-uhci.o and usb-ohci.o over the last year. /Carl-Johan Kjellander
Signature · 4 lines
begin 644 carljohan_at_kjellander_dot_com.gif Y1TE&.#=A(0`F`(```````/___RP`````(0`F```"@XR/!\N<#U.;+MI`<[U(>\!UGQ9BGT%>'D2I Y*=NX,2@OUF2&<827ILW;^822C>\7!!Z1,!K'B5(6H<SH-"E*TJ3%*/>QI6:7"A>Y?):D2^*U@NCV R<MOQ=]V(B6>LZYD-_T1U<@3W]A4(^$-W4]A#V")W6#.R"$;IR'@).46BN7$9>5D``#L`