XBCD - Getting those old controllers working again!
XBCD is an abbreviation for the "X-Box Controller Driver" Which has been around for almost as long as the Original Xbox Controllers themselves (approximately 2001-2003). As of 5/4/2017, the guide was updated to illustrate ways of installing these drivers which hopefully will answer the many questions that we get about them. This new method also no longer requires the test signing feature which also eliminates the requirement for UWD.exe which should make some of our subscribers happy.
"Note: If you get a black screen but the audio is playing. Or you got a potato PC and it's studdering. We have fallback Links below."
Video tutorial fallback mirrors:
In case you have no-script enabled or for some reason cannot see the title video on this website. We have provided direct links for these videos. For more information about the standards we use on this site click here if you would like to know more.
AV1 - Link MP4/.h264 - Link OGV - Link
Disclaimers:
It should be noted like any hardware or software hack that S-Config is not responsible for any physical, mental, financial, or psychological damage that may happen when following this tutorial. The drivers and software provided are intended to work in an AS-IS base. We provide no guarantees this tutorial will work for your product. Also, this website contains internal links for binary files to which we highly suggest that you invest in a good virus checker prior to downloading anything off of the internet. Trust no one! For additional and general questions refer to the FAQ of this site.
History time!
Back in the days when Microsoft got involved with the console wars. They made a bunch of controllers for their X-Box units and people began to realize that if you just splice a USB cable on the end of the proprietary connection then you could use the Xbox Controller on your PC. Microsoft at the time really didn't want to associate hardware from their console with hardware from their PC because a few corporate people back then felt it would disenfranchise their user base from actually purchasing an Xbox.
Xbox 360 and onward.
It wasn't until the introduction of the Xbox 360 that Microsoft gave support for their users to use their beloved controllers on their PCs and other devices. Even then Xbox 360 controller support for PC users was released around 2008 giving a few-year gap between its initial release date in 2005. This dongle was designed to work with the "Games for Windows" logo during Windows 7. They also mentioned that this dongle would work with "all future Xbox 360 devices." That is of course until the Xbox One came out.
Since Microsoft was very quick the bury the Xbox original console this left a void of people wondering what to do with their old hardware. Well, one of those things to do is to recycle the controller onto your PC.
XBCD development cycle.
Like all things, XBCD development stopped as many thought it wasn't necessary to develop. I even posted a blog article talking about the Wireless Xbox 360 receivers and controllers and how awesome they were. Windows XP was the last officially supported version of XBCD 0.2.7 with some 32-bit work for Windows Vista. However, for those users that want to keep their controllers going in the year 2016, yet, there's a way to keep on rocking with these controllers.
Hardware Prerequisites for XBCD and how to hook it to your computer.
Lets get the hardware section out of the way first. If you ever picked up an original Xbox controller you will notice right away its proprietary connector that is attached to the joysticks. We need to convert that connection into something a little more usable for our PC.
You could buy a converter cable.
Ebay - has a large assortment of cables under $10 easy. Amazon - also has these cables available as well! Thanks to Mantis Toboggan M.D.4 for finding links and the proper name for these cables. Either link you choose to buy a cable just know that we don't make any money providing eBay or Amazon links and just do it as a service for those interested in purchasing the adapter versus building one.
Make your own Xbox to USB adapter.
Lucky for us, the wiring of the Xbox joysticks is very easy, simply strip the wires down, find a USB cable you don't mind destroying, strip that down, and match the colors within the cable to the appropriate selection. The only cable you do not connect is the yellow clock/timer chip. You could use a USB A Male to Xbox female connector out of a destroyed Xbox unit like I did to preserve your original Xbox Joysticks. Or if you no longer care about authenticity and just want to get that ultra-cheap controller working then you can simply cut the cable on that joystick and add the USB cable right onto it. You could just wire twist them on and shrink tube them together, or solder them together and then use shrink tube (preferred). It does not matter so long as the cabling is secure as we don't want this to come apart as we're playing a game. It should also be noted that if you do have an original Xbox that by splicing an Xbox male connector and a USB female you can hook things up like a USB stick (limited compatibility restricted to 2GB) for save games as well as hooking up keyboards for some of the home-brew titles that exist out there. Back in the day when you upgraded your Xbox Original case sometimes the vendor didn't feel like removing anything from the front panel such as the control panel buttons and the Xbox connectors that they wanted users to transfer their guts over as quickly as possible. Since these were held in by a few screws they were easy to extract and easy to plug into my own little case for it. Using a Cheap USB hub can be soldered all of the connectors into a single box so you have a breakout box for party games.
Software Prerequisites.
Now we can finally talk about the software side of things to get it all working on your Windows box. Some of you may wonder why we host the files directly versus referring you off to a forum or another site. The answer is simple:
A tutorial should not infect your computer with spyware!
When visiting the forums which contained this driver we were getting redirected to an ad.fly pay-per-click service. This service refused to let us download the binary until we turn off the ad block. Upon turning off the ad-block ad.fly then produced a pop-under window which immediately began an attempt to install a Trojan onto an unsuspecting user's PC. This is what happens when you don't pay for storage. Eventually, someone else will pay for it and you won't like what they will do to your good name! Infecting people's PCs with spyware/malware/ransomware is totally counterproductive to what you are trying to do which is to make an old piece of hardware work on a modern computer. Unlike other sites which will route you through hell and endanger your PC. We are not going to do that to you. Because we love you too much.
Direct link to the XBCD Software:
I have provided a direct link for everything that you need for XBCD.
Inside this archive:
- A Driver folder that has the same files that the XBCD script installs into C:\Program Files(x86)\XBCD\ . These are here for people who don't want to use the XBCD utility.
- A shortcut folder that has a shortcut to the XBCD utility since the installation script may not generate this shortcut automatically.
- x360ce-x32 and x360ce-x64 folders. These are utilities that help certain games acknowledge the fact that a legit Xbox 360 controller is hooked up when in fact it is not. Respectfully these are later versions than what XBCD installs into C:\Program Files(x86)\XBCD\ and can be used for games that require the presence of a true Xbox controller. All DLL files for Windows 10 are rolled into that folder too.
- disable.bat and enable.bat for turning off integrity checking within Windows 10 64-bit edition.
- As of 9/18/2017 shutdown-recovery.bat is a new addition that allows the user to manually disable integrity checking via recovery mode.
- XBCD_Installer_0.2.7.exe - the binary file itself!
Click on the download link on the right-hand side to go grab the file. Credit goes off to RedCl0ud for this wonderful software. Everything is open source and free for anyone to add/modify to it so go nuts. Note: The compression format has changed from .zip to .7z in accordance to our 7-zip blog entry. This does not change the video or blog tutorial in any way as WinRAR will extra 7-zip files just fine.
Extraction.
Using your favorite file extractor; Unzip all of these files to a folder you can remember. This tutorial is going to use C:\xbcd\ as the reference from here on out.
Hardware verification:
It's always a good idea to verify the hardware that is being installed whenever you are plugging in something new into your PC. This should be a habit that everyone does because it could save you hours of headaches installing drivers on the wrong device or if the device is not even detected properly. To access this either right-click on your start button or open the device manager. Or press the Windows + r key and type in the following.
mmc devmgmt.msc
The device manager window will open up. Plugin your Xbox controller now and you should see the Device Manager flicker attempting to identify the USB device. It will ultimately list the device as "Unknown device" in the "Other Devices" category. Right-Click on the Unknown Device and click "Properties". Click on the Details tab and under the property drop-down box select "Hardware Ids" In the window above we have USB\VIS_045E&PID_020&REV_0100. A VID_045E.
This game-pad is a Microsoft Xbox and has a product ID of 0202 which is the Original Xbox "Duke" controller. Vendor IDs will change if you plug in third-party controllers like Madcatz or Pelican controllers. Product IDs will also change with a third party. But can also change if you plug in the original Xbox "Duke" Controller versus the original Xbox "S" Controller. As long as it produces an ID is the only thing we are looking for here. If you see a VID_0000&PID_0000 or VID_???&PID_??? . Then your computer cannot detect the controller and you need to stop right here and identify what is wrong with your Xbox controller such as possible bad wiring or if it needs more serious repair. Installing the driver will not help if you one of those two Hardware IDs.
Installing XBCD.
Great, I have the files, I can just launch XBCD_Installer_0.2.7.exe and I'm good to go right?
If you are running Windows 7, or Windows 10 32-bit then yes. This tutorial ends for you right about now. Windows 32-bit edition does not rely on heavy driver verification. For the majority of users running windows 64-bit edition, this is the error that you will more than likely see if you attempt to run the setup file without doing anything. The setup files it doesn't really tell you why the installation failed. For that, we go back into the device manager. If you attempt to install the XBCD driver from C:\XBCD\driver via the device manager. We get a more precise error as to what is going on. Simply put our driver does not have an online certificate which costs $200+ dollars a year to make windows 64 happy. In order to get around this error, we are going to have to disable some of the security which is installed into Windows 10 64-bit.
Disabling integrity checking in Windows 10 64-bit.
We have provided a file named disable.bat within the archive which attempts to automate this process for you by elevating itself to administrator status and passing all of the commands into the windows bootloader so that it can boot with integrity checking disabled. If you don't trust my batch files you have no right to trust me. Simply open a command line with administrative access and pass the following commands.
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS bcdedit -set nointegritychecks ON
And reboot the PC.
The script fails and still cannot install drivers. Disabling integrity checking manually.
Sometimes windows 10 gets incredibly obnoxious about drivers and we will continue to get digital signature errors. Here is how to totally disable integrity checking manually one time so we can install the driver. Click the Windows button then click on the power icon right above. While holding down your shift key and left-click the restart option.
Update 09/18/2017:
We have also included the shutdown-recovery.bat file in the XBCD-v2.zip file which simulates the same thing as holding your shift key down. If you do not like scripts and want to type this in yourself. You may do so by opening an Admin command prompt window and typing the following:
shutdown.exe /r /o
It will then give you a 10-second warning that it will now shut down your PC.
The GUI.
If you held down the shift key and press that restart button correctly you will be presented with a menu of something like what is above. Select Troubleshoot. Select Advanced options. Select Start-Up Settings. Finally, Select the "Restart" button and the computer will go into boot selection mode. You will not have a mouse in this mode. simply pressing the 7 key will be enough for the OS to reboot once more allowing you to finally be in the mode that we want to install the driver. It should also be noted that manually disabling driver signature enforcement is only good for one reboot versus the script or command-line method which is a more permanent approach to disabling signature enforcement. If you only choose the manual method of disabling integrity checking then the next time you need to install a driver you will have to go through the manual process again.
Installing the driver for XBCD
Now that we have straightened out integrity checking you may not want to run the XBCD wizard again. After all the XBCD control panel is installed and the driver installation wizard isn't all that helpful. So let's do this manually. Go back into the device manager and right-click on our unknown device which we confirmed was our Xbox controller earlier. Select "Update Driver Software." We wish to select "Browse my computer for driver software" In general we don't trust Windows in doing anything right. Select "Let me pick from a list of drive drivers on my computer." The default selection of "Show All Devices" is fine. Click Next to continue. Select the "Have Disk..." button to continue. You can click the "Browse" button to find the folder that our driver is in. You may use the provided driver in C:\xbcd\Driver or you may also use the driver that the XBCD installer provides in C:\Program files(x86)\xbcd\Driver\ it does not matter. Once you have selected your folder click "OK" to continue. It finds out controller which is good. If it does not then check the Hardware ID of your unknown device. Click Next to finally install this driver. Now that driver integrity checking is disabled we are welcomed with something a little more retro which is this window warning us that it can't verify the driver. This is very good. Click "Install this driver software anyway" and it should begin loading the XBCD driver into your Windows 10 64-bit box. Driver installation is now complete. The XBCD Xbox Controller driver now takes its place in the Human Interface Device category of device manager. Installation is complete and onward to the testing.
Testing the XBCD joystick..
To pull up the window above. You can press the window key + R to bring up a run prompt and type in:
joy.cpl
Then click on the Properties button. Alternatively, you can click on your windows logo and click on settings, devices, connected devices, and scroll down to devices and printers. From here you can right-click on the XBCD Xbox Controller and click properties. But you'll notice something is different from a regular Xbox 360 controller, it is recording a lot of buttons, and the shoulder buttons are recognized as digital buttons which could mess you up in certain games that assume that every player out there has an Xbox 360 or Xbox One controller hooked up to their PC. Since the XBCD installation utility is very old it may not generate the necessary shortcuts for you in windows 64. I have made my own shortcut under the C:\XBCD\shoutcut folder that you can copy out to the desktop. Once you have it on your desktop. Right-click on it and Run as administrator. If you fail to run this program as an administrator it will error out on you. Once you have the XBCD utility launched you can then select a profile of XBCD 360 Emu and click the Apply button. It will then change the personality of your default classic Xbox controller into something more like the Xbox 360 controller for games on windows. This utility is insanely powerful as you can remap buttons and even accesses to digital pads which is very useful if you so happen to have any Dance Pads as you cannot hold both left-right pots down simultaneously with the default windows joystick mapping. Now if you go back to your windows joystick test program, you will see that the layout is behaving more like a standard Xbox 360 controller and your shoulder buttons are back with their analog hat feel to them.
Disclaimers, security, and integrity concerns about Windows 10:
But S, isn't it dangerous to run windows 64 bit with the integrity checking disabled and test signing on?
I'm no MCSE expert but I'm going to say "Yes." However, it makes you about as vulnerable as a windows 7 box. Microsoft keeps adding more and more layers of security to their OS in the hopes of keeping bad things out such as malware and ad-ware affecting the very core of your operating system. Turning off those sections could invite some of those in maybe. But if you are like me and have a dedicated PC assigned to couch gaming or emulators if something or someone breaks into it it's a low-risk item and thus you can simply USB stick reload it and get back to normality. If you are on a PC with highly sensitive data then you probably shouldn't be doing this level of hacking/modding to your windows 10 box. Please consider purchasing an Xbox One controller and receiver if you are uncomfortable with hacking and want a controller that can integrate seamlessly into Windows 10.
Public Driver Signature.
Going through the grueling process of getting the XBCD driver publicly certified underneath windows 10 is one option available to avoid going through all of the hacking with "Test Mode". Also, allowing the driver to install just like windows XP and 7.
S, can you make a publicly signed version of this driver for us?
Costs money to do it. The last time I checked it costs around $200(USD)/yr to maintain a valid domain signature to assign to drivers that are personally made. The team the developed XBCD is all open source. So if someone wants to get the public certification to do it by all means! It would save me from having to write out all of this!
Devices compatible with XBCD.
Pulling directly from the xbcd.inf file is a list of vendor IDs you may find within the device manager that will verify that your controller does indeed work with the XBCD driver. Keep in mind these are only the drivers detected. If you have a controller not listed here you can manually install but success may not be guaranteed. For example, my Pelican Wireless Controllers and my Pump-It-Up Dance Pads for Xbox I had to manual install and it works despite not being on the driver's listing.
Original Xbox Controller for XBCD
Vendor / Product ID | Control Type | Description |
---|---|---|
USB VID_3767&PID_0101 | Steering Wheel | Fanatec Speedster 3 Forceshock |
USB VID_0E8F&PID_0201 | Steering Wheel | Gamexpert PS2/GC/Xbox Steering Wheel |
USB VID_06A3&PID_0200 | Steering Wheel | Saitek Racingwheel |
USB VID_062A&PID_0033 | Steering Wheel | Competition Pro Steering Wheel |
USB VID_044F&PID_0F10 | Steering Wheel | Thrustmaster Modena GT |
USB VID_044F&PID_0F03 | Steering Wheel | Thrustmaster Wheel |
USB VID_044F&PID_0F00 | Steering Wheel | Thrustmaster Wheel |
USB VID_FFFF&PID_FFFF | GamePad Controller | PowerWave Xbox Controller |
USB VID_0F30&PID_0202 | GamePad Controller | Big Ben XS Xbox Controller |
USB VID_0E6F&PID_0008 | GamePad Controller | After Glow Pro Controller |
USB VID_0E4C&PID_3510 | GamePad Controller | Radica Gamester |
USB VID_0C12&PID_880A | GamePad Controller | Nyko Xbox Controller |
USB VID_0C12&PID_8802 | GamePad Controller | Nyko Air Flow |
USB VID_0C12&PID_8801 | GamePad Controller | Nyko Xbox Controller |
USB VID_0C12&PID_0005 | GamePad Controller | Intec wireless |
USB VID_0738&PID_4588 | GamePad Controller | MadCatz Blaster |
USB VID_0738&PID_4586 | GamePad Controller | MadCatz MicroCon Wireless Controller |
USB VID_0738&PID_4556 | GamePad Controller | MadCatz Lynx Wireless Controller |
USB VID_0738&PID_4536 | GamePad Controller | MadCatz Microcon Xbox Controller |
USB VID_0738&PID_4526 | GamePad Controller | MadCatz 4526 |
USB VID_0738&PID_4520 | GamePad Controller | MadCatz Control Pad Pro |
USB VID_0738&PID_4516 | GamePad Controller | MadCatz 4516 |
USB VID_06A3&PID_0201 | GamePad Controller | Saitek Adrenalin |
USB VID_05FE&PID_3031 | GamePad Controller | Chic Controller |
USB VID_05FE&PID_3030 | GamePad Controller | Chic Controller |
USB VID_046D&PID_CA88 | GamePad Controller | Logitech Thunderpad |
USB VID_046D&PID_CA8A | GamePad Controller | Logitech Cordless Precision |
USB VID_045E&PID_0289 | GamePad Controller | Microsoft Xbox Controller S |
USB VID_045E&PID_0287 | GamePad Controlelr | Microsoft Xbox Controller S |
USB VID_045E&PID_0285 | GamePad Controller | Microsoft Xbox Controller S |
USB VID_045E&PID_0202 | GamePad Controller | Microsoft Xbox Controller |
USB VID_044F&PID_0F07 | GamePad Controller | Thrustmaster Controller |
Xbox 360 Controllers for XBCD
Vendor/Product ID | Control Type | Description |
---|---|---|
USB VID_12AB&PID_8809 | StepPad Controlelrs | Konami DDR Pad |
USB VID_12AB&PID_0004 | StepPad Controllers | Konami DDR Pad |
USB VID_0C12&PID_8809 | StepPad Controllers | RedOctane Ignition Pad |
USB VID_0738&PID_6040 | StepPad Controllers | MadCatz Beat Pad Pro |
USB VID_0738&PID_4743 | StepPad Controllers | MadCatz Beat Pad Pro |
USB VID_0738&PID_4740 | StepPad Controllers | MadCatz Beat Pad 360 |
USB VID_0738&PID_45FF | StepPad Controllers | MadCatz Beat Pad (w/ Handle) |
USB VID_0738&PID_4540 | StepPad Controllers | MadCatz Beat Pad (w/ Handle) |
USB VID_1430&PID_4748 | Guitar Controller | RedOctane X-plorer Guitar |
USB VID_046D&PID_CAA3 | Steering Wheel | Logitech DriveFX Wheel |
USB VID_1BAD&PID_F900 | GamePad Controller | Afterglow AX.1 Wired controller |
USB VID_1BAD&PID_F502 | Stick Controller | Hori HRAP VX-SA |
USB VID_1BAD&PID_F501 | Stick USB VID_1BAD & PID_F900 Controller | HORI Pad EX2 Turbo |
USB VID_1BAD&PID_F016 | GamePad Controller | Mad Catz Xbox 360 GamePad |
USB VID_162E&PID_BEEF | GamePad Controller | Joytech SE for 360 |
USB VID_0F0D&PID_000D | Stick Controller | HORI EX2 Fighter Stick |
USB VID_0F0D&PID_000C | Stick Controller | HORI Pad EX Turbo |
USB VID_0F0D&PID_000A | Stick Controller | HORI DOA4 Stick |
USB VID_0E6F&PID_0201 | GamePad Controller | Pelican XSZ Wired Controller (Model #PL-3601) |
USB VID_0738&PID_BEEF | GamePad Controller | Joytech NEO Se Advanced |
USB VID_0738&PID_B738 | Stick Controller | Madcatz Arcade Fightstick Tournament edition. |
USB VID_0738&PID_4738 | Stick Controller | MadCatz Arcade Gamestick (Street Fighter IV Fightstick TE) |
USB VID_0738&PID_4736 | GamePad Controller | MadCatz 360 MicroCon |
USB VID_0738&PID_4728 | Stick Controller | MadCatz Street Fighter IV |
USB VID_0738&PID_4726 | GamePad Controller | MadCatz Pro for Xbox 360 |
USB VID_0738&PID_4718 | Stick Controler | MadCatz Street Fighter IV Fight Stick |
USB VID_0738&PID_4716 | GamePad Controller | Madcatz Xbox 360 Controller |
USB VID_06A3&PID_F51A | GamePad Controller | Saitek P3600 |
USB VID_046D&PID_C242 | GamePad Controller | Logitech Chillstream |
USB VID_045E&PID_028E | GamePad Controller | Microsoft Xbox 360 Controller |
Unsupported devices by XBCD
Vendor/Product ID | Control Type | Description |
---|---|---|
USB Vid_045E&Pid_0719 | GamePad Controller | Microsoft Xbox 360 Wireless Controller |
You can simply visit the blog about wireless controllers if you have a problem with the wireless Xbox 360 Controllers.
Notes about modern gaming.
Check out the x360ce tutorial to provide xinput version 1.2 and 1.3 for modern games.
It should be noted that the old XBCD driver only gives support for classic xinput version 1.0. Whereas a lot of modern games are expecting xinput 1.2-1.3. This is why in many cases the joy.cpl calibration will work perfectly fine but a modern game simply refuses to detect the aging Xbox controller. I have created an addendum blog to this called the x360ce utility which allows you to apply a patch to use xinput 1.0 in games that refuse to do so.
Final thoughts.
It's still amazing that you can get controllers from almost 15-16 years ago operating on the latest operating system and computers. It's a perfect solution for those who are looking for cheap controllers. You can find these controllers at various thrift stores and other surplus stores ranging from $1-5 USD. The value can of course change as time moves on and these controllers start to build collectors' value. You can also mess with people by showing them the original Xbox controller named "The Duke" because you needed man-hands to use it!:) I compiled this tutorial because we were getting tired of searching through dead-end forums over and over again. I hope you find it useful.
Until then, have fun, and server protect you.
END OF LINE+++
I followed everything, but it gives me an error stating:
Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39).
On the latest windows 10, any ideas?
Yes, a few of my previous readers encountered this issue.
Code 39 errors pop up in Windows 10 when there is a program straight up blocking the driver from ever going into the destination directory like it's supposed to. Although certain internet security suites can trigger this the number one culprit is a thing called "Secure Boot." This little feature a lot of OEM companies such as dell, HP, IBM like to throw into their systems prior to shipping it to the end-user and it's unbelievably annoying!
https://www.youtube.com/watch?v=WWGlJVV3djw - shows how to disable security boot.
after you disable it. uninstall the driver from device manager again "checking the box to also remove all files" and then re-run the disable integrity check. after disabling secure boot it should allow you to install the XBCD driver.
I'm also playing around with a new driver which actually has a windows 8 64-bit digital signature. and if it works between all controlled it may replace the XBCD driver version and all of the headaches..
Hi, I followed the instructions here till the installation of the driver. I have Windows 10 64 bit, so I disabled the integrity checking during restart and was able to update the driver on the device manager. Then an error message came up
"The driver for this device has been blocked from starting because it is known to have problems with Windows. Contact the hardware vendor for a new driver. (Code 48)
Click 'Check for solutions' to send data about this device to Microsoft and to see if there is a solution available."
So I'm stuck on this point. Any way to fix this? TIA
If you installed this driver prior to disabling integrity checking there could be remains of that driver that is messing with the OS. I would say make sure integrity checking is disabled by manually selecting it. then uninstall the driver, uninstall XBCD, verify there is nothing left in device manager in reguards to the XBCD controller. refresh device manager and attempt to re-install again.
Thanks!
Not a problem. Happy gaming now!
Hello, i have to say great tutorial! I have a little doubt and want ti see if you can assist me a little. First of all, even when this tutorial is base on w8-10 i wanted to ask some help for W7 64bit. You said that you got your pelican wireless controlers working, i have a Pelican Blade 2.4 (PL-2062) and i modde the wireless receiver to see if this mod could work. Well my pc detects the controler as a Generic USB HUB, although following a tutorial in another page I got to see the vendor and product ID with USB View and then include it to the installed driver .inf file. In the end, when i check my device manager windows recognizes the control as an XBCD Controller however i cant use neither the XBCD Setup Utility to map buttons nor the X360 cntroller emulator. Any sugestions?
P.D: im not a native english speaker so i apologize in advance for any mistake/misunderstanding
First thing I'd have to ask is what is the hardware ID that is being reported? Second question is skipping XBCD and X360ce what does joy.cpl have to say about it? Does it even acknowledge the joystick in windows at all?
using USB View, before installing/assign the driver to the controller, I used this report to get the vendor and product ID:
External Hub: USB#VID_0E6F&PID_0001#5&ce4f649&0&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Hub Power: Bus Power
Number of Ports: 3
Power switching: Individual
Compound device: Yes
Over-current Protection: Individual
Device Descriptor:
bcdUSB: 0x0110
bDeviceClass: 0x09
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x08 (8)
idVendor: 0x0E6F
idProduct: 0x0001
bcdDevice: 0x000E
iManufacturer: 0x00
iProduct: 0x00
iSerialNumber: 0x00
After getting th PID & VID, and inlcude them in the .inf file, I was able to install the driver through the device manager, right clicking in the device (recognized as Generic USB Hub) an then askin to update the driver. Then the controler was shown under the HID Devices with two entries, one as a XBCD Xbox Controller and the another as a HID Compatibe Gaming Device (This one is a translation so the name might be a little different in english). Anway, then i went to the Control Panel-Devices and Printers an there it was again the HID Compatibe Gaming Device, by right clickling and slecting configuration i entered the joy,cpl (I guess) and the only device was the XBCD Xbox Controller, so far so good, so lets see if windows can read the inpust, form the joy.cpl I selected properties to see if the inputs were ok, and I find myself with 24 buttons, POV Control, And the axes (left stick X/Y on the upper left side , Z axis, X rotation, Y rotation, Z rotation and Sliding control (translation) on the upper right side)
Ok now about the hardware ID, well as I said above the device has two entries in the device manager,if ia access the HID Compatibe Gaming Device properties-Details-Hardware ID there are shown the following entries:
HID\VID_0E6F&PID_0001&REV_000>
HID\VID_0E6F&PID_0001
HID_DEVICE_SYSTEM_GAME
HID_DEVICE_UP:0001_U:0005
HID_DEVICE
on the other hand if I do the same with the XBCD Xbox Controller this is what is shown:
USB\VID_0E6F&PID_0001&REV_000>
USB\VID_0E6F&PID_0001
Well I hope this could help you to help me. Thank you again
it seems you got the right device/vendor ID. But upon launching joy.cpl are you receiving any inputs when moving the analog sticks or buttons?
Also, since I owned a xbox pelican remote a long time ago. I remembered the dongle would have a power light and upon pressing buttons or moving the analog stick that dongle would begin to flash indicating that the signal was being received. Pelican put this feature on there because you could set it to four different radio frequencies and it was a way of letting the user know that they are locked in on the right channel. Is that light flashing at all when moving the stick?
Nope not receiving any input with joy.cpl and the light is flashing just as you say indicating the control and receiver being connected one to another an comunicating the way they should. I´ll see what else I can try to make it work
Hi Guys,
First of all, a massive thank you for this tutorial and downloads.
I am using an original Xbox controller on a Windows 10 system.
The good news is that using this tutorial, I have got my controller connected and working (well, it says that it is working via the joy.cpl command - I can calibrate and test and all that good stuff).
However, I am now trying to map the controller to keyboard settings (I'm using Gamepad Map from sourcebinary.com), but it does not recognise the controller. I have tried other mapper software, but they all don't recognise the controller.
What am I doing wrong, and what is the solution/workaround?
Many thanks
Thank you very much for this website.
Thank YOU for checking out this website!:)
When I try to install the drivers I got a window saying
"Windows found driver software for your device but encountered an error while attempting to install it.
XBCD Xbox Controller
Windows cannot load the device driver for this hardware. The driver may be corrupted or missing.(Code 39)"
Just wondering if you can give more details. Controller type and OS that you are using? Thanks.
My bad, I'm using an Original Xbox Controller S. The hardware ID is USB\VID_045E&PID_0289 and I am running Windows 10 Home 64-bit. Thanks for responding so quickly.
I have the exact same error and hardware ID and OS. If you can help us both thanks!
Okay, I have not tried this yet to replicate the problem that you're having. But it seems like Windows 10 is totally blocking your driver which a feature in windows 10 known as "Secure Boot" is capable of generating this problem.
I think this whole secure boot business comes from dells and HP’s where they load the system themselves instead of like what I did where I started from a stock USB load of windows 10.
https://www.youtube.com/watch?v=WWGlJVV3djw – there’s a video online on how to deal with disabling secure boot.
and then afterwards you can follow my instructions on turning on test mode and installing the joysticks.
I shall enable secure boot on my test box to see if i can replicate the error you are having.
I do indeed have a Dell (Alienware). I attempted that fix with no change in the driver status from before I disabled secure boot. Device manager does list my controller as XBCD Xbox Controller but has it in an error state.
The device status in addition to the error mentioned above says Object Name not found.
"Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)
Object Name not found."
Thanks for the assistance!
Okay, before we start digging into the registry like this article suggests about code 39 errors. There's one more thing you can try. I updated this article a while back because people didn't like keeping test signing on for unauthorized drivers and also using questionable programs like the universal watermark disable tool to hide the 'windows 10 test signing' watermark at the lower right-hand corner. I revised the tutorial in the hopes of eliminating that step however it may not have been effective in everyones case.
https://www.s-config.com/archived-xbcd-old-instructions-win10-8/ - in the original XBCD blog entry which covers test signature and also has a different executable then the current blog. But if you wish to try out what the script in the old blog does. simply open a command prompt in admin mode and type in the following:
bcdedit -set TESTSIGNING ON
Then reboot your computer. You will know it worked if you see text in the corner of your desktop saying "Test Mode - Windows 10 - Build XXXX"
The only thing that worries me is although strict enforcement of drivers produces a code 39 error. the reason code give an error stating "the drivers are not signed" and not "object not found".
I successfully got into test mode (watermark and such) but it didn't change the problem, also followed the instructions on the first link you gave for code 39 errors in the registry but that didn't work. I didn't have either the upper or lower filters entries he suggested be deleted. One of the comments he left on that post suggested that it could be the usb port somebody was having trouble with, so just for giggles I did move the controller to the other usb plug, no dice. For the same reason I swapped controllers but that also had no impact.
I am also on an Alienware computer. I couldn't disable secure boot(I got an error message then the pc would restart), and I didn't have upper or lower filters. Could the hardware itself be the problem?
I don't think the hardware itself is the problem. Because it is identifying in device manager. The XBCD driver knows exactly what to do. But there is something going on where it knocks out certain files from entering your system32 folder during installation. Usually if it's a virus checker or firewall program doing this they tend to be very vocal towards the user letting you know what's going on. It could be a windows patch causing this for all I know but if that was the case my fully updated test unit would be exhibiting the same behaviors that you are experiencing. The code 39 error is hard for me to troubleshoot since so far I've not been able to replicate this problem with the two windows 10 pc's I use for my tutorials. I don't want to say 'reload the operating system' as that's really excessive for just a joystick. But I'm also running out of ideas as to what is causing this code 39 error as well.
I know this sounds trivial for me to ask but it has to be asked. During each of these steps such as swapping ports, going to test mode, etc. You have uninstalled the XBCD controller from device manager and checked the box to remove any system files as well right? Because say you disable your secure boot without reloading the drivers. The drivers will always state code 39 because something within your OS has blocked a core file from entering the system32 folder for XBCD to do its job.
After you uninstall XBCD and remove it from device manager pass the following command:
pnputil -e
See if there is any inf files from XBCD or Redcl0ud that exist in your system and delete those inf files as well just to ensure that your OS is not picking up any faulty drivers from cache.
Getting beyond this I hate to say that I'm totally out of ideas on what to do next. And I don't want to say 'reload the OS' especially over something as minimal as an old joystick. I've reloaded one of my test stations and let it update all of its patches and drivers so I have ruled out anything coming down from Microsoft about this one. your code 39 error is specific as if there's something that's straight up blocking the driver from placing files where they should which sounds like something a virus checker would do. But in general virus checkers are rather vocal when they do something like this. They want to show the user that its doing something about a file it doesn't know. So although it doesn't completely rule it out it's also highly unlikely as well.
If someone else has this problem and got it solved I'd like to hear it.
I just want to say I really appreciate that you haven't been treating me like an idiot this entire time, but you really should have. No I had not been doing any of that, because I had no clue what the problem actually was so it never occurred to me that I should.
Anyway. So I uninstalled the drivers (selected the box), checked with pnputil as instructed (it was clean), then rebooted and attempted to reinstall the driver. But now it refuses to install the drivers. I am still in test mode, secure boot is still disabled, I get the following message when it is directed at the xbcd driver: Windows found a driver but encountered an error... "The third-party INF does not contain digital signature information."
Yay new problem?
I attempt to treat everyone the way I expect to be treated back. So no worries there. Installing drivers can be a frustrating process and it's really easy to miss a few steps or have things simply not work as intended. We've all been there! In fact I'm still fighting such a thing with a Wacom tablet for windows 10! :)
And the new error you got is one this blog entry can help with! This happens if your OS refuses to accept the commands:
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set nointegritychecks ON
On reboot. To which you'll have to manually disable integrity checking by holding down the shift key can click the power button to restart your computer. If you search for:
Script fails and still cannot install drivers. Disabling integrity checking manually.
On this blog entry it will take you to all of the screen shots of what you need to do. It should disable integrity checking long enough for you to attempt to install the driver.
Let me know if that code 39 error clears after reinstalling the driver!
So I did the driver signing disable and didn't even get a chance to uninstall and reinstall the drivers it just loaded them up striaght away and the controller works now!
So the question now is 1. will this survive a normal reboot, 2. will this work if I exit test mode. 3. will this still work if I turn secure boot back on.
I will give those a test to see if now that it has accepted the driver it will stick. At the very least I would like to not have the watermark.
Thanks so much!
It should survive a normal reboot. The current blogs drivers have been tested so that after you disable integrity checking you don't need to keep it disabled. The only time you may have to repeat this process is if you get a different controller that triggers a new hardware ID such as a Duke or a Matcatz/3rd party controller.
To turn off the watermark and enable test signing just do the reverse bcedit.
bcdedit -set TESTSIGNING OFF
and reboot.
Anyhow. hope it all works out for you and happy gaming!
I tried enabling test signing the command prompt returned an error "This value is protected by the secure boot policy and can't be modified or deleted" When I disable secure boot windows refuses to start up. I wasn't able to find any other cases of this. I'm going to stop trying with this machine and try a different one when I can.
I really appreciate how helpful and concise you have been. Thank you.
Okay, you were saying that you were encountering errors when you attempted to disable your secure boot policy. Perhaps this is something I should record for another blog since I have a few dells and HP units that play with UEFI bios settings. But when you do an advanced restart > troubleshoot > UEFI Secure boot > and press f10 to jump to BIOS to disable the secure boot settings. what does your windows tell you after disabling secure boot mode in the bios? Getting rid of secure boot is an important step when working with older drivers such as XBCD because while it's enabled it will stop you every step of the way.
When actually selecting "disable" I get a warning "Attention changing this setting may prevent your your operating system from booting."
After saving and rebooting windows tries to load, fails, and I receive a blue screen. "Your PC ran into a problem and needs to restart" along with the stop code: "INACCESSIBLE_BOOT_DEVICE" This repeats 3 times before windows enters "Automatic repair mode"
When this happens I can enable secure boot and boot the computer normally.
Usually the symptoms your describing deal with something not being set properly in the BIOS of your machine. That after you disable UEFI that if it doesn't throw you into the bios of your machine (Dells I think you need to press either f2 or f10 on the startup screen it changes sometimes) and then you go into advanced mode and disable your Security. i'll show you an example on a dell Optiplex because my XE2 is weird. My BIOS may be a little different. to disable/enable UEFI Secure Book.
Once you got the blue screen bios:
Security > Secure Boot Configuration >
Press F10 to confirm that you want to go into this menu.
Set Secure Boot to: Disable
If you have this option, Set Legacy Support to: Enable.
Arrow back over to Main menu.
Arrow down to : Save changes and exit.
Select Yes to confirm your changes.
Finally, I should note that messing with the BIOS may cause the OS to crash or not boot up. So use caution while doing this.
When I set up my controller 3 years ago it took me about 4 hours of troubleshooting to figure it out. Thanks to this guide it only took me 10 minutes. Thank you so much!
Not a problem! Glad it's helping people out! Happy gaming now!