This is the mail archive of the
ecos-bugs@sourceware.org
mailing list for the eCos project.
[Bug 1001024] STM32 USB driver and proposed USB API change
- From: bugzilla-daemon at bugs dot ecos dot sourceware dot org
- To: ecos-bugs at ecos dot sourceware dot org
- Date: Fri, 17 Sep 2010 14:11:04 +0100
- Subject: [Bug 1001024] STM32 USB driver and proposed USB API change
- Auto-submitted: auto-generated
- References: <bug-1001024-13@http.bugs.ecos.sourceware.org/>
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001024
John Dallaway <john@dallaway.org.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fpagliughi@mindspring.com
--- Comment #7 from John Dallaway <john@dallaway.org.uk> 2010-09-17 14:11:01 BST ---
Chris, thank you for the attachments. I've been experimenting with them and
have reached the point where my linux box is recognising the connection of a
serial device:
Sep 17 13:38:35 cog kernel: usb 4-1: new full speed USB device using uhci_hcd
and address 20
Sep 17 13:38:35 cog kernel: usb 4-1: device descriptor read/all, error -71
Sep 17 13:38:35 cog kernel: usb 4-1: new full speed USB device using uhci_hcd
and address 21
Sep 17 13:38:35 cog kernel: usb 4-1: device descriptor read/all, error -71
Sep 17 13:38:35 cog kernel: usb 4-1: new full speed USB device using uhci_hcd
and address 22
Sep 17 13:38:35 cog kernel: usb 4-1: device descriptor read/8, error -71
Sep 17 13:38:35 cog kernel: usb 4-1: configuration #1 chosen from 1 choice
Meanwhile, the STM32 USB driver reports:
### 3:Powered ###
### 4:Reset ###
### 4:Reset ###
### 4:Reset ###
### 4:Reset ###
STM32 USB : Setting USB device address = 20
### 5:Addressed ###
### 4:Reset ###
### 4:Reset ###
STM32 USB : Setting USB device address = 21
### 5:Addressed ###
### 4:Reset ###
STM32 USB : Setting USB device address = 22
### 5:Addressed ###
STM32 USB : Setting USB configuration = 1
### 6:Configured ###
To get this far, I have:
a) set CYGDAT_IO_USB_SLAVE_SERIAL_EP0 == "cyg_usbs_cortexm_stm32_ep0c"
b) commented out references to the static rx/tx/intr endpoint structs in
usbs_serial.c, and
c) modified the parameters passed into usbs_serial_init():
void
usbs_serial_start(void)
{
usbs_serial_init(&usbs_ser0,
usbs_get_tx_endpoint(usbs_serial_ep0, TX_EP_NUM),
usbs_get_rx_endpoint(usbs_serial_ep0, RX_EP_NUM));
......
lsusb reports:
Bus 004 Device 022: ID ffff:0001
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0xffff
idProduct 0x0001
bcdDevice 0.00
iManufacturer 1 eCos
iProduct 2 eCos USB Serial Device
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
"Vendor Specific Class" doesn't look good. Are there any clues here as to the
problem? I am adding Frank Pagliughi (eCos USB slave serial author) to the CC
list in case he has some insights on how to debug this.
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.