donderdag 17 januari 2013

How to connect a Microsoft XBOX 360 controller to your pc


My son wanted to use his XBOX 360 controllers on the pc, so I searched for a device that makes this possible. Microsoft sells the official wireless XBOX receiver only in combination with a new XBOX 360 wireless controller (or as far as I know of). My son already has two controllers, so I went looking for a non-Microsoft Genuine device.
I found a wireless receiver on a Chinese website: http://dx.com/p/pc-wireless-gaming-receiver-for-xbox-360-controller-black-129230

The issue with this device is that it's almost the same as the original Microsoft version, but it's almost and not exactly the same. So, when you connect this receiver to your pc, the device will not be recognized and is visible as "unknown device" in the Device Manager.

It cost me 30 minutes to get this thing working under Windows 8 64bit. That is why I've made this small blog, so that you won't need so much time as I. Okay, let's start.


===


STEP 1

Connect the wireless receiver to one of your USB ports. It should be a USB port that delivers enough power for the device to work, so don't use an externam USB hub and maybe after completing my How To, when it still doesn't work, try another USB slot on your pc.


STEP 2


First you need the Microsoft XBOX receiver software; you can download this from the Microsoft website:
http://www.microsoft.com/hardware/en-us/d/xbox-360-wireless-controller-for-windows
Select your Operating System and click on the download link. I selected Windows 7 64bit because that one also works on Windows 8 64bit.

 


 STEP 3

Simply install the driver by executing the downloaded executable.


STEP 4

After this, the device still won't work. All computer hardware has a certain hardware ID. When you install a driver for a hardware device, you need a driver that is written for exactly the hardware ID of the device. Drivers have a special file where the hardware ID's are mentioned of all devices that will work with this driver. Such a file always has the filename extension .INF.

You downloaded a .EXE file but it actually is a compressed file that contains a number of files including the .INF file. Go to the folder on your computer where you downloaded the driver. You can use a program like WINRAR to extract the executable. If you don't have WINRAR installed yet, you can download it for free here: http://rarlabs.com/download.htm and install WINRAR on your computer.
Let's go back to the XBOX receiver driver from Microsoft. You need to right-click the file and choose: Extract Here.




STEP 5

Go to the following folder in the recently extracted files: <your download folder>\Xbox360_64Eng\xbox360\setup64\files\driver\win7 and open the file XUSB21.INF iin notepad.




STEP 6

In Notepad, you need to change the device ID that's mentioned there. You will notice the text: USB\Vid_045E&PID_0719 everywhere in the file. That PID number is the one for the official Microsoft XBOX 360 receiver. So, you need to change this PID number in the correct ID that corresponds to your hardware device. It will most likely be PID_0291 but if you want to be sure it's the right number, then check it in the device manager. To open the device manager, type <windows key> + X (this works on Windows 8 and you need to push the keys at the same time) and click on "Device Manager". If you have Windows 7, click on the start button and type: devmgmt.msc and press ENTER.
Then, search for an "unknown device" and right click on it, choose "Properties".




Click on the tab "Details"




Make sure that the Property "Hardware Ids" is selected and look at the Value. In my screenshot it's clear to see that I have PID_0291.

In Notepad, where you already opened the .INF file, click on the menu option "Edit" and click on "Replace...". 
Fill in the "Find what" box: PID_719
Fill in the "Replace whith" box: PID_291
Click on "Replace All"
Close notepad and safe the file while overwriting the original file.




STEP 7

This step is only for everyone who uses Windows 8, Server 2012 or later 64bit versions. This is because the new versions of Windows demand that all drivers are digitally signed. Any change in the driver will make the driver uninstallable. We can turn this check off and on by using a commandline tool. I know that there also is a Windows 8 App "Advanced Startup" but this will not work on multiboot devuces, so let's do it by hand. ;)

Open up a commandprompt as administrator:
Hover the mouse to the left lower corner until the Metro icon appears, click on it.
In the Metro interface, start typing and type: cmd
You should see a tile with the word "cmd" on it.
Right-click on this tile and at the bottom of the screen, click "Run as administrator".




In the cmd screen, type the following commands and press <enter> after both lines:


bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON

Now you can reboot your computer.


STEP 8

Return to the Device Manager. If you 've still opened the properties of the unknown device, you can close the window now.
Right-click on "Unknown Device" and choose: "Update Driver Software..."




Now choose: "Browse my computer for driver software".




Now browse to the folder where you extracted the device driver and go to the folder
<your download folder>\Xbox360_64Eng\xbox360\setup64\files\driver and then click "Next".



The driver should install flawlessly right now. However, if you receive this error: "The hash for the file is not present in the specified catalog file. The file is likely corrupt or the victim of tampering." please go back to step 7 and don't forget to reboot the computer!!!





STEP 9

This step is for everyone who also did step 7. Because we don't want to leave our copy of windows unprotected, or do we? ;)

Open a CMD prompt as administrator (read in step 7 how you can do that).

Type the following commands and push ENTER after both lines:


bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING OFF

Now reboot the computer and you're safe(r) again.


STEP 10

The receiver works and you need to register your XBOX 360 wireless controller with the receiver. First, turn the controller on and then push both the button on the receiver and the small button on the controller (at the backside of the controller, in the middle next to a connector slot).

Have fun!