This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Usb failed packets

Hello,

What could be causing failed packets


Connection Status Device connected
Current Configuration 1
Speed Full
Device Address 1
Number Of Open Pipes 0

Device Descriptor NXP LPC17xx Speaker
Offset Field Size Value Description
0 bLength 1 12h
1 bDescriptorType 1 01h Device
2 bcdUSB 2 0200h USB Spec 2.0
4 bDeviceClass 1 00h Class info in Ifc Descriptors
5 bDeviceSubClass 1 00h
6 bDeviceProtocol 1 00h
7 bMaxPacketSize0 1 40h 64 bytes
8 idVendor 2 1FC7h
10 idProduct 2 4005h
12 bcdDevice 2 0100h 1.00
14 iManufacturer 1 01h "NXP Semicond "
15 iProduct 1 02h "NXP LPC17xx Speaker "
16 iSerialNumber 1 03h "DEMO00000000"
17 bNumConfigurations 1 01h

Configuration Descriptor 1 Bus Powered, 100 mA
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 02h Configuration
2 wTotalLength 2 0076h
4 bNumInterfaces 1 02h
5 bConfigurationValue 1 01h
6 iConfiguration 1 00h
7 bmAttributes 1 80h Bus Powered
 4..0: Reserved  ...00000
 5: Remote Wakeup  ..0.....  No
 6: Self Powered  .0......  No, Bus Powered
 7: Reserved (set to one)
(bus-powered for 1.0)  1.......
8 bMaxPower 1 32h 100 mA

Interface Descriptor 0/0 Audio, 0 Endpoints
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 00h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 00h
5 bInterfaceClass 1 01h Audio
6 bInterfaceSubClass 1 01h Audio Control
7 bInterfaceProtocol 1 00h
8 iInterface 1 00h

Audio Control Interface Header Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 24h Audio Control Interface Header
2  7 01 00 01 27 00 01 01

Audio Control Input Terminal Descriptor
Offset Field Size Value Description
0 bLength 1 0Ch
1 bDescriptorType 1 24h Audio Control Input Terminal
2  10 02 01 01 01 00 01 00 00
00 00

Audio Control Feature Unit Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 24h Audio Control Feature Unit
2  7 06 02 01 01 03 00 00

Audio Control Output Terminal Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 24h Audio Control Output Terminal
2  7 03 03 01 03 00 02 00

Interface Descriptor 1/0 Audio, 0 Endpoints
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 01h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 00h
5 bInterfaceClass 1 01h Audio
6 bInterfaceSubClass 1 02h Audio Streaming
7 bInterfaceProtocol 1 00h
8 iInterface 1 00h

Interface Descriptor 1/1 Audio, 2 Endpoints
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 01h
3 bAlternateSetting 1 01h
4 bNumEndpoints 1 02h
5 bInterfaceClass 1 01h Audio
6 bInterfaceSubClass 1 02h Audio Streaming
7 bInterfaceProtocol 1 00h
8 iInterface 1 00h

Audio Streaming Interface Descriptor
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 24h Audio Streaming Interface
2  5 01 01 01 01 00

Audio Streaming Format Type Descriptor
Offset Field Size Value Description
0 bLength 1 0Bh
1 bDescriptorType 1 24h Audio Streaming Format Type
2  9 02 01 01 02 10 01 40 1F
00

Endpoint Descriptor 03 3 Out, Isochronous, 1 ms
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 03h 3 Out
3 bmAttributes 1 05h Isochronous, Asynchronous, Data
 1..0: Transfer Type  ......01  Isochronous
 3..2: Sync Type  ....01..  Asynchronous
 5..4: Usage Type  ..00....  Data
 7..6: Reserved  00......
4 wMaxPacketSize 2 0012h 18 bytes
6 bInterval 1 01h 1 ms
7 bRefresh 1 00h
8 bSynchAddress 1 83h

Audio Streaming Isochronous Audio Data Endpoint Descriptor
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 25h Audio Streaming Isochronous Audio Data Endpoint
2  5 01 00 02 00 00

Endpoint Descriptor 83 3 In, Isochronous, 1 ms
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 83h 3 In
3 bmAttributes 1 01h Isochronous, No Sync, Data
 1..0: Transfer Type  ......01  Isochronous
 3..2: Sync Type  ....00..  No Sync
 5..4: Usage Type  ..00....  Data
 7..6: Reserved  00......
4 wMaxPacketSize 2 0003h 3 bytes
6 bInterval 1 01h 1 ms
7 bRefresh 1 01h
8 bSynchAddress 1 00h

