Earmen Sparrow - Roopieee

Hi, I’m looking at getting a Cambridge audio DAc magic 200 - however they’re out of stock everywhere here in Denmark until September time. I was at the same time interested in also getting an Earmen Sparrow to use with my iPad and computer when I get back to the office. I was wondering if there were any known reasons why the DAC wouldn’t work with a pi running roopieee as a stop gap in my main system? The alternative would be picking up a second hand DAC to use whilst I wait…

Advice would be great fully received.

Thanks a lot,

Joe

No idea, but I replaced a pricey Cambridge Azur 851 N with this and I am completely happy with it running Ropieee on the integrated Pi4.

Continuing the discussion from Earmen Sparrow - Roopieee:

Hi,

I took the plunge and got the earmen sparrow. As a stop gap until my DAC Magic arrives I wanted to connect it via a Pi running roopieee into my hi-fi. Everything looks like it should be working. However, I momentarily get the screen below showing it connected in Roon and then it disappears from the Roon device lists. I can’t get this to authorise from here.

I’ve used this Pi previously with another Schiit DAC without issue and the lights are flashing as expected on the Pi. Has anyone encountered similar before or have a solution?

The screen shot below shows what appears before it just disappears completely from Roon and isn’t shown at all.

Add images

Can you show pics of the Roopieee config. And for a dumb question, did you follow the setup guide exactly? I know I messed up the name in the Roon control zone portion of the setup once. Is the extension showing correctly?

Hi Craig,

Screen shots below. I’ve just reflashed the SD card and I’ve had exactly the same issue. The first reflash it showed up but as soon as I enabled - it crashed and disappeared from Roon as an option to output.

The DAC is appearing correctly connected with the lights on and when I plug my desk DAC into the Pi it sees and functions correctly with it. I’ve sent a log 110d06a38bef8a1d if someone can look into this?

I’m now really confused @spockfish I don’t know if you’ve ever seen anything like this before but when I’ve then tried the Sparrow on another Pi I have connected on my desk to a Schiit it also disappears from Roon once I try and enable it. When I take the DAC out and replug it in it works once more. I’ve done this with both Pi’s so I’m wondering if this is an issue with the Earmen DAC?

Looking at your logs it seems fine. The DAC is properly recognized, so no issues on the RoPieee side.

I’m wondering if, for some reason, you’ve confused Roon by moving the DAC to another Pi. I also see that you have not named it (in the first screenshot).

My suggestion: start looking on the Roon side. And for me that always begins with a reboot of the Core :wink:

I’m having the same problem - roon bridge on Roopiee briefly detects the EarMen Sparrow - I rename the device via the windows 10 client and hit enter and then the Roon client crashes and Roopiee no longer shows up - a core restart doesn’t help. If I replace the Sparrow with a DragonFly Black and restart everything it works ok again.

FYI, if I plug the Sparrow directly into the Windows 10 PC, roon can use it ok. Only when I connect to the RPi does it crash.

EarMen Eagle does the exact same thing, not surprisingly. I didn’t see this post until after I had tried plugging the Eagle into a RPi4 running RoPieee. Great DAC, wish I could use it with my RPi.

Several months later, I come across this thread while troubleshooting EarMen Sparrow and Ropieee not working together. Quick appearance, crash, etc. all the same in Feb '22

I’m seeing the same here.

I investigated in the logs a bit, and this is what I found:

It seems that the RAATServer on the Pi is crashing when it is supposed to enable the Sparrow.

On the Core side, there’s the following in the logs:

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.

And so on, it can’t ever reach the device again until Ropieee is rebooted.

On Ropieee’s side, in /var/roon/RAATServer/Logs/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

I wonder why it enumerates its IP addresses after it has enabled the Sparrow. Looks as if it has somehow lost its network, but that’s just speculation.

The RAATServer is still running afterwards, but it seems it doesn’t answer any requests from the Core anymore.

So, yes, it looks as if Roon software is the culprit here, but I’m not sure what the logs actually tell us or what could be done to mitigate the problem.

Has anybody tried using the Sparrow with DietPi or something similar?

I created a post in the Support category for this: RAATServer on Pi seems to stop working when enabling a certain USB device (EarMen Sparrow)

It seems that this actually is a Ropieee issue, possibly an issue with the underlying OS? As I couldn’t find any errors in the OS logs, it’s hard to tell.

I found that it works with DietPi without problems.

There is nothing wrong with these RAAT logs.

Have you tried it with a wired connection?

Yes, I did.

I also tried disabling all RopieeeXL features including Bluetooth, using other USB ports and disabling USB audio power management in the Ropieee web interface, but that didn’t help.