[alsa-devel] plans for fireworks driver

Doug McLain doug at nostar.net
Sun Mar 10 08:28:12 CET 2013


After realizing that the ffado-mixer also didn't work on my AF12, I 
found that echo firmware > 4.8 broke ffado for the AF12 & AF8:

http://subversion.ffado.org/ticket/360

Interestingly though, I have been running 5.7 for a couple years using 
the snd-fireworks driver with no problems.  I have no use for the mixer 
on the AF12 after I initially set it up way before the firmware problem 
came about, so I never noticed anything was wrong.  Your driver now 
discovers the AF12 fine:

$ cat /proc/asound/card1/efc_hardware
flags: 0x11
guid_hi: 0x14860F
guid_lo: 0xC44A84A6
type: 0xAF12
version: 0x0
vendor_name: Echo Digital Audio
model_name: AudioFire12
supported_clock: 0x5
nb_1394_playback_channels: 0xC
nb_1394_capture_channels: 0xC
nb_phys_audio_out: 0xC
nb_phys_audio_in: 0xC
nb_out_groups: 0x1
out_group[0x0]: type 0x0, count 0x12
out_group[0x1]: type 0x0, count 0x0
out_group[0x2]: type 0x0, count 0x0
out_group[0x3]: type 0x0, count 0x0
out_group[0x4]: type 0x0, count 0x0
out_group[0x5]: type 0x0, count 0x0
out_group[0x6]: type 0x0, count 0x0
out_group[0x7]: type 0x0, count 0x0
nb_in_groups: 0x1
out_group[0x0]: type 0x0, count 0x12
out_group[0x1]: type 0x0, count 0x0
out_group[0x2]: type 0x0, count 0x0
out_group[0x3]: type 0x0, count 0x0
out_group[0x4]: type 0x0, count 0x0
out_group[0x5]: type 0x0, count 0x0
out_group[0x6]: type 0x0, count 0x0
out_group[0x7]: type 0x0, count 0x0
nb_midi_out: 0x1
nb_midi_in: 0x1
max_sample_rate: 0x2EE00
min_sample_rate: 0x7D00
dsp_version: 0x4080000
arm_version: 0x4080000
mixer_playback_channels: 0xC
mixer_capture_channels: 0xC
fpga_version: 0x0
nb_1394_playback_channels_2x: 0xC
nb_1394_capture_channels_2x: 0xC
nb_1394_playback_channels_4x: 0xC
nb_1394_capture_channels_4x: 0xC



Interestingly though, I've been running

