Scrobbles (to Listenbrainz) have stopped

About a month (or so?) ago, the scrobbling to Listenbrainz (from android Simple Scrobbler) stopped working. I checked Wi-Fi passwords, IDs and tokens, but all seem sound; in fact I was able to import my successful last.fm scrobbles in. However the scrobbling to LB has remained ‘dormant’, and so I decided to wipe all my scrobbling data, and IDs, from my device (which has all updates blocked, so as to stop Google from sabotaging a perfectly happy machine) and uninstall the scrobbler and reboot. I reinstalled the ‘Simple Scrobbler’ 1.7.0 apk (with Listenbrainz support) again, and setup my Last.fm and Listenbrainz accounts successfully, but I still only see tracks appearing in my Last.fm account. From my pihole setup, I can see that my device is communicating with ‘api.listenbrainz.org’ and ‘api.listenbrainz.org.lan’, and so I suspect that there may be something up that is not in my local setup. I had 58,000 successful scrobbles in early July - it doesn’t appear that I’ve hit a ‘limit’. Any thoughts please? Is it perhaps related to a wider issue as suspected in this thread: Listens are no longer being submitted - #2 by Lazer ?

Hi!

Your profile shows listens from August 13. Does this mean that some more listens have arrived since you posted this?

Hi!
Looking back, the scrobbling to Listenbrainz stopped around on the 2nd of July (Clapton’s ‘I Shot The Sheriff’ at about 14:14pm), and all the subsequent ‘listens’ have been imports from last.fm, with it currently stuck at Stevie Wonders’ ‘He’s Misstra Know It All’ (I mention this just in case I import some more shortly).
Thanks :slight_smile:

Update: I installed the APK onto my Moto G5S, together with Neutron MP (the same player as on my FiiO x5iii) and started to play some tracks - voila! that is sending scrobbles (Portishead, currently). Meanwhile, the tracks playing on my FiiO are still mounting up in the scrobbler - damn! I’m confused as to why the FiiO has started to behave differently (as it is blocked from updating itself) - if only I could see the data it’s trying to send as they are both reaching out to listenbrainz.org when I look at my pihole:
the FiiO is communicating like so:
Time…Type …Domain … Client … Status
2024-08-26 09:04:57 A api.listenbrainz.org FiiOX5iii.lan OK
and the Moto like this:
2024-08-26 09:08:08 A api.listenbrainz.org MotoG5S.lan OK

So, I’ve now learnt how to set up a mobile hotspot in Windows, and route both my Moto G5 and my FiiO X5 through my PC. I’ve installed Wireshark and watched (and recorded) what is going on, and have spotted one key difference:
Both devices send ‘Client Hello (SNI=api.listenbrainz.org)’ messages, but looking through the rest, the Moto gets/sends several ‘Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message’, whereas the FiiO gets/sends several ‘Alert (Level: Fatal, Description: Certificate Unknown)’. Odd, given that I used the same token/ID to login, and that both devices say that they’re successfully logged in. More head-scratching to be done. Resetting my token and logging in again didn’t work either.

So, I’m back to importing my listens from last.fm (an inferior site, but functioning scrobble). It’s not a solution, as I really miss the ‘playing now’ (or whatever it’s called)

Ok. So, the simple ‘facts’ so far:
i) my FiiO X5iii stopped scrobbling several weeks ago
ii) pano-scrobbler will not log into Listenbrainz from my FiiO X5iii, but my Moto G5S does (with the same token).
iii) simple scrobbler will not scrobble to Listenbrainz from my FiiO X5iii, but my Moto G5S does.
iv) Both devices scrobble to last.fm from both pano scrobbler and from simple scrobbler (to the same account)
v) watching the packets being sent, and received, from both devices, to Listenbrainz, shows that the FiiO X5iii is being rejected by Listenbrainz (the Moto G5S is not)
vi) as far as I’m aware, nothing has been updated on my FiiO X5iii, as I have it locked from updating.
vii) all scrobblers have been repeatedly uninstalled and reinstalled (necessitating a fresh log-in each time)
viii) The X5iii runs a custom Android 5.1. The Moto G5S runs a fairly vanilla 8.1
ix) The FiiO X5iii has successfully been scrobbling 50,000+ songs to date.

Could it be that some form of security has been upgraded server-side that is causing older OSes to be rejected?

It might well be that the Android 5.1 on your device does not support the SSL certficiate used.

The report on SSL Server Test: api.listenbrainz.org (Powered by Qualys SSL Labs) indicates that SSL handshake with Android 5.0 should work, Android 4 is out. It does not explicitly test Android 5.1, but I would assume as 5.0 does work then stock 5.1 might in generally work also.

But with a custom ROM everything is open. In general vendor specific customization might make it difficult to make general statements about which older Android version supports the necessary encryption algorithms.

2 Likes

Interesting - I guess that would explain all of my observations. I may dig further, if only to learn something new (and to give my ageing brain a workout!). I see that last.fm (SSL test for ws.audioscrobbler.com /130.211.19.189) is a little more ‘lenient’. Would you know if Listenbrainz changed in the last couple of months? If it did, then that would confirm it for sure.

I’m not overly keen to rebuild the FiiO player, but if I get bored I may well do that - but doing so would rule out the one other variable. But I suspect that, until I get a replacement, I guess that the nice ‘playing now’ feature is gone for me, and I’m going to have to resort to importing data from last.fm - ah, well.
Many thanks indeed though :slight_smile:

ListenBrainz (and MB in general) uses Let’s Encrypt to get the certificates. When Let’s Encrypt started their service in 2015 they had their root certificate cross-signed by some other certificate that was already trusted by existing devices.

This cross-signing will expire end of September and as the Let’s Encrypt root certificate is widely supported by browser’s and operating system they won’t continue it. Earlier this year they already stopped cross-signing new certificates.

As the certificate for api.listenbrainz.org got renewed early August it is well possible that this was the date where it was generated without the cross-signed root. Or maybe already earlier, the certificates always are valid for 90 days.

According to the announcement by Let’s Encrypt this can effect Android 7 or lower. See also:

2 Likes

Excellent feedback/information - I may take the time to read, and try to understand it!
I think I can close this off as answered (though I don’t see an option :slight_smile: ).
Many thanks again

1 Like