Skip to contentSkip to conversation

pwc-webcam attached to usb-ohci card blocks on read() indefinitely.

DISCUSSION Carl-Johan Kjellander 4 participants 9 messages Mar 5, 2002

lore
Share & tools
lore
#0 lore raw

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`
#1 lore raw
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

#2 lore raw
In reply to Carl-Johan Kjellander
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`
#3 lore raw
In reply to Carl-Johan Kjellander

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

#4 lore raw
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.

#5 lore raw
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`
#6 lore raw
In reply to Carl-Johan Kjellander
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`
#7 lore raw
In reply to Carl-Johan Kjellander
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

#8 lore raw
In reply to Carl-Johan Kjellander
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`