Problem with Zune was Toshiba’s fault, not Microsoft’s

As I suspected, and mentioned on last week’s podcast, the driver problem that dogged Zune 30 devices on December 31, 2008 was, in fact, Toshiba’s fault and not Microsoft’s. I assume all those anti-Microsoft rants will be adjusted accordingly. After doing some poking around in the source code for the Zune's clock driver (available free from the Freescale website), I found the root cause of the now-infamous Zune 30 leapyear issue that struck everyone on New Year's Eve. The Zune's real-time clock stores the time in terms of days and seconds since January 1st, 1980. When the Zune's clock is accessed, the driver turns the number of days into years/months/days and the number of seconds into hours/minutes/seconds. Likewise, when the clock is set, the driver does the opposite. The Zune frontend first accesses the clock toward the end of the boot sequence. Doing this triggers the code that reads the clock and converts it to a date and time. As Sebastian V. notes in an email (thanks for the heads-up), “Apparently, the Zune 30 was not the only device which had the Y2K9 issue. Also Toshiba Gigabeat S30 and S60 have had the same problem. Both Microsoft's and Toshiba's devices share similar hardware, including the Freescale MC13783 processor.” This is exactly what I suspected, since the first-gen Zune is just a rebranded (and slightly modified) Toshiba design. Time to move on to some real news…

Paul Thurrott

January 5, 2009

1 Min Read
ITPro Today logo in a gray background | ITPro Today

As I suspected, and mentioned on last week’s podcast, the driver problem that dogged Zune 30 devices on December 31, 2008 was, in fact, Toshiba’s fault and not Microsoft’s. I assume all those anti-Microsoft rants will be adjusted accordingly.

After doing some poking around in the source code for the Zune's clock driver (available free from the Freescale website), I found the root cause of the now-infamous Zune 30 leapyear issue that struck everyone on New Year's Eve.

The Zune's real-time clock stores the time in terms of days and seconds since January 1st, 1980. When the Zune's clock is accessed, the driver turns the number of days into years/months/days and the number of seconds into hours/minutes/seconds. Likewise, when the clock is set, the driver does the opposite.

The Zune frontend first accesses the clock toward the end of the boot sequence. Doing this triggers the code that reads the clock and converts it to a date and time.

As Sebastian V. notes in an email (thanks for the heads-up), “Apparently, the Zune 30 was not the only device which had the Y2K9 issue. Also Toshiba Gigabeat S30 and S60 have had the same problem. Both Microsoft's and Toshiba's devices share similar hardware, including the Freescale MC13783 processor.” This is exactly what I suspected, since the first-gen Zune is just a rebranded (and slightly modified) Toshiba design.

Time to move on to some real news…

Read more about:

Microsoft

About the Author

Paul Thurrott

Paul Thurrott is senior technical analyst for Windows IT Pro. He writes the SuperSite for Windows, a weekly editorial for Windows IT Pro UPDATE, and a daily Windows news and information newsletter called WinInfo Daily UPDATE.

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like