http://pastebin.com/gbdKGnwQ


URB     0006-0003       4:11:41.526     6.746 ms        71 us   Sync Reset Pipe and Clear Stall                         01:01:83        83DEC6F0h       USBPDO-5        usbhub  84E65E00h       Success (Success)
URB     0007-0002       4:11:41.526     6.749 ms        88 us   Sync Reset Pipe and Clear Stall                         01:01:83        83DC8C80h       0000007a        usbccgp 84E65E00h       Success (Success)
URB     0008    4:11:41.526     6.758 ms                Isoch Transfer  3 bytes buffer          in      01:01:83        83DC8C80h       0000007a        usbccgp 84FD5790h
URB     0009    4:11:41.526     6.763 ms                Isoch Transfer  3 bytes buffer          in      01:01:83        83DEC6F0h       USBPDO-5        usbhub  84FD5790h
URB     0010-0009       4:11:41.526     6.831 ms        69 us   Isoch Transfer                  in      01:01:83        83DEC6F0h       USBPDO-5        usbhub  84FD5790h       Unsuccessful (Internal HC Error)
URB     0011-0008       4:11:41.526     6.834 ms        77 us   Isoch Transfer                  in      01:01:83        83DC8C80h       0000007a        usbccgp 84FD5790h       Unsuccessful (Internal HC Error)
URB     0012    4:11:41.526     6.847 ms                Sync Reset Pipe and Clear Stall                         01:01:83        83DC8C80h       0000007a        usbccgp 83DD4008h
URB     0013    4:11:41.526     6.853 ms                Sync Reset Pipe and Clear Stall                         01:01:83        83DEC6F0h       USBPDO-5        usbhub  83DD4008h
URB     0014-0013       4:11:41.526     6.889 ms        36 us   Sync Reset Pipe and Clear Stall                         01:01:83        83DEC6F0h       USBPDO-5        usbhub  83DD4008h       Success (Success)
URB     0015-0012       4:11:41.526     6.892 ms        45 us   Sync Reset Pipe and Clear Stall                         01:01:83        83DC8C80h       0000007a        usbccgp 83DD4008h       Success (Success)



Parents
No data
Reply
  • Hmm,
    On my side, the mods work as we expect.
    Maybe, I didn't touch to all of modifications I made.
    I posted current modification, here.
    www.8052.com/.../MCB1700_USBAudio_Async_32k_r0.zip
    Try this one.

    To run above firmware on MCB1700, touch this line.

    usbdmain.c
    
    int main (void)
    {
      ...
      ...
    #define OLIMEX_LPC1766STK   // <--- comment this line for MCB1700
    





    At this stage, we have examined basic implementation of the feedback endpoint for Async Sink.
    To brush up above implementation, these issues still remain.

    1) Feedback refresh interval
    In above implementation, Windows read out the feedback EP every 11 or 12 frames, Mac does every 8 frames.
    But our firmware refreshes it in every frame.

    We have to change the refresh interval and bRefresh value on sync EP.

    USB Audio Spec, www.usb.org/.../audio10.pdf
    3.7.2.2 Isochronous Synch Endpoint
    The sample clock Fs is always derived from a master clock Fm in the device.
    P is related to the ratio between those clocks through the following relationship:
    Fm = Fs * 2^(P-1)

    As indicated earlier, a new Ff value is available every 2^(10 – P) frames with P ranging from 1 to 9. The
    bRefresh field of the synch standard endpoint descriptor is used to report the exponent (10-P) to the Host.
    It can range from 9 down to 1. (512 ms down to 2 ms)

    2) Variable number of samples per frame
    Async Sink results +/- 1 samples per frame occasionally, when the frequency ratio of
    the local sampling clock and SOF is apart from an integer number.
    But original Keil implementation assumes that the sample number per frame would be constant,
    and this number is power of 2, ie. 1, 2, 4, 8, 16, 32,...
    This assumption is fine for Adaptive/Synchronous Sink, but it is not approved for Async Sink.

    - I touched to the mods for Keils's "mask" method, in this post
    http://www.keil.com/forum/19557/
    Posted 30-Sep-2011 03:43 GMT

    - The mods on above post has to be modified more for variable transferred data size on each frame.

    3) Pop noise on Windows
    Windows irregularly put Set_Interface(0) / Set_Interface(1) pair to the device, while it plays sound.
    This makes pop noise. I'm not sure if this behavior is caused by the value of feedback or not.

    Tsuneo

Children