I'm using usb-uhci on 2.4.22. The last parameter I pass to the fill_isoc_urb function is trasfer_flags. I set it to 4 because windows driver does that:

1.3:
00000227 0.11009528 TransferFlags = 00000004 (USBD_TRANSFER_DIRECTION_OUT,
~USBD_SHORT_TRANSFER_OK, USBD_START_ISO_TRANSFER_ASAPn


1.8:
TransferFlags = 00000004 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK, USBD_START_ISO_TRANSFER_ASAP


ASAP is 0x2. If trasfer_flags is 4, why do I read "USBD_START_ISO_TRANSFER_ASAP" between brackets)?
--- usb.h
#define USB_DISABLE_SPD 0x0001
#define URB_SHORT_NOT_OK USB_DISABLE_SPD
#define USB_ISO_ASAP 0x0002
--- usb.h


I apologize for the missing logs.
I resume its content here: (snoop1.3 also give me the buffer content)

--- isocurb_1.3.log BEGIN
>>> going down
00001132  0.11657515    StartFrame           = 00000000
00001133  0.11658325    NumberOfPackets      = 00000014
00001134  0.11659191    IsoPacket[0].Offset = f9fc16a8
00001135  0.11660169    IsoPacket[0].Length = f9fc16a8
00001136  0.11661035    IsoPacket[40].Offset = f9fc16a8
00001137  0.11661901    IsoPacket[0].Length = f9fc16a8
00001138  0.11662795    IsoPacket[80].Offset = f9fc16a8
00001139  0.11663633    IsoPacket[0].Length = f9fc16a8
00001140  0.11664527    IsoPacket[120].Offset = f9fc16a8
<<< coming back
00001189  0.14199598    IsoPacket[0].Offset = 826db6cf
00001190  0.14200492    IsoPacket[0].Length = 826db6cf
00001191  0.14201358    IsoPacket[0].Status = 826db6cf
00001192  0.14202280    IsoPacket[40].Offset = 826db6cf
00001193  0.14203146    IsoPacket[0].Length = 826db6cf
00001194  0.14204124    IsoPacket[0].Status = 826db6cf
00001195  0.14204990    IsoPacket[80].Offset = 826db6cf
00001196  0.14205995    IsoPacket[0].Length = 826db6cf
00001197  0.14206917    IsoPacket[0].Status = 826db6cf
00001198  0.14207867    IsoPacket[120].Offset = 826db6cf
--- isocurb_1.3.log END

--- isocurb_1.8.log BEGIN
>>> going down
  StartFrame           = 00000000
  NumberOfPackets      = 00000014
  IsoPacket[0].Offset = 0
  IsoPacket[0].Length = 0
  IsoPacket[1].Offset = 40
  IsoPacket[1].Length = 0
  IsoPacket[2].Offset = 80
  IsoPacket[2].Length = 0
<<< coming back
  IsoPacket[0].Offset = 0
  IsoPacket[0].Length = 0
  IsoPacket[0].Status = 00000000
  IsoPacket[1].Offset = 40
  IsoPacket[1].Length = 0
  IsoPacket[1].Status = 00000000
  IsoPacket[2].Offset = 80
  IsoPacket[2].Length = 0
  IsoPacket[2].Status = 00000000
--- isocurb_1.8.log BEGIN

The urb is the same and one of the sniffer is wrong or not?




Jeanseb wrote:
Windows driver set the ASAP flag, you don't, may bet this.
I also got this kind of trouble with uhci driver while usb-uhci and usb-ohci
work fine.
Selon magneto <[EMAIL PROTECTED]>:


Hi all,
I'm a kernelnewbie (and also a c++ newbie)
I've some problems to understand usbsnoop logs.
I've attached 2 snoops of some isochronous urb : a "sniffusb1.3" log and a
"sniffusb1.8 by papilloit" log.
In my code I fill the transfer buffer with the content I see in
"isocurb_1.3.log" but the isopackets have zero lenght so I think the buffer
is not transferred.
fill_isoc_urb(isocurb, dev, usb_sndisocpipe (dev,
epout_2->bEndpointAddress),
transfer_buffer, packets, instance->isocsize,
iso_complete, instance, 4); //transfer_flags=4
for (i = 0; i < packets; ++i) {
isocurb->iso_frame_desc[i].offset = i * instance->isocsize;
isocurb->iso_frame_desc[i].length = instance->isocsize;
}
ret=usb_submit_urb(isocurb);
Why doesn't this urb call the completion routine?
Thanks in advance for any help.
magneto






--------------------------------------------------------------------------------------------------------- Je suis celui qui peint la nuit en sombre Celui qui voit tous les jours la pénombre Je suis celui... qui a été -- AqME, je suis



------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to