Silicon Serial ID: Difference between revisions

From WebTV Wiki
Jump to navigation Jump to search
imported>HM
m (checksum info)
 
(Add info on SSID format and sub-manufacturer codes, refinements)
Line 1: Line 1:
The SSID, or '''S'''ilicon '''S'''erial '''ID''', is a unique identifier, usually 16 bytes long, used to identify individual WebTV/MSN TV clients. On dedicated hardware, this is assigned directly during manufacture time.
[[File:webtvdc_411page.jpg|thumb|right|300px|Technical information page on WebTV for Dreamcast]]
 
The '''S'''ilicon '''S'''erial '''ID''', or SSID, is a unique identifier, usually 16 bytes long, used to identify individual clients on the original WebTV/MSN TV service.
 
On dedicated hardware, this was assigned directly during manufacturing, and is stored on a 1-Wire chip. On the Sony INT-W100 and [[Hardware Models/INT-W200|INT-W200]] models, the chip used is a [https://datasheets.maximintegrated.com/en/ds/DS2401.pdf DS2401] IC manufactured by Dallas Semiconductor (which is now a part of Maxim Integrated).


== Format ==
== Format ==
[[File:webtvdc_411page.jpg|thumb|right|300px|Technical information page on WebTV for Dreamcast]]


On dedicated hardware, the SSID as shown to the end-user (accessible through the 411 power-off code) and sent in WTVP messages is usually formatted as a series of 16 hexadecimal digits. These SSIDs have a specific format behind them, which has yet to be figured out.
=== Dedicated Hardware ===
On dedicated hardware, the SSID as shown to the end-user (accessible through the 411 power-off code) and sent in [[WTVP]] messages is formatted as a series of 16 hexadecimal digits. This SSID is actually a "Silicon Serial Number", and when sent to the service or shown in the WebTV/MSN TV UI, is byte-flipped. These SSIDs consist of an 8-bit family code, the actual 24-bit serial number, a sub-manufacturer code and "WebTV code", and a 1-Wire CRC8 checksum placed at the end of the SSID that is calculated from the previous bytes. The SSID (as we understand it right now) is structured like this (fields will be ordered in their byte-flipped state):
 
{| class="wikitable"
! Field !! Length !! Description
|-
| Family code || 8 bits (1 byte) || SSID family code. This isn't specific to WebTV/MSN TV and is supported by the specification of the original Silicon Serial Number. This code identifies the type of box the SSID belongs to. Known family codes are 0x81 (common in SSIDs for retail boxes) and 0x01 (used for specialty/dev boxes).
|-
| Serial number || 24 bits (3 bytes) || The unique 24-bit serial number assigned to a WebTV/MSN TV box.
|-
| Sub-manufacturer code || 8 bits || The ID of the manufacturer that sold the box the SSID resides on.
|-
| WebTV code || 16 bits || 2-byte value that has some significance to WebTV. On US boxes and Japanese Sony boxes, this value is "b002" (<code>02 b0</code>), but on Japanese Panasonic boxes, it is "b102" (<code>02 b1</code>). In SSIDs used on specialty boxes, this part can be (but is not always) nulled out (<code>00 00</code>).
|-
| CRC8 checksum || 8 bits (1 byte) || 1-Wire CRC8 checksum of previous data in SSID. Most likely doesn't have any significance when connecting to the WebTV/MSN TV service.
|}
 
Aside from identifying your box, the service would also use your SSID to determine the manufacturer of the box you connected with. This would be used to tailor the user's experience depending on what box they had, such as showing the proper Internet Terminal name and remote layout during registration and adding a set of favorites determined by the manufacturer after registering for an account.


On [[WebTV for Dreamcast]], the SSID usually starts with the bytes "1SEGA", and random alphanumeric characters following that. The random characters are usually 11 bytes long to make the resulting SSID 16 bytes long. How this is generated and stored is unknown as of writing.
==== Known Sub-Manufacturer Codes ====
* <code>00</code> - Sony (all regions), Panasonic (Japan, seen with <code>b102</code> WebTV code)
* <code>01</code> - Internal?
* <code>02</code> - Internal? Seen on UltimateTV dev unit SSID.
* <code>10</code> - Philips Magnavox
* <code>11</code> - ??? (seen on a specialty box SSID)
* <code>40</code> - Mitsubishi
* <code>50</code> - Philips LC2.5
* <code>70</code> - Samsung
* <code>80</code> - EchoStar (DishPlayer)
* <code>90</code> - Thomson/RCA


== Low-Level ==
=== Dreamcast ===
The SSID at the low level on dedicated WebTV/MSN TV hardware is stored on a 1-Wire chip. On the Sony INT-W100 and INT-W200 units, the chip used is a [https://datasheets.maximintegrated.com/en/ds/DS2401.pdf DS2401] IC manufactured by Dallas Semiconductor (which is now a part of Maxim Integrated). The SSID is checksummed and if the checksum is invalid, the box will refuse to boot.
On [[WebTV for Dreamcast]], the SSID usually starts with the bytes "1SEGA", and random alphanumeric characters following that. The random characters are usually 11 bytes long to make the resulting SSID 16 bytes. How this is generated and stored is unknown as of writing.

Revision as of 14:41, 20 February 2023

Technical information page on WebTV for Dreamcast

The Silicon Serial ID, or SSID, is a unique identifier, usually 16 bytes long, used to identify individual clients on the original WebTV/MSN TV service.

On dedicated hardware, this was assigned directly during manufacturing, and is stored on a 1-Wire chip. On the Sony INT-W100 and INT-W200 models, the chip used is a DS2401 IC manufactured by Dallas Semiconductor (which is now a part of Maxim Integrated).

Format

Dedicated Hardware

On dedicated hardware, the SSID as shown to the end-user (accessible through the 411 power-off code) and sent in WTVP messages is formatted as a series of 16 hexadecimal digits. This SSID is actually a "Silicon Serial Number", and when sent to the service or shown in the WebTV/MSN TV UI, is byte-flipped. These SSIDs consist of an 8-bit family code, the actual 24-bit serial number, a sub-manufacturer code and "WebTV code", and a 1-Wire CRC8 checksum placed at the end of the SSID that is calculated from the previous bytes. The SSID (as we understand it right now) is structured like this (fields will be ordered in their byte-flipped state):

Field Length Description
Family code 8 bits (1 byte) SSID family code. This isn't specific to WebTV/MSN TV and is supported by the specification of the original Silicon Serial Number. This code identifies the type of box the SSID belongs to. Known family codes are 0x81 (common in SSIDs for retail boxes) and 0x01 (used for specialty/dev boxes).
Serial number 24 bits (3 bytes) The unique 24-bit serial number assigned to a WebTV/MSN TV box.
Sub-manufacturer code 8 bits The ID of the manufacturer that sold the box the SSID resides on.
WebTV code 16 bits 2-byte value that has some significance to WebTV. On US boxes and Japanese Sony boxes, this value is "b002" (02 b0), but on Japanese Panasonic boxes, it is "b102" (02 b1). In SSIDs used on specialty boxes, this part can be (but is not always) nulled out (00 00).
CRC8 checksum 8 bits (1 byte) 1-Wire CRC8 checksum of previous data in SSID. Most likely doesn't have any significance when connecting to the WebTV/MSN TV service.

Aside from identifying your box, the service would also use your SSID to determine the manufacturer of the box you connected with. This would be used to tailor the user's experience depending on what box they had, such as showing the proper Internet Terminal name and remote layout during registration and adding a set of favorites determined by the manufacturer after registering for an account.

Known Sub-Manufacturer Codes

  • 00 - Sony (all regions), Panasonic (Japan, seen with b102 WebTV code)
  • 01 - Internal?
  • 02 - Internal? Seen on UltimateTV dev unit SSID.
  • 10 - Philips Magnavox
  • 11 - ??? (seen on a specialty box SSID)
  • 40 - Mitsubishi
  • 50 - Philips LC2.5
  • 70 - Samsung
  • 80 - EchoStar (DishPlayer)
  • 90 - Thomson/RCA

Dreamcast

On WebTV for Dreamcast, the SSID usually starts with the bytes "1SEGA", and random alphanumeric characters following that. The random characters are usually 11 bytes long to make the resulting SSID 16 bytes. How this is generated and stored is unknown as of writing.