All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Does USB isochronous mode work on EHCI port?
       [not found]   ` <eb7a9da0-7556-4d8f-b7b4-bf29768082df-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
@ 2013-01-04 12:20     ` Gary Thomas
  2013-01-04 13:20       ` Roger Quadros
       [not found]       ` <6ffddeae-3f7b-4972-a485-c62ecc7e2cdb-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
  0 siblings, 2 replies; 5+ messages in thread
From: Gary Thomas @ 2013-01-04 12:20 UTC (permalink / raw)
  To: pandaboard-/JYPxA39Uh5TLH3MbocFFw
  Cc: Roger Quadros, balbi-l0cyMroinI0, balbif-Re5JQEeQqe8AvxtiuMwx3w,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-omap-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 1132 bytes --]



On Thursday, January 3, 2013 9:21:19 AM UTC-7, Felipe Balbi wrote:
>
> Hi,
>
> On Wednesday, January 2, 2013 10:44:50 PM UTC+2, Gary Thomas wrote:
>>
>> I have a video adapter attached to my EHCI port which runs full speed 
>> (480Mb/s) isochronous mode.  Sadly, I never get any data from the device 
>> (it uses the EM28xx driver).
>> This same device + driver works fine on my laptop and from what I can 
>> tell looking at the module debug, it's failing when waiting for the ISOC 
>> frame data to arrive.
>>
>> Should this work?  I recall lots of discussion in the past about ISOC 
>> transfers not working on certain OMAP devices...
>>
>
> which kernel are you using ? Have you tested mainline kernel ?
>

I'm using the TI/Ubuntu kernel ( ti-ubuntu-3.4.0-1489.17)

Using the mainline would be hard as there is a lot in this kernel that 
isn't in the mainline.


> Would be cool if you could also Cc linu...-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <javascript:>and 
> linux...-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <javascript:> for
> all OMAP USB queries so you can reach all interested folks.
>
> cheers
>
> -- 
> balbi
>

