On Feb 01 Takashi Sakamoto wrote:
Hi Stefan,
Thanks to get these logs. It's really helpful to me.
1.They have both iPCR/oPCR.
They have no oPCRs, against my guess.
I wrote snd-oxfw with an assumption that devices have iPCR/oPCR. So I must write some patches for my last RFC:
Neither LaCie FireWire Speakers nor Griffin FireWave have physical recording inputs. It is therefore sensible that they present OUTPUT_MASTER_PLUG.output_plugs == 0.
By the way, while LaCie FireWire Speakers is a stereo playback device, Griffin FireWave is a 6-channel playback device with six physical outputs (three 3.5 mm stereo receptacles). It also contains a "Dolby™ Digital decoder and a Dolby Pro Logic II adaptive matrix surround decoder" according to the user's manual. I have no idea how much of that is implemented in the FireWave itself and how much is done in the FireWave driver for OS X.
Apple' OS X built-in FireWire audio driver presents the FireWave as a output-only device without any control besides the global joint volume control. I don't know whether it works as a 6-channel device with the stock driver; it evidently does work at least as a 2-channel device with stereo sound. In order to use Dolby features on OS X, a custom driver from Griffin needs to be installed. I haven't tried that driver myself yet, but I have heard from somebody else that this driver emits vendor-specific (FCP?) requests to the FireWave to set up 5.1 playback.
I do have a Mac which dual-boots to Apple OS X, and a PCILynx card which I can put into a Linux box, so I could attempt to analyze those vendor- specific requests that enable 5.1 output. Though currently, live seems too short to bother.
Just in case it tells anything useful, here are some parts of alsa-info's output (from alsa-info.sh version 0.4.63 and kernel 3.13-rc5 without your patches; I haven't tried your patches yet):
!!Soundcards recognised by ALSA !!----------------------------- [...] 2 [FireWave ]: FireWave - FireWave Griffin FireWave Surround (OXFW970 0104), GUID 0012920600520991 at fw6.0, S400 3 [Speakers ]: FWSpeakers - FireWire Speakers LaCie FireWire Speakers (OXFW970 0105), GUID 00d04b21010212c8 at fw7.0, S400
!!Aplay/Arecord output !!--------------------
APLAY
**** List of PLAYBACK Hardware Devices **** [...] card 2: FireWave [FireWave], device 0: OXFW970 [FireWave] Subdevices: 1/1 Subdevice #0: subdevice #0 card 3: Speakers [FireWire Speakers], device 0: OXFW970 [FireWire Speakers] Subdevices: 1/1 Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices **** [...of course nothing from cards 2 and 3....]
!!Amixer output !!------------- [...] !!-------Mixer controls for card 2 [FireWave]
Card hw:2 'FireWave'/'Griffin FireWave Surround (OXFW970 0104), GUID 0012920600520991 at fw6.0, S400' Mixer name : 'OXFW970' Components : '' Controls : 2 Simple ctrls : 1 Simple mixer control 'PCM',0 Capabilities: pvolume pswitch pswitch-joined Playback channels: Front Left - Front Right - Rear Left - Rear Right - Front Center - Woofer Limits: Playback -32768 - 0 Mono: Front Left: Playback 0 [100%] [on] Front Right: Playback 0 [100%] [on] Rear Left: Playback 0 [100%] [on] Rear Right: Playback 0 [100%] [on] Front Center: Playback 0 [100%] [on] Woofer: Playback 0 [100%] [on]
!!-------Mixer controls for card 3 [Speakers]
Card hw:3 'Speakers'/'LaCie FireWire Speakers (OXFW970 0105), GUID 00d04b21010212c8 at fw7.0, S400' Mixer name : 'OXFW970' Components : '' Controls : 2 Simple ctrls : 1 Simple mixer control 'PCM',0 Capabilities: pvolume pvolume-joined pswitch pswitch-joined Playback channels: Mono Limits: Playback -11538 - 0 Mono: Playback -3137 [73%] [on]
!!Alsactl output !!-------------- [...] state.FireWave { control.1 { iface MIXER name 'PCM Playback Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.2 { iface MIXER name 'PCM Playback Volume' value.0 0 value.1 0 value.2 0 value.3 0 value.4 0 value.5 0 comment { access 'read write' type INTEGER count 6 range '-32768 - 0' } } } state.Speakers { control.1 { iface MIXER name 'PCM Playback Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.2 { iface MIXER name 'PCM Playback Volume' value -3137 comment { access 'read write' type INTEGER count 1 range '-11538 - 0' } } }