Hammerfall DSP needs alsactl init db entry to work with Pulseaudio

Bug #648992 reported by David Kastrup
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
alsa-utils (Ubuntu)
Triaged
Wishlist
Daniel T Chen

Bug Description

Advice for getting Pulseaudio to work with the DSP Hammerfall one can find on the net is rather scarce. The default behavior mostly refuses to operate at all.

The advice found on the net more or less recommends starting with something like

load-module module-alsa-sink sink_name=dsp_out device=hw:DSP format=s32le channels=18 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12,aux13,aux14,aux15 tsched=0
load-module module-alsa-source source_name=dsp_in device=hw:DSP format=s32le channels=18 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12,aux13,aux14,aux15 tsched=0

in the /etc/pulse/default.pa configuration.

It turns out that tsched=0 operation is not actually necessary: it suffices to do

amixer -D hw:DSP cset 'iface=CARD,name=Precise Pointer' On

before starting Pulseaudio. It seems likely that this kind of setup should be put somewhere in the alsa initialization.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: alsa-base 1.0.22.1+dfsg-0ubuntu3
ProcVersionSignature: Ubuntu 2.6.31-11.154-rt
Uname: Linux 2.6.31-11-rt i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.20.
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: dak 12880 F.... hdspmixer
 /dev/snd/controlC0: dak 14300 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'I82801DBICH4'/'Intel 82801DB-ICH4 with AD1981B at irq 5'
   Mixer name : 'Analog Devices AD1981B'
   Components : 'AC97a:41445374'
   Controls : 26
   Simple ctrls : 18
Card1.Amixer.info:
 Card hw:1 'DSP'/'RME Hammerfall DSP + Multiface at 0xc8000000, irq 5'
   Mixer name : 'Xilinx FPGA'
   Components : ''
   Controls : 25
   Simple ctrls : 18
Date: Mon Sep 27 17:07:03 2010
PackageArchitecture: all
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: alsa-driver
dmi.bios.date: 06/18/2007
dmi.bios.vendor: IBM
dmi.bios.version: 1RETDRWW (3.23 )
dmi.board.name: 2373TG5
dmi.board.vendor: IBM
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: IBM
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnIBM:bvr1RETDRWW(3.23):bd06/18/2007:svnIBM:pn2373TG5:pvrThinkPadT41:rvnIBM:rn2373TG5:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable:
dmi.product.name: 2373TG5
dmi.product.version: ThinkPad T41
dmi.sys.vendor: IBM

Revision history for this message
David Kastrup (dak) wrote :
Daniel T Chen (crimsun)
affects: alsa-driver (Ubuntu) → alsa-utils (Ubuntu)
Changed in alsa-utils (Ubuntu):
assignee: nobody → Daniel T Chen (crimsun)
importance: Undecided → Wishlist
status: New → Triaged
summary: - Information about using Hammerfall DSP with Pulseaudio
+ Hammerfall DSP needs alsactl init db entry to work with Pulseaudio
Revision history for this message
Ichthyostega (ichthyo) wrote :

In my case, the tsched approach does not even work proberly in all cases. While setting the "Precise Pointers" flag on the driver works in all cases, and I could find no negative side effects on direct usage via ALSA or Jack.

The solution proposed in this bug report was the most complete and precise advice I could find on the Net.

Revision history for this message
Ichthyostega (ichthyo) wrote :

Incidentally, the Documentation of the ALSA-DSP MADI Driver (this is another interface, but
from the same manufacturer RME) has a nice explanation of the "Precise Pointer" parameter:
https://www.kernel.org/doc/Documentation/sound/alsa/hdspm.txt

> Hardware-pointer -- 2 Modi

> The Card supports the readout of the actual Buffer-pointer,
> where DMA reads/writes. Since of the bulk mode of PCI it is only
> 64 Byte accurate. SO it is not really usable for the
> ALSA-mid-level functions (here the buffer-ID gives a better
> result), but if MMAP is used by the application. Therefore it
> can be configured at load-time with the parameter
> precise-pointer.
...
> Precise Pointer -- off interrupt used for pointer-calculation
> Precise Pointer -- on hardware pointer used.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.