Ticket #341 (closed feature: fixed)

Opened 13 years ago

Last modified 12 years ago

Towards M-Audio Ozonic Support

Reported by: orania Assigned to:
Priority: trivial Milestone:
Component: generic Version: FFADO SVN (trunk)
Keywords: m-audio ozonic Cc: wagi@monom.org
The device the bug applies to: M-Audio Ozonic

Description

I have satisfactory functionality on my M-Audio Ozonic, without requiring dual-boot, by way of the attached patches, "unmute" utility and mixer applet.

Attachments

avc-function-block-patch-for-ozonic.diff (3.1 kB) - added by orania on 07/28/11 01:44:43.
patch for avc_function_block.cpp
bebob-functionblock-patch-for-ozonic.diff (1.1 kB) - added by orania on 07/28/11 01:45:42.
patch for bebob_functionblock.cpp
unmute-ozonic.cpp (3.3 kB) - added by orania on 07/28/11 01:46:27.
unmute-ozonic utility
updated-SConscript.diff (0.6 kB) - added by orania on 07/28/11 01:47:18.
patch for tests/SConscript
ozonic.py (3.8 kB) - added by orania on 07/28/11 01:48:09.
Ozonic mixer py
ozonic.ui (18.4 kB) - added by orania on 07/28/11 01:48:29.
Ozonic mixer ui
configuration-patch-for-ozonic.diff (0.6 kB) - added by orania on 07/28/11 01:49:07.
configuration patch for Ozonic

Change History

07/28/11 01:44:43 changed by orania

  • attachment avc-function-block-patch-for-ozonic.diff added.

patch for avc_function_block.cpp

07/28/11 01:45:42 changed by orania

  • attachment bebob-functionblock-patch-for-ozonic.diff added.

patch for bebob_functionblock.cpp

07/28/11 01:46:27 changed by orania

  • attachment unmute-ozonic.cpp added.

unmute-ozonic utility

07/28/11 01:47:18 changed by orania

  • attachment updated-SConscript.diff added.

patch for tests/SConscript

07/28/11 01:48:09 changed by orania

  • attachment ozonic.py added.

Ozonic mixer py

07/28/11 01:48:29 changed by orania

  • attachment ozonic.ui added.

Ozonic mixer ui

07/28/11 01:49:07 changed by orania

  • attachment configuration-patch-for-ozonic.diff added.

configuration patch for Ozonic

(follow-up: ↓ 4 ) 07/28/11 07:56:17 changed by adi

Hey Mark!

Thanks for you patches. Are you subscribed to the devel ML?

The last five patches are straight-forward, I'm going to apply them as is. The first two however touch generic bebob code. Somebody who's familiar with bebob needs to review them. Are they safe to be used for all bebob devices (hardly, I guess) or do we need to special-case them?

Cheers

(in reply to: ↑ description ; follow-up: ↓ 5 ) 07/28/11 08:11:17 changed by x-dark

Replying to orania:

I have satisfactory functionality on my M-Audio Ozonic, without requiring dual-boot

What exactly was requiring dual boot? I'm asking that because my M-Audio FW Solo stay muted unless I've first boot into Windows. Maybe some of your work could be used to fix this as well.

07/28/11 08:26:25 changed by adi

JFTR: Last five patches applied as r1986, r1987, r1988, r1989.

(in reply to: ↑ 1 ) 07/28/11 08:34:32 changed by orania

Replying to adi: Hey Adi!

Are you subscribed to the devel ML?

Yes, but those get filtered to an address which I check less frequently. I will get them, though.

Are they safe to be used for all bebob devices (hardly, I guess) or do we need to special-case them?

The last five won't work without the first two (and that mixer is far from complete). I've cc-ed Daniel Wagner - he's probably best positioned to know what the effect on other bebob devices would be. I'm aware that M-Audio is suspected of deviating from the standard, but these hacks were based on my reading of the spec and the feedback I got from the device. I see stub provisions made for M-Audio's deviations, but I was unsure how to implement within that framework. Please do whatever is deemed necessary. I'm just overjoyed my device finally works!

Cheers :)

(in reply to: ↑ 2 ; follow-up: ↓ 6 ) 07/28/11 08:51:38 changed by orania

Replying to x-dark:

What exactly was requiring dual boot?

Harald Postner posted something a while ago about M-Audio devices resetting (muting outputs) when they detect a change in the GUID of the host, but that post seems to have evaporated (see http://www.ffado.org/?q=node/26). According to Pieter (see http://lalists.stanford.edu/lad/2009/08/0653.html), the Solo and Ozonic appear similar, so quite possibly the same patches could help (but check my reply to Adi). My Ozonic magically unmutes whenever I send it a valid AVC command (almost doesn't matter what I send it), so I set my "unmute-ozonic" command to execute whenever I start jack and voila! But that only works as a result of the first two patches, so we'll have to see where they're going to fit in. But yes, I expect this is going to help you.

(in reply to: ↑ 5 ) 07/28/11 09:16:45 changed by x-dark

Replying to orania: OK, thanks. I will follow this. For now, I use a mini-FW cable and the power supply and never switch off the interface.

(follow-up: ↓ 8 ) 08/03/11 05:41:31 changed by wagi

Hi, I'm fine with enabling the Enhanced Mixer. adi if you like you can go ahead and apply them. There should be any regression for devices which have a non functional enhanced mixer.

(in reply to: ↑ 7 ) 08/03/11 05:42:18 changed by wagi

Replying to wagi:

Hi, I'm fine with enabling the Enhanced Mixer. adi if you like you can go ahead and apply them. There should be any regression for devices which have a non functional enhanced mixer.

s/any/no/

03/27/12 18:00:02 changed by jwoithe

What's the current status of these last two patches? Can they go in as-is? Having glanced at them it seems to me that they will need to be special-cased for the Ozonic as they alter code which appears like it will be needed by other Bebob devices.

03/28/12 00:13:08 changed by wagi

IIRC, when I wrote the EnhancedMixer? command block parser I tried to get it working for the FA-66. But it turned out that the firmware has a broken implementation which does not allow to set any value. You can read only from the EnhancedMixer?.

Therefore I decided to turned off this part by default. The 2nd patch will enable for all devices and exposing the EnhancedMixer? for the mixer. I don't think you will break anything currently but it might be slightly confusing if you can't change the mixer.

03/28/12 01:19:11 changed by jwoithe

  • status changed from new to closed.
  • resolution set to fixed.

Thanks for the info Wagi. Based on your comment I have applied the remaining two patches in r2090 (avc-function-block-patch-for-ozonic.diff)and r2091 (bebob-functionblock-patch-for-ozonic.diff) which should close this ticket. If these cause regressions for other Bebob devices please re-open so the issue can be addressed.

As per Wagi's comment, note that the mixer on the FA-66 seems to be read-only due to firmware issues.