Analyzing the issue, the problem lies in module-udev-detect. It checks for closed status on all PCM subdevices for the audio card:
line 185 of src/modules/module-udev-detect.c:
if (!pa_streq(line, "closed\n")) { busy = TRUE; break;
}
I added some pa_log_info to see the content:
D: module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
I: module-udev-detect.c: card_path is: /proc/asound/card0
I: module-udev-detect.c: pcm_path is: /proc/asound/card0/pcm6c
I: module-udev-detect.c: sub_status is: /proc/asound/card0/pcm6c/sub0/status
I: module-udev-detect.c: line is: state: PREPARED
I: module-udev-detect.c: pcm_path is: /proc/asound/card0/pcm6p
I: module-udev-detect.c: sub_status is: /proc/asound/card0/pcm6p/sub0/status
I: module-udev-detect.c: line is: state: PREPARED
I: module-udev-detect.c: pcm_path is: /proc/asound/card0/pcm1p
I: module-udev-detect.c: sub_status is: /proc/asound/card0/pcm1p/sub0/status
I: module-udev-detect.c: line is: closed
I: module-udev-detect.c: pcm_path is: /proc/asound/card0/pcm0c
I: module-udev-detect.c: sub_status is: /proc/asound/card0/pcm0c/sub1/status
I: module-udev-detect.c: line is: closed
I: module-udev-detect.c: sub_status is: /proc/asound/card0/pcm0c/sub0/status
I: module-udev-detect.c: line is: closed
I: module-udev-detect.c: pcm_path is: /proc/asound/card0/pcm0p
I: module-udev-detect.c: sub_status is: /proc/asound/card0/pcm0p/sub0/status
I: module-udev-detect.c: line is: closed
D: module-udev-detect.c: /devices/pci0000:00/0000:00:1b.0/sound/card0 is busy: yes
I: module-udev-detect.c: Found 1 cards.
Now, the problem is that the modem is in "PREPARED" state all the time. Thus, module-udev-detect fails.
Analyzing the issue, the problem lies in module-udev-detect. It checks for closed status on all PCM subdevices for the audio card:
line 185 of src/modules/ module- udev-detect. c:
busy = TRUE;
break;
if (!pa_streq(line, "closed\n")) {
}
I added some pa_log_info to see the content: udev-detect. c: /dev/snd/controlC0 is accessible: yes udev-detect. c: card_path is: /proc/asound/card0 udev-detect. c: pcm_path is: /proc/asound/ card0/pcm6c udev-detect. c: sub_status is: /proc/asound/ card0/pcm6c/ sub0/status udev-detect. c: line is: state: PREPARED udev-detect. c: pcm_path is: /proc/asound/ card0/pcm6p udev-detect. c: sub_status is: /proc/asound/ card0/pcm6p/ sub0/status udev-detect. c: line is: state: PREPARED udev-detect. c: pcm_path is: /proc/asound/ card0/pcm1p udev-detect. c: sub_status is: /proc/asound/ card0/pcm1p/ sub0/status udev-detect. c: line is: closed udev-detect. c: pcm_path is: /proc/asound/ card0/pcm0c udev-detect. c: sub_status is: /proc/asound/ card0/pcm0c/ sub1/status udev-detect. c: line is: closed udev-detect. c: sub_status is: /proc/asound/ card0/pcm0c/ sub0/status udev-detect. c: line is: closed udev-detect. c: pcm_path is: /proc/asound/ card0/pcm0p udev-detect. c: sub_status is: /proc/asound/ card0/pcm0p/ sub0/status udev-detect. c: line is: closed udev-detect. c: /devices/ pci0000: 00/0000: 00:1b.0/ sound/card0 is busy: yes udev-detect. c: Found 1 cards.
D: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
I: module-
D: module-
I: module-
Now, the problem is that the modem is in "PREPARED" state all the time. Thus, module-udev-detect fails.