There is an error on readme file (by the way, it reminds me that I need to check if I fixed it before release the new version): according to USB specs, setConfiguration(0) will cause the device to enter in a not configured state, configuration index should be at least 1, so, setConfiguration(1) probably is correct for your device.
Wander 2009/4/5 Sarah Messer <ikust...@yahoo.com>: > > I haven't had much problem with Set_Configuration, partially because (IRC), > the actual set_configuration command isn't required for most devices. (Most > only have one configuration, which is set by default.) > > I also haven't used Mac, but here's what I've got right off: > > It sounds like you've got a permissions error. A couple things to check for > that, extrapolating from SuSe Linux: > > Make sure the device is being attached with a user or group corresponding to > your user. If not, try running the code as root. Assuming that you can > access it as root and not as user, you almost definitely have a basic > permissions error. > > Unfortunately, as I found out last year, "basic permissions error" covers a > lot of territory. On my system, I had to 1) Create a "usb" group; 2) Add > the necessary users to the "usb" group; 3) Make sure there was an > appropriate rule for my device in /etc/udev/rules.d (Check the linux-hotplug > group for details there.); 4) Make sure that rule used ATTRS to access the > device instead of SYSFS (which was my initial guess); 5) Make sure the > devices I was trying to reach were configured to obey the USB port rather > than try to control it; and 6) Put a USB hub between the PC and the device. > No idea why that should matter, but for some reason, it improved > communication substantially. > > Anyhow, below is the text from my last post on the libusb-devel and > linux-hotplug groups. Since pyusb is (mostly) a wrapper for libusb functions > and linux-hotplug handles most of the permissions aspects of talking to USB > devices, those groups will likely be good places for follow-up questions. > > > Cc: "libusb-devel" <libusb-de...@lists.sourceforge.net>, > linux-hotp...@vger.kernel.org > Date: Monday, January 5, 2009, 9:58 AM > > Changing SYSFS -> ATTRS in 55-libsane.rules worked. Thanks > > For the record, the command sequence I use (in pyusb) is: > > import usb #sets up libusb > ... > allBus=usb.busses() #read in a list of available USB busses > ... > bus=allBus[bIndex] #focus on bus number bIndex > dev=bus.devices[dIndex] #focus on device number dIndex on that bus > hand=dev.open() #open that device and return the DeviceHandle > #read the device serial number as a string > #prepend 'USB' to distinguish this from RS-232 equipment > #on the same system > thisSerNum='USB'+hand.getString(dev.iSerialNumber, USB_SHORT_BUFF) > ... > > Ellipsis marks omitted code which sets up variables and is not directly > related to the usb managment. > > The code fails at the hand.getString() call (with SYSFS in the .rules file). > > This code is part of a device-identification loop, and so there is no > claimInterface() command. Device-descriptor queries like the above are > necessary to determine which interfaces are available for claiming. > > Thanks for your help. > > -Sarah > > > --- On Sun, 4/5/09, George Wright <georg...@bigpond.net.au> wrote: > >> From: George Wright <georg...@bigpond.net.au> >> Subject: [Pyusb-users] New to pyusb & 'exclusive access' Problems >> To: pyusb-users@lists.sourceforge.net >> Date: Sunday, April 5, 2009, 7:28 AM >> Gidday >> I installed libusb 0.1.12 and pyusb 0.4.1 on Mac OSX 10.5.6 >> I get samples/usbenum.py to run OK >> but Isusb.py will only run if I remove the >> dev.open().getString(1, 30) >> item. >> Following the interactive steps the Readme I get to the >> step >> 'handle.setConfiguration(0)' >> which produces the error >> >>> import usb >> >>> bus = usb.busses() >> >>> dev = bus[0].devices[0] >> >>> handle = dev.open() >> >>> handle.setConfiguration(0) >> Traceback (most recent call last): >> File "<stdin>", line 1, in >> <module> >> usb.USBError: usb_set_configuration(SetConfiguration): >> device not >> opened for exclusive access >> >>> >> >> I followed some threads on this list relating to the >> exclusive access >> error (in darwin.c?) but have been unable to discover if >> someone has >> found a solution. >> What's the latest on this? >> >> George Wright >> georg...@bigpond.net.au >> http://mywebsite.bigpond.net.au/georgewr/ >> >> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Pyusb-users mailing list >> Pyusb-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/pyusb-users > > > > > > ------------------------------------------------------------------------------ > _______________________________________________ > Pyusb-users mailing list > Pyusb-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pyusb-users > ------------------------------------------------------------------------------ _______________________________________________ Pyusb-users mailing list Pyusb-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pyusb-users