RAATServer on Pi seems to stop working when enabling a certain USB device (EarMen Sparrow)

Continuing the discussion from Earmen Sparrow - Roopieee:

I wanted to take the discussion here as it looks as if this is a Roon/RAATServer problem, not a Ropieee problem. Note that the Sparrow works without major problems when connected to the Core directly or to an iPad. Also note that a Schiit Jotunheim 2 with ESS DAC (also connected via USB) works without problems on the Ropieee.

My Roon Core is running on a desktop computer with current Arch Linux. Both the Core and the Bridge on the Ropieee are on the current stable Roon versions (1.8 build 913 at the Core and 1.8 build 880 at the Bridge).

Symptoms:
When I try to enable the Sparrow connected to a Ropieee Pi4, it says that it does so for about 10s, then the Ropieee vanishes from the Audio Settings screen. It only shows up again when it is rebooted. If the Sparrow is still connected to the Pi at this point, the same happens again, i.e. the Core automatically tries to enable the Sparrow, and the Ropieee vanishes again.

From the logs I gather that the Pi has no problems detecting the Sparrow.

On the Core side, it gets a normal device enumeration including the Sparrow. When the Core sends the command to enable the device it never gets an answer from the Ropieee, and never will until the Ropieee is rebooted.

On the Ropieee side, everything looks normal in the logs, except maybe that the RAATServer enumerates its network interfaces again after it has enabled the Sparrow. Not sure if this is normal. The RAATServer keeps running, just somehow isn’t reachable anymore from the Core. As far as I can tell, it doesn’t show strange behaviour like eating CPU or memory or something like that.

What I tried:

  • Using different USB ports
  • Disabling USB audio power management on the Ropiee
  • Disabling all RopieeeXL features like Bluetooth or Spotify.
  • Connecting the Ropieee via Ethernet instead of Wifi.

Log excerpts:

Core:

03/06 19:48:07 Info: [raatserver] GOT SERVER 6f4976b0-a296-962f-2a79-48ab5997c6a0::1ee387e3-b32e-40b9-96c1-75bed2fb2469 @ 192.168.178.109:9200 ropieee PROTOVER=1 RAATVER=1.1.38
03/06 19:48:07 Trace: [raatserver] [RaatServer ropieee @ 192.168.178.109:9200] connecting (attempt 1)
03/06 19:48:07 Trace: [raatserver] [RaatServer ropieee @ 192.168.178.109:9200] connected
03/06 19:48:07 Trace: [rnet/RnetJsonClient] SENT {"request":"enumerate_devices","subscription_id":"0"}
03/06 19:48:07 Trace: [rnet/RnetJsonClient] GOT NONFINAL {"status": "Success", "devices": [{"vendor": "Auris", "device_id": "hw:CARD=Sparrow,DEV=0", "type": "alsa", "name": "EarMen Sparrow", "usb_id": "0495:1044", "config": {"output": {"device": "hw:CARD=Sparrow,DEV=0", "type": "alsa", "name": "EarMen Sparrow", "dsd_mode": "none"}, "external_config": {}, "unique_id": "de974ef7-74db-fd58-b841-db68322d6126", "volume": {"device": "hw:CARD=Sparrow,DEV=0", "type": "alsa"}}}]}
03/06 19:48:07 Info: [raatserver] GOT DEVICE 1ee387e3-b32e-40b9-96c1-75bed2fb2469::hw:CARD=Sparrow,DEV=0 Type=alsa Name=EarMen Sparrow Vendor=AurisUsbId=0495:1044
03/06 19:48:11 Trace: [rnet/RnetJsonClient] SENT {"request":"enable_device","device_id":"hw:CARD=Sparrow,DEV=0","subscription_id":"4"}
03/06 19:48:13 Warn: Error in web request https://push.roonlabs.com/push/1/connect: NetworkError (The request was aborted: The request was canceled.)
03/06 19:48:13 Trace: [push] request to manager failed
03/06 19:48:13 Trace: [push] retrying connection in 2002952ms
03/06 19:48:13 Info: [stats] 23250mb Virtual, 983mb Physical, 257mb Managed, 291 Handles, 82 Threads
03/06 19:48:20 Warn: Error in web request https://push.roonlabs.com/push/1/connect: NetworkError (The remote server returned an error: (502) Bad Gateway.)
03/06 19:48:20 Trace: [push] request to manager failed
03/06 19:48:20 Trace: [push] retrying connection in 783659ms
03/06 19:48:23 Trace: [rnet/RnetJsonClient] no data received for >10000ms. Killing connection. 
03/06 19:48:23 Trace: [raatserver] [RaatServer ropieee @ 192.168.178.109:9200] lost client connection. Retrying
03/06 19:48:23 Trace: [raatserver] [RaatServer ropieee @ 192.168.178.109:9200] connecting (attempt 1)
03/06 19:48:23 Trace: [raatserver] [RaatServer ropieee @ 192.168.178.109:9200] connected
03/06 19:48:23 Trace: [rnet/RnetJsonClient] SENT {"request":"enumerate_devices","subscription_id":"0"}
03/06 19:48:28 Info: [stats] 23218mb Virtual, 983mb Physical, 261mb Managed, 292 Handles, 74 Threads
03/06 19:48:33 Trace: [rnet/RnetJsonClient] no data received for >10000ms. Killing connection.
03/06 19:48:33 Trace: [raatserver] [RaatServer ropieee @ 192.168.178.109:9200] lost client connection. Retrying
03/06 19:48:33 Trace: [raatserver] [RaatServer ropieee @ 192.168.178.109:9200] connecting (attempt 1)
03/06 19:48:33 Trace: [raatserver] [RaatServer ropieee @ 192.168.178.109:9200] connected
03/06 19:48:33 Trace: [rnet/RnetJsonClient] SENT {"request":"enumerate_devices","subscription_id":"0"}
03/06 19:48:43 Info: [stats] 23178mb Virtual, 983mb Physical, 265mb Managed, 292 Handles, 71 Threads
03/06 19:48:45 Trace: [rnet/RnetJsonClient] no data received for >10000ms. Killing connection.

Ropieee RAATServer_log.txt:

03/06 19:48:07 Trace: [jsonserver] [192.168.178.54:39072] accepted connection
03/06 19:48:07 Trace: [jsonserver] [192.168.178.54:39072] GOT[LL] [1] {"request":"enumerate_devices","subscription_id":"0"}
03/06 19:48:07 Trace: [jsonserver] [192.168.178.54:39072] SENT [1] [nonfinal] {"status": "Success", "devices": [{"vendor": "Auris", "device_id": "hw:CARD=Sparrow,DEV=0", "type": "alsa", "name": "EarMen Sp
arrow", "usb_id": "0495:1044", "config": {"output": {"device": "hw:CARD=S
03/06 19:48:07 Debug: [easyhttp] [1] POST to https://bits.roonlabs.net/1/q/roon.base.,roon.internet_discovery. returned after 1858 ms, status code: 200
03/06 19:48:07 Trace: [bits] updated bits, in 2288ms
03/06 19:48:07 Trace: [inetdiscovery] added device raatserver/1ee387e3-b32e-40b9-96c1-75bed2fb2469 in addr:__ADDR__
03/06 19:48:07 Trace: [inetdiscovery] added service com.roonlabs.raatserver.tcp for device raatserver/1ee387e3-b32e-40b9-96c1-75bed2fb2469
03/06 19:48:11 Trace: [jsonserver] [192.168.178.54:39072] GOT[LL] [2] {"request":"enable_device","device_id":"hw:CARD=Sparrow,DEV=0","subscription_id":"4"}
03/06 19:48:11 Trace: [raat_wrap] creating new RAAT device
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [info] initializing info dictionary
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [info] inserting raat_version -> 1.1.38
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [info] inserting protocol_version -> 3
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [output/alsa] initializing output uniqueid=hw:CARD=Sparrow,DEV=0
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [output/alsa] preferred buffer duration=0.040000s
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [output/alsa] force_max_volume=0
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [output/alsa] resync delay=0.100000s
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [ALSA] max pcm rate=1411200
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [output/alsa] max dsd rate=1024
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [output/alsa] enable_mqa_usb_device_support=1
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [output/alsa] dsd_mode=none
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] [output/alsa] getting hardware info
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] pcm card id Sparrow
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] pcm card name EarMen Sparrow
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] pcm card longname Auris EarMen Sparrow at usb-0000:01:00.0-1.1, high speed
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] pcm card mixername USB Mixer
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] pcm card components USB0495:1044
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] pcm card driver USB-Audio
03/06 19:48:11 Trace: [RAAT::EarMen Sparrow] pcm card usb id 0495:1044
03/06 19:48:12 Trace: [ipaddresses] enumerating addresses
03/06 19:48:12 Trace: [ipaddresses]    SKIPPED lo: not up
03/06 19:48:12 Trace: [ipaddresses]    SKIPPED eth0: no ipv4
03/06 19:48:12 Trace: [ipaddresses]    FOUND   wifi0 192.168.178.109
03/06 19:48:13 Debug: [easyhttp] [2] POST to https://discovery.roonlabs.net/1/register returned after 562 ms, status code: 200
03/06 19:48:13 Trace: [inetdiscovery] registered 1 devices, 1 services
03/06 19:48:17 Trace: [RAATServer] refreshing @ 10s

If there’s anything I can do to help hunting down the problem, please tell me!

Thanks, zottel

probably worth shooting a feedback in the advanced tab on Ropieee to Harry @spockfish

If you connect the device to a USB port on your Roon Core machine, does it work and can you play from Roon to the device in that configuration? If so then I’m wondering if you may have USB auto-suspend turned on in Ropieee or some other energy saving feature on the Pi that turns off the USB.

He was already active in the other thread I linked and said there that this was probably a Roon software problem, not a Ropieee problem.

@Carl : You moved the topic from Roon Software to Ropieee, but we already have a thread there where it was concluded that this is probably a Roon software problem, not a Ropieee problem. The whole purpose of this topic was to have it under the Roon Software category so that Roon Support/Developers will have a look. And I also said so in the first paragraph. :face_with_raised_eyebrow:

I’ll move it back.

As I wrote above already: Yes, it works on the Roon Core and also on an iPad, and yes, I have already tried to turn USB power management off.

Hi @zottel, noted. However, if you want help from Roon’s support team it should be in #support, rather than #roon as that’s the forum category they monitor for support requests.

1 Like

D’oh. Of course, and that’s even stated in the header of the Roon Software category. Thanks for the heads up, I’ve moved the topic to Support now. :upside_down_face:

1 Like

All of this needs to be under one thread then … can’t expect everyone to manage one problem over 2 or more threads.

I can’t move the other thread to Support because I didn’t start it. And I tried to put all useful information into my post. Ok, the fact that Harry already answered in the other thread was missing.

@moderators should pick up on it.

It seems this is not a Roon software issue, after all. I found that it works with DietPi.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.