snd-asihpi driver for AudioScience sound and tuner cards
modinfo snd-asihpi description: AudioScience HPI author: AudioScience <firstname.lastname@example.org> 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).
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"
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.
- mixer controls, rationale for indexing
- control names
- setting card master samplerate
which cards support HW linking, what to put in asoundrc
Capabilities and limitations
- HPI ioctl provided in addition to ALSA interface
- No support for compressed formats, though card supports them
- Limited use of large on card buffers