On 03/09/2013 09:11 PM, Takashi Sakamoto wrote:
> Hi Doug,
>
> Thanks for your checking my source.
>
>
>> The latest change, which prompted me to write this email in the
>> first place, was the removal of __devinit and friends from kernel 3.8.
>
> Oh, it's my fault... __devXXX macros are removed from Linux tree since
> Dec 2012.
> For Linux 3.8-rc4 or later my module needs your patch but i's inconvenient.
> I realized it but have been forgeting...
>
> I remove them with this commit. Now you can build my module without your
> patch.
> https://github.com/takaswie/snd-firewire-improve/commit/77742d3f68e98e94ff99fa32d7ee9f7cdef4c4ad
>
>
>
>  > ...and the AF2
>
> Thank you. I add your log in the end of README.
> https://github.com/takaswie/snd-firewire-improve/commit/52beb73fa1e248a8eec985855b99774d74387a44
>
>
>
>> It discovers the AF2, but not the AF12.  Here is the log from  the AF12:
>  > Mar  9 15:47:11 iggy kernel: [63134.769274] ALSA fireworks_command.c:313
>  > EFC Failed [0/1]: 0
>
> H'm... It looks to fail to get the number of hardware metering channels
> when proving my module.
> To investigating this, anyway, I need the hardware information of AF12...
>
> Would you try this patch for AF12? This patch disable to get hardware
> metering channels during  module proving process.
>
> --- a/fireworks/fireworks.c
> +++ b/fireworks/fireworks.c
> @@ -329,11 +329,6 @@ static int snd_efw_probe(struct device *dev)
>          if (err < 0)
>                  goto error_card;
>
> -       /* get the number of hardware meters */
> -       err = snd_efw_get_hardware_meters_count(efw);
> -       if (err < 0)
> -               goto error_card;
> -
>          efw->syt_interval = 8;
>
>          for (i = 0; i < MAX_MIDI_OUTPUTS; i += 1)
>
>
> Thanks
>
>
> Takashi Sakamoto
> o-takashi at sakamocchi.jp
>
> (Mar 10 2013 05:52), Doug McLain wrote:
>> Attached is a patch of my hack to build your source of Fedora 18 with
>> kernel 3.8.  As I mentioned in the last email, I have had to do various
>> little hacks to the other snd-fireworks module source over the past few
>> years as chnages were made to the kernel API.  The latest change, which
>> prompted me to write this email in the first place, was the removal of
>> __devinit and friends from kernel 3.8.  So now its built, installed, and
>> running.  It discovers the AF2, but not the AF12.  Here is the log from
>> the AF12:
>>
>> Mar  9 15:47:06 iggy kernel: [63129.761604] firewire_core 0000:01:0b.0:
>> phy config: new root=ffc2, gap_count=7
>> Mar  9 15:47:11 iggy kernel: [63134.769274] ALSA fireworks_command.c:313
>> EFC Failed [0/1]: 0
>> Mar  9 15:47:11 iggy kernel: [63134.769289] snd-fireworks: probe of
>> fw2.0 failed with error -5
>> Mar  9 15:47:11 iggy kernel: [63134.769293] firewire_core 0000:01:0b.0:
>> created device fw2: GUID 0014860fc44a84a6, S400
>>
>>
>> ...and the AF2
>> $ cat /proc/asound/card0/efc_hardware
>> flags: 0xA1
>> guid_hi: 0x148606
>> guid_lo: 0x9D5BD6CA
>> type: 0xAF2
>> version: 0x0
>> vendor_name: Echo Digital Audio
>> model_name: AudioFire2
>> supported_clock: 0x9
>> nb_1394_playback_channels: 0x6
>> nb_1394_capture_channels: 0x4
>> nb_phys_audio_out: 0x6
>> nb_phys_audio_in: 0x4
>> nb_out_groups: 0x3
>> out_group[0x0]: type 0x0, count 0x2
>> out_group[0x1]: type 0x5, count 0x2
>> out_group[0x2]: type 0x1, count 0x2
>> out_group[0x3]: type 0x0, count 0x0
>> out_group[0x4]: type 0x0, count 0x0
>> out_group[0x5]: type 0x0, count 0x0
>> out_group[0x6]: type 0x0, count 0x0
>> out_group[0x7]: type 0x0, count 0x0
>> nb_in_groups: 0x2
>> out_group[0x0]: type 0x0, count 0x2
>> out_group[0x1]: type 0x5, count 0x2
>> out_group[0x2]: type 0x1, count 0x2
>> out_group[0x3]: type 0x0, count 0x0
>> out_group[0x4]: type 0x0, count 0x0
>> out_group[0x5]: type 0x0, count 0x0
>> out_group[0x6]: type 0x0, count 0x0
>> out_group[0x7]: type 0x0, count 0x0
>> nb_midi_out: 0x1
>> nb_midi_in: 0x1
>> max_sample_rate: 0x17700
>> min_sample_rate: 0x7D00
>> dsp_version: 0x0
>> arm_version: 0x4080000
>> mixer_playback_channels: 0x6
>> mixer_capture_channels: 0x4
>> fpga_version: 0x3000200
>> nb_1394_playback_channels_2x: 0x6
>> nb_1394_capture_channels_2x: 0x4
>> nb_1394_playback_channels_4x: 0x6
>> nb_1394_capture_channels_4x: 0x4
>>
>> -D
>>
>> On 03/09/2013 07:30 AM, Takashi Sakamoto wrote:
>>> Dear Doug,
>>>
>>> I'm a newcomer of ALSA project and currently working for snd-fireworks.
>>> Then I have a favour of you.
>>> (My first name is the same one that ALSA core developer has. But I'm
>>> newcomer Takashi)
>>>
>>> Unfortunatelly my post isn't delivered by mailman of
>>> alsa-devel at alsa-project.org. But I'm not a professional for mailman or
>>> SMTP so it takes a bit time that I debut in alsa-devel...
>>>
>>> Well, my source is here.
>>> https://github.com/takaswie/snd-firewire-improve
>>>
>>> It's a bit worse to you because current source has a lack of some
>>> functions that Clemens' snd-fireworks has.
>>>
>>>   - playback is available, capture is not. Additionally 2ch are
>>> available (under investigating...)
>>>   - MIDI is not available
>>>
>>> The reason is snd-firewire-lib.ko has these functions. Currently I'm
>>> working for them.
>>>
>>> But the implementation of hardware control is almost done:
>>>   - Hardware metering/monitoring/mixing are visible via procfs, but not
>>> configurable
>>>   - sampling rate, digital mode, digital format and clock source are
>>> changeable via alsamixer
>>>
>>> Hardware metering/monitoring/mixing will also be available via alsamixer
>>> after I've investigated the suitable way in ALSA's control component
>>> API.
>>>
>>> My favor of you is "building and installing my module and give me
>>> hardware information of your AF2 and AF12". I'm working with Ubuntu and
>>> utilize DKMS for debugging my module. You can see an instruction in
>>> README.
>>>
>>> If your Fireworks is identified by your system, there is
>>> /proc/asound/cardX/efc_hardware. If you "cat" this file, my module
>>> submit a command to your device to get hardware information and print
>>> the value. My module decide available functions refering it so it's very
>>> important.
>>>
>>> This is the output of my device, for your information:
>>> $ cat /proc/asound/card2/efc_hardware
>>> flags: 0x625
>>> guid_hi: 0x14860A
>>> guid_lo: 0x5B6BDB9B
>>> type: 0xAF9
>>> version: 0x0
>>> vendor_name: Echo Digital Audio
>>> model_name: AudioFirePre8
>>> supported_clock: 0x1D
>>> nb_1394_playback_channels: 0x10
>>> nb_1394_capture_channels: 0x10
>>> nb_phys_audio_out: 0x10
>>> nb_phys_audio_in: 0x10
>>> nb_out_groups: 0x2
>>> out_group[0x0]: type 0x0, count 0x8
>>> out_group[0x1]: type 0x3, count 0x8
>>> out_group[0x2]: type 0x0, count 0x0
>>> out_group[0x3]: type 0x0, count 0x0
>>> out_group[0x4]: type 0x0, count 0x0
>>> out_group[0x5]: type 0x0, count 0x0
>>> out_group[0x6]: type 0x0, count 0x0
>>> out_group[0x7]: type 0x0, count 0x0
>>> nb_in_groups: 0x2
>>> out_group[0x0]: type 0x0, count 0x8
>>> out_group[0x1]: type 0x3, count 0x8
>>> out_group[0x2]: type 0x0, count 0x0
>>> out_group[0x3]: type 0x0, count 0x0
>>> out_group[0x4]: type 0x0, count 0x0
>>> out_group[0x5]: type 0x0, count 0x0
>>> out_group[0x6]: type 0x0, count 0x0
>>> out_group[0x7]: type 0x0, count 0x0
>>> nb_midi_out: 0x1
>>> nb_midi_in: 0x1
>>> max_sample_rate: 0x17700
>>> min_sample_rate: 0x7D00
>>> dsp_version: 0x0
>>> arm_version: 0x5050000
>>> mixer_playback_channels: 0x10
>>> mixer_capture_channels: 0x10
>>> fpga_version: 0x4010100
>>> nb_1394_playback_channels_2x: 0xC
>>> nb_1394_capture_channels_2x: 0xC
>>> nb_1394_playback_channels_4x: 0xA
>>> nb_1394_capture_channels_4x: 0xA
>>>
>>> Kind Regards
>>>
>>>
>>> Takashi Sakamoto
>>> o-takashi at sakamocchi.jp
>>>
>>> (2013年03月09日 06:49), Doug McLain wrote:
>>>> I have been building and using the fireworks driver from
>>>> alsa-kprivate/fireworks for a few years now with my AF2 and AF12.  The
>>>> driver works great for me, although every so often after a kernel
>>>> update, compilation breaks and I have to hack at it a little bit to get
>>>> it to build again.
>>>>
>>>> Are there any plans to include this driver into the kernel?
>>>
>


More information about the Alsa-devel mailing list