Bug 11983 - Squeezecenter requires regular restart to maintain synchronisation
: Squeezecenter requires regular restart to maintain synchronisation
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Sync
: 7.3.3
: PC Ubuntu Linux
: -- normal (vote)
: 7.3.3
Assigned To: James Richardson
http://forums.slimdevices.com/showthr...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-05-06 13:18 UTC by Andrew Monks
Modified: 2009-05-21 14:59 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Monks 2009-05-06 13:18:14 UTC
My players sync up perfectly when squeezecenter has not been running for very long (say, less than a week) but gradually become offset from each other if the server's been up for much longer. Starting, stopping, unsyncing, resyncing etc has no effect on this but a squeezecenter restart sorts it out.

My server is based on a Via C7 chip running Ubuntu Server edition.  The on board clock is pretty poor and loses minutes a day without regular syncing with internet time servers.  Don't know if this is relevant though.

See forum post for another user with the same problem:
http://forums.slimdevices.com/showthread.php?t=63048
Comment 1 James Richardson 2009-05-06 13:53:49 UTC
Please provide a list of Players you are currently using, include the Firmware Version(s) for each player.

A map of your network setup would also be helpful.

Router Make/Model and Firmware version
Router Settings.  I.E. security type, SSID type, Static or Dynamic IP's, Lease time etc.

Type of content you are streaming

Other devices on your network
Comment 2 Andrew Monks 2009-05-06 14:57:00 UTC
Player Model: controller
Firmware: 
Player IP Address: 192.168.0.10

Player Model: squeezebox2
Firmware: 125
Player IP Address: 192.168.0.11

Player Model: receiver
Firmware: 60
Player IP Address: 192.168.0.12

Player Model: slimp3
Firmware: 2.3
Player IP Address: 192.168.0.13


Player Model: boom
Firmware: 45
Player IP Address: 192.168.0.14

Router is a Netgear DGN2000 though the problem also occured with the Netgear DG834G I had previously.  Firmware is V1.1.1

The network:
router on 192.168.0.1 - all other devices are 192.168.0.x
Router is DHCP server but set up to hand out fixed address to each connected device, no idea on lease times

Wired directly to the router:
   Via C7 machine running Squeezecenter 7.3.3 deb on Ubuntu server - always on
   SliMP3 - only occasionally powered up

Wirelessly connected to the router:
   Controller - always on
   Receiver - always on
   SB2 - always on
   Boom - always on
   Desktop pc running Windows Xp/Kubuntu - switched off when not in use
   Sony PS3 - only on occasionally

Wireless is WPA2-PSK, SSID broadcast, no MAC address restrictions, up to 270Mbps
Same issues on previous DG834G router using WPA-PSK on a 54Mbps g network

Content is 50% flac and 50% mp3 - stored locally on squeezecenter box

I have only noticed the problem since moving to the Via chipset based server with the rtc that loses several minutes a day
Comment 3 James Richardson 2009-05-06 16:08:07 UTC
is your slimp3 part of the sync group?

if you take slimp3 out of the sync group does the same thing happen.
Comment 4 Andrew Monks 2009-05-07 13:14:17 UTC
The Slimp3 is not part of the sync group - it is very rarely powered up at the moment

I first observed the bug whilst syncing the SB2 and Receiver - this was prior to the boom arriving, they were the only two players on the network
Comment 5 Alan Young 2009-05-09 02:55:41 UTC
(In reply to comment #0)

> My server is based on a Via C7 chip running Ubuntu Server edition.  The on
> board clock is pretty poor and loses minutes a day without regular syncing with
> internet time servers.  Don't know if this is relevant though.

This is very likely relevent. Can you not get a stable clock by running an NTP client. Synchronization relies on a stable sever clock.

A log at level player.sync=debug would help to clarify the situation.
Comment 6 Andrew Monks 2009-05-14 13:36:11 UTC
I have a daily cron job running to sync the server time with uk.pool.ntp.org using a ntp client.  Not sure how much it is adjusted each time but I will try to find out.

This does not seem to affect the sync problem though, the sync between players drifts further out the longer that squeezecenter has been running - even directly after a clock sync.  A squeezecenter restart resets this offset between players and makes sync work again.

Is there some sort of initialisation that the sync code goes through when squeezecenter starts?  If this could be called without restarting queezecenter this may solve the problem.

My server and squeezecenter has been up for 7 days now so there should be a good sized delay between players.  I should get chance to test it out over the weekend with logging.
Comment 7 Alan Young 2009-05-14 22:50:59 UTC
The ntp program should be running continuously, as a daemon, not as a single-shot client.

The debug log I suggested would also be useful to try and diagnose further.
Comment 8 Andrew Monks 2009-05-16 15:32:53 UTC
Had chance to try this today, server has been up for 9 days, sync is very slightly out between my SBR and SB3

Debug log contains lots of these messages:

[09-05-16 23:28:44.0177] Slim::Player::Player::trackJiffiesEpoch (951) 00:04:20:1f:00:43 adjust jiffies epoch +0.005s
[09-05-16 23:28:49.0143] Slim::Player::Player::trackJiffiesEpoch (951) 00:04:20:05:ac:49 adjust jiffies epoch +0.005s
[09-05-16 23:28:51.8244] Slim::Player::Player::trackJiffiesEpoch (951) 00:04:20:16:3c:47 adjust jiffies epoch +0.005s
[09-05-16 23:28:59.0124] Slim::Player::Player::trackJiffiesEpoch (951) 00:04:20:16:3c:47 adjust jiffies epoch +0.005s
[09-05-16 23:29:05.8287] Slim::Player::Player::trackJiffiesEpoch (951) 00:04:20:16:3c:47 adjust jiffies epoch +0.005s
[09-05-16 23:29:09.0245] Slim::Player::Player::trackJiffiesEpoch (951) 00:04:20:1f:00:43 adjust jiffies epoch +0.005s
[09-05-16 23:29:13.8313] Slim::Player::Player::trackJiffiesEpoch (951) 00:04:20:16:3c:47 adjust jiffies epoch +0.005s
[09-05-16 23:29:14.0142] Slim::Player::Player::trackJiffiesEpoch (951) 00:04:20:05:ac:49 adjust jiffies epoch +0.005s

I will have a look at the ntp daemon option, thanks for the suggestion
Comment 9 Alan Young 2009-05-17 03:13:51 UTC
Yes, this looks like a problem with the server clock. I hope the NTP daemon is able to fix it for you.
Comment 10 Andrew Monks 2009-05-21 13:58:57 UTC
I installed the NTP daemon, a few days later and sync is now perfect without a restart.  Thanks for your help.

For anyone with a similar problem, the package I used was ntp-simple.
Comment 11 James Richardson 2009-05-21 14:58:59 UTC
Thanks for verifying the fix, i'm going to mark this one as fixed.