Hi all,
I have the exact same problem as described here by Cliff.
http://www.embeddedrelated.com/groups/AT91SAM/show/2053.php
However, my bulk in endpoint is set up for bulk(b0010) not iso. Does
anyone else have any ideas or tips to give me in debugging this
problem?
I have usbsniffers and can view my bulk out endpoint working
correctly. When i transmit a character out of the hyperterm I can
view it using a breakpoint at my bulk out int handler. I then put
this character into UDPRegisters->UDP_FDR[AT91C_EP_IN] and set
AT91C_UDP_TXPKTRDY. It works once then stops transmitting. TXPKTRDY
never clears TXCOMP interrupt never fires.
Please can anyone help me before I pull my hair out?
Thanks
swilson
------------------------------------

(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )
The problem with the bulk-in endpoint was caused by a
misconfiguration of the 4th endpoint, which should have been an
interrupt endpoint, but instead it was configured as iso in the
example driver. The control, bulk-in, and bulk-out endpoints were
always configured correctly.
The misconfiguration of the interrupt endpoint killed the bulk-in
endpoint on _some_ versions of host controllers. In other words, it
worked fine with some computers but didn't work with others. Recheck
the configuration of all of the endpoints.
Cliff
--- In A...@yahoogroups.com, "slouwilson78"
wrote:
>
> Hi all,
>
> I have the exact same problem as described here by Cliff.
>
> http://www.embeddedrelated.com/groups/AT91SAM/show/2053.php
>
> However, my bulk in endpoint is set up for bulk(b0010) not iso. Does
> anyone else have any ideas or tips to give me in debugging this
> problem?
>
> I have usbsniffers and can view my bulk out endpoint working
> correctly. When i transmit a character out of the hyperterm I can
> view it using a breakpoint at my bulk out int handler. I then put
> this character into UDPRegisters->UDP_FDR[AT91C_EP_IN] and set
> AT91C_UDP_TXPKTRDY. It works once then stops transmitting. TXPKTRDY
> never clears TXCOMP interrupt never fires.
>
> Please can anyone help me before I pull my hair out?
>
> Thanks
>
> swilson
>
------------------------------------

