Hi I've been chipping away at running inferno on my rpi4. I'm using an Monome Norns image built on raspbian 11 bullseye. Statime is sucesfully recieving clock from a grandmaster (Focusrite Red 8Pre) on my Dante network and TX is working fine. I'm able to send audio streams to the red 8 on my network just fine. but, trying to get RX working is less successful.
This is my current .asoundrc
`# Inferno ALSA Configuration for Norns
Two separate instances for TX (transmit) and RX (receive)
Required because alsa_in and alsa_out cannot share the same Inferno instance
=============================================================================
Dante TX - for sending audio TO the Dante network (used by alsa_out)
=============================================================================
pcm.dante_tx {
type plug
slave {
pcm {
type inferno
NAME "NornsTX"
DEVICE_ID "e45f01f4a4450001" # Unique device ID for TX
SAMPLE_RATE 48000
TX_CHANNELS 2 # We transmit 2 channels
RX_CHANNELS 0 # TX only - no receive channels
TX_LATENCY_NS 10000000 # 10ms latency
RX_LATENCY_NS 10000000
PROCESS_ID 42 # Unique process ID
ALT_PORT 6000 # Port range 6000-6003
}
}
}
=============================================================================
Dante RX - for receiving audio FROM the Dante network (used by alsa_in)
=============================================================================
pcm.dante_rx {
type plug
slave {
pcm {
type inferno
NAME "NornsRX"
DEVICE_ID "e45f01f4a4450099" # Different device ID for RX
SAMPLE_RATE 48000
TX_CHANNELS 0 # RX only - no transmit channels
RX_CHANNELS 2 # We receive 2 channels
TX_LATENCY_NS 10000000
RX_LATENCY_NS 10000000 # 10ms latency
PROCESS_ID 43 # Different process ID
ALT_PORT 6003 # Port range 6000-6003
}
}
}
=============================================================================
Control interfaces
=============================================================================
ctl.dante_tx {
type hw
card 1
}
ctl.dante_rx {
type hw
card 2
}`
when I start the RX channels with:
export INFERNO_CLOCK_PATH=/tmp/usrvclock/statime-clock alsa_in -d dante_rx -j dante_in -q 1 &
I can see it's recieving clock:
[2026-01-28T01:34:39.430057Z INFO inferno_aoip::state_storage] using state directory: /home/we/.local/state/inferno_aoip/e45f01f4a4450099 [2026-01-28T01:34:39.430393Z INFO inferno_aoip::device_server] clock path: Some("/tmp/usrvclock/statime-clock") [2026-01-28T01:34:39.430440Z INFO inferno_aoip::device_server] waiting for clock [2026-01-28T01:34:39.430508Z INFO inferno_aoip::device_server] clock ready [2026-01-28T01:34:39.430777Z INFO inferno_aoip::device_server] all common tasks spawned [2026-01-28T01:34:39.430991Z DEBUG asound_module_pcm_inferno] started receiver
And the device shows up in the controller, but connecting it to the Red 8 I get the following errors:
[2026-01-28T01:35:17.271946Z ERROR inferno_aoip::protocol::flows_control] server returned error: 1102000a000801000323 [2026-01-28T01:35:17.272014Z ERROR inferno_aoip::device_server::channels_subscriber] failed to request flow from 169.254.121.87:4455: Kind(InvalidData) [2026-01-28T01:35:21.485120Z INFO inferno_aoip::device_server::arc_server] disconnect requested: local channel 2 [2026-01-28T01:35:25.635888Z INFO inferno_aoip::device_server::arc_server] disconnect requested: local channel 1
However, if I also start the alsa_out TX I see both instances in controller and I'm able to establish a connection between the two inferno instances:
[2026-01-28T01:35:59.430840Z INFO inferno_aoip::device_server::arc_server] connection requested: 1 <- Some("TX 1") @ Some("NornsTX") [2026-01-28T01:35:59.431373Z DEBUG inferno_aoip::device_server::channels_subscriber] we need to subscribe (local channel indices): {0} [2026-01-28T01:35:59.431412Z DEBUG inferno_aoip::device_server::channels_subscriber] after dealiasing (local channel indices): {0} [2026-01-28T01:35:59.432534Z DEBUG inferno_aoip::mdns_client] resolving ["TX 1@NornsTX", "_netaudio-chan", "_udp", "local"] [2026-01-28T01:35:59.432958Z DEBUG inferno_aoip::device_server::channels_subscriber] Ok(AdvertisedChannel { addr: 169.254.191.72:6002, tx_channels_per_flow: 2, tx_channel_id: 1, bits_per_sample: 24, dbcp1: 4354, fpp_min: 2, fpp_max: 32, min_rx_latency_ns: 10000000, multicast: None })
I have tried going down the pipewire route ( as per your advice), but am having issues getting it to play nicely with Jack. as the Monome Norns ecosystem is handling all its internal connections with Jack, ideally, pipewire should just be a bridge between inferno and the native io. But I can't even establish a device with pipewire yet so, I'm working with alsa_in and alsa_out in the meantime.
Hi I've been chipping away at running inferno on my rpi4. I'm using an Monome Norns image built on raspbian 11 bullseye. Statime is sucesfully recieving clock from a grandmaster (Focusrite Red 8Pre) on my Dante network and TX is working fine. I'm able to send audio streams to the red 8 on my network just fine. but, trying to get RX working is less successful.
This is my current .asoundrc
`# Inferno ALSA Configuration for Norns
Two separate instances for TX (transmit) and RX (receive)
Required because alsa_in and alsa_out cannot share the same Inferno instance
=============================================================================
Dante TX - for sending audio TO the Dante network (used by alsa_out)
=============================================================================
pcm.dante_tx {
type plug
slave {
pcm {
type inferno
NAME "NornsTX"
DEVICE_ID "e45f01f4a4450001" # Unique device ID for TX
SAMPLE_RATE 48000
TX_CHANNELS 2 # We transmit 2 channels
RX_CHANNELS 0 # TX only - no receive channels
TX_LATENCY_NS 10000000 # 10ms latency
RX_LATENCY_NS 10000000
PROCESS_ID 42 # Unique process ID
ALT_PORT 6000 # Port range 6000-6003
}
}
}
=============================================================================
Dante RX - for receiving audio FROM the Dante network (used by alsa_in)
=============================================================================
pcm.dante_rx {
type plug
slave {
pcm {
type inferno
NAME "NornsRX"
DEVICE_ID "e45f01f4a4450099" # Different device ID for RX
SAMPLE_RATE 48000
TX_CHANNELS 0 # RX only - no transmit channels
RX_CHANNELS 2 # We receive 2 channels
TX_LATENCY_NS 10000000
RX_LATENCY_NS 10000000 # 10ms latency
PROCESS_ID 43 # Different process ID
ALT_PORT 6003 # Port range 6000-6003
}
}
}
=============================================================================
Control interfaces
=============================================================================
ctl.dante_tx {
type hw
card 1
}
ctl.dante_rx {
type hw
card 2
}`
when I start the RX channels with:
export INFERNO_CLOCK_PATH=/tmp/usrvclock/statime-clock alsa_in -d dante_rx -j dante_in -q 1 &I can see it's recieving clock:
[2026-01-28T01:34:39.430057Z INFO inferno_aoip::state_storage] using state directory: /home/we/.local/state/inferno_aoip/e45f01f4a4450099 [2026-01-28T01:34:39.430393Z INFO inferno_aoip::device_server] clock path: Some("/tmp/usrvclock/statime-clock") [2026-01-28T01:34:39.430440Z INFO inferno_aoip::device_server] waiting for clock [2026-01-28T01:34:39.430508Z INFO inferno_aoip::device_server] clock ready [2026-01-28T01:34:39.430777Z INFO inferno_aoip::device_server] all common tasks spawned [2026-01-28T01:34:39.430991Z DEBUG asound_module_pcm_inferno] started receiverAnd the device shows up in the controller, but connecting it to the Red 8 I get the following errors:
[2026-01-28T01:35:17.271946Z ERROR inferno_aoip::protocol::flows_control] server returned error: 1102000a000801000323 [2026-01-28T01:35:17.272014Z ERROR inferno_aoip::device_server::channels_subscriber] failed to request flow from 169.254.121.87:4455: Kind(InvalidData) [2026-01-28T01:35:21.485120Z INFO inferno_aoip::device_server::arc_server] disconnect requested: local channel 2 [2026-01-28T01:35:25.635888Z INFO inferno_aoip::device_server::arc_server] disconnect requested: local channel 1However, if I also start the alsa_out TX I see both instances in controller and I'm able to establish a connection between the two inferno instances:
[2026-01-28T01:35:59.430840Z INFO inferno_aoip::device_server::arc_server] connection requested: 1 <- Some("TX 1") @ Some("NornsTX") [2026-01-28T01:35:59.431373Z DEBUG inferno_aoip::device_server::channels_subscriber] we need to subscribe (local channel indices): {0} [2026-01-28T01:35:59.431412Z DEBUG inferno_aoip::device_server::channels_subscriber] after dealiasing (local channel indices): {0} [2026-01-28T01:35:59.432534Z DEBUG inferno_aoip::mdns_client] resolving ["TX 1@NornsTX", "_netaudio-chan", "_udp", "local"] [2026-01-28T01:35:59.432958Z DEBUG inferno_aoip::device_server::channels_subscriber] Ok(AdvertisedChannel { addr: 169.254.191.72:6002, tx_channels_per_flow: 2, tx_channel_id: 1, bits_per_sample: 24, dbcp1: 4354, fpp_min: 2, fpp_max: 32, min_rx_latency_ns: 10000000, multicast: None })I have tried going down the pipewire route ( as per your advice), but am having issues getting it to play nicely with Jack. as the Monome Norns ecosystem is handling all its internal connections with Jack, ideally, pipewire should just be a bridge between inferno and the native io. But I can't even establish a device with pipewire yet so, I'm working with alsa_in and alsa_out in the meantime.