[-- Attachment #2: Type: text/html, Size: 1811 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does USB isochronous mode work on EHCI port?
  2013-01-04 12:20     ` Does USB isochronous mode work on EHCI port? Gary Thomas
@ 2013-01-04 13:20       ` Roger Quadros
       [not found]         ` <50E6D710.4060409-l0cyMroinI0@public.gmane.org>
       [not found]       ` <6ffddeae-3f7b-4972-a485-c62ecc7e2cdb-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
  1 sibling, 1 reply; 5+ messages in thread
From: Roger Quadros @ 2013-01-04 13:20 UTC (permalink / raw)
  To: Gary Thomas; +Cc: pandaboard, balbi, balbif, linux-usb, linux-omap

Hi Gary,

On 01/04/2013 02:20 PM, Gary Thomas wrote:
> 
> 
> On Thursday, January 3, 2013 9:21:19 AM UTC-7, Felipe Balbi wrote:
> 
>     Hi,
> 
>     On Wednesday, January 2, 2013 10:44:50 PM UTC+2, Gary Thomas wrote:
> 
>         I have a video adapter attached to my EHCI port which runs full
>         speed (480Mb/s) isochronous mode.  Sadly, I never get any data
>         from the device (it uses the EM28xx driver).
>         This same device + driver works fine on my laptop and from what
>         I can tell looking at the module debug, it's failing when
>         waiting for the ISOC frame data to arrive.
> 
>         Should this work?  I recall lots of discussion in the past about
>         ISOC transfers not working on certain OMAP devices...
> 
> 
>     which kernel are you using ? Have you tested mainline kernel ?
> 
> 
> I'm using the TI/Ubuntu kernel ( ti-ubuntu-3.4.0-1489.17)
> 
> Using the mainline would be hard as there is a lot in this kernel that
> isn't in the mainline.

I don't have an ISO device with me at the moment. I can only test this
next week.

Could you please post the output of dmesg once you plug in the USB
device and start using it? Also the output of usbmon would be great.

--
cheers,
-roger

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does USB isochronous mode work on EHCI port?
       [not found]         ` <50E6D710.4060409-l0cyMroinI0@public.gmane.org>
@ 2013-01-04 16:33           ` Frank Schäfer
       [not found]             ` <50E70444.7090407-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Frank Schäfer @ 2013-01-04 16:33 UTC (permalink / raw)
  To: Gary Thomas
  Cc: rogerq-l0cyMroinI0, pandaboard-/JYPxA39Uh5TLH3MbocFFw,
	balbi-l0cyMroinI0, balbif-Re5JQEeQqe8AvxtiuMwx3w,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-omap-u79uwXL29TY76Z2rM5mHXA

Am 04.01.2013 14:20, schrieb Roger Quadros:
> Hi Gary,
>
> On 01/04/2013 02:20 PM, Gary Thomas wrote:
>>
>> On Thursday, January 3, 2013 9:21:19 AM UTC-7, Felipe Balbi wrote:
>>
>>     Hi,
>>
>>     On Wednesday, January 2, 2013 10:44:50 PM UTC+2, Gary Thomas wrote:
>>
>>         I have a video adapter attached to my EHCI port which runs full
>>         speed (480Mb/s) isochronous mode.  Sadly, I never get any data
>>         from the device (it uses the EM28xx driver).
>>         This same device + driver works fine on my laptop and from what
>>         I can tell looking at the module debug, it's failing when
>>         waiting for the ISOC frame data to arrive.
>>
>>         Should this work?  I recall lots of discussion in the past about
>>         ISOC transfers not working on certain OMAP devices...
>>
>>
>>     which kernel are you using ? Have you tested mainline kernel ?
>>
>>
>> I'm using the TI/Ubuntu kernel ( ti-ubuntu-3.4.0-1489.17)
>>
>> Using the mainline would be hard as there is a lot in this kernel that
>> isn't in the mainline.

I have added support for USB bulk transfers to the em28xx driver
recently. It will be include in kernels 3.9+.
Maybe it can be used to work around hardware problems with ISOC transfers.

So if your device has bulk endpoints for video (see lsusb -v), it's
probably worth testing the latest code from the media tree
(http://git.linuxtv.org/media_tree.git).
You will have to load the module with parameter usb_xfer_mode=1,
otherwise the driver selects ISOC transfers for TV devices by default.

Regards,
Frank
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does USB isochronous mode work on EHCI port?
       [not found]             ` <50E70444.7090407-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
@ 2013-01-04 16:46               ` Gary Thomas
  0 siblings, 0 replies; 5+ messages in thread
From: Gary Thomas @ 2013-01-04 16:46 UTC (permalink / raw)
  To: pandaboard-/JYPxA39Uh5TLH3MbocFFw
  Cc: Gary Thomas, rogerq-l0cyMroinI0, balbi-l0cyMroinI0,
	balbif-Re5JQEeQqe8AvxtiuMwx3w, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-omap-u79uwXL29TY76Z2rM5mHXA,
	fschaefer.oss-gM/Ye1E23mwN+BqQ9rBEUg

[-- Attachment #1: Type: text/plain, Size: 1856 bytes --]



On Friday, January 4, 2013 9:33:08 AM UTC-7, Frank Schäfer wrote:
>
> Am 04.01.2013 14:20, schrieb Roger Quadros: 
> > Hi Gary, 
> > 
> > On 01/04/2013 02:20 PM, Gary Thomas wrote: 
> >> 
> >> On Thursday, January 3, 2013 9:21:19 AM UTC-7, Felipe Balbi wrote: 
> >> 
> >>     Hi, 
> >> 
> >>     On Wednesday, January 2, 2013 10:44:50 PM UTC+2, Gary Thomas wrote: 
> >> 
> >>         I have a video adapter attached to my EHCI port which runs full 
> >>         speed (480Mb/s) isochronous mode.  Sadly, I never get any data 
> >>         from the device (it uses the EM28xx driver). 
> >>         This same device + driver works fine on my laptop and from what 
> >>         I can tell looking at the module debug, it's failing when 
> >>         waiting for the ISOC frame data to arrive. 
> >> 
> >>         Should this work?  I recall lots of discussion in the past 
> about 
> >>         ISOC transfers not working on certain OMAP devices... 
> >> 
> >> 
> >>     which kernel are you using ? Have you tested mainline kernel ? 
> >> 
> >> 
> >> I'm using the TI/Ubuntu kernel ( ti-ubuntu-3.4.0-1489.17) 
> >> 
> >> Using the mainline would be hard as there is a lot in this kernel that 
> >> isn't in the mainline. 
>
> I have added support for USB bulk transfers to the em28xx driver 
> recently. It will be include in kernels 3.9+. 
> Maybe it can be used to work around hardware problems with ISOC transfers. 
>
> So if your device has bulk endpoints for video (see lsusb -v), it's 
> probably worth testing the latest code from the media tree 
> (http://git.linuxtv.org/media_tree.git). 
> You will have to load the module with parameter usb_xfer_mode=1, 
> otherwise the driver selects ISOC transfers for TV devices by default. 
>

Thanks, I'll give this a try.
 

>
> Regards, 
> Frank 
>

[-- Attachment #2: Type: text/html, Size: 2617 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Does USB isochronous mode work on EHCI port?
       [not found]       ` <6ffddeae-3f7b-4972-a485-c62ecc7e2cdb-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
@ 2013-01-16 11:34         ` Roger Quadros
  0 siblings, 0 replies; 5+ messages in thread
From: Roger Quadros @ 2013-01-16 11:34 UTC (permalink / raw)
  To: Gary Thomas
  Cc: pandaboard-/JYPxA39Uh5TLH3MbocFFw, balbi-l0cyMroinI0,
	balbif-Re5JQEeQqe8AvxtiuMwx3w, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-omap-u79uwXL29TY76Z2rM5mHXA, Boudet, Xavier,
	Dechesne, Nicolas, Fache, Herve

On 01/04/2013 02:20 PM, Gary Thomas wrote:
> 
> 
> On Thursday, January 3, 2013 9:21:19 AM UTC-7, Felipe Balbi wrote:
> 
>     Hi,
> 
>     On Wednesday, January 2, 2013 10:44:50 PM UTC+2, Gary Thomas wrote:
> 
>         I have a video adapter attached to my EHCI port which runs full
>         speed (480Mb/s) isochronous mode.  Sadly, I never get any data
>         from the device (it uses the EM28xx driver).
>         This same device + driver works fine on my laptop and from what
>         I can tell looking at the module debug, it's failing when
>         waiting for the ISOC frame data to arrive.
> 
>         Should this work?  I recall lots of discussion in the past about
>         ISOC transfers not working on certain OMAP devices...
> 
> 
>     which kernel are you using ? Have you tested mainline kernel ?
> 
> 
> I'm using the TI/Ubuntu kernel ( ti-ubuntu-3.4.0-1489.17)
> 
> Using the mainline would be hard as there is a lot in this kernel that
> isn't in the mainline.
> 

+Xavier, Nicolas, Herve

Finally got a chance to try this out. I used uvccapture and luvcview for
my tests.

There is a problem with the TI/Ubuntu kernel. uvccapture works but
luvcview segfaults after a few VIDEOC_QBUF operations (see log in the
end). I don't see anything wrong with the USB traces though.

After disabling all CONFIG_VIDEOBUF options in kernel config (except
CONFIG_VIDEOBUF2_CORE=m, CONFIG_VIDEOBUF2_MEMOPS=m,
CONFIG_VIDEOBUF2_VMALLOC=m) and recompiling the kernel, I could get
luvcview to work.

So the problem is not in USB EHCI but in the DMA/DMAbuf implementation
of VIDEOBUF.

cheers,
-roger

--log--
> luvcview 
> luvcview 0.2.6
> 
> init kbd.
> SDL information:[   37.955749] uvcvideo: uvc_v4l2_open
> 
>   Video driver: fbcon
>   Hardware surfaces are available (3072k video memory)
> Device information:
>   Device path:  /dev/video0
> [   38.105346] usb 1-1.3: reset high-speed USB device number 4 using ehci-omap
> [   38.439178] uvcvideo: Resuming interface 0
> [   38.443542] uvcvideo: Resuming interface 1
> [   38.456970] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYCAP)
> [   38.462310] uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_FMT)
> [   38.467407] uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_PARM)
> [   38.472717] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT)
> [   38.478057] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.484100] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.490112] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.496124] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.502075] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.508117] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.514129] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.520141] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.526092] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.532135] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.538146] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.544158] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.550140] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.556152] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.562164] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.568328] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.574340] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.580291] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.586334] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.592346] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.598358] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT)
> [   38.603698] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.609710] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.615753] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.621765] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.627716] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.633758] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.639770] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.645782] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.651763] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.657806] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.663940] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.669952] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.675964] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.681915] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.687927] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.693939] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.699951] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.705932] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.711975] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.717987] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)
> [   38.723999] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT)
> [   38.729309] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYCAP)
> [   38.734741] uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_INPUT)
> [   38.740051] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUMINPUT)
> [   38.746154] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYCTRL)
> [   38.751617] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYCAP)
> Stream settings:[   38.757171] uvcvideo: uvc_v4l2_ioctl(
> VIDIOC_ENUM_FMT)
> [   38.764068] uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT)
>   Frame format: [   38.769500] uvcvideo: uvc_v4l2_ioctl(MJPG
> VIDIOC_TRY_FMT)
> [   38.776641] uvcvideo: Trying format 0x47504a4d (MJPG): 640x480.
> [   38.782928] uvcvideo: Using default frame interval 33333.3 us (30.0 fps).
> [   38.813446] uvcvideo: uvc_v4l2_ioctl(VIDIOC_S_FMT)
> [   38.818542] uvcvideo: Trying format 0x47504a4d (MJPG): 640x480.
> [   38.824859] uvcvideo: Using default frame interval 33333.3 us (30.0 fps).
> [   38.855560] uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_PARM)
>   Frame size:   [   38.860748] uvcvideo: uvc_v4l2_ioctl(640x480
> VIDIOC_S_PARM)
> [   38.868072] uvcvideo: Setting frame interval to 1/30 (333333).
> [   38.897796] uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_PARM)
>   Frame rate:   [   38.903045] uvcvideo: uvc_v4l2_ioctl(30 fps
> VIDIOC_REQBUFS)
> [   38.911071] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYBUF)
> [   38.916442] uvcvideo: uvc_v4l2_mmap
> [   38.920501] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYBUF)
> [   38.925903] uvcvideo: uvc_v4l2_mmap
> [   38.930023] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYBUF)
> [   38.935424] uvcvideo: uvc_v4l2_mmap
> [   38.939514] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYBUF)
> [   38.944915] uvcvideo: uvc_v4l2_mmap
> [   38.949005] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
> [   38.953979] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
> [   38.958984] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
> [   38.963958] uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)
> [   39.029357] uvcvideo: uvc_v4l2_release
> Segmentation fault


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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-01-16 11:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <32bbff70-2fcd-4993-92ea-385ab02f735a@googlegroups.com>
     [not found] ` <eb7a9da0-7556-4d8f-b7b4-bf29768082df@googlegroups.com>
     [not found]   ` <eb7a9da0-7556-4d8f-b7b4-bf29768082df-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2013-01-04 12:20     ` Does USB isochronous mode work on EHCI port? Gary Thomas
2013-01-04 13:20       ` Roger Quadros
     [not found]         ` <50E6D710.4060409-l0cyMroinI0@public.gmane.org>
2013-01-04 16:33           ` Frank Schäfer
     [not found]             ` <50E70444.7090407-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2013-01-04 16:46               ` Gary Thomas
     [not found]       ` <6ffddeae-3f7b-4972-a485-c62ecc7e2cdb-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2013-01-16 11:34         ` Roger Quadros

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.