Re: A videocam works on OHCI and fails on UHCI (fwd)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Sat, 14 Nov 2009, Oliver Neukum wrote:

Am Samstag, 14. November 2009 04:35:55 schrieb Theodore Kilgore:
At this point, I have put identical copies of the camera driver, along
 with  identical copies of the rest of the gspca development tree, on six
 different machines. Three of them use OHCI, and three of them use UHCI. On
 the three machines which use OHCI, everything works perfectly. On the
 three machines which run UHCI, there are serious problems, to the extent
 that some of the cameras I have intended to support will not function
 while others do continue to work.

What exactly fails? In particular are you seeing usb_submit_urb() returning
-ENOSPC? Other error returns? Ooopses?

	Regards
		Oliver


Oliver,

Frankly, it is a bit hard for me to track down. When one runs dmesg after the camera has been hooked up, one sees that it is detected, initialized, and then there are repeated requests for data over the isochronous pipe. And the data is not forthcoming. There are not any complaining messages in the usual log files in /var/log, either.

About the only thing I do have is a couple of logs made with usbmon. Here follow an extract from a log in which the streaming failed, made on one of the test machines which uses UHCI, and then some similar extracts from a log made with the same camera, using the same driver code, on a machine which uses OHCI, and the streaming is taking place.

Since each of the log files is about 25k in length, I simply copy here what seem to me relevant extracts.

First the log where it fails, done on a Dell C600 Inspiron laptop (I have tested on a couple of much newer machines, too, in case you think this one is too old, but with no different outcome):

the 004d is the command to start the stream.

d4c0ee80 2996766468 S Bo:1:010:4 -115 2 = 004d
d4c0ee80 2996767555 C Bo:1:010:4 0 2 >
d6b0bc00 2996767604 S Zi:1:010:1 -115:1:0 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6b0b400 2996767632 S Zi:1:010:1 -115:1:0 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6a9ac00 2996767652 S Zi:1:010:1 -115:1:0 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6b0bc00 2996809550 C Zi:1:010:1 0:1:800384:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6b0bc00 2996809574 S Zi:1:010:1 -115:1:800384 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6b0b400 2996841536 C Zi:1:010:1 0:1:800416:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6b0b400 2996841555 S Zi:1:010:1 -115:1:800416 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6a9ac00 2996873537 C Zi:1:010:1 0:1:800448:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6a9ac00 2996873555 S Zi:1:010:1 -115:1:800448 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6b0bc00 2996905529 C Zi:1:010:1 0:1:800480:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6b0b400 2997129509 S Zi:1:010:1 -115:1:800704 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6a9ac00 2997161488 C Zi:1:010:1 0:1:800736:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6a9ac00 2997161505 S Zi:1:010:1 -115:1:800736 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6b0bc00 2997193482 C Zi:1:010:1 0:1:800768:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6b0bc00 2997193500 S Zi:1:010:1 -115:1:800768 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6b0b400 2997225475 C Zi:1:010:1 0:1:800800:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6b0b400 2997225492 S Zi:1:010:1 -115:1:800800 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6a9ac00 2997257472 C Zi:1:010:1 0:1:800832:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6a9ac00 2997257489 S Zi:1:010:1 -115:1:800832 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < d6b0bc00 2997289465 C Zi:1:010:1 0:1:800864:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 0 d6b0bc00 2997289482 S Zi:1:010:1 -115:1:800864 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 <

and so on. Nothing is coming out on the other end. If I were going to try to analyse this, I am not sure what everything means, even after reading the fine print in usbmon.txt. But one thing I do notice which seems to me peculiar is the numbers such as 800864. I think these are supposed to be some kind of a running count. Could it be that these numbers are negative, as they start with a 1 bit in the top slot? I don't know, actually, but it looks funny. Me, I can't see anything here that looks really weird other than that, and other than the fact that streaming is not happening. One might wonder about the -115 and -18 numbers, but usbmon.txt says these numbers can be negative and there is no problem. Also, observe that they are present in exactly the same places in the next log, below.


Now similar lines from the log for the same camera, on a machine where the camera is working properly:

f5e90d80 153470797 S Bo:5:002:4 -115 2 = 004d
f5e90d80 153472781 C Bo:5:002:4 0 2 >
f5f56400 153472798 S Zi:5:002:1 -115:1:0 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < f5f54800 153472816 S Zi:5:002:1 -115:1:0 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < f5f55400 153472825 S Zi:5:002:1 -115:1:0 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < f5f56400 153512786 C Zi:5:002:1 0:1:12476:0 32 0:0:0 0:1007:0 0:2014:0 0:3021:0 0:4028:0 11544 = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 f5f56400 153512823 S Zi:5:002:1 -115:1:12476 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 < f5f54800 153544787 C Zi:5:002:1 0:1:12508:0 32 0:0:640 0:1007:616 0:2014:552 0:3021:680 0:4028:584 13872 = 1558ac24 50560121 88ca6d57 065a5c42 43029806 b596ec35 5360a05a a5012956 f5f54800 153544831 S Zi:5:002:1 -115:1:12508 32 -18:0:1007 -18:1007:1007 -18:2014:1007 -18:3021:1007 -18:4028:1007 32224 <


As I said, same camera, same driver code. The big difference I can see, other than those funky count numbers in the first log are not happening here, is that here there are indications that data is coming.

Hope this helps.

Theodore Kilgore
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux