From AlsaProject
Jump to: navigation, search

snd-asihpi driver for AudioScience sound and tuner cards


module parameters

modinfo snd-asihpi
description:    AudioScience HPI
author:         AudioScience <>
license:        GPL
parm:           major:Device major number (int)
parm:           hpiDebugLevel:Debug level for Audioscience HPI 0=none 6=verbose (int)
parm:           bufsize:Buffer size to allocate for data transfer from HPI ioctl  (int)
parm:           index:ALSA Index value for AudioScience soundcard. (array of int)
parm:           id:ALSA ID string for AudioScience soundcard. (array of charp)
parm:           enable:ALSA Enable AudioScience soundcard. (array of bool)


The asihpi driver is not yet in the official kernel part of ALSA, so must be built from source.

Download alsa-driver-(version), ./configure --with-cards=asihpi && make && make install

In addition to the alsa-driver source package, the matching alsa-firmware package must be downloaded, and run "make install" in the asihpi subdirectory.

If you have installed the hpklinux driver available from AudioScience website, you will end up with two different drivers that can claim the cards. To avoid unexpected behaviour, either remove one of the drivers or add "blacklist asihpi" to /etc/modprobe.d/blacklist

Also you need to take care that incompatible firmware is not installed. In this case, it is recommended to rebuild the alsa driver using source from the hpklinux (see that package for instructions).

Card indices

AudioScience cards have a hardware jumper to specify the card index. This ensures that cards keep the same index even if they are moved between slots, or other cards are added.

The driver will try to make ALSA card indices match the card jumper settings. This may fail if another card (onboard sound) is present and has already claimed a desired index. The cards will still work, but have unexpected indices.

By default the card name shown by ALSA will be the card model eg "ASI6644"

PCM streams

AudioScience cards support multiple streams (PCMs). These are exposed as ALSA substreams of device 0. I.e. hw:0,0,0 hw:0,0,1 etc.

The reason the driver doesn't map streams to ALSA devices is that there is a limit of four devices per card, and some cards have up to 16 streams.

Streams do not correspond to physical inputs and outputs, see Mixer section for more on this.


  1. mixer controls, rationale for indexing
  2. control names
  3. setting card master samplerate

Linked streams

which cards support HW linking, what to put in asoundrc

Capabilities and limitations

  1. HPI ioctl provided in addition to ALSA interface
  2. No support for compressed formats, though card supports them
  3. Limited use of large on card buffers
Custom Search
Personal tools