Re: USB Multiple Device Problem



Are you using a bus-powered hub or a self-powered hub? The camera drains a lot of power, so it may not have enough power to drive anything else but the camera alone.

Michel Verhagen, eMVP
EmbeddedFusion
www.EmbeddedFusion.com
mverhagen at embeddedfusion dot com


Keaven Pineau wrote:
I went a bit further in the code and found the problem is in the function SetUsbInterface() of the file usbmsc.c
the call to lpOpenPipe failed, I put the line of code where it occurs between "***". From there I don't really know what to do.

Thanks again,

BOOL SetUsbInterface(PUSBMSC_DEVICE pUsbDevice)
{
....
else if (USB_ENDPOINT_DIRECTION_IN( pEndpoint->Descriptor.bEndpointAddress ) )
{
RETAILMSG(1, (TEXT("USB Endpoint IN Address: %d\r\n"),pEndpoint->Descriptor.bEndpointAddress));
if ( NULL == pUsbDevice->BulkIn.hPipe && (pEndpoint->Descriptor.bmAttributes &
USB_ENDPOINT_TYPE_MASK) == USB_ENDPOINT_TYPE_BULK)
{
//
// create the Bulk IN pipe
//

***
pUsbDevice->BulkIn.hPipe = pUsbDevice->UsbFuncs->lpOpenPipe( pUsbDevice->hUsbDevice,
&pEndpoint->Descriptor );
***

if ( !pUsbDevice->BulkIn.hPipe )
{
DEBUGMSG( ZONE_ERR, (TEXT("OpenPipe error: %d\n"), GetLastError() ));
RETAILMSG(1, (TEXT("2- OpenPipe error: %d\n"), GetLastError() ));
bRc = FALSE;
TEST_TRAP();
break;
}
....
return (bRc);
}

"Keaven Pineau" <keavenpineau@xxxxxxxxxx> wrote in message news:Ow9uMYB3GHA.4024@xxxxxxxxxxxxxxxxxxxxxxx
On my setup I am using a usb hub which I connect a keyboard, webcam and a printer. The keyboard and printer are using the built-in CE drivers but the webcam is using webcam.dll open source code done by Doug Boling. One thing to know is that my printer has as also a mass storage device in it.

The problem I have is that when I am connecting the printer in last it won't work properly. The call to USBDeviceAttach in LoadRegisteredDriver() (in usbd.c) failed for the mass storage device and then pop the dialog box to enter the dll name for the driver.

Now, if I disconnect the camera and connect the printer with only the keyboard. The printer do the same registring process but this time it doesn't failed on LoadRegisteredDriver(). Moreover, If I connect the camera after, absolutely no usb device is recognized and the HCD driver isn't called for an attach.

Is there a maximum number of devices I could connect to a hub?

Anyone has any ideas that could do this behavior?

I am developping for a pxa270 with plateform builder 5.0. I have all the QFEs up to august 2006.
The webcam used is a logitech quickcam PRO5000 , the same used to develop the driver.

Thanks,
Keaven




--
.



Relevant Pages

  • Re: USB Multiple Device Problem
    ... Find the registry entry in platform.reg ... to know is that my printer has as also a mass storage device in it. ... enter the dll name for the driver. ... if I disconnect the camera and connect the printer with only the ...
    (microsoft.public.windowsce.platbuilder)
  • Re: USB Multiple Device Problem
    ... thing to know is that my printer has as also a mass storage device in it. ... then pop the dialog box to enter the dll name for the driver. ... if I disconnect the camera and connect the printer with only the ... doesn't failed on LoadRegisteredDriver(). ...
    (microsoft.public.windowsce.platbuilder)
  • Re: USB Multiple Device Problem
    ... Find the registry entry in platform.reg ... to know is that my printer has as also a mass storage device in it. ... enter the dll name for the driver. ... if I disconnect the camera and connect the printer with only the ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Logitech ClickSmart 510 wont mount
    ... On Sun, 2005-02-13 at 10:54 -0500, Gene Heskett wrote: ... I need to know how to mount this camera as a mass storage device. ... already have it working as a webcam via the spca5xx driver. ...
    (Fedora)
  • Two devices in one(USB)
    ... my USB device needs to present itself as a mass storage device, ... also to be controled by our own driver that manages other functions(not ... Do I need to simulate a hub? ...
    (microsoft.public.development.device.drivers)

Quantcast