Hi , While streaming audio using linux usb audio class interface , isochoronous transaction reports "Bad Length Error " . Also CRC-16 error is reported in the packet details ( packet no 106267 ) . iso endpoint size is 192 , but data received over iso IN ep comes to be 1042 bytes . i am enclosing usb log with error reported in transaction no 35637 . is it possible for host to recover from Bad Length / CRC16 error ? if error recovery is possible , such recovery can be done from which part : usb host controller or audio class driver ? my usb device is composite supporting hid / audio interfaces . Thanx & Regards Amit Nagal
File C:\Documents and Settings\test\Desktop\test2\iso_txf_log.usb. From Transfer #17 to Packet #106267. Packet# _______|_______________________________________________________________________ Transfer(17) H(S) Interrupt(IN) ADDR(2) ENDP(3) Bytes Transferred(18) _______| Time Stamp(4 . 297 981 716) _______|_______________________________________________________________________ Transaction(34975) H(S) IN(0x96) ADDR(2) ENDP(3) T(1) Data(18 bytes) ACK(0x4B) _______| Time Stamp(4 . 297 981 716) _______|_______________________________________________________________________ Transaction(35637) H(S) IN(0x96) ADDR(2) ENDP(1) Cplt(NO) T(0) Data(0 bytes) _______| Error(Bad Length Error) Time Stamp(4 . 380 976 016) _______|_______________________________________________________________________ Packet(106266) Dir H(S) IN(0x96) ADDR(2) ENDP(1) CRC5(0x18) Pkt Len(8) _______| Time Stamp(4 . 380 976 016) _______|_______________________________________________________________________ Packet(106267) Dir H(S) DATA0(0xC3)-BAD Data(1042 bytes) CRC16(0xFF5F)-BAD _______| Pkt Len(0) Time Stamp(4 . 380 976 682) _______|_______________________________________________________________________