Wednesday, January 28, 2009
Sound issue on FC10
Today's fedora kernel update, kernel-2.6.27.12-170.2.5.fc10.x86_64, resolves the issues with the headphone output. There's no need for the hda-verb command anymore (at least on my Dell D830).
Thursday, January 15, 2009
Mozilla Weave on F10 x86_64
After installing my 64 bit fedora, I found out that the default weave download doesn't work on 64 bit as it needs a native 64 bit library to do the crypto stuff which isnt included in the distributed plugin.
Solution is to grab the weave source and compile it yourself, which has some pitfalls on fedora if you try to use the xulrunner rpm, due to difference in paths.
Therefor to help people looking for it, you can download a 64 bit compiled F10 weave 0.2.98 from here.
Note of warning: my laptop didn't import the bookmarks correctly, not sure if it's a weave issue or something else. So tred carefully.
Solution is to grab the weave source and compile it yourself, which has some pitfalls on fedora if you try to use the xulrunner rpm, due to difference in paths.
Therefor to help people looking for it, you can download a 64 bit compiled F10 weave 0.2.98 from here.
Note of warning: my laptop didn't import the bookmarks correctly, not sure if it's a weave issue or something else. So tred carefully.
Fedora F10 x86_64 on Dell latitude D830 sound woes
There's some weird stuff going on with the sound on my dell latitude D830 laptop. I recently got that laptop and put fedora F10 (64 bit version) on it, so I'm not sure if it's a fedora issue or a more general one, as I haven't used any other distro on this machine.
The biggest problem is that there are a few issues causing audio to fail.
Here's what you can try to do to resolve it:
Hopefully you will have sound by now.
The biggest problem is that there are a few issues causing audio to fail.
Here's what you can try to do to resolve it:
- run 'paman' (the PulseAudio Manager)
if you can't connect, then pulse isnt running for some reason.. issue start-pulseaudio-x11 from your user account to restart it. - in paman, check if Devices->Sinks actually shows a hardware device and NOT the Null Output device. If you have the Null Output, it means pulse was unable to open your hardware device, this happens when something had the alsa device open when starting pulse (e.g. I had this due to a KVM virtual machine that had a sound device attached to it).
To debug, from a shell start pulse in commandline mode:$ pulseaudio -nC -vvv
then issue:>>> load-module module-hal-detect
and watch the debug output, it might say it can't open /dev/snd/pcmXXXX
to check what is keeping that device open, issue:# fuser -v /dev/snd* /dev/dsp*
kill the apps, then restart pulse from your user shell (start-pulseaudio-x11) and recheck in paman if the Sink is now showing the alsa device. - if all this is ok and the pulseaudio volume program even shows sound playing, but you still get no sound, then most likely alsa didn't setup the sound codec correctly.. this was the case on my D830 which has a SigmaTel STAC9205 (you can find this info in /proc/asound/card0/codec#0)
- first try adding an option to modprobe, e.g.
$ cat /etc/modprobe.d/dell
options snd-hda-intel model=dell-m42
and restart your machine, make sure the above issues don't popup again. If you have a different codec, you might check the alsa doc for something that fits your machine. - If that didn't help.. grab hda-verb then look for the speaker node in /proc/asound/card0/codec#0
e.g. on my laptop:Node 0x0d [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x0000003f: IN OUT HP Detect Trigger ImpSense
Pin Default 0x90170310: [Fixed] Speaker at Int N/A
Conn = Analog, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Connection: 1
0x10
If the Pin-Ctls doesnt have OUT, then you will get no output. You can fix this with the hda-verb command:# hda-verb /dev/snd/hwC0D0 0x0d SET_PIN_WIDGET_CONTROL 0x40
This should enable the sound output on your speakers. - Last issue, speakers might work but as soon as you plug in a headphone, your sound goes away. (ie. sound doesnt work from the headphone).
Look in the codec file for a headphone node:Node 0x0a [Pin Complex] wcaps 0x400181: Stereo
Pincap 0x0000173f: IN OUT HP Detect Trigger ImpSense
Vref caps: HIZ 50 GRD 80
Pin Default 0x0321101f: [Jack] HP Out at Ext Left
Conn = 1/8, Color = Black
DefAssociation = 0x1, Sequence = 0xf
Pin-ctls: 0x00: VREF_HIZ
Unsolicited: tag=3a, enabled=1
Connection: 2
0x10* 0x11
Then enable the OUT with the same hda-verb as shown above, but update the node id:# hda-verb /dev/snd/hwC0D0 0x0a SET_PIN_WIDGET_CONTROL 0x40
Hopefully you will have sound by now.
Wednesday, July 16, 2008
Wednesday, June 25, 2008
PgPool
I wasn't really up to date on high availability solutions for postgres. From browsing around it looked like pgpool provided a reasonable solution to the problem. So I went ahead and installed postgres on my ubuntu server and on my desktop machine (running windows, yuk I know).
While the pgpool config is fairly simple, it did take me some time to get it running correctly. Replication mode just didnt want to work at first and pgpool doesnt log anything, unless you start it with '-d -n' so it doesnt detach from the terminal.
The debug output showed a mismatch in a reply packet from the 2 postgres servers.. the cause was a slight difference in pg_hba.conf. Once fixed, the replication worked.
Next up was testing the high availability.. I stopped 1 postgres server, which caused my psql client to block.. seems like the default config on ubuntu didnt set the health check interval, so pgpool never noticed the server was down. After entering a reasonable value, pgpool detected the node as down and aborted/disconnected the psql connection.
This also means that an app has to reestablish the link itself, hence needs to be aware of this. The thing that bugged me though, was that changes done while 1 node is down, go unnoticed if you bring the node back up.. meaning there is no sync or even detection that both nodes are different, resulting in different results depending on which node your query gets executed. Maybe this is configurable? Something to check out another time.
While the pgpool config is fairly simple, it did take me some time to get it running correctly. Replication mode just didnt want to work at first and pgpool doesnt log anything, unless you start it with '-d -n' so it doesnt detach from the terminal.
The debug output showed a mismatch in a reply packet from the 2 postgres servers.. the cause was a slight difference in pg_hba.conf. Once fixed, the replication worked.
Next up was testing the high availability.. I stopped 1 postgres server, which caused my psql client to block.. seems like the default config on ubuntu didnt set the health check interval, so pgpool never noticed the server was down. After entering a reasonable value, pgpool detected the node as down and aborted/disconnected the psql connection.
This also means that an app has to reestablish the link itself, hence needs to be aware of this. The thing that bugged me though, was that changes done while 1 node is down, go unnoticed if you bring the node back up.. meaning there is no sync or even detection that both nodes are different, resulting in different results depending on which node your query gets executed. Maybe this is configurable? Something to check out another time.
Wednesday, June 18, 2008
Firefox 3 local weave repository
Here's how I setup Weave to use my own server to sync, as registration at mozilla is disabled atm. Weave uses DAV to store the data, so all it takes is to configure apache with DAV support.
Enable DAV on apache:
$ sudo a2enmod dav_fs dav dav_lock
Weave will store the data at http://server/user/sha1hash-of-user
$ sudo mkdir /var/www/user
$ sudo chown www-data:www-data /var/www/user
Edit /etc/apache2/httpd.conf and put something like this in it:
Create the password file with:
$ sudo htpasswd -m -c /etc/apache2/.htpasswd emailaddress
Where the email address is the one you use in the Weave preferences.
Restart apache and then configure Weave. Make sure you change the server location in the Advanced tab to point to the root of your server (http://server/)
NOTE: don't enable forms/password sync, it appears to be broken.. weave will get stuck in a busy loop when it tries to sync with those enabled.
Enable DAV on apache:
$ sudo a2enmod dav_fs dav dav_lock
Weave will store the data at http://server/user/sha1hash-of-user
$ sudo mkdir /var/www/user
$ sudo chown www-data:www-data /var/www/user
Edit /etc/apache2/httpd.conf and put something like this in it:
<Directory "/var/www/user">
Dav On
AuthName "WebDAV Login"
AuthType Basic
AuthUserFile /etc/apache2/.htpasswd
require valid-user
Order allow,deny
Allow from all
Options +Indexes
</Directory>
Create the password file with:
$ sudo htpasswd -m -c /etc/apache2/.htpasswd emailaddress
Where the email address is the one you use in the Weave preferences.
Restart apache and then configure Weave. Make sure you change the server location in the Advanced tab to point to the root of your server (http://server/)
NOTE: don't enable forms/password sync, it appears to be broken.. weave will get stuck in a busy loop when it tries to sync with those enabled.
Subscribe to:
Posts (Atom)