JJZolx;557204 Wrote: 
> Wouldn't a quick way to update the time be to simply reboot the Touch? 
> A quick press of the reset button on the back should do the trick. 
> Amazingly, Logitech has built a complete Linux computer, with ethernet
> and wifi and all manner of Linux software and servers, but never gave
> it the ability to maintain the time between reboots.  So when using
> TinySC the Touch _must_ go out on the internet to set its clock.

There IS a real time clock (RTC) in the processor chip, but they didn't
put a battery on the board to keep it alive. I'm sure they did this
because the hardware team that was designing the Touch was assuming it
was going to be a network player like all other squeezeboxen so would
always be connected to an external server from which it would get its
time. 

Under linux there are two clocks, the system clock and the RTC, they
are separate clocks. In many systems the system clock just runs off the
main processor interrupt oscillator which is usually not a highly
accurate clock. In order to deal with this linux can apply an
adjustment from the system clock. It computes and updates this
adjustment by getting periodic updates from an external time server. If
setup properly this can give very accurate time, all the time. Currently
this system is not being used on the Touch.

What is being used is the standard Squeezebox time synchronization
system. In this system the player is assumed not to have any RTC so
must get its time from a SBS. The SBS gets its time from the time
system on the machine it is running on. It assumes that the machine it
runs on is already running one of these time synchronization schemes. 

Obviously when the Touch is running its own server all this falls
apart. Right now I think the Touch goes out and connects to
mysqueezebox.com when it boots so IF you have an internet connection
you at least get an update at boot time. I THINK you also get an update
when you explicitely connect to mysqueezebox.com. So one solution is to
manually connect to mysqueezebox.com once a day or every other day etc.


If you don't have a connection to the internet and want to manually set
the time you can do this by loging in to the Touch with SSH and typing
the following command:

date -s "2010-06-22 19:04:23"

Of course change the date and time to match the current conditions.
Make sure you include the double quote marks (") and realize the hours
are in 24 hour format, the 19 in the above means 7pm.

The firmware in the Touch should probably be modified to have both an
easy way to manually enter the time and some form of periodic update
either from mysqueezebox.com or an internet time server. Getting some
form of this in place is not hard, getting it RIGHT so the system works
properly in all circumstances is not trivial. Its probably going to take
a lot of thought by several people to figure out how to properly set the
system up. 

There are a lot of scenarios, external server, internet or no internet.
Local server, internet, no internet. Internet time server, mysqueezebox.
hatever is put in place has to work in all situations without weird
situations happening because something updated the time and now some
file is in the future and strange things happen. 

This probably needs to have communication between users and developers
to get this hacked out correctly. I'm not sure what the best place to
do this is, a forum thread such as this, or a bug thread. 

John S.


-- 
JohnSwenson
------------------------------------------------------------------------
JohnSwenson's Profile: http://forums.slimdevices.com/member.php?userid=5974
View this thread: http://forums.slimdevices.com/showthread.php?t=79894

_______________________________________________
Touch mailing list
Touch@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/touch

Reply via email to