<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.18.1">
</HEAD>
<BODY>
Ben,<BR>
<BR>
Please try the below replacement of /etc/pulse/default.pa. Make sure to back-up your existing default.pa before proceeding.<BR>
<BR>
The main change of note is that I've removed the HAL detection and inserted static configuration for your soundcard. See the lines for<BR>
load-module module-alsa-sink, and<BR>
load-module module-null-source,<BR>
for more details about that. Also, I went ahead and deleted some modules which were probably commented out in your file anyway.<BR>
<BR>
Best Regards,<BR>
<BR>
Sean<BR>
<BR>
<BR>
#!/usr/bin/pulseaudio -nF<BR>
#<BR>
# This file is part of PulseAudio.<BR>
#<BR>
# PulseAudio is free software; you can redistribute it and/or modify it<BR>
# under the terms of the GNU Lesser General Public License as published by<BR>
# the Free Software Foundation; either version 2 of the License, or<BR>
# (at your option) any later version.<BR>
#<BR>
# PulseAudio is distributed in the hope that it will be useful, but<BR>
# WITHOUT ANY WARRANTY; without even the implied warranty of<BR>
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<BR>
# General Public License for more details.<BR>
#<BR>
# You should have received a copy of the GNU Lesser General Public License<BR>
# along with PulseAudio; if not, write to the Free Software Foundation,<BR>
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.<BR>
<BR>
.nofail<BR>
<BR>
### Load something into the sample cache<BR>
#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav<BR>
load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav<BR>
#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav<BR>
#load-sample-lazy pulse-access /usr/share/sounds/generic.wav<BR>
<BR>
.fail<BR>
<BR>
### Load audio drivers statically<BR>
#This is your ALSA output which seems to work... plug will convert the sound to big endian<BR>
load-module module-alsa-sink device=plug:hw:0 sink_name=output<BR>
#This will NOT give you sound input, but it will satisfy PA's want for a default source<BR>
load-module module-null-source source_name=input<BR>
<BR>
#.ifexists module-esound-protocol-unix.so<BR>
.nofail<BR>
load-module module-esound-protocol-unix auth-anonymous=1<BR>
.fail<BR>
#.endif<BR>
load-module module-native-protocol-unix auth-group=pulse-access<BR>
<BR>
#The below lines would allow only localhost to connect to PA through TCP<BR>
#load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.0/8<BR>
#load-module module-native-protocol-tcp auth-ip-acl=127.0.0.0/8<BR>
<BR>
#The below lines allow anyone (who can get through your firewall) to connect to PA through TCP<BR>
#These aren't commented out because you mentioned network access in your posts, Ben<BR>
load-module module-native-protocol-tcp auth-anonymous=1<BR>
load-module module-esound-protocol-tcp auth-anonymous=1<BR>
<BR>
load-module module-zeroconf-publish<BR>
<BR>
### Load the RTP reciever module (also configured via paprefs, see above)<BR>
#load-module module-rtp-recv<BR>
<BR>
### Load the RTP sender module (also configured via paprefs, see above)<BR>
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 description=&quot;RTP Multicast Sink&quot;<BR>
#load-module module-rtp-send source=rtp.monitor<BR>
<BR>
### Automatically restore the volume of playback streams<BR>
load-module module-volume-restore<BR>
<BR>
### Automatically restore the default sink/source when changed by the user during runtime<BR>
load-module module-default-device-restore<BR>
<BR>
### Automatically move streams to the default sink if the sink they are<BR>
### connected to dies, similar for sources<BR>
load-module module-rescue-streams<BR>
<BR>
### Automatically suspend sinks/sources that become idle for too long<BR>
#load-module module-suspend-on-idle<BR>
<BR>
### Set the created sink and source as default<BR>
set-default-sink output<BR>
set-default-source input<BR>
<BR>
<BR>
On Mon, 2008-04-14 at 12:25 +1000, Ben Finney wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
Ben Finney &lt;<A HREF="mailto:bignose+hates-spam@benfinney.id.au">bignose+hates-spam@benfinney.id.au</A>&gt; writes:

&gt; Sean McNamara &lt;<A HREF="mailto:smcnam@gmail.com">smcnam@gmail.com</A>&gt; writes:
&gt; 
&gt; &gt; You should probably comment out module-x11-publish from
&gt; &gt; /etc/pulse/default.pa. It's not as useful as it sounds, and
&gt; &gt; depending on the circumstances, that X error alone could be causing
&gt; &gt; the server to shut down.
&gt; 
&gt; Okay. Am I right in thinking that I will still get a functioning
&gt; PulseAudio client-server session in the absence of an X11 connection?

The answer to this is yes. With the 'load-module module-x11-publish'
commented out, the PulseAudio server now starts:

=====
$ sudo /usr/bin/pulseaudio -vvvv --daemonize=false
I: main.c: Found user 'pulse' (UID 112) and group 'pulse' (GID 113).
I: main.c: Successfully dropped root privileges.
W: pid.c: Stale PID file, overwriting.
W: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
W: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
I: main.c: Page size is 4096 bytes
I: main.c: Dude, your kernel stinks! The chef's recommendation today is Linux with high-resolution timers enabled!
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9/modules//module-hal-detect.so': success
I: module-hal-detect.c: Trying capability alsa
I: module-hal-detect.c: Trying capability oss
I: module-hal-detect.c: Loaded 0 modules.
I: module.c: Loaded &quot;module-hal-detect&quot; (index: #0; argument: &quot;&quot;).
I: module.c: Loaded &quot;module-esound-protocol-unix&quot; (index: #1; argument: &quot;socket=&quot;/tmp/.esd/socket&quot;&quot;).
I: protocol-native.c: Allowing access to group 'pulse-access'.
I: protocol-native.c: loading cookie from disk.
I: module.c: Loaded &quot;module-native-protocol-unix&quot; (index: #2; argument: &quot;&quot;).
I: module.c: Loaded &quot;module-esound-protocol-tcp&quot; (index: #3; argument: &quot;&quot;).
I: protocol-native.c: Allowing access to group 'pulse-access'.
I: protocol-native.c: using already loaded auth cookie.
I: protocol-native.c: Allowing access to group 'pulse-access'.
I: protocol-native.c: using already loaded auth cookie.
I: module.c: Loaded &quot;module-native-protocol-tcp&quot; (index: #4; argument: &quot;&quot;).
D: module-zeroconf-publish.c: Publishing services in Zeroconf
I: module.c: Loaded &quot;module-zeroconf-publish&quot; (index: #5; argument: &quot;&quot;).
I: module-volume-restore.c: starting with empty ruleset.
I: module.c: Loaded &quot;module-volume-restore&quot; (index: #6; argument: &quot;&quot;).
I: module.c: Loaded &quot;module-default-device-restore&quot; (index: #7; argument: &quot;&quot;).
I: module.c: Loaded &quot;module-rescue-streams&quot; (index: #8; argument: &quot;&quot;).
I: module.c: Loaded &quot;module-suspend-on-idle&quot; (index: #9; argument: &quot;&quot;).
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9/modules//module-gconf.so': failure
I: main.c: Daemon startup complete.
D: module-hal-detect.c: dbus: interface=org.freedesktop.DBus, path=/org/freedesktop/DBus, member=NameAcquired
I: module-zeroconf-publish.c: Successfully established main service.
=====

When I stop this, and 'sudo invoke-rc.d pulseaudio start', that
process succeeds also. A client in a user session is then able to
connect to the server across TCP/IP.


Thanks for helping me get this far.

Could I suggest that the 'daemon startup failed' message be changed,
to at least include the proximate *reason* why the startup failed.

</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>