Piccolo F28069 USB Bulk Device Work FIFO size 64 but NOT WORK FIFO size 1024 byte Throughput

Thread Starter

bnymnsogut

Joined Oct 10, 2017
1
I have been testing F2806x USB Bulk Device Example project 'usb_dev_bulk' from TI controlSUITE. In the USB2.0 Specification there is noted that maximum allowed data packet size is 64 bytes where data is transmitted within 1ms frame.

When i predefined value of '#define DATA_IN_EP_FIFO_SIZE USB_FIFO_SZ_64' -> '#define DATA_IN_EP_FIFO_SIZE USB_FIFO_SZ_1024' , i can send more bytes than 64-byte in 1ms frame but just send USB3.0 port on some computer (random operating system ex. win7 win xp win 10). But i can't send any data some computer.

I share some details about 64 byte and 1024 byte for the non-working computer . I saw "Current Config Value : 0x00 ERROR: must be non-zero" and "Number Of Open Pipes : 0x00 (0)" in Connection Information for 1024 byte data. How can i fix it ?

For #define DATA_IN_EP_FIFO_SIZE USB_FIFO_SZ_64 ;

+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : SMB
Device Path : \\?\usb#vid_1cbe&pid_0003#12345678#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Device ID : USB\VID_1CBE&PID_0003\12345678
Hardware IDs : USB\VID_1CBE&PID_0003&REV_0100 USB\VID_1CBE&PID_0003
Driver KeyName : {eb781aaf-9c70-4523-a5df-642a87eca567}\0000 ({EB781AAF-9C70-4523-A5DF-642A87ECA567})
Driver : system32\DRIVERS\libusb0.sys (Version: 1.2.6.0 Date: 2017-09-15)
Driver Inf : C:\Windows\inf\oem59.inf
Legacy BusType : PNPBus
Class : libusb-win32 devices
Class GUID : {eb781aaf-9c70-4523-a5df-642a87eca567}
Interface GUID : {a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Service : libusb0
Enumerator : USB
Location Info : Port_#0002.Hub_#0004
Location IDs : PCIROOT(0)#PCI(1D00)#USBROOT(0)#USB(1)#USB(2)
Container ID : {66740512-d1e6-5bc7-bc09-594d33c026b1}
Manufacturer Info : B
Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code : 0
Power State : D0 (supported: D0, D3, wake from D0)

---------------- Connection Information ---------------
Connection Index : 0x02 (2)
Connection Status : 0x01 (DeviceConnected)
Current Config Value : 0x01
Device Address : 0x03 (3)
Is Hub : 0x00 (no)
Number Of Open Pipes : 0x02 (2)
Device Bus Speed : 0x01 (Full-Speed)
Pipe0ScheduleOffset : 0x00 (0)
Pipe1ScheduleOffset : 0x00 (0)

---------------------- Device Descriptor ----------------------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x01 (Device Descriptor)
bcdUSB : 0x110 (USB Version 1.10)
bDeviceClass : 0xFF (Vendor Specific)
bDeviceSubClass : 0x00
bDeviceProtocol : 0x00
bMaxPacketSize0 : 0x40 (64 bytes)
idVendor : 0x1CBE
idProduct : 0x0003
bcdDevice : 0x0100
iManufacturer : 0x01 (String Descriptor 1)
Language 0x0409 : "Texas Instruments"
iProduct : 0x02 (String Descriptor 2)
Language 0x0409 : "Generic Bulk Device"
iSerialNumber : 0x03 (String Descriptor 3)
Language 0x0409 : "12345678"
bNumConfigurations : 0x01 (1 Configuration)

------------------ Configuration Descriptor -------------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x02 (Configuration Descriptor)
wTotalLength : 0x0020 (32 bytes)
bNumInterfaces : 0x01 (1 Interface)
bConfigurationValue : 0x01 (Configuration 1)
iConfiguration : 0x05 (String Descriptor 5)
Language 0x0409 : "Bulk Data Configuration"
bmAttributes : 0xC0
D7: Reserved, set 1 : 0x01
D6: Self Powered : 0x01 (yes)
D5: Remote Wakeup : 0x00 (no)
D4..0: Reserved, set 0 : 0x00
MaxPower : 0xFA (500 mA)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x00
bAlternateSetting : 0x00
bNumEndpoints : 0x02 (2 Endpoints)
bInterfaceClass : 0xFF (Vendor Specific)
bInterfaceSubClass : 0x00
bInterfaceProtocol : 0x00
iInterface : 0x04 (String Descriptor 4)
Language 0x0409 : "Bulk Data Interface"

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0040 (64 bytes)
bInterval : 0x00 (ignored)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x01 (Direction=OUT EndpointID=1)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0040 (64 bytes)
bInterval : 0x00 (ignored)

-------------------- String Descriptors -------------------
------ String Descriptor 0 ------
bLength : 0x04 (4 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language ID[0] : 0x0409 (English - United States)
------ String Descriptor 1 ------
bLength : 0x24 (36 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Texas Instruments"
------ String Descriptor 2 ------
bLength : 0x28 (40 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Generic Bulk Device"
------ String Descriptor 3 ------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "12345678"
------ String Descriptor 4 ------
bLength : 0x28 (40 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Bulk Data Interface"
------ String Descriptor 5 ------
bLength : 0x30 (48 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Bulk Data Configuration"


For #define DATA_IN_EP_FIFO_SIZE USB_FIFO_SZ_1024;

+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : SMB
Device Path : \\.\usb#vid_1cbe&pid_0003#12345678#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Device ID : USB\VID_1CBE&PID_0003\12345678
Hardware IDs : USB\VID_1CBE&PID_0003&REV_0100 USB\VID_1CBE&PID_0003
Driver KeyName : {eb781aaf-9c70-4523-a5df-642a87eca567}\0000 ({EB781AAF-9C70-4523-A5DF-642A87ECA567})
Driver : system32\DRIVERS\libusb0.sys (Version: 1.2.6.0 Date: 2017-09-15)
Driver Inf : C:\Windows\inf\oem59.inf
Legacy BusType : PNPBus
Class : libusb-win32 devices
Class GUID : {eb781aaf-9c70-4523-a5df-642a87eca567}
Interface GUID : {a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Service : libusb0
Enumerator : USB
Location Info : Port_#0002.Hub_#0004
Location IDs : PCIROOT(0)#PCI(1D00)#USBROOT(0)#USB(1)#USB(2)
Container ID : {66740512-d1e6-5bc7-bc09-594d33c026b1}
Manufacturer Info : B
Capabilities : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code : 0
Power State : D0 (supported: D0, D3, wake from D0)

---------------- Connection Information ---------------
Connection Index : 0x02 (2)
Connection Status : 0x01 (DeviceConnected)
Current Config Value : 0x00 ERROR: must be non-zero
Device Address : 0x03 (3)
Is Hub : 0x00 (no)
Number Of Open Pipes : 0x00 (0)
Device Bus Speed : 0x01 (Full-Speed)

---------------------- Device Descriptor ----------------------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x01 (Device Descriptor)
bcdUSB : 0x110 (USB Version 1.10)
bDeviceClass : 0xFF (Vendor Specific)
bDeviceSubClass : 0x00
bDeviceProtocol : 0x00
bMaxPacketSize0 : 0x40 (64 bytes)
idVendor : 0x1CBE
idProduct : 0x0003
bcdDevice : 0x0100
iManufacturer : 0x01 (String Descriptor 1)
Language 0x0409 : "Texas Instruments"
iProduct : 0x02 (String Descriptor 2)
Language 0x0409 : "Generic Bulk Device"
iSerialNumber : 0x03 (String Descriptor 3)
Language 0x0409 : "12345678"
bNumConfigurations : 0x01 (1 Configuration)

------------------ Configuration Descriptor -------------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x02 (Configuration Descriptor)
wTotalLength : 0x0020 (32 bytes)
bNumInterfaces : 0x01 (1 Interface)
bConfigurationValue : 0x01 (Configuration 1)
iConfiguration : 0x05 (String Descriptor 5)
Language 0x0409 : "Bulk Data Configuration"
bmAttributes : 0xC0
D7: Reserved, set 1 : 0x01
D6: Self Powered : 0x01 (yes)
D5: Remote Wakeup : 0x00 (no)
D4..0: Reserved, set 0 : 0x00
MaxPower : 0xFA (500 mA)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x00
bAlternateSetting : 0x00
bNumEndpoints : 0x02 (2 Endpoints)
bInterfaceClass : 0xFF (Vendor Specific)
bInterfaceSubClass : 0x00
bInterfaceProtocol : 0x00
iInterface : 0x04 (String Descriptor 4)
Language 0x0409 : "Bulk Data Interface"

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0400 (1024 bytes)
bInterval : 0x00 (ignored)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x01 (Direction=OUT EndpointID=1)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0400 (1024 bytes)
bInterval : 0x00 (ignored)

-------------------- String Descriptors -------------------
------ String Descriptor 0 ------
bLength : 0x04 (4 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language ID[0] : 0x0409 (English - United States)
------ String Descriptor 1 ------
bLength : 0x24 (36 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Texas Instruments"
------ String Descriptor 2 ------
bLength : 0x28 (40 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Generic Bulk Device"
------ String Descriptor 3 ------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "12345678"
------ String Descriptor 4 ------
bLength : 0x28 (40 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Bulk Data Interface"
------ String Descriptor 5 ------
bLength : 0x30 (48 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Bulk Data Configuration"
 
Top