usb: be more verbose when unable to claim an interface

This added the entire usb interface (bus and address) in the error message, which was not there.

Signed-off-by: Robin Getz <robin.getz@analog.com>
1 file changed
tree: e7690bb496f5fa9c141487a22905f2123c011739
  1. bindings/
  2. CI/
  3. cmake/
  4. deps/
  5. doc/
  6. examples/
  7. iiod/
  8. tests/
  9. xml/
  10. .gitignore
  11. .gitmodules
  12. .travis.yml
  13. appveyor.yml
  14. backend.c
  15. buffer.c
  16. channel.c
  17. CMakeLists.txt
  18. context.c
  19. COPYING.txt
  20. debug.h
  21. device.c
  22. Distribution.xml.cmakein
  23. Doxyfile.in
  24. iio-config.h.cmakein
  25. iio-lock.h
  26. iio-private.h
  27. iio.h
  28. iiod-client.c
  29. iiod-client.h
  30. libiio.iss.cmakein
  31. libiio.pc.cmakein
  32. libiio.rules.cmakein
  33. local.c
  34. lock.c
  35. mainpage.dox
  36. network.c
  37. properties.rc.cmakein
  38. README.md
  39. scan.c
  40. serial.c
  41. sort.c
  42. sort.h
  43. usb.c
  44. utilities.c
  45. xml.c
README.md

libiio

Library for interfacing with Linux IIO devices

libiio is used to interface to the Linux Industrial Input/Output (IIO) Subsystem. The Linux IIO subsystem is intended to provide support for devices that in some sense are analog to digital or digital to analog converters (ADCs, DACs). This includes, but is not limited to ADCs, Accelerometers, Gyros, IMUs, Capacitance to Digital Converters (CDCs), Pressure Sensors, Color, Light and Proximity Sensors, Temperature Sensors, Magnetometers, DACs, DDS (Direct Digital Synthesis), PLLs (Phase Locked Loops), Variable/Programmable Gain Amplifiers (VGA, PGA), and RF transceivers. You can use libiio natively on an embedded Linux target (local mode), or use libiio to communicate remotely to that same target from a host Linux, Windows or MAC over USB or Ethernet or Serial.

Although libiio was primarily developed by Analog Devices Inc., it is an active open source library, which many people have contributed to. It released under the GNU Lesser General Public License, version 2.1 or later, this open-source license allows anyone to use the library, on any vendors processor/FPGA/SoC, which may be controlling any vendors peripheral device (ADC, DAC, etc) either locally or remotely. This includes closed or open-source, commercial or non-commercial applications (subject to the LGPL license freedoms, obligations and restrictions).

License : License Latest Release : GitHub release Downloads : Github All Releases

Scans : Coverity Scan Build Status

As with many open source packages, we use GitHub to do develop and maintain the source, and Travis CI and Appveyor for continuous integration.

  • If you want to just use libiio, we suggest using the latest release.
  • If you think you have found a bug in the release, or need a feature which isn't in the release, try the latest untested binaries from the master branch. We provide builds for a few operating systems. If you need something else, we can most likely add that -- just ask.
Operating SystemGitHub master statusVersionInstaller Packagetarball or zip
WindowsWindows StatusWindows 10
Windows 8.1
Windows 8
Windows 7
Latest Windows installerLatest Windows zip
OS XOSX StatusmacOS Sierra
(v 10.12)
OS-X package 10.12OS-X tarball 10.12
OS X El Capitan
(v 10.11)
OS-X package 10.11OS-X tarball 10.11
OS X Yosemite
(v 10.10)
OS-X package 10.10OS-X tarball 10.10
LinuxLinux StatusUbuntu Xenial Xerus
(v 16.04)
Debian RPM File3tar.gz file
Ubuntu Trusty Tahr
(v 14.04)1
Debian RPM File3tar.gz file
Ubuntu Precise Pangolin
(v 12.04)2
Debian RPM File3tar.gz

If you use it, and like it - please let us know. If you use it, and hate it - please let us know that too. The goal of the project is to try to make Linux IIO devices easier to use on a variety of platforms. If we aren't doing that - we will try to make it better.

Feedback is appreciated (in order of preference):

Weblinks:

  1. This is known to work on Debian Jessie(v 8) as well.
    Package dependencies: libc6 (>= 2.19), libaio1 (>= 0.3.109), libavahi-client3 (>= 0.6.31), libavahi-common-data (>= 0.6.31), libavahi-common3 (>= 0.6.31), libusb-1.0-0 (>= 2:1.0.17), libxml2 (>= 2.9.1)
  2. This is known to work on Debian Wheezy(v 7) as well.
    Package dependencies: libc6 (>= 2.15), libaio1 (>= 0.3.109), libavahi-client3 (>= 0.6.30), libavahi-common-data (>= 0.6.30), libavahi-common3 (>= 0.6.30), libusb-1.0-0 (>= 2:1.0.9rc3), libxml2 (>= 2.8.0precise1)
  3. The rpm packages are listed under Ubuntu, since we take advantage of the Debian/Ubuntu ability to build rpm packages. These are not actually built on Red Hat/Fedora based systems, but are known to work.