Source: alsa-project/snd-firewire-ctl-services#85 (comment)
Here is a recap of the whole process to install a firewire driver on Ubuntu 22.04
-
Install rust and cargo. Instructions
-
Install dependencies sudo apt install libudev1 gobject-introspection meson ninja-build build-essential libudev-dev libgirepository1.0-dev gi-docgen
-
Generate the deb packages for other dependencies libhinawa, libhitaki and alsa-gobject
-
For each repo:
-
clone the repo, fetch the remote branch topic/debian and checkout this branch.
-
generate the deb packages with dpkg-buildpackage -rfakeroot -uc -b
-
Install the generated deb packages for the additional dependencies with sudo apt install ./<package_name.deb> for:
libhinawa2_2.5.1-1_amd64.deb
libhitaki0_0.1.1-1_amd64.deb
libalsactl0_0.3.0_amd64.deb
libalsahwdep0_0.3.0_amd64.deb
libalsarawmidi0_0.3.0_amd64.deb
libalsaseq0_0.3.0_amd64.deb
libalsatimer0_0.3.0_amd64.deb
gir1.2-hinawa-3.0_2.5.1-1_amd64.deb
gir1.2-hitaki-0.0_0.1.1-1_amd64.deb
gir1.2-alsactl-0.0_0.3.0_amd64.deb
gir1.2-alsahwdep-0.0_0.3.0_amd64.deb
gir1.2-alsarawmidi-0.0_0.3.0_amd64.deb
gir1.2-alsaseq-0.0_0.3.0_amd64.deb
gir1.2-alsatimer-0.0_0.3.0_amd64.deb
libhinawa-dev_2.5.1-1_amd64.deb
libhitaki-dev_0.1.1-1_amd64.deb
alsa-gobject-dev_0.3.0_amd64.deb
-
Clone this repo snd-firewire-ctl-services
-
Get the card_id of the firewire soundcard with arecord -l. In my case card_id is 4.
-
Run the driver:
cargo run --bin <driver_name> <card_id>
Example:
cargo run --bin snd-fireface-ctl-service 4