Page 1 of 1

Where is the Control Endpoint?

Posted: Wed Dec 05, 2007 5:01 pm
by Stefan
Hi All,

I started designing a little device which uses the obdev USB implementation

For the communication between the host and the device I would like to use the control endpoint. The problem is that the USB-Prober on Mac OS X says that the device has no endpoints:


Device Class: 0 (Composite)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 8
Device VendorID/ProductID: 0x1214/0x04E0 (unknown vendor)
Device Version Number: 0x0001
Number of Configurations: 1

Interface #0 - Unknown
Alternate Setting 0
---> Number of Endpoints 0
Interface Class: 0 (Unknown)
Interface Subclass; 0
Interface Protocol: 0

I guess this is not correct.

The documentation says that the control endpint is the default and is alwas enabled, isn't it?


Is there anything I have to configure? I used the PowerSwitch firmware and removed most of the code from main.c to get a basic starting point for my own implementation.

Here is what I call in the main function:

Code: Select all

    usbInit();
   ir_init();
    sei();
    for(;;){    /* main event loop */
        usbPoll();
    }
    return 0;


What do I miss? I have tried other firmware implementations like the firmware for the IgorPlug, which shows me one endpint.
So, I think the hardware is basically ok.

Thanks!

Stefan

Posted: Mon Dec 10, 2007 12:00 pm
by christian
The default control endpoint is endpoint 0. It need not be listed in the configuration descriptor's list of endpoints because it's always there and MUST be a control endpoint.