[alsa-devel] Can't Unload ALSA Driver Without Disconnecting the Device
Hi,
I've been developing a sound card driver for a USB device using ALSA. My driver is almost working but I've got one small issue. If I try to unload the driver module using "rmmod" command when the device is still connected to the USB port, it says "Module is in use" even though I'm not playing any sound files or anything.
If I try to execute the "lsmod" command I see that it is saying the usage count of my driver to be 1, but it doesn't say anything about who is using it. Once I disconnect the device from the USB port, I can easily unload the module.
So it seems to me it won't be possible to unload a sound card driver if the card is attached in the computer. Is my assumption correct? If not, what might be some key points to solve the issue?
Thanks for any suggestion
Regards Azizul Hakim
At Fri, 12 Jun 2015 02:28:16 -0400, Azizul Hakim wrote:
Hi,
I've been developing a sound card driver for a USB device using ALSA. My driver is almost working but I've got one small issue. If I try to unload the driver module using "rmmod" command when the device is still connected to the USB port, it says "Module is in use" even though I'm not playing any sound files or anything.
If I try to execute the "lsmod" command I see that it is saying the usage count of my driver to be 1, but it doesn't say anything about who is using it. Once I disconnect the device from the USB port, I can easily unload the module.
So it seems to me it won't be possible to unload a sound card driver if the card is attached in the computer. Is my assumption correct? If not, what might be some key points to solve the issue?
Check "fuser -v /dev/snd/*" as root. Something (e.g. a mixer application or sound backend) must be accessing the device.
Takashi
I tried that command. The output is as below:
USER PID ACCESS COMMAND /dev/snd/controlC0: mhaki005 2043 F.... pulseaudio /dev/snd/controlC1: mhaki005 2043 F.... pulseaudio /dev/snd/pcmC0D0c: mhaki005 2043 F...m pulseaudio
I think pcmC0D0c stands for "Capture" device. My device is a playback device. So I don't think it is being used by anyone.
On Fri, Jun 12, 2015 at 2:41 AM, Takashi Iwai tiwai@suse.de wrote:
At Fri, 12 Jun 2015 02:28:16 -0400, Azizul Hakim wrote:
Hi,
I've been developing a sound card driver for a USB device using ALSA. My driver is almost working but I've got one small issue. If I try to unload the driver module using "rmmod" command when the device is still
connected
to the USB port, it says "Module is in use" even though I'm not playing
any
sound files or anything.
If I try to execute the "lsmod" command I see that it is saying the usage count of my driver to be 1, but it doesn't say anything about who is
using
it. Once I disconnect the device from the USB port, I can easily unload
the
module.
So it seems to me it won't be possible to unload a sound card driver if
the
card is attached in the computer. Is my assumption correct? If not, what might be some key points to solve the issue?
Check "fuser -v /dev/snd/*" as root. Something (e.g. a mixer application or sound backend) must be accessing the device.
Takashi
At Fri, 12 Jun 2015 02:51:03 -0400, Azizul Hakim wrote:
I tried that command. The output is as below:
USER PID ACCESS COMMAND
/dev/snd/controlC0: mhaki005 2043 F.... pulseaudio /dev/snd/controlC1: mhaki005 2043 F.... pulseaudio /dev/snd/pcmC0D0c: mhaki005 2043 F...m pulseaudio
I think pcmC0D0c stands for "Capture" device. My device is a playback device. So I don't think it is being used by anyone.
/dev/snd/controlC1 is being used. It's the mixer interface.
Takashi
On Fri, Jun 12, 2015 at 2:41 AM, Takashi Iwai tiwai@suse.de wrote:
At Fri, 12 Jun 2015 02:28:16 -0400, Azizul Hakim wrote:
Hi,
I've been developing a sound card driver for a USB device using ALSA. My driver is almost working but I've got one small issue. If I try to unload the driver module using "rmmod" command when the device is still
connected
to the USB port, it says "Module is in use" even though I'm not playing
any
sound files or anything.
If I try to execute the "lsmod" command I see that it is saying the usage count of my driver to be 1, but it doesn't say anything about who is
using
it. Once I disconnect the device from the USB port, I can easily unload
the
module.
So it seems to me it won't be possible to unload a sound card driver if
the
card is attached in the computer. Is my assumption correct? If not, what might be some key points to solve the issue?
Check "fuser -v /dev/snd/*" as root. Something (e.g. a mixer application or sound backend) must be accessing the device.
Takashi
[2 <text/html; UTF-8 (quoted-printable)>]
I see. So in this scenario what'll be the way to unload the driver successfully? Is there a way to stop the mixer interface?
On Fri, Jun 12, 2015 at 2:55 AM, Takashi Iwai tiwai@suse.de wrote:
At Fri, 12 Jun 2015 02:51:03 -0400, Azizul Hakim wrote:
I tried that command. The output is as below:
USER PID ACCESS COMMAND
/dev/snd/controlC0: mhaki005 2043 F.... pulseaudio /dev/snd/controlC1: mhaki005 2043 F.... pulseaudio /dev/snd/pcmC0D0c: mhaki005 2043 F...m pulseaudio
I think pcmC0D0c stands for "Capture" device. My device is a playback device. So I don't think it is being used by anyone.
/dev/snd/controlC1 is being used. It's the mixer interface.
Takashi
On Fri, Jun 12, 2015 at 2:41 AM, Takashi Iwai tiwai@suse.de wrote:
At Fri, 12 Jun 2015 02:28:16 -0400, Azizul Hakim wrote:
Hi,
I've been developing a sound card driver for a USB device using
ALSA. My
driver is almost working but I've got one small issue. If I try to
unload
the driver module using "rmmod" command when the device is still
connected
to the USB port, it says "Module is in use" even though I'm not
playing
any
sound files or anything.
If I try to execute the "lsmod" command I see that it is saying the
usage
count of my driver to be 1, but it doesn't say anything about who is
using
it. Once I disconnect the device from the USB port, I can easily
unload
the
module.
So it seems to me it won't be possible to unload a sound card driver
if
the
card is attached in the computer. Is my assumption correct? If not,
what
might be some key points to solve the issue?
Check "fuser -v /dev/snd/*" as root. Something (e.g. a mixer application or sound backend) must be accessing the device.
Takashi
[2 <text/html; UTF-8 (quoted-printable)>]
participants (2)
-
Azizul Hakim
-
Takashi Iwai