== snd-firewire-lib, snd-bebob, snd-fireworks, snd-dice, snd-oxfw and snd-digi00x == They are device drivers utilize Advanced Linux Sound Architecture (ALSA) and Linux Firewire Subsystem (so called "juju"). - snd-bebob: for devices based on BridgeCo's chipset and BeBoB firmware - snd-fireworks: for devices based on Echo Audio's Fireworks module - snd-dice: for devices based on TC Applied Technologies DICE chipset family - snd-oxfw: for devices based on Oxford Semiconductor OXFW970/971 chipset - snd-digi00x: for Digidesign 002/003 family - snd-firewire-lib: for helper functions of AMDTP/CMP/FCP and AV/C commands
https://github.com/takaswie/snd-firewire-improve
Let’s try if this works.
Install: 1. $ git clone https://github.com/takaswie/snd-firewire-improve.git 2. $ ln -s $(pwd)/snd-firewire-improve/ /usr/src/alsa-firewire-3.11 (superuser) 3. $ dkms install alsa-firewire/3.11 (superuser)
% modprobe snd-bebob
% ls -l /proc/asound dr-xr-xr-x 6 root root 0 Apr 22 09:03 card0 dr-xr-xr-x 3 root root 0 Apr 22 09:03 card1 dr-xr-xr-x 5 root root 0 Apr 22 09:03 card2 lrwxrwxrwx 1 root root 5 Apr 22 09:03 MID -> card0 lrwxrwxrwx 1 root root 5 Apr 22 09:03 HDMI -> card1 lrwxrwxrwx 1 root root 5 Apr 22 09:03 Orpheus -> card2 % aplay -l **** List of PLAYBACK Hardware Devices **** card 0: MID [HDA Intel MID], device 0: ALC889 Analog [ALC889 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: MID [HDA Intel MID], device 3: ALC889 Digital [ALC889 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Orpheus [Orpheus], device 0: BeBoB [Orpheus PCM] Subdevices: 1/1 Subdevice #0: subdevice #0 user1@UNIX [09:03:37] [~] % aplay -L null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server rawjack jack JACK Audio Connection Kit default Playback/recording through the PulseAudio sound server sysdefault:CARD=MID HDA Intel MID, ALC889 Analog Default Audio Device front:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog Front speakers surround40:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog 4.0 Surround output to Front and Rear speakers surround41:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers hdmi:CARD=MID,DEV=0 HDA Intel MID, ALC889 Digital HDMI Audio Output dmix:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog Direct sample mixing device dmix:CARD=MID,DEV=3 HDA Intel MID, ALC889 Digital Direct sample mixing device dsnoop:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog Direct sample snooping device dsnoop:CARD=MID,DEV=3 HDA Intel MID, ALC889 Digital Direct sample snooping device hw:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog Direct hardware device without any conversions hw:CARD=MID,DEV=3 HDA Intel MID, ALC889 Digital Direct hardware device without any conversions plughw:CARD=MID,DEV=0 HDA Intel MID, ALC889 Analog Hardware device with all software conversions plughw:CARD=MID,DEV=3 HDA Intel MID, ALC889 Digital Hardware device with all software conversions hdmi:CARD=HDMI,DEV=0 HDA ATI HDMI, HDMI 0 HDMI Audio Output dmix:CARD=HDMI,DEV=3 HDA ATI HDMI, HDMI 0 Direct sample mixing device dsnoop:CARD=HDMI,DEV=3 HDA ATI HDMI, HDMI 0 Direct sample snooping device hw:CARD=HDMI,DEV=3 HDA ATI HDMI, HDMI 0 Direct hardware device without any conversions plughw:CARD=HDMI,DEV=3 HDA ATI HDMI, HDMI 0 Hardware device with all software conversions sysdefault:CARD=Orpheus Orpheus, Orpheus PCM Default Audio Device dmix:CARD=Orpheus,DEV=0 Orpheus, Orpheus PCM Direct sample mixing device dsnoop:CARD=Orpheus,DEV=0 Orpheus, Orpheus PCM Direct sample snooping device hw:CARD=Orpheus,DEV=0 Orpheus, Orpheus PCM Direct hardware device without any conversions plughw:CARD=Orpheus,DEV=0 Orpheus, Orpheus PCM Hardware device with all software conversions
Looks nice, but …
% aplay -D hw:2,0 Music/01-Taking_Chances.wav Playing WAVE 'Music/01-Taking_Chances.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo aplay: set_params:1239: Channels count non available % aplay -D hw:2,0 --channels=2 Music/01-Taking_Chances.wav Playing WAVE 'Music/01-Taking_Chances.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo aplay: set_params:1239: Channels count non available
Let’s look into aplay.c to see what is happening.
1237 err = snd_pcm_hw_params_set_channels(handle, params, hwparams.channels); 1238 if (err < 0) { 1239 error(_("Channels count non available")); 1240 prg_exit(EXIT_FAILURE); 1241 }