(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )Hi Cliff,
Thanks for the reply.
I don't have a 4th endpoint.
I have checked and rechecked my descriptors. Can you check them for
me please?
I am also using 6119.inf with usbser.sys. Is this what you were
using? I have tried using 6124.sys but I cannot get it to work with
6119.inf.
const unsigned char ucaDeviceDescriptor[18] =
{
/* Device descriptor */
0x12, // bLength
0x01, // bDescriptorType
0x10, // bcdUSBL
0x01, //
0x02, // bDeviceClass: CDC class code
0x00, // bDeviceSubclass: CDC class sub code
0x00, // bDeviceProtocol: CDC Device protocol
0x08, // bMaxPacketSize0 ******0x40
0xEB, // idVendorL
0x03, //
0x24, // idProductL
0x61, //
0x10, // bcdDeviceL
0x01, //
0x00, // iManufacturer // 0x01
0x00, // iProduct
0x00, // SerialNumber
0x01 // bNumConfigs
};
const unsigned char ucaConfigurationDescriptor[67] =
{
0x09, // CbLength
0x02, // CbDescriptorType
0x43, // CwTotalLength 2 EP + Control
0x00,
0x02, // CbNumInterfaces
0x01, // CbConfigurationValue
0x00, // CiConfiguration
0xC0, // CbmAttributes 0xA0
0x00, // CMaxPower
// Communication Class Interface Descriptor Requirement
0x09, // bLength
0x04, // bDescriptorType
0x00, // bInterfaceNumber
0x00, // bAlternateSetting
0x01, // bNumEndpoints
0x02, // bInterfaceClass
0x02, // bInterfaceSubclass
0x00, // bInterfaceProtocol
0x00, // iInterface
// Header Functional Descriptor
0x05, // bFunction Length
0x24, // bDescriptor type: CS_INTERFACE
0x00, // bDescriptor subtype: Header Func Desc
0x01, // bcdCDC:1.1 1001
0x10,
// ACM Functional Descriptor
0x04, // bFunctionLength
0x24, // bDescriptor Type: CS_INTERFACE
0x02, // bDescriptor Subtype: ACM Func Desc
0x02, // bmCapabilities was 0x00
// Union Functional Descriptor
0x05, // bFunctionLength
0x24, // bDescriptorType: CS_INTERFACE
0x06, // bDescriptor Subtype: Union Func Desc
0x00, // bMasterInterface: Communication Class Interface
0x01, // bSlaveInterface0: Data Class Interface
// Call Management Functional Descriptor
0x05, // bFunctionLength
0x24, // bDescriptor Type: CS_INTERFACE
0x01, // bDescriptor Subtype: Call Management Func Desc
0x02, // bmCapabilities: D1 + D0
0x01, // bDataInterface: Data Class Interface 1
// Endpoint 1 descriptor
0x07, // bLength
0x05, // bDescriptorType
0x83, // bEndpointAddress, Endpoint 01 - IN 333333
0x03, // bmAttributes INT
0x0a, // wMaxPacketSize
0x00,
0x00, // bInterval
// Data Class Interface Descriptor Requirement
0x09, // bLength
0x04, // bDescriptorType
0x01, // bInterfaceNumber
0x00, // bAlternateSetting
0x02, // bNumEndpoints
0x0A, // bInterfaceClass
0x00, // bInterfaceSubclass
0x00, // bInterfaceProtocol
0x00, // iInterface
// First alternate setting
// Endpoint 1 descriptor
0x07, // bLength
0x05, // bDescriptorType
0x01, // bEndpointAddress, Endpoint 01 - OUT
0x02, // bmAttributes BULK
AT91C_EP_OUT_SIZE, // wMaxPacketSize
0x00,
0x00, // bInterval
// Endpoint 2 descriptor
0x07, // bLength
0x05, // bDescriptorType
0x82, // bEndpointAddress, Endpoint 02 - IN
0x02, // bmAttributes BULK
AT91C_EP_IN_SIZE, // wMaxPacketSize
0x00,
0x00 // bInterval
};
Any help is really appreciated....
Thanks
swilson
--- In A...@yahoogroups.com, "techguy2000"
wrote:
> The problem with the bulk-in endpoint was caused by a
> misconfiguration of the 4th endpoint, which should have been an
> interrupt endpoint, but instead it was configured as iso in the
> example driver. The control, bulk-in, and bulk-out endpoints were
> always configured correctly.
>
> The misconfiguration of the interrupt endpoint killed the bulk-in
> endpoint on _some_ versions of host controllers. In other words,
it
> worked fine with some computers but didn't work with others.
Recheck
> the configuration of all of the endpoints.
>
> Cliff
>
> --- In A...@yahoogroups.com, "slouwilson78"
wrote:
> >
> > Hi all,
> >
> > I have the exact same problem as described here by Cliff.
> >
> > http://www.embeddedrelated.com/groups/AT91SAM/show/2053.php
> >
> > However, my bulk in endpoint is set up for bulk(b0010) not iso.
Does
> > anyone else have any ideas or tips to give me in debugging this
> > problem?
> >
> > I have usbsniffers and can view my bulk out endpoint working
> > correctly. When i transmit a character out of the hyperterm I
can
> > view it using a breakpoint at my bulk out int handler. I then
put
> > this character into UDPRegisters->UDP_FDR[AT91C_EP_IN] and set
> > AT91C_UDP_TXPKTRDY. It works once then stops transmitting.
TXPKTRDY
> > never clears TXCOMP interrupt never fires.
> >
> > Please can anyone help me before I pull my hair out?
> >
> > Thanks
> >
> > swilson
>
------------------------------------

(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )