Snapclient no longer working in 12.2

  • The recent upgrade to the Snapcast client service under Libreelec 12.2 release isn't working when it was previously working under 12.1. Unfortunately, nothing related to Snapcast is populating in my Kodi logs and I'm not seeing anything in journalctl related to the Snapclient service.

    There was a recent unintentional case change to the Snapclient runtime operator to identify the soundcard. They changed --soundcard to --Soundcard. I found this impacted a few of my other Snapclients running on linux. It looks like the dev is going to revert this unintentional change in future releases.

    I'm not sure if this change could be the culprit of why Snapclient is broken in 12.2. I didn't see any way to change how the soundcard is being identified within any of the files under /storage/.kodi/addons/service.snapclient to test this theory out myself.

    Code
    $ snapclient --help                                                                                                                        Usage: snapclient [options...] [url]                                                                                                                                                                                                                                                                                           With 'url' = ://[:port]                                                                                                     For example: "tcp:\\192.168.1.1:1704", or "ws:\\homeserver.local"                                                                                              If 'url' is not configured, snapclient tries to resolve the snapserver IP via mDNS                                                                                                                                                                                                                                             --help                              Produce help message                                                                                                       -v, --version                       Show version number                                                                                                        -h, --host arg                      (deprecated, use [url]) Server hostname or ip address                                                                      -p, --port arg (=1704)              (deprecated, use [url]) Server port                                                                                        -i, --instance arg (=1)             Instance id when running multiple instances on the same host                                                               --hostID arg                        Unique host id, default is MAC address                                                                                     --cert arg                          Client certificate file (PEM format)                                                                                       --cert-key arg                      Client private key file (PEM format)                                                                                       --key-password arg                  Key password (for encrypted private key)                                                                                   --server-cert [=arg(="default certificates")]                                                                                                                                                      Verify server with CA certificate (PEM format)                                                                             -l, --list                          List PCM devices                                                                                                           -s, --Soundcard arg (=default)      index or name of the pcm device                                                                                            --Latency arg (=0)                  latency of the PCM device                                                                                                  --sampleformat arg                  Resample audio stream to ::                                                                          --player arg (=alsa)                alsa|file[:|?]                                                                                                    --mixer arg (=software)             software|hardware|script|none|?[:]                                                                                -d, --daemon [=arg(=-3)]            Daemonize, optional process priority [-20..19]                                                                             --user arg                          the user[:group] to run snapclient as when daemonized                                                                      --logsink arg                       Log sink [null,system,stdout,stderr,file:]                                                                       --logfilter arg (=*:info)           log filter :[,:]* with tag = * or  and level = [trace,debug,info,notice,warning,error,fatal]
  • Go to Best Answer
  • Thank you for the parameter info!

    So I updated "--soundcard" to "--Soundcard" on line 30 of /storage/.kodi/addons/service.snapclient/bin/snapclient.start, rebooted the box and unfortunately the service still doesn't start.

    I'm sorry that I'm unable to find any other log info or data on what's causing this service to fail. Please let me know if there's anything I can help test on my end with my Snapcast setup.

  • I also tested the soundcard parameter "-s" in addition to "--Soundcard" within snapclient.start and neither one was successful getting the service to start.

  • You have to change --latency too.

    Use systemctl stop service.snapclient and systemctl start service.snapclient while testing, reboot only as final test.

    If i still failing we will start talking about logging ;)

  • Updating the case of --latency on line 37 did the trick! I should have paid closer attention to which parameters were impacted by the case change.

    Thanks so much for your help!