Please forgive the cross-post with libusb, but I was wondering if there was a specific pyUSB solution to my problem.
Hey everyone, I'm encountering a problem with my script (it's Python) that causes my program to crash, probably mid-transfer between the program and the usb device (in my case this is a usb phone). When I try to re-launch my program, it gives me the following error: handle.getDescriptor(usb.DT_REPORT,0,0x9c,usb.ENDPOINT_OUT) usb.USBError: error sending control message: Timer expired Basically, when my program starts, it tries to find the device, via a for loop through the usb busses. It verifies what it finds against a vendor/product ID and then tries to get a report descriptor from the device (as seen above). If I try to re-launch my program, I always get this error and the only way around this is to physically re-plug my device. I've tried to "re-claim" the interface and also do a "reset" on the device, but neither work. below is a snippet of the relevant code: -------------------- def phone_INITIALIZE(): """this function initializes and takes control of the phone so we can communicate with it""" global handle global endpoint # linksys CIT200 Device Info vendor_id = 5041 product_id = 29 buses = usb.busses() for bus in buses : for device in bus.devices : if device.idVendor == vendor_id : if device.idProduct == product_id : # found the CIT200 print "Found Linksys Device ..." linksys = device # open device handle = linksys.open() # setup interface and configs ... there are 4 interfaces for this device... config = linksys.configurations[0] interface = config.interfaces[3][0] endpoint = interface.endpoints[0] try: # claim and set the interface handle.claimInterface(interface) handle.setAltInterface(interface) except usb.USBError: # detach the hid interface handle.detachKernelDriver(3) # get device descriptor handle.getDescriptor(usb.DT_REPORT,0,0x9c,usb.ENDPOINT_OUT) # send idle message handle.controlMsg(0x21,0x0a,0,0,0x03) -------------------- Any help would be appreciated. Thanks Christopher ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ Pyusb-users mailing list Pyusb-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyusb-users