Difference between revisions of "Network"

From xboxdevwiki
Jump to: navigation, search
m (Hardware)
 
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== System Link ==
+
The Xbox contains an Ethernet module and one RJ45 connector. Additionally, separate modem and wireless accessories were considered when developing the console. Eventually, an official wireless adapter was released based on a "D-Link 108AG Gaming Adapter" in the end of 2003.
  
{| class="wikitable"
+
The XDK provides a TCP/IP protocol stack complete with a DNS PPTP, DHCP clients.
|+XNet* Functions
+
The IANA registered port 3074 (UDP / TCP) is reserved for Xbox communications (See [[System Link]] and [[Xbox Live]]).
|-
 
! function
 
! description
 
|-
 
|XNetCreateKey(&xnkid, &xnkey)
 
|
 
|-
 
|XNetRegisterKey(&xnkid, &xnkey)
 
|Register the session key
 
|-
 
|XNetXnAddrToInAddr( pxnaddr, pxnkid, &pseudoIP )
 
|Convert the address to a winsock usable format
 
|-
 
|XNetUnregisterKey( &xbc.SessionID )
 
|
 
|-
 
|XNetGetTitleXnAddr( &hostAddr )
 
|Gets your XNADDR. Used by syslink, and lots of other people.
 
|-
 
|XNetGetEthernetLinkStatus()
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|}
 
  
 +
== Integrated network adapter ==
  
 +
Integrated in the Nvidia Southbridge MCPX chip which is similar to the nForce chips.
  
== Xbox Live infrastructure ==
+
The Xbox MAC address is stored in the [[EEPROM]].
 +
The network driver, including the protocol stack is contained in the XDK.
 +
The kernel only contains a small number of exports to reset and get the state of the NIC.
  
