Member Avatar for m.a.u.

Greetings everybody,

I have been trying to acquire data from my Sound Blaster audio device through USB
using libusb library.

Have been trying to implement isochronous communication mode and having an error
related to busy device, errno = 16.

While I was searching in the web, I see when asound.state file is running, similar
problems might arise.

I am not experienced that much in either Linux and libusb. That is why, wanted to
ask this in this forum.

If you could show me a way to solve my problem, I would be glad.

Thanks in advance

It is almost certain that the kernel module/driver for the sound-card is in use. If Alsa is running, that would also be using the kernel module for the sound card. So something (either the driver or ALSA) is claiming ownership of the sound device and this is most likely stopping libusb from being able to access it - Giving you the 'device busy' error message. (BTW: I'm not sure ownership is the right term, but you get what I mean!)

Why are you using libusb to get data from your sound card? Why not go through another API like ALSA or JACK?
This article might be of some help to you:
http://www.linuxdevcenter.com/pub/a/linux/2007/08/02/an-introduction-to-linux-audio.html

Member Avatar for m.a.u.

Jason,

Thanks for your reply, I will try gnuradio library.

It provides a DSP library in addition to data acquisition from either USB & ethernet.

Thanks for your time

Member Avatar for m.a.u.

Jason thansk again,

The link you shared looks very useful, and you are right. The reason why I was trying libusb, I had no experience and found it when I googled.

Thanks

No worries, glad to have helped. Mark as solved??

Member Avatar for m.a.u.

Might I ask if there is a library which I could use in ethernet communication, especially for data acquisition purpose?

boost.asio is an alternative for such applications as far as I see.

If I could link in Code::Blocks, currently what I prefer to use, GnuRadio seems to be a perfect match along with its signal processing modules; already have some python, gnuradio, & numpy experience.

Socket is also another option, but never used - no idea.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.