Giter VIP home page Giter VIP logo

snd-firewire-ctl-services's People

Contributors

dreamcat4 avatar takaswie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

snd-firewire-ctl-services's Issues

upgrade version dependency of gir crate from v0.15 to v0.17

The gtk-rs project released glib crate version 0.17, which requires rustc version 1.64 or later as Minimum Supported Rust Version (MSRV):

The project still uses glib crate version v0.15 or later. This is due to my environment to work for it (Ubuntu 22.10, rustc version 1.61.0).

When upgrading the environment in which rustc version 1.64 or later is available, let me introduce the latest version of glib crate. I think crates in hinawa-rs and alsa-gobject should be also upgraded as well.

M-Audio ProFire Lightbridge: Kernel panic - not syncing: Fatal local machine check

Trying to revive old "M-Audio ProFire LightBridge" interface.

It's attached using adat to one PreSonus Digimax FS (I also have a Behringer Ultragain Pro-8 and an Expert Sleepers ES-3 with adat)
no-name Firewire pci-e interface (VIA VT6307 + asmedia asm1083 ICs)
motherboard is an ASRock Phantom Gaming 4 / AMD X570
CPU is a Ryzen 7 3700x
RAM is 2x16GB Corsair CMK32GX4M2B3200C16

uname -a
Linux debian 5.10.0-8-amd64 #1 SMP Debian 5.10.46-1 (2021-06-24) x86_64 GNU/Linux

lspci |grep -i firewire
05:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev 80)

I get a Kernel Panic when I turn on the "M-Audio ProFire LightBridge".

[ 96.930836] mce: [Hardware Error]: CPU 6: Machine Check Exception: 7 Bank 0: bc002800000c0135
[ 96.930837] mce: [Hardware Error]: RIP 10:ffffffffc025b08a> {get_cycle_time+0x2a/0x120 [firewire_ohci]}
[ 96.930838] mce: [Hardware Error]: TSC 69e4ebbb40 ADDR fc7000c0 MISC d01a0ffe00000000 IPID b000000000
[ 96.930840] mce: [Hardware Error]: PROCESSOR 2:870f10 TIME 1626800481 SOCKET 0 APIC c microcode 8701021
[ 96.930840] Kernel panic - not syncing: Fatal local machine check
[ 96.931077] Kernel Offset: 0x2b000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)

The "M-Audio ProFire LightBridge" crashes Windows 10 too using the M-Audio drivers for windows 7 SP1 (released 06/02/2012)
I can set the sample rate and sync and change the LED's accordingly on the ProFire. But when i try sending audio to it, windows crashes.
https://m-audio.com/support/download/drivers/firewire-installer-6.0.4-driver-5.10.0.5061

I don't have other firewire devices for testing the VIA firewire adapter.

Am I missing something obvious?

Any tips on how to proceed ?

Trouble Installing dependencies

Hello,
Thank you for all your work on the firewire audio drivers!

I have successfully installed the snd-firewire-improve drivers for my DIGI 002 Rack. I have some success using the device with snd-firewire-improve but I am getting a lot of xruns and choppy audio when using with jack2. I am now trying to build & install the snd-firewire-ctl-services as I hope that will help the device work better. Part of my problem is that I do not have any previous experience with the rust language. When I try to install the hinawa-rs and alsa-gobject-rs packages I get the following message:

$ cargo install --git https://github.com/alsa-project/hinawa-rs.git
Updating git repository https://github.com/alsa-project/hinawa-rs.git
error: no packages found with binaries or examples

$ cargo install --git https://github.com/alsa-project/alsa-gobject-rs.git
Updating git repository https://github.com/alsa-project/alsa-gobject-rs.git
error: no packages found with binaries or examples

thus when trying to build snd-firewire-ctl-services:

$ cargo build
Compiling hinawa-sys v0.4.0 (https://github.com/alsa-project/hinawa-rs.git?tag=v0.4.0#6865cfd3)
Compiling alsatimer-sys v0.2.0 (https://github.com/alsa-project/alsa-gobject-rs.git?tag=v0.2.0#fcab3654)
error: failed to run custom build command for hinawa-sys v0.4.0 (https://github.com/alsa-project/hinawa-rs.git?tag=v0.4.0#6865cfd3)

Caused by:
process didn't exit successfully: /usr/local/src/snd-firewire-ctl-services/snd-firewire-ctl-services/target/debug/build/hinawa-sys-d6c0ffcaf03d9fbd/build-script-build (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=HINAWA_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=HINAWA_STATIC
cargo:rerun-if-env-changed=HINAWA_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

--- stderr
"pkg-config" "--libs" "--cflags" "hinawa" "hinawa >= 2.3" did not exit successfully: exit status: 1
error: could not find system library 'hinawa' required by the 'hinawa-sys' crate

--- stderr
Package hinawa was not found in the pkg-config search path.
Perhaps you should add the directory containing hinawa.pc' to the PKG_CONFIG_PATH environment variable No package 'hinawa' found Package hinawa was not found in the pkg-config search path. Perhaps you should add the directory containing hinawa.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hinawa' found

warning: build failed, waiting for other jobs to finish...
error: build failed

If you can please offer me some guidance regarding how to resolve this error I would be very appreciative.

Thank you for your time.

-David

Can't run binary

When I try to launch cargo run --bin snd-dice-ctl-service I got this error:

    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `/home/pszemo/programowanie/snd-firewire-ctl-services/target/debug/snd-dice-ctl-service`
/home/pszemo/programowanie/snd-firewire-ctl-services/target/debug/snd-dice-ctl-service: error while loading shared libraries: libalsaseq.so.0: cannot open shared object file: No such file or directory

How can I link libalsaseq so that main program would see it? I mean I checked and I have libalsaseq installed (whereis libalsaseq):

libalsaseq: /usr/local/lib/x86_64-linux-gnu/libalsaseq.so

Fireface 802: Possibly overlooked mute-output option?

When muting an output channel via TotalMix FX on Windows and booting into Linux, the channel's output volume control in ALSA doesn't have any effect on the output volume of the muted channel and no audio is coming out of the output anymore.
Booting into Windows and unmuting the channel in TotalMix FX makes ALSA's channel output volume control have an effect on the output again and audio send to that output actually comes out of the Fireface 802.

Since no mute-related parameter can be found in the alsa controls, I wonder if it has been overlooked and is something stored in the hardware's device state.

error[E0308]: mismatched types

Hi,
I've installed all dependencies and E0308 appears when running the cargo build command. How can I fix it?

error[E0308]: mismatched types
   --> /home/sse_021/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hitaki-0.3.0/src/enums.rs:14:72
    |
14  |             ffi::hitaki_alsa_firewire_error_to_label(self.into_glib(), &mut ptr);
    |             ----------------------------------------                   ^^^^^^^^ expected `*mut *const u8`, found `&mut *const i8`
    |             |
    |             arguments to this function are incorrect
    |
    = note:    expected raw pointer `*mut *const u8`
            found mutable reference `&mut *const i8`
note: function defined here
   --> /home/sse_021/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hitaki-sys-0.3.0/src/lib.rs:560:12
    |
560 |     pub fn hitaki_alsa_firewire_error_to_label(
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
  --> /home/sse_021/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hitaki-0.3.0/src/enums.rs:15:38
   |
15 |             std::ffi::CStr::from_ptr(ptr).to_str().unwrap()
   |             ------------------------ ^^^ expected `*const u8`, found `*const i8`
   |             |
   |             arguments to this function are incorrect
   |
   = note: expected raw pointer `*const u8`
              found raw pointer `*const i8`
note: associated function defined here
  --> /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ffi/c_str.rs:262:25

error[E0308]: mismatched types
   --> /home/sse_021/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hitaki-0.3.0/src/enums.rs:29:71
    |
29  |             ffi::hitaki_efw_protocol_error_to_label(self.into_glib(), &mut ptr);
    |             ---------------------------------------                   ^^^^^^^^ expected `*mut *const u8`, found `&mut *const i8`
    |             |
    |             arguments to this function are incorrect
    |
    = note:    expected raw pointer `*mut *const u8`
            found mutable reference `&mut *const i8`
note: function defined here
   --> /home/sse_021/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hitaki-sys-0.3.0/src/lib.rs:575:12
    |
575 |     pub fn hitaki_efw_protocol_error_to_label(
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
  --> /home/sse_021/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hitaki-0.3.0/src/enums.rs:30:38
   |
30 |             std::ffi::CStr::from_ptr(ptr).to_str().unwrap()
   |             ------------------------ ^^^ expected `*const u8`, found `*const i8`
   |             |
   |             arguments to this function are incorrect
   |
   = note: expected raw pointer `*const u8`
              found raw pointer `*const i8`
note: associated function defined here
  --> /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ffi/c_str.rs:262:25

For more information about this error, try `rustc --explain E0308`.
error: could not compile `hitaki` (lib) due to 4 previous errors
warning: build failed, waiting for other jobs to finish...

oxfw (Apogee Duet FW): "Configuration ROM is not for 1394TA standard"

Hello,

I get the following error while trying to start the driver for the Apogee Duet audio interface. JACK has been working well with it.

$ cargo run --bin snd-oxfw-ctl-service 2
    Finished dev [unoptimized + debuginfo] target(s) in 0.07s
     Running `target/debug/snd-oxfw-ctl-service 2`
Linux file operation error: , Configuration ROM is not for 1394TA standard

Usage:
  snd-oxfw-ctl-service CARD_ID

  where
    CARD_ID: The numeric ID of sound card

linker - cannot link - something is missing (or cannot see it)

Hello.
Thanks for these new project(s) for firewire alsa. Just trying to compile / install this one. However at the very end (after compile success), then the linker cannot find references. And fails... not sure what is missing here.

Of course we have lots of build dependancies. Some other rust crates, and some C libraries. (and with GIR bridge to rust). Unfortunately I cannot seem to find what is missing anymore.

Here is the full cmdline I ran, which includes compiling deps (but is it complete?)

https://gist.github.com/dreamcat4/5ac66878e6eea10f80d5911d9cd398fb

and here is the full build log:

https://gist.github.com/dreamcat4/5ac66878e6eea10f80d5911d9cd398fb

The actual 1st linker error msg you can see at the end of the build log. It repeats several times (similar linker failure msgs):

   Compiling bebob-runtime v0.1.0 (/home/id/.builds/firewire/snd-firewire-ctl-services/libs/bebob/runtime)
   Compiling snd-firewire-ctl-services v0.1.0 (/home/id/.builds/firewire/snd-firewire-ctl-services/services)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.149zzcjbv56j4h9c.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.15bcccdujk8anvpn.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.1dkc290id8qs1nrk.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.1euf7gb6rb4bldpx.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.1jtkey3ugc56h56v.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.1y180ifhlt29a2vn.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.1ypmklp8iufifcg9.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.248cyhx70a3l0itz.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.28gjq4vdsi6g8958.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.2rqo7hb48i5469ye.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.2s7s0qksnnmlhqnn.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.2sg9z5wuy5ptlz5x.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.2zb1uxr7fwomemk7.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.389bhfpa12rfuqx.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.38bypb4ujl310epz.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.3hteldkqhqv4g3xh.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.3jedo1dsc78c0ngz.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.3pm8l4ewx662yl1w.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.3q3qr1yg5vcsukml.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.3qrpingcq5oi88o7.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.4b9f35e1eylytbri.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.4epb17s3w5rq1qw1.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.4f5s6kzbgmju3wen.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.54hdwmhmq6cl21eo.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.5cnq3izmc17ajbo6.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.5ef4xaeyydu4xy51.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.5fqgkfm0n2wjdxyo.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.dfjv5xwijcp53y0.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.qd845v15ezt5azu.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.s3qs0ht5hxre3zb.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.wzpzjwn440oyxig.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218.3z3j97lciof5wazm.rcgu.o" "-Wl,--as-needed" "-L" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps" "-L" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libsnd_firewire_ctl_services-fbb30fbec426a2eb.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/liboxfw_runtime-0838c256185504bc.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libcore-aa20d5b369e23417.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libnix-ef06e6d3e7763292.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libvoid-a21a3b904291c39d.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libcfg_if-9e5685c44d76ca0a.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libhitaki-4fa079e67c43bb39.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libhitaki_sys-900a3d4fcb04bb8b.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libalsaseq-181f56210b62c914.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libalsatimer-9a085c07a4b46580.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libalsaseq_sys-4160724151dbbb14.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libalsatimer_sys-542c83c522c7d68a.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libalsactl-52e6e4bfb90a79d7.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libalsactl_sys-e839080ad4ee5791.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/liboxfw_protocols-1cc98a9baa69cbf0.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libta1394-0fc30e7b5366b78c.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libieee1212_config_rom-d55d85c2a99a8f0c.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libhinawa-025621909f160445.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libhinawa_sys-14494471e11ed3ee.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libglib-9ef6468032042fe7.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libfutures_executor-fcd2ae7ca6ac9fe6.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libfutures_util-db4e8cf953b16973.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libslab-de332a61ef2f015a.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libpin_project_lite-567c09aa5c2806c0.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libpin_utils-7b37542bd86a85d7.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libfutures_task-df76de6971600cc5.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libfutures_channel-e9560b5f01db246a.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libfutures_core-f1562aab75d97baf.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libgobject_sys-bccda11dc39aacba.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libglib_sys-baa5727c880f0fb7.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libonce_cell-58ce2c539dbc1068.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/liblibc-73c8e2e6776f5bc1.rlib" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libbitflags-462dfa36d3305633.rlib" "-Wl,--start-group" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-05b39ac0cb4c5688.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-ccaa149b737d6503.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-a94a6388c153126b.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-1ecfa264246b85c6.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-ee710154a50440b8.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-f09986d873ea8592.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-f3521e20c99619ab.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-df6036c77d75ce21.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-24f91c1a1dfc7e13.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-bffcc61991adb202.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-cf22313353d8663e.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-c45fb100f99430e9.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-0cdc47a8a81950ea.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-f1e158606c4c82f6.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-0b608b5ef4df0ec4.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-b8438dc0bcbbcc08.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-70e2ae036775ff2f.rlib" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-815d281f7068a893.rlib" "-Wl,--end-group" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-377835cfab8dae0d.rlib" "-Wl,-Bdynamic" "-lhitaki" "-lalsaseq" "-lalsatimer" "-lalsactl" "-lhinawa" "-lgobject-2.0" "-lglib-2.0" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/id/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_oxfw_ctl_service-9fed2f17fc089218" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/liboxfw_runtime-0838c256185504bc.rlib(oxfw_runtime-0838c256185504bc.2lz9x506z170dgkk.rcgu.o): in function `<O as alsactl::auto::elem_info::ElemInfoExt>::set_enum_data':
          /home/id/.cargo/git/checkouts/alsa-gobject-rs-c7fcb4b1481d0cb3/fcab365/alsactl/src/auto/elem_info.rs:87: undefined reference to `alsactl_elem_info_set_enum_data'
          /usr/bin/ld: /home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libcore-aa20d5b369e23417.rlib(core-aa20d5b369e23417.ie2ewgu0r85cjqo.rcgu.o): in function `<O as alsactl::elem_info::ElemInfoExtManual>::set_int_data':
          /home/id/.cargo/git/checkouts/alsa-gobject-rs-c7fcb4b1481d0cb3/fcab365/alsactl/src/elem_info.rs:39: undefined reference to `alsactl_elem_info_set_int_data'
          /usr/bin/ld: /home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libalsactl-52e6e4bfb90a79d7.rlib(alsactl-52e6e4bfb90a79d7.alsactl.ac907637-cgu.14.rcgu.o): in function `alsactl::auto::elem_info::ElemInfo::new':
          /home/id/.cargo/git/checkouts/alsa-gobject-rs-c7fcb4b1481d0cb3/fcab365/alsactl/src/auto/elem_info.rs:38: undefined reference to `alsactl_elem_info_new'
          /usr/bin/ld: /home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/libalsactl-52e6e4bfb90a79d7.rlib(alsactl-52e6e4bfb90a79d7.alsactl.ac907637-cgu.14.rcgu.o): in function `<alsactl::auto::elem_info::ElemInfo as glib::types::StaticType>::static_type':
          /home/id/.cargo/git/checkouts/alsa-gobject-rs-c7fcb4b1481d0cb3/fcab365/alsactl/src/auto/elem_info.rs:30: undefined reference to `alsactl_elem_info_get_type'
          collect2: error: ld returned 1 exit status
          
  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `snd-firewire-ctl-services` due to previous error
warning: build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_firewire_digi00x_ctl_service-4c21db3479d85c3b.179e73j2590yzb81.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_firewire_digi00x_ctl_service-4c21db3479d85c3b.1951dgyrovosts3.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_firewire_digi00x_ctl_service-4c21db3479d85c3b.1d2uqv3r930z5eho.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_firewire_digi00x_ctl_service-4c21db3479d85c3b.1gybq3mrh0pnthig.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/target/debug/deps/snd_firewire_digi00x_ctl_service-4c21db3479d85c3b.25dnx49qgwm647fc.rcgu.o" "/home/id/.builds/firewire/snd-firewire-ctl-services/ta

Focusrite Saffire Pro 24 DSP Issue Settings Alsamixer

Hello,

I cannot change some settings in Alsamixer.

  1. compressor-attack - value cannot be changed

  2. compressor-enable - value cannot be changed (stuck at 0M (on))

  3. equalizer-enable - value cannot be changed (stuck at MM (off))

  4. metering -value cannot be changed (stuck at MM (off))

  5. mixer-out-saturation - all 5 settings (front,back, etc.)- value cannot be changed (stuck at MM (off))

  6. mixer-source-meter - all 5 settings (front,back, etc.)- value cannot be changed (stuck at 0<>0 )

  7. output-source-meter - all 5 settings (front,back, etc.)- value cannot be changed (stuck at 0<>0 )

  8. reverb-enable - value cannot be changed (stuck at MM (off))

  9. stream-source-meter - all 5 settings (front,back, etc.)- value cannot be changed (stuck at 0<>0 )

Also not shure if that is correct, all on/off settings for compressor, reverb, equalizer etc. are on the play side only. They cannot be found on the record side in alsamixer.

regards

Many fragmented dependencies

Hi,

I am on AVLinux which is a custom rolled debian flavour of GNU/Linux, which has a large user base for pro-audio.
I cannot install the required core dependency stack for this mixer software because its on an outdated version of Debian (and all the deps are very new). It's a lot of work to compile this project from source:
First you need to get glib from the repo, gobject-introspection isn't detected even when installed,
then you need to compile libhitaki and libhinawa etc etc.

My main qualm with this project is that the dependencies are very fragmented, when all I really need is a CLI binary
that controls my firewire mixer.
Would it be possible to statically compile a binary and add it to the release so users can just grab this if they just want to use it standalone?

Thanks,

Fireface 802 : does not work with a buffer size of 128 / periods 2

Hello

The driver works well with the fireface 802 with a buffer size of 256 or 64 and Periods = 2,
but there is an error when the buffer size = 128, and periods = 2.

Here are the error logs:

Starting jack server...
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Acquired audio card Audio5
creating alsa driver ... hw:Fireface802,0|hw:Fireface802,0|128|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ERROR: ALSA: cannot set hardware parameters for capture
ERROR: ALSA: cannot configure capture channel
Released audio card Audio5
ERROR: Cannot initialize driver
ERROR: JackServer::Open failed with -1
ERROR: Failed to open server

This works fine when the buffer size = 128, and periods = 4.

efw: Missing "Gang" switches

The ffado-mixer does not show these either, but using things like ffado-test does. The Windows GUI also shows gang switches across each pair of channels. I suspect that this is the reason the pan controls act like balance controls rather than pan controls. I will note that when using the ffado drivers, the pan controls do work as expected. So the gang switches seem to be set by default in the alsa driver. For the kind of mixing this internal mixer is made to be used for, mono inputs to stereo outputs would make more sense at least for control room monitoring but for performer personal monitoring mono outs would be useful too. So being able to switch each one would be helpful. Perhaps a better method is to set no groups as balance can be effected with changing left/right levels. So I don't know if this is a bug with this software or the snd-fireworks kernel module.

Fireface 802 : headphone outputs not working

Hello,

First thank you again for this great project.
I use the driver with a fireface 802 and 2x 8 channels input adat converters (aphex 142) and it works really well.

I think I noticed a bug on the headphone output:

  • headphone output 1L has no signal at all whatever the output we use.
  • headphone output 1R takes the signal from output 2, which is the speaker output and should not be routed to the headphone.
  • headphone outputs 2 have no signal at all whatever the output.

where is enum 'Analog-B-0' being defined?

Hello again,
This is for saffire-pro 40 (dice)... When i run the following cmdline:

amixer -c2 sget stream-source,0 
Simple mixer control 'stream-source',0
  Capabilities: enum
  Items: 'None' 'Analog-B-0' 'Analog-B-1' 'Analog-B-2' 'Analog-B-3' 'Analog-B-4' 'Analog-B-5' 'S/PDIF-coax-0' 'S/PDIF-coax-1' 'ADAT-0' 'ADAT-1' 'ADAT-2' 'ADAT-3' 'ADAT-4' 'ADAT-5' 'ADAT-6' 'ADAT-7' 'S/PDIF-opt-0' 'S/PDIF-opt-1' 'Mixer-0' 'Mixer-1' 'Mixer-2' 'Mixer-3' 'Mixer-4' 'Mixer-5' 'Mixer-6' 'Mixer-7' 'Mixer-8' 'Mixer-9' 'Mixer-10' 'Mixer-11' 'Mixer-12' 'Mixer-13' 'Mixer-14' 'Mixer-15'
  Item0: 'Analog-B-0'
  Item1: 'Analog-B-1'
  Item2: 'Analog-B-2'
  Item3: 'Analog-B-3'
  Item4: 'Analog-B-4'
  Item5: 'Analog-B-5'
  Item6: 'None'
  Item7: 'None'
  Item8: 'S/PDIF-coax-0'
  Item9: 'S/PDIF-coax-1'
  Item10: 'ADAT-0'
  Item11: 'ADAT-1'
  Item12: 'ADAT-2'
  Item13: 'ADAT-3'
  Item14: 'None'
  Item15: 'None'
  Item16: 'None'
  Item17: 'None'
  Item18: 'None'
  Item19: 'None'
  Item20: 'None'
  Item21: 'None'
  Item22: 'None'
  Item23: 'None'
  Item24: 'None'
  Item25: 'None'

it seems like only the 1st 6 anaglog input channels are being routed. This seems to concur with my early initial test (which is not verified again)... where i did not get loopback working on the last 2 analog inputs (channels 7 and 8). But there was a working signal on the 1st six (6) audio input channels.

So it seems like this is the setting for routing those inputs... at least until I do some further testing to be sure. And double check.

Anyhow I was just wondering why is only defined as ENUM values the 1st 6 channels here

  Item0: 'Analog-B-0'
  Item1: 'Analog-B-1'
  Item2: 'Analog-B-2'
  Item3: 'Analog-B-3'
  Item4: 'Analog-B-4'
  Item5: 'Analog-B-5'
  Item6: 'None'
  Item7: 'None'

and why is not exist in the interface those last 2 channels. Which would otherwise be expected as further enum label Analog-B-6 and Analog-B-7.

I can see here in the rust code a reference to the string stream-source = const ROUTER_CAP_SRC_NAME being defined here:

https://github.com/alsa-project/snd-firewire-ctl-services/blob/master/libs/dice/runtime/src/tcd22xx_ctl.rs#L207

so it looks like new and old are the string on cmdline

https://github.com/alsa-project/snd-firewire-ctl-services/blob/master/libs/dice/runtime/src/tcd22xx_ctl.rs#L369

which then must be convert to actual enum (or uint32 / <u32> whatever)

https://github.com/alsa-project/snd-firewire-ctl-services/blob/master/libs/dice/runtime/src/tcd22xx_ctl.rs#L494

and you get_vals() from the self object or wherever is being held some lookup table.

However I cannot actually find where is the enum definition (maybe in a C lib after bindings / GIR ?). To then see and know why is not exist those last 2 input channels (of 7 and 8 on the saffire pro 40 hardware, they are physical analog XLR inputs).

It would be nice to know! Many thanks

Usage to control input-setting for unit

Hi
So this is quite a great project and nice to see that your be-bob have listed the terrated aureron 7.1 . But i do wonder how is the use of the firmware ? Is that installing will list all available input of the terrated over Alsa and in order to 'select' the proper input : you enable the one in the list... as result : this will change input on the unit ?

Thanks in advance

How to install (on Fedora)?

Hello Takashi,
Me again with noob questions :).

I try to make the fireface 802 work on Fedora.


If I don't install any specific library on the system, I can see the fireface 802 in Bitwig preferences and configure the audio inputs and outputs. However there is no audio going through.
Is it normal?


To fix it I try to install snd-fireface-ctl-service.
I installed the dependencies (rust and cargo, libinawa, libitaki and alsa-gobject).

Howevere when I do snd-fireface-ctl-service 0,
There is an error : snd-fireface-ctl-service: error while loading shared libraries: libhitaki.so.0: cannot open shared object file: No such file or directory.

libhitaki.so.0 is installed.

ls -la /usr/local/lib64/
total 1388
drwxr-xr-x. 1 root root    750 11 févr. 14:19 .
drwxr-xr-x. 1 root root     90  9 août   2022 ..
drwxr-xr-x. 1 root root      0  9 août   2022 bpf
drwxr-xr-x. 1 root root    278 11 févr. 14:19 girepository-1.0
lrwxrwxrwx. 1 root root     15 11 févr. 14:07 libalsactl.so -> libalsactl.so.0
lrwxrwxrwx. 1 root root     19 11 févr. 14:07 libalsactl.so.0 -> libalsactl.so.0.3.0
-rwxr-xr-x. 1 root root 215304 11 févr. 14:06 libalsactl.so.0.3.0
lrwxrwxrwx. 1 root root     17 11 févr. 14:07 libalsahwdep.so -> libalsahwdep.so.0
lrwxrwxrwx. 1 root root     21 11 févr. 14:07 libalsahwdep.so.0 -> libalsahwdep.so.0.3.0
-rwxr-xr-x. 1 root root  74208 11 févr. 14:06 libalsahwdep.so.0.3.0
lrwxrwxrwx. 1 root root     19 11 févr. 14:07 libalsarawmidi.so -> libalsarawmidi.so.0
lrwxrwxrwx. 1 root root     23 11 févr. 14:07 libalsarawmidi.so.0 -> libalsarawmidi.so.0.3.0
-rwxr-xr-x. 1 root root 115072 11 févr. 14:06 libalsarawmidi.so.0.3.0
lrwxrwxrwx. 1 root root     15 11 févr. 14:07 libalsaseq.so -> libalsaseq.so.0
lrwxrwxrwx. 1 root root     19 11 févr. 14:07 libalsaseq.so.0 -> libalsaseq.so.0.3.0
-rwxr-xr-x. 1 root root 333720 11 févr. 14:07 libalsaseq.so.0.3.0
lrwxrwxrwx. 1 root root     17 11 févr. 14:07 libalsatimer.so -> libalsatimer.so.0
lrwxrwxrwx. 1 root root     21 11 févr. 14:07 libalsatimer.so.0 -> libalsatimer.so.0.3.0
-rwxr-xr-x. 1 root root 166112 11 févr. 14:06 libalsatimer.so.0.3.0
lrwxrwxrwx. 1 root root     14 11 févr. 14:11 libhinawa.so -> libhinawa.so.2
lrwxrwxrwx. 1 root root     18 11 févr. 14:11 libhinawa.so.2 -> libhinawa.so.2.5.1
-rwxr-xr-x. 1 root root 239944 11 févr. 14:11 libhinawa.so.2.5.1
lrwxrwxrwx. 1 root root     14 11 févr. 14:19 libhitaki.so -> libhitaki.so.0
lrwxrwxrwx. 1 root root     18 11 févr. 14:19 libhitaki.so.0 -> libhitaki.so.0.1.1
-rwxr-xr-x. 1 root root 204072 11 févr. 14:10 libhitaki.so.0.1.1
drwxr-xr-x. 1 root root    152 11 févr. 14:19 pkgconfig

How can I make this work?

Thank you

Error at build

Hi,

I tried to build snd-firewire-ctl-services with the command below and failed.

root@darkstar:/tmp/snd-firewire-ctl-services-master# cargo build 2>./log

The command gave me a very long error log attouched below .

log.txt

I'm sorry I can't read what was wrong from the log because I have no knowledge of the cargo build system.

Of course, before building it, I had installed its dependencies, the latest version of libhinawa, libhitaki and alsa-gobject under /usr/local.

I would appreciate any advice or suggestions for the proper build.

Thanks,
Susie B.

efw: +4/pad switches missing

There is a whole other set of controls which ffado-mixer calls "Pad" but the Windows GUI calls "+4" that are missing. I think calling them +4 (or maybe -10) is better because the outputs work opposite to the inputs. That is, for inputs, turning this on in ffado-mixer makes the input level go up (that would seem to indicate on is for -10 signals). For outputs, turning this on makes the the level go down so again -10. The values from the device may say pro/consumer, Pro devices run at +4 while consumer devices run at -10.
The input switches would be more important that the output switches as a large input could overload the analog portion of the preamp. The pad to set inputs to +4 mode should be passive and come before the preamp. (not saying I know this is true in fact, the delta series cards just set the input/output levels differently (at least the D44/66)

Unexpected response status code 21 running snd-bebob-ctl-service against PreSonus Firebox

Hi there! Thanks for all the work supporting firewire devices.

I confirmed I can use the PreSonus Firebox hardware DSP mixer via libffado v2.4.7 but wanted to see if I could get it running with ALSA. I'm somewhat familiar with Linux audio internals but wanted to file an issue in case I'm missing something obvious in either building the project or invoking it.

I built the following:

  • libhinawa 2.5.1
  • libhitaka 0.2.0
  • snd-firewire-ctl-services 0.1.0

Here's my output:

$ snd-bebob-ctl-service -l debug 0
2023-07-03T20:31:42.741987Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=MediaClockParameters { freq_idx: 1 } res=Ok(())
2023-07-03T20:31:42.748050Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=SamplingClockParameters { src_idx: 0 } res=Ok(())
2023-07-03T20:31:42.781479Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcLevelParameters { levels: [0, 0, 0, 0, 0, 0] } res=Ok(())
2023-07-03T20:31:42.792918Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcLevelParameters { levels: [0, 0] } res=Ok(())
2023-07-03T20:31:42.827229Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcLevelParameters { levels: [0, 0, 0, 0, 0, 0] } res=Ok(())
2023-07-03T20:31:42.833004Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcLevelParameters { levels: [0] } res=Ok(())
2023-07-03T20:31:42.844518Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcLevelParameters { levels: [0, 0] } res=Ok(())
2023-07-03T20:31:42.878950Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcLrBalanceParameters { balances: [32512, -32768, 32512, -32768, 32512, -32768] } res=Ok(())
2023-07-03T20:31:42.890431Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcLrBalanceParameters { balances: [32512, -32768] } res=Ok(())
2023-07-03T20:31:42.924342Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcMuteParameters { mutes: [false, false, false, false, false, false] } res=Ok(())
2023-07-03T20:31:42.935929Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcMuteParameters { mutes: [false, false] } res=Ok(())
2023-07-03T20:31:42.970092Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcMuteParameters { mutes: [false, false, false, false, false, false] } res=Ok(())
2023-07-03T20:31:42.975793Z DEBUG cache: snd_bebob_ctl_service::common_ctls: params=AvcMuteParameters { mutes: [false] } res=Err(Error { domain: g-file-error-quark, code: 21, message: "unexpected response status" })
Linux file operation error: , unexpected response status

Can't compile

Greetings! Trying to compile snd-bebob-ctl-service for M-Audio Project Mix I/O.

As far as I understood, it requires this one as well: https://github.com/alsa-project/alsa-gobject/
Tried installing alsa-gobject, after running pkg-config --cflags --libs alsactl getting this:

Package alsactl was not found in the pkg-config search path.
Perhaps you should add the directory containing `alsactl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'alsactl', required by 'virtual:world', not found
Returning to snd-firewire-ctl-services, while trying "cargo build":
[s@asus-mainrig snd-firewire-ctl-services]$ cargo build
   Compiling hinawa-sys v0.4.0 (https://github.com/alsa-project/hinawa-rs.git?tag=v0.4.0#6865cfd3)
   Compiling alsatimer-sys v0.2.0 (https://github.com/alsa-project/alsa-gobject-rs.git?tag=v0.2.0#fcab3654)
   Compiling alsactl-sys v0.2.0 (https://github.com/alsa-project/alsa-gobject-rs.git?tag=v0.2.0#fcab3654)
error: failed to run custom build command for `alsatimer-sys v0.2.0 (https://github.com/alsa-project/alsa-gobject-rs.git?tag=v0.2.0#fcab3654)`

Caused by:
  process didn't exit successfully: `/home/s/sound/snd-firewire-ctl-services/target/debug/build/alsatimer-sys-58b1bd9cf56c052d/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=ALSATIMER_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=ALSATIMER_STATIC
  cargo:rerun-if-env-changed=ALSATIMER_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  `"pkg-config" "--libs" "--cflags" "alsatimer" "alsatimer >= 0.0"` did not exit successfully: exit status: 1
  error: could not find system library 'alsatimer' required by the 'alsatimer-sys' crate

  --- stderr
  Package alsatimer was not found in the pkg-config search path.
  Perhaps you should add the directory containing `alsatimer.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'alsatimer', required by 'virtual:world', not found
  Package 'alsatimer', required by 'virtual:world', not found

warning: build failed, waiting for other jobs to finish...
error: build failed

Also tried compiling and installing alsa-gobject-rs and libhinawa, and it does not help. Lastly, tried fiddling around with the PKG_CONFIG_PATH=/usr/bin:/home/s/sound/alsa-gobject/build/meson-private/:/home/s/sound/libhinawa/build/meson-private/:/home/s/sound/alsa-gobject/build/meson-private/:/home/s/sound/alsa-gobject/build/meson-private/ etc. Does not work.

OS: Garuda Linux (arch-based)
Kernel: 5.15.24-2-lts
Alsactl installed, exists and runs OK.

Any advice? Can't get audio output on the Project Mix, basically I just need to enable all audio outputs and pull the volume up, however, the ffado-mixer also does not work.

Thanks!

Help with compiling

I tried compiling but I don't know rust and cargo.

git clone https://github.com/alsa-project/snd-firewire-ctl-services/
cd snd-firewire-ctl-services
cargo build

failed with this output.


    Updating git repository `https://github.com/alsa-project/alsa-gobject-rs.git`
    Updating crates.io index
    Updating git repository `https://github.com/alsa-project/hinawa-rs.git`
   Compiling proc-macro2 v1.0.32
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.82
   Compiling serde v1.0.130
   Compiling unicode-segmentation v1.8.0
   Compiling pkg-config v0.3.22
   Compiling strum v0.18.0
   Compiling version-compare v0.0.10
   Compiling libc v0.2.109
   Compiling version_check v0.9.3
   Compiling futures-core v0.3.18
   Compiling futures-task v0.3.18
   Compiling futures-util v0.3.18
   Compiling anyhow v1.0.51
   Compiling slab v0.4.5
   Compiling futures-channel v0.3.18
   Compiling pin-project-lite v0.2.7
   Compiling pin-utils v0.1.0
   Compiling either v1.6.1
   Compiling bitflags v1.3.2
   Compiling once_cell v1.8.0
   Compiling ieee1212-config-rom v0.1.0 (/home/user/scripts/snd-firewire-ctl-services/libs/ieee1212-config-rom)
   Compiling version-compare v0.0.11
   Compiling strum v0.20.0
   Compiling nix v0.17.0
   Compiling void v1.0.2
   Compiling cfg-if v0.1.10
   Compiling alsa-ctl-tlv-codec v0.0.1 (/home/user/scripts/snd-firewire-ctl-services/libs/alsa-ctl-tlv-codec)
   Compiling heck v0.3.3
   Compiling proc-macro-error-attr v1.0.4
   Compiling proc-macro-error v1.0.4
   Compiling itertools v0.9.0
   Compiling quote v1.0.10
   Compiling toml v0.5.8
   Compiling proc-macro-crate v0.1.5
   Compiling thiserror-impl v1.0.30
   Compiling strum_macros v0.18.0
   Compiling futures-macro v0.3.18
   Compiling glib-macros v0.10.1
   Compiling strum_macros v0.20.1
   Compiling thiserror v1.0.30
   Compiling system-deps v1.3.2
   Compiling glib-sys v0.10.1
   Compiling gobject-sys v0.10.0
   Compiling hinawa-sys v0.4.0 (https://github.com/alsa-project/hinawa-rs.git?tag=v0.4.0#6865cfd3)
   Compiling futures-executor v0.3.18
   Compiling system-deps v2.0.3
error: failed to run custom build command for `hinawa-sys v0.4.0 (https://github.com/alsa-project/hinawa-rs.git?tag=v0.4.0#6865cfd3)`

Caused by:
  process didn't exit successfully: `/home/user/scripts/snd-firewire-ctl-services/target/debug/build/hinawa-sys-3b7316a75307a0e6/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=HINAWA_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=HINAWA_STATIC
  cargo:rerun-if-env-changed=HINAWA_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  `"pkg-config" "--libs" "--cflags" "hinawa" "hinawa >= 2.3"` did not exit successfully: exit status: 1
  --- stderr
  Package hinawa was not found in the pkg-config search path.
  Perhaps you should add the directory containing `hinawa.pc'
  to the PKG_CONFIG_PATH environment variable
  Package 'hinawa', required by 'virtual:world', not found
  Package 'hinawa', required by 'virtual:world', not found

warning: build failed, waiting for other jobs to finish...
error: build failed

Is the late (revised) Saffire Pro 40 supported?

Hi,
I have a revised Focusrite Saffire Pro 40 (Model ID: 0x00de) which is not supported by FFADO, ffado-mixer doesn't recognize because it seems Focusrite eliminated EAP suport and moved from DICE II to DICE III.
This is the FFADO post about that: http://www.ffado.org/posts/news-20151121/

Does this project support the revised Pro 40 or only the original? the lack of access to the mixer makes this unit unusable with Linux.

Thank you very much in advance,
Luis Pablo

Restart alsa-restore.service after launching the service program

This is a feature request for planned system service program.

The alsactl(1) in alsa-utils installs some system services to store/restore current state of control element sets in sound card. This is useful to configure device status automatically.

This request is mentioned by @ovenwerks in my RFT message to LAD:
http://linux-audio.4202.n7.nabble.com/RFT-ALSA-control-service-programs-for-Fireworks-board-module-tp110065p110088.html

Unfortunately, current implementation of alsactl includes some bugs to represent the status in cache file. In my memory, it's file format issue. As a result, alsactl restores control element set unexpected by the service program.

efw: monitor panning works like balance switch

@ovenwerks reports at #3 with his Audiofire 12.

pans seem to work more like a balance, not a pan though. (I expected my mono mic to be able to move from side to side, but it just got louder or quieter.

In 2a2bf6d, implementation for Fireworks transaction has invalid command numbers for pan of monitor functionality. They are the same as solo.

pub struct EfwMonitor {}

impl EfwMonitor {
    const CMD_SET_VOL: u32 = 0;
    const CMD_GET_VOL: u32 = 1;
    const CMD_SET_MUTE: u32 = 2;
    const CMD_GET_MUTE: u32 = 3;
    const CMD_SET_SOLO: u32 = 4;
    const CMD_GET_SOLO: u32 = 5;
    const CMD_SET_PAN: u32 = 4;
    const CMD_GET_PAN: u32 = 5;

How to install (on Ubuntu)?

Hello,
I am new to this. Sorry for my stupid questions.

I just would like to install the firewire driver for the fireface 802 on ubuntu 22.04.

I cloned this repo, then I installed the dependencies:

  • rust and cargo,
  • and with apt install: libudev1, gobject-introspection, meson, ninja-build, build-essential and libgtk2.0-dev

Now I would like to install libhinawa, libhitaki and alsa-gobject. So I cloned the 3 repos to build them. But in the docs, I don't understand what are the directory-to-install and the build-directory variables.

Could you explain how to do it please?

Liquid Saffire 56 "Optical interface mode not found for value 3"

Hi Takashi,

I'm very sorry to waste your time, but I'm new at this. I was able to get all of the dependencies, compile everything, and install snd-dice-ctl-service, but when I go to run the file, I get this error:

$ cargo run --bin snd-dice-ctl-service
    Finished dev [unoptimized + debuginfo] target(s) in 0.12s
     Running `target/debug/snd-dice-ctl-service`
target/debug/snd-dice-ctl-service: error while loading shared libraries: libhitaki.so.0: cannot open shared object file: No such file or directory

Do you know what I'm doing wrong?

Sorry again for the trouble. Thank you in advance.

efw: monitor parameters are always zero even if set as non-zero

I found this bug when investigating #3

Even if I configure monitor parameters as non-zero, they are displayed zero after restarting the service program.

This is a bug in implementation of EfwMonitor. In Fireworks transaction, three parameters are available in response of each of monitor command. The last parameter is the current value. However, current implementation refers to the second parameter, which is destination.

pub struct EfwMonitor {}

impl EfwMonitor {
    ...
    const CMD_SET_MUTE: u32 = 2;
    ...
    pub fn get_vol(unit: &hinawa::SndEfw, dst: usize, src: usize) -> Result<i32, Error> {
        let args = [src as u32, dst as u32, 0];
        let mut params = [0; 3];
        let _ = unit.transaction(
            u32::from(Category::Monitor),
            Self::CMD_GET_VOL,
            &args,
            &mut params,
        )?;
        Ok(params[1] as i32)
    }
    ...
}

snd-firewire-ctl-services not building on cargo

Greetings! Trying to install snd-firewire-digi00x-ctl-service using cargo install --runtime/digi00x, i have dependencies installed.

This is the error I'm having:

Compiling core v0.1.0 (/home/naku/ctrl/snd-firewire-ctl-services/runtime/core)
error[E0412]: cannot find type `Signal` in module `signal`
  --> runtime/core/src/dispatcher.rs:68:64
   |
68 |     pub fn attach_signal_handler<F>(&mut self, signum: signal::Signal, cb: F)
   |                                                                ^^^^^^ not found in `signal`
   |
help: consider importing this struct
   |
4  + use glib::subclass::Signal;
   |
help: if you import `Signal`, refer to it directly
   |
68 -     pub fn attach_signal_handler<F>(&mut self, signum: signal::Signal, cb: F)
68 +     pub fn attach_signal_handler<F>(&mut self, signum: Signal, cb: F)
   |

For more information about this error, try `rustc --explain E0412`.
error: could not compile `core` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `snd-firewire-digi00x-ctl-service v0.1.0 (/home/naku/ctrl/snd-firewire-ctl-services/runtime/digi00x)`, intermediate artifacts can be found at `/home/naku/ctrl/snd-firewire-ctl-services/target`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

I'm also having similar error when I'm building the snd-firewire-ctl-services folder using cargo build

Compiling firewire-bebob-protocols v0.2.0
error[E0412]: cannot find type `Signal` in module `signal`
  --> runtime/core/src/dispatcher.rs:68:64
   |
68 |     pub fn attach_signal_handler<F>(&mut self, signum: signal::Signal, cb: F)
   |                                                                ^^^^^^ not found in `signal`
   |
help: consider importing this struct
   |
4  + use glib::subclass::Signal;
   |
help: if you import `Signal`, refer to it directly
   |
68 -     pub fn attach_signal_handler<F>(&mut self, signum: signal::Signal, cb: F)
68 +     pub fn attach_signal_handler<F>(&mut self, signum: Signal, cb: F)
   |

For more information about this error, try `rustc --explain E0412`.
error: could not compile `core` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...

OS:
Description: Ubuntu 22.04.3 LTS (Ubuntu Studio)
Release: 22.04
Codename: jammy

Any advice?

Thank you in advance

efw: Mute control are inverse and more.

Testing with an audiofire 12. Wow lots of controls very hard to figure out which control goes where. Also impeded by not understanding ffado-mixer well. In order to see a change made by alsamixer in ffado-mixer, the "Refresh Current Panels" menu item has to be selected. In any case once I figured that out, I started testing with "Front" which really should be just 1 and 2 or 1/2. But before I got there, my AF12 defaults to wordclock and I have been having to boot with snd-fire* blacklist (modprobe -r doesn't seem to work) just so I could switch to internal. This alone is worth all of it. However, I turn the AF12 on, then run snd-firewire-ctl-services, then alsamixer. It shows wordclock, the af12 front panel shows wordclock. So I use alsamixer to switch to internal but the device front panel still shows wordclock. So then I switch it to wordclock in alsamixer at which point the front panel of the device shows internal. And jack runs without the panel flashing. I am guessing that the device when it gets a switch to wordclock and there is no signal, aborts to internal but I do not why I can not just set it to internal.

  • Input Meter and midi detect work so long as the "Monitoring" switch is turned on.
  • Mutes seem to be backwards in alsamixer where double MM means sound goes through rather than Mute. However, qasmixer has checked boxes on for muted, so I don't know where the bug(s) are in that. Ahh, I think this may be alsamixer which takes "off" to mean audio off rather than mute off. Most alsa cards use channel off for mute.
  • The level controls seem to work ok
  • pans seem to work more like a balance, not a pan though. (I expected my mono mic to be able to move from side to side, but it just got louder or quieter. (that may be the way the device works no fault of alsa)
  • solo works, mutes everything else and sends itself even if muted (that last is not standard but the way this one works)
  • The monitoring switch is the right way. On is on.
  • Calling the controls front, rear, center, woofer and side means that alsamixer only shows 8 out of 12 controls. Qasmixer has these names with numbers as well and when it runs out of names it uses ? number. If the wierd names need to remain, at least make the rest aux1-l/r, aux2l/r (they should really all be stereo pairs or all singles, but Echo's own GUI for windows/macos treats them as stereo pairs. Alsa is half and half with center and woofer being mono.

In all a gui like mudita24 has for the ICE1712 chip, would be great

efw: clock source configuration is invalid

@ovenwerks reports at #3 with his Audiofire 12.

In ALSA control applications, change operation for clock source looks successful but the LEDs on device have no effect from the operation.

In 2a2bf6d, the change operation is written below:

$ cat src/efw/clk_ctl.rs
    pub fn write(
        &mut self,
        unit: &hinawa::SndEfw,
        elem_id: &alsactl::ElemId,
        old: &alsactl::ElemValue,
        new: &alsactl::ElemValue,
    ) -> Result<bool, Error> {
        match elem_id.get_name().as_str() {
            Self::SRC_NAME => {
                if !unit.get_property_streaming() {
                    let mut vals = [0; 2];
                    old.get_enum(&mut vals[0..1]);
                    new.get_enum(&mut vals[1..]);
                    if vals[0] != vals[1] {
                        EfwHwCtl::set_clock(unit, Some(ClkSrc::from(vals[0] as usize)), None)?;
                    }
                    Ok(true)
                } else {
                    Ok(false)
                }
            }
            ...
            _ => Ok(false),
        }
    }
}

The old value is referred for the transaction. Furthermore, the value should be index in device specific table for supported clock source, but actually it's code in clock transaction.

problem with cargo run - interferes with "rustup update"

Hi,
In the README instructions, the suggestion is to run the service via cargo run command

& cargo run --bin (the executable name) (the arguments of executable)

however i discovered today, that (while cargo run is running in the background). It keeps deleting a file called rustup-init in ~/.cargo/bin/... and this breaks the rustup self update (or rustup update).

Not sure why this is happening. But here is the evidence...

θ68° [id:~] 255 $ sudo auditctl -w /home/id/.cargo/bin/rustup-init -p wra
[id:~] 1 $ ausearch -f /home/id/.cargo/bin/rustup-init -i
----
type=PROCTITLE msg=audit(20/07/22 15:23:37.098:305) : proctitle=cargo run --bin snd-dice-ctl-service 1 
type=PATH msg=audit(20/07/22 15:23:37.098:305) : item=1 name=/home/id/.cargo/bin/rustup-init inode=13293144 dev=08:42 mode=file,775 ouid=id ogid=id rdev=00:00 nametype=DELETE cap_fp=none cap_fi=none cap_fe=0 cap_fver=0 cap_frootid=0 
type=PATH msg=audit(20/07/22 15:23:37.098:305) : item=0 name=/home/id/.cargo/bin/ inode=13247264 dev=08:42 mode=dir,775 ouid=id ogid=id rdev=00:00 nametype=PARENT cap_fp=none cap_fi=none cap_fe=0 cap_fver=0 cap_frootid=0 
type=CWD msg=audit(20/07/22 15:23:37.098:305) : cwd=/home/id/.builds/firewire/snd-firewire-ctl-services 
type=SYSCALL msg=audit(20/07/22 15:23:37.098:305) : arch=x86_64 syscall=unlink success=yes exit=0 a0=0x55b28d748e20 a1=0x20 a2=0x20 a3=0xfff items=2 ppid=12639 pid=1635287 auid=id uid=id gid=id euid=id suid=id fsuid=id egid=id sgid=id fsgid=id tty=(none) ses=5 comm=cargo exe=/home/id/.cargo/bin/cargo subj==unconfined key=(null) 
θ60° [id:~] $ 

and here was the error message complain from the side of rustup:

[id:~/.builds/swhkd] main ± rustup self update
info: checking for self-updates
info: downloading self-update
error: failed to set permissions for '/home/id/.cargo/bin/rustup-init': No such file or directory (os error 2)

so when i changed my systemd service file (for your service snd-firewire-ctl-*), i removed the cargo run... and just invoked the executable directly. From a static known folder. And the issue went away.

I think this is a bad thing, no idea why it happens. Perhaps it should be reported upstream (to rust developers somewhere). Also maybe remove cargo run from your readme file. Unless / until it can be fixed properly upstream.

Many thanks!

FW MOTU - very lagre buffer sizes required to avoid NMI Watchdog detected hard LOCKUP on CPU XX

Part of my post from DIYaudio:

I have been struggling with professional use of CamillaDSP for last 2 months.
It's difficult for me to contribute in other way than to provide my feedback with many combinations of hardware.

2 months ago, when i have started playing around with combination of CDSP on a server + firewire interface, the only problems I had were:

Some buffer underruns/CDSP restarts with 96k sampling frequency and 128 sample chunksize
Rare buffer underruns/CDSP restarts with 96k sampling frequency and 256 sample chunksize
Stalling of CDSP with 96k sampling frequency and 64 sample chunksize - recoverable, I could just change chunksize via web gui and CDSP would restart itself with stable parameters

About 2-3 weeks ago something changed, completely new system with same hardware and installation method (audioscience review tutorial):

No buffer underruns/CDSP restarts with 96k sampling frequency and 2048 (!) sample chunksize, at least for 14-hour stability test
Complete freezing of whole system with 96k sampling frequency and 1024 (!) sample chunksize, within minutes of running
Complete freezing of whole system with 96k sampling frequency and 512 sample chunksize or less, right after applying changes

The system freeze means dropped connection via web GUI and SSH as well as console notification:
NMI Watchdog detected hard LOCKUP on CPU XX
The only thing I can do at this point is to do a hard reset of the machine, or power cycle.
Needles to say this is unacceptable from a stability point of view.

Tested Hardware:

PCs:

Haswell-based Supermicro server (Xeon E3-1271 V3, X10 supermicro MB)
Skylake-based Suprmicro server (Xeon E3-1220 V6, Asus P10 MB)

Firewire PCIe cards:

TI-based (...)ZAY chip, 3x FW800 ports
TI-based (...)ZAY chip, 1x FW400 + 2x FW800 ports (recommended by ‘Interfacing Linux’ guy)
VIA – based chip with PCI bridge chip, 3x FW400

Firewire interfaces (all of them made by MOTU):

2 different UltraLite
2 different 828 MK2
2 different 828 MK3
UltraLite MK3 FW
UltraLite MK3 Hybrid
Traveler

A lot of different FW cables, various lenghts and makes

Tested Software:

Firewire drivers:

Takashi Sakamoto’s alsa-firewire, versions 4.17 and 5.19
Kernel-included from 5.14 upwards

Kernels:

almost everyone from 4.10 to 6.06
generic
lowlatency
rt

Distros:

Ubuntu desktop 18.4; 20.4; 20.10
Ubuntu server 18.4; 20.4; 20.10
Debian 10
Debian 11
Debian 12

CDSP versions:

1.0.0; 1.0.1; 1.0.2; 1.0.3
no GUI and GUI 1.0.0; 1.0.1

Every combination of the above gives the same result. Even if I can make it work ‘stable’, the chunksize is so big that latency without FIR filters is significant (above 30-40 ms).
Unstability means system lockup, as I have mentioned before. It used to work before last 2-3 weeks. My yet another conclusion is that the problem lies in dependencies, for example updated python packages? The distribution, kernel, hardware, drivers and CDSP doesn’t seem to matter.
I have invested a lot of time and funds to make it work – no success now, with a big red flag that package upgrades might ruin this software/hardware combination.

I beg you all for help, I can provide logs/configs after NYE. Even if my problem can’t be resolved – this can be a warning for everyone who wants to try to go ‘pro’ with firewire.

Capacity of snd.ko

Hello,

I am Linux Kernel:

Linux version 5.4.0-94-lowlatency (buildd@lcy02-amd64-053).

My Card is a Focusrite Saffire Pro 24 DSP Firewire, detected with cat /proc/asound/cards:

0 [Pro24DSP002245 ]: DICE - Pro24DSP-002245

Focusrite SAFFIRE_PRO_24DSP (serial 8773) at fw1.0, S400

I had no issue in building.

When executing: cargo run --bin snd-dice-ctl-service 0

I receive:

Finished dev [unoptimized + debuginfo] target(s) in 0.05s
     Running target/debug/snd-dice-ctl-service 0
Allocation of user-defined element set reached capacity of snd.ko
This can be fixed by using Linux kernel v5.13 or later,
or by using snd.ko pached to extend the capacity.
The capacity is defined as 'MAX_USER_CONTROLS'located in 'sound/core/control.c'.
Fail to listen to events: ioctl(ELEM_ADD) 12(Cannot allocate memory)

Usage:
  snd-dice-ctl-service CARD_ID

  where
    CARD_ID: The numeric ID of sound card

How can I fix that?

fireworks: playback solo control fails in Mackie Onyx 400F

Loud Technologies Mackie Onyx 400F refuses request to configure playback solo due to hinawa::SndEfwStatus::BadCommand. The detail is still unclear but I guess that DSP models don't support the function since the model is one of the DSP models.

dice - 'output-group-volume' behaves erratic

When setting the volume digitally:

amixer -c1 cset iface=CARD,name=output-group-volume 127,127,127,127,127,112,127,11,113,11
numid=34,iface=CARD,name='output-group-volume'
  ; type=INTEGER,access=rw----W-,values=10,min=0,max=127,step=1
  : values=127,127,127,127,127,112,127,11,113,11

I am listening on headphones 2 (channel 9+10 of the saffire pro 40), and both the position and the values set for that given position... they DO change the volume. It becomes louder or quieter.

However the numbers do not seem to correspond to any predictable or reliable pattern. With one side going quiet. Then the other side. It is clear that the volume is changing. But it is not logical whatsoever

Fireface 802: `input:mic-power` and `input:mic-instrument` don't appear to be working as intended

The Fireface 802 has a three-state LED per Mic input indicating the status of the input. It can be in the states off, 48V or Inst. These states are taken from the manual: https://archiv.rme-audio.de/download/fface_802_e.pdf (page 57). The manual doesn't mention that these states are mutually exclusive, it also doesn't mention that the LED will show a different colour for 48Vand Inst.. If both settings are off, the LED will stop emitting light.

This repo's service exposes these settings of the Fireface 802 via the input:mic-power (48V) and the input:mic-instrument (Inst.) mixer property. However, setting any of these options doesn't cause the LED on the mic inputs to emit light.
Furthermore, this repo's service allows to set both properties input:mic-power and input:mic-instrument to true at the same time, which is not supported by the RME driver on Windows. For instance, setting the input:mic-power property of channel 9 to true should set the input:mic-instrument property of channel 9 to false if it was true before.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.