Ok, so it appears that module-device-restore is attempting to use a nonexistent sink/source, so it falls back to dummy/null. This is caused by module-udev-detect not having loaded by the time module-device-restore is loaded, as can be seen in /etc/pulse/default.pa (I'm including the snippet from the source):
### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
...
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect@PA_SOEXT@
load-module module-udev-detect
.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
load-module module-detect
.endif
Ok, so it appears that module- device- restore is attempting to use a nonexistent sink/source, so it falls back to dummy/null. This is caused by module-udev-detect not having loaded by the time module- device- restore is loaded, as can be seen in /etc/pulse/ default. pa (I'm including the snippet from the source):
### Automatically restore the volume of streams and devices device- restore stream- restore udev-detect@ PA_SOEXT@
load-module module-
load-module module-
load-module module-card-restore
...
### Automatically load driver modules depending on the hardware available
.ifexists module-
load-module module-udev-detect
.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
load-module module-detect
.endif
From your log: device- restore. c: Sucessfully opened database file '/home/ ubuntu/ .pulse/ edb88c50b54cfd6 a9837a2474bbca4 03-device- volumes' . device- restore" (index: #0; argument: ""). stream- restore. c: Sucessfully opened database file '/home/ ubuntu/ .pulse/ edb88c50b54cfd6 a9837a2474bbca4 03-stream- volumes' . stream- restore" (index: #1; argument: ""). card-restore. c: Sucessfully opened database file '/home/ ubuntu/ .pulse/ edb88c50b54cfd6 a9837a2474bbca4 03-card- database' . card-restore" (index: #2; argument: ""). augment- properties" (index: #3; argument: ""). udev-detect. c: Found 1 cards. udev-detect" (index: #4; argument: ""). bluetooth- discover" (index: #5; argument: ""). esound- protocol- unix" (index: #6; argument: ""). native- protocol- unix" (index: #7; argument: ""). default- device- restore. c: Saved default sink 'alsa_output. usb-041e_ USB_Audio- 00-MP3. analog- stereo' not existant, not restoring default sink setting. default- device- restore. c: Saved default source 'alsa_input. usb-041e_ USB_Audio- 00-MP3. analog- stereo' not existant, not restoring default source setting. default- device- restore" (index: #9; argument: ""). rescue- streams" (index: #10; argument: ""). device- restore. c: Restoring volume for sink auto_null. device- restore. c: Restoring mute state for sink auto_null. front-right front-right input-microphon e" auto_null sink_properties ='device. description= "Dummy Output"'"). always- sink" (index: #12; argument: ""). intended- roles" (index: #13; argument: ""). suspend- on-idle" (index: #14; argument: ""). p/ConsoleKit/ Session1" p/ConsoleKit/ Session2" p/ConsoleKit/ Session3" p/ConsoleKit/ Session4" p/ConsoleKit/ Session5" p/ConsoleKit/ Session6" console- kit" (index: #15; argument: ""). position- event-sounds" (index: #16; argument: ""). card-restore. c: Restoring profile for card alsa_card. usb-041e_ USB_Audio- 00-MP3. usb-041e_ USB_Audio- 00-MP3" 041e_USB_ Audio-00- MP3" card_name= "alsa_card. usb-041e_ USB_Audio- 00-MP3" tsched=yes ignore_dB=no card_properties ="module- udev-detect. discovered= 1""). udev-detect. c: Card /devices/ pci0000: 00/0000: 00:1d.0/ usb5/5- 1/5-1:1. 0/sound/ card1 (alsa_card. usb-041e_ USB_Audio- 00-MP3) module loaded.
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-gconf" (index: #8; argument: "").
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,
Apr 7 17:29:14 ubuntu pulseaudio[4049]: sink.c: device.description = "Dummy Output"
Apr 7 17:29:14 ubuntu pulseaudio[4049]: sink.c: device.class = "abstract"
Apr 7 17:29:14 ubuntu pulseaudio[4049]: sink.c: device.icon_name = "audio-card"
Apr 7 17:29:14 ubuntu pulseaudio[4049]: source.c: Created source 0 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,
Apr 7 17:29:14 ubuntu pulseaudio[4049]: source.c: device.description = "Monitor of Dummy Output"
Apr 7 17:29:14 ubuntu pulseaudio[4049]: source.c: device.class = "monitor"
Apr 7 17:29:14 ubuntu pulseaudio[4049]: source.c: device.icon_name = "audio-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-null-sink" (index: #11; argument: "sink_name=
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: client.c: Created 0 "ConsoleKit Session /org/freedeskto
Apr 7 17:29:14 ubuntu pulseaudio[4049]: client.c: Created 1 "ConsoleKit Session /org/freedeskto
Apr 7 17:29:14 ubuntu pulseaudio[4049]: client.c: Created 2 "ConsoleKit Session /org/freedeskto
Apr 7 17:29:14 ubuntu pulseaudio[4049]: client.c: Created 3 "ConsoleKit Session /org/freedeskto
Apr 7 17:29:14 ubuntu pulseaudio[4049]: client.c: Created 4 "ConsoleKit Session /org/freedeskto
Apr 7 17:29:14 ubuntu pulseaudio[4049]: client.c: Created 5 "ConsoleKit Session /org/freedeskto
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4049]: module.c: Loaded "module-
Apr 7 17:29:14 ubuntu pulseaudio[4047]: main.c: Daemon startup successful.
Apr 7 17:29:14 ubuntu pulseaudio[4049]: main.c: Daemon startup complete.
...
Apr 7 17:30:36 ubuntu pulseaudio[4049]: module-
Apr 7 17:30:36 ubuntu pulseaudio[4049]: card.c: Created 0 "alsa_card.
Apr 7 17:30:36 ubuntu pulseaudio[4049]: module.c: Loaded "module-alsa-card" (index: #17; argument: "device_id="1" name="usb-
Apr 7 17:30:36 ubuntu pulseaudio[4049]: module-
So, this is a bit tricky. We at least need to move the module-udev-detect earlier than the module-*-restore, but it will still be racy.