Kerberos Authentication Server: macs.xboxlive.com
+
The Xbox Linux team used the binary drivers from Nvidia{{citation needed}}{{FIXME|reason=Wasn't the open-source forcedeth driver used?}}.
  
=== Kerberos ===
+
==== Heartbeat ====
{| class="wikitable"
 
|+Xbox PA-DATA
 
|-
 
! padata-type
 
! description
 
|-
 
|131
 
| ?
 
|-
 
|204
 
| ?
 
|-
 
|206
 
| Information about Xbox Version, Title, and Title version
 
|}
 
 
 
== Heartbeat ==
 
  
 
     Ethernet II, Src: Microsof_f2:00:00 (00:50:f2:f2:00:00), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
 
     Ethernet II, Src: Microsof_f2:00:00 (00:50:f2:f2:00:00), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Line 81: Line 25:
 
         Signature Data - Unknown (1481589336)
 
         Signature Data - Unknown (1481589336)
  
== Xbox Live Functions ==  
+
== Wireless adapter ==
 +
 
 +
based on the "D-Link 108AG Gaming Adapter", the Xbox MN-740 Wireless Bridge bundled with an Xbox setup disc (which would update the dashboard if necessary).
 +
It was also [https://web.archive.org/web/20040508051958/http://www.xbox.com/en-US/live/connect/msmn740.htm described on Microsoft's website].
 +
 
 +
==== Hardware ====
 +
 
 +
* AR5312 CPU (MIPS 4Kc core?{{citation needed}})
 +
* AR5212 RoC (Radio on Chip){{citation needed}} for 2.4 Ghz 802.11b/g{{citation needed}}.
 +
* KS8721B physical layer transciever
 +
* some EEPROM which hold the MAC address (based of FCC pictures and Firmware analysis){{citation needed}}
 +
* IC42S16400 8Mb ram
 +
* SST39LF0?0A (1 or 2 Mb) (the FCC picture is unclear on the size part due to writing) {{citation needed}}
 +
 
 +
The onboard 3 LEDs are Power, Wireless and Xbox (called Ethernet on the PCB).
 +
The board seems to have Jtag and what appears to be Serial test pins exposed.
 +
 
 +
===== Firmware =====
 +
 
 +
This wireless bridge runs a closed source version of the "ThreadX JADE/Green Hills Version G4.0.4.0" RTOS.
 +
The firmware contains a copyright string of: "Copyright (c) Microsoft Corporation All Rights Reserved Device is Xbox Compatible"
 +
 
 +
The latest firmware is separated by a boot and runtime firmware {{citation needed}} :
 +
* MN740_01.03.00.0005_BOOT.bin, "Xbox Wireless Adapter (MN-740) boot firmware"
 +
* MN740_01.00.02.0022_RUNTIME.bin, "Xbox Wireless Adapter (MN-740) runtime firmware"
 +
 
 +
There were at least 2 firmware updates for download:
 +
 
 +
* [https://web.archive.org/web/20031210155952/http://www.microsoft.com/hardware/broadbandnetworking/readme/readme_mn740_101.htm MN740 1.01]
 +
* [https://web.archive.org/web/20040602231929/http://www.microsoft.com/hardware/broadbandnetworking/readme/readme_mn740_102.htm MN740 1.02]
 +
 
 +
Judging by the firmware filenames above, there should also be an MN-740 1.00 and MN740 1.03.
 +
 
 +
====== WPA2 support ======
 +
 
 +
The shipped firmware does not support WPA or WPA2.
 +
A "firmware" hack based on the D-Link firmware adds WPA support, rendering Dashboard support unfunctional and changing settings require connecting to the LAN port using a PC (or web browser capable application).
 +
 
 +
==== Software (Xbox setup disc) ====
 +
 
 +
The setup disc is a CD[http://redump.org/disc/53586/]. It contains an XISO filesystem that contains only a "default.xbe" which contains a dashboard updater.
  
{| class="wikitable"
+
== References and links ==
|+XOnline* Functions
 
|-
 
! function
 
! description
 
|-
 
|XOnlineGetUsers(XONLINE_USER* XBLAccountusers, DWORD* numOfXBLiveAccounts)
 
|The XOnlineGetUsers function will enumerate both the hard disk and any attached memory units looking for user accounts
 
|-
 
|XOnlineTaskClose(XONLINETASK_HANDLE logonHandle)
 
|Called to abort the authentication process.
 
|-
 
|XOnlineStartup( XONLINE_STARTUP_PARAMS* )
 
|
 
|-
 
|XOnlineLogon(XONLINE_USER* XBLLoggedOnUsers, DWORD* XBLservices, DWORD SERVICE_COUNT, NULL, XONLINETASK_HANDLE &logonHandle)
 
|When a title calls XOnlineLogon to sign in, instead of blocking until the authentication completes, an asynchronous task handle is returned. As part of the authentication process a title must specify which services it will be using (XBLservices, SERVICE_COUNT).
 
|-
 
|XOnlineTaskContinue(XONLINETASK_HANDLE logonHandle)
 
|Called to check the status of XOnlineLogon.
 
|-
 
|XOnlineLogonTaskGetResults(XONLINETASK_HANDLE logonHandle)
 
|
 
|-
 
|XOnlineGetLogonUsers()
 
|This returns a pointer to an array of XONLINE USER structures. This array is similar the XONLINE USER array we populated and passed into XOnlineLogon, but is updated with error status and permission flags for each user.
 
|-
 
|XOnlineSetUserGuestNumber(dwUserFlags , 1)
 
|
 
|-
 
|XOnlineTitleUpdate(DWORD)
 
|The XOnlineTitleUpdate function will boot into an updater application, which performs the actual update
 
|-
 
|XOnlineGetServiceInfo(Service, ?)
 
|XOnlineGetServiceInfo returns the connection status for a service
 
|-
 
|XOnlineNotificationSetState
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|-
 
|
 
|
 
|}
 
  
== References and links ==
 
 
* [https://xboxlivehacking.blogspot.de/ https://xboxlivehacking.blogspot.de/]
 
* [https://xboxlivehacking.blogspot.de/ https://xboxlivehacking.blogspot.de/]
* [https://github.com/grayj/Jedi-Academy/blob/master/codemp/xbox/XBLive.cpp https://github.com/grayj/Jedi-Academy/blob/master/codemp/xbox/XBLive.cpp]
+
* [https://www.google.com/patents/US20040009815 Patent: Managing access to content]
* [http://discerning.com/pdfbox/test/input/authentication.pdf http://discerning.com/pdfbox/test/input/authentication.pdf]
+
* [https://www.google.com/patents/US20030093669 Patent: Network architecture for secure communications between two console-based gaming systems]
* [https://www.google.de/patents/US20040009815 Patent: Managing access to content]
+
* [https://www.google.com/patents/US20030093668 Patent: Architecture for manufacturing authenticatable gaming systems ]
* [https://www.google.de/patents/US20030093669 Patent: Network architecture for secure communications between two console-based gaming systems]
+
* [https://www.google.com/patents/US7803052 Patent: Discovery and distribution of game session information ]
* [https://www.google.de/patents/US20030093668 Patent: Architecture for manufacturing authenticatable gaming systems ]
+
* [https://www.google.com/patents/US20030229779 Patent: Security gateway for online console-based gaming ]
* [https://www.google.de/patents/US7803052 Patent: Discovery and distribution of game session information ]
+
* [https://www.google.com/patents/US20030233537 Patent: Presence and notification system for maintaining and communicating information ]
* [https://www.google.de/patents/US20030229779 Patent: Security gateway for online console-based gaming ]
+
* [https://www.google.com/patents/US7218739 Patent: Multiple user authentication for online console-based gaming ]
* [https://www.google.de/patents/US20030233537 Patent: Presence and notification system for maintaining and communicating information ]
+
* [https://web.archive.org/web/20040831091347/http://www.xbox.com:80/assets/en-us/HardwareManuals/Xnewt.pdf Xbox Wireless adapter manual]
* [https://www.google.de/patents/US7218739 Patent: Multiple user authentication for online console-based gaming ]
+
* [https://www.hanselman.com/blog/FlashingTheFirmwareOfAnXboxMN740WirelessAdapterToADLink108AGToSupportWPASecurity.aspx Flashing the Firmware of an Xbox MN-740 Wireless Adapter to a D-Link 108AG to support WPA Security ]
 +
* [https://fccid.io/C3KMN740/Internal-Photos/Internal-Photos-360373.iframe FCC entry of Xbox MN-740 Wireless Adapter (with IC writing intact) ]

Latest revision as of 13:56, 8 August 2020

The Xbox contains an Ethernet module and one RJ45 connector. Additionally, separate modem and wireless accessories were considered when developing the console. Eventually, an official wireless adapter was released based on a "D-Link 108AG Gaming Adapter" in the end of 2003.

The XDK provides a TCP/IP protocol stack complete with a DNS PPTP, DHCP clients. The IANA registered port 3074 (UDP / TCP) is reserved for Xbox communications (See System Link and Xbox Live).

Integrated network adapter

Integrated in the Nvidia Southbridge MCPX chip which is similar to the nForce chips.

The Xbox MAC address is stored in the EEPROM. The network driver, including the protocol stack is contained in the XDK. The kernel only contains a small number of exports to reset and get the state of the NIC.

The Xbox Linux team used the binary drivers from Nvidia[citation needed][FIXME].

Heartbeat

   Ethernet II, Src: Microsof_f2:00:00 (00:50:f2:f2:00:00), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
   MS Network Load Balancing
       Signature: Unknown (0x584f4258)
       Version: 1.1
       Unique Host ID: 3118682055
       Cluster IP: 167.102.81.132 (167.102.81.132)
       Host IP: 4.89.169.109 (4.89.169.109)
       Signature Data - Unknown (1481589336)

Wireless adapter

based on the "D-Link 108AG Gaming Adapter", the Xbox MN-740 Wireless Bridge bundled with an Xbox setup disc (which would update the dashboard if necessary). It was also described on Microsoft's website.

Hardware

The onboard 3 LEDs are Power, Wireless and Xbox (called Ethernet on the PCB). The board seems to have Jtag and what appears to be Serial test pins exposed.

Firmware

This wireless bridge runs a closed source version of the "ThreadX JADE/Green Hills Version G4.0.4.0" RTOS. The firmware contains a copyright string of: "Copyright (c) Microsoft Corporation All Rights Reserved Device is Xbox Compatible"

The latest firmware is separated by a boot and runtime firmware [citation needed] :

  • MN740_01.03.00.0005_BOOT.bin, "Xbox Wireless Adapter (MN-740) boot firmware"
  • MN740_01.00.02.0022_RUNTIME.bin, "Xbox Wireless Adapter (MN-740) runtime firmware"

There were at least 2 firmware updates for download:

Judging by the firmware filenames above, there should also be an MN-740 1.00 and MN740 1.03.

WPA2 support

The shipped firmware does not support WPA or WPA2. A "firmware" hack based on the D-Link firmware adds WPA support, rendering Dashboard support unfunctional and changing settings require connecting to the LAN port using a PC (or web browser capable application).

Software (Xbox setup disc)

The setup disc is a CD[1]. It contains an XISO filesystem that contains only a "default.xbe" which contains a dashboard updater.

References and links