Git Product home page Git Product logo

360controller's Introduction

Xbox Controller Driver for macOS

Table of Contents

  1. About
  2. Installation
  3. Uninstallation
  4. Usage
  5. My controller doesn't work!
    1. I'm using a driver from the Tattiebogle website
    2. My controller doesn't work with a game!
    3. How do I find my Vendor ID and Product ID?
    4. Original Xbox Controllers
    5. Wired Xbox 360 Controllers
    6. Wireless Xbox 360 Controllers
    7. Xbox One Controllers connected with USB
    8. Xbox One Controllers connected with Wireless Adapter
    9. Xbox One Controllers connected with Bluetooth
    10. Xbox One Adaptive Controller
  6. Adding Third Party Controllers
  7. Developer Info
    1. Building
    2. Building the .pkg
    3. Disabling signing requirements
    4. Re-Enabling signing requirements
    5. Debugging the driver
    6. Debugging the preference pane
    7. A note on Unity mappings
  8. Licence

About

As of December 28, 2020, there are not plans to add Big Sur support, including Apple Silicon support. It will most likely not work on Big Sur.

This driver supports the Microsoft Xbox series of controllers including:

  1. Original Xbox

    • Original Xbox controllers are supported by using a USB adapter.
  2. Xbox 360

    • Wired Xbox 360 controllers are supported directly.
    • As of macOS 10.11, Wireless Xbox 360 controller support causes kernel panics. This issue cannot be resolved with minor changes to the driver, and requires that the driver be re-written from scratch to resolve the issue. Due to an excess of caution, we have disabled Wireless Xbox 360 controller support as of 0.16.6. If you want to use a wireless controller, download 0.16.5 or earlier and disable the driver before the computer enters a "sleep" state in order to prevent kernel panics. Alternatively, you can revert to a macOS version before 10.11 to avoid this issue.
  3. Xbox One

    • Xbox One controllers are supported when connected with a micro USB cable. Using the controller with the Wireless Adapter is not currently supported.
    • Bluetooth capable Xbox One controllers (released after August 2016) are natively supported by macOS without the use of this driver. However, installing this driver will allow you to use the controller via USB.

The driver provides developers with access to both force feedback and the LEDs of the controllers. Additionally, a preference pane has been provided so that users can configure their controllers and ensure that the driver has been installed properly.

Controller support includes ALL devices that work with an Xbox series piece of hardware. All wheels, fight sticks, and controllers should work. This includes things like the Xbox One Elite controller. If your hardware does not work with an Xbox console we cannot support it. Sorry.

This project is a fork of the Xbox360Controller project originally created by Colin Munro.

Installation

See the releases page for the latest compiled and signed version of the driver. Most users will want to run this installer. If you are using macOS 10.13.4 or later, then you will have to allow the signing certificate of "Drew Mills" in order for the software to run. Usually, the installer will prompt you to complete this process: System prompt: System Extension Blocked You can either click "Open Security Preferences" to quickly fix this. If you didn't see this prompt, you can navigate to the same window using the Apple menu in the top left hand corner of your screen, navigating the "System Preferences" and then clicking on "Security & Privacy." This will open up the following page. All you need to do is click the "Allow" button near the bottom right. Security & Privacy Preference Pane displaying prompt to user: System software from user "Drew Mills" was blocked from loading This prompt has been known to have issues with software or hardware that interferes with mouse movement. If you are using software that impacts the movement of your mouse, such as MagicKeys, or are using a special interface device, such as a Wacom tablet, please using a standard input device, such as a mouse, to click this button. This is a security feature of macOS and is out of our control.

Uninstallation

In order to uninstall the driver: navigate to the preference pane by opening your "System Preferences," navigating to the "Xbox 360 Controllers" pane, clicking on the "Advanced" tab and pressing the "Uninstall" button. This will prompt you to enter your password so that the uninstaller can remove all of the bundled software from your machine.

Usage

The driver exposes a standard game pad with a number of standard controls, so any game that supports gaming devices should work. In some cases, this may require an update from the developer of the game. The preference pane uses the standard macOS frameworks for accessing HID devices in addition to access of Force Feedback capabilities. This means that the preference pane is a good indicator that the driver is functional for other programs.

It is important to note that this driver does not work, and can never work, with Apple's "Game Controller Framework." This GCController framework corresponds to physical gamepads that have been offically reviewed by Apple and accepted into the mFi program. Due to the fact that we are not Microsoft, we cannot get their gamepad certified to be a GCController. This is an unfortunate oversight on Apple's part. If you would like to discuss this, please do so at this location.

Users have been maintaining a partial list of working and non-working games. Please contribute your findings so that you can help others debug their controller issues.

My controller doesn't work!

I'm using a driver from the Tattiebogle website

The Tattiebogle driver is NOT the same driver as this Github project. We do NOT support that driver. Under NO circumstances will we support that driver. If you download the latest version of this driver from the releases page we will do our best to help you out. This driver will install over the Tattiebogle driver. You don't have to worry about uninstalling the Tattiebogle driver first.

My controller doesn't work with a game!

We cannot fix game specific issues. This driver does its absolute best to put out a standardized format for games to use. If they don't take advantage of that, there is ABSOLUTELY NOTHING we can do. The best we can do for you is give you the "Pretend to be an Xbox 360 Controller" option in the "Advanced" tab. This will make any wired Xbox 360 or wired Xbox One controller appear to games as if it were an official Microsoft Xbox 360 Controller. That way if the game is only looking for Xbox 360 controllers and isn't looking for other devices like third party Xbox 360 controllers or Xbox One controllers, you should be able to trick the game. If you experience an issue with a game that this toggle does not fix, we cannot help you, sorry. That is just the nature of drivers.

How do I find my Vendor ID and Product ID?

Navigate to the Apple menu at the top left corner of your screen. Select the About This Mac option. This will open a new window, where you need to select System Report... in the Overview tab. This will open another new window. On the left hand side of this window, there will be a number of options. Select USB. It will be somewhere near the bottom of the Hardware section. This will show you the USB device tree. Find and click on the entry that corresponds to your controller. This will provide you with the information needed at the bottom of the window. If you cannot find your device, make sure that all devices are properly connected to the computer. Try different cables if the controller still is not found.

Original Xbox Controllers

Make an issue describing your problem.

Wired Xbox 360 Controllers

Always check your controller with the preference pane found at: Apple Menu -> System Preferences -> Xbox 360 Controllers before creating an issue. If the controller works in this menu, then the driver is operating as intended. If your controller works with this menu, but not with a specific game, then read the My controller doesn't work with a game! section. If you have a third party controller, make an issue following the template with the "Product ID" and "Vendor ID" of the controller. Follow How do I find my Vendor ID and Product ID? for instructions on how to find this information.

Wireless Xbox 360 Controllers

As of macOS 10.11, Wireless Xbox 360 controller support causes kernel panics. This issue cannot be resolved with minor changes to the driver, and requires that the driver be re-written from scratch to resolve the issue. Due to an excess of caution, we have disabled Wireless Xbox 360 controller support as of 0.16.6. If you want to use a wireless controller, download 0.16.5 or earlier and disable the driver before the computer enters a "sleep" state in order to prevent kernel panics. Alternatively, you can revert to a macOS version before 10.11 to avoid this issue.

Xbox One Controllers connected with USB

Always check your controller with the preference pane found at: Apple Menu -> System Preferences -> Xbox 360 Controllers before creating an issue. If the controller works in this menu, then the driver is operating as intended. If your controller works with this menu, but not with a specific game, then read the My controller doesn't work with a game! section. If your controller is recognized by the preference pane, but you aren't getting any response from button presses, this is likely due to an issue with macOS 10.11 and later. Apple changed some of the underlying USB code with this release and broke compatibility with some controllers. This is specifically found in controllers from PDP and PowerA. If you revert to macOS 10.10 or earlier, these controllers will work. If the preference pane can't find your controller, make sure that it is listed in Apple Menu -> About this Mac -> System Report -> Overview -> Hardware -> USB. This menu should list a device called "Controller." If it isn't listed there, then you likely have a "charge" Micro USB cable instead of a "data" cable. If the cable isn't sending data, then you can't use the driver. Try a different cable. If you have a third party controller, make an issue following the template with the "Product ID" and "Vendor ID" of the controller. Follow How do I find my Vendor ID and Product ID? for instructions on how to find this information. At this time, PDP and PowerA controllers are unsupported by this driver as of macOS 10.11+ thanks to a rewrite of the macOS USB kernel. We cannot resolve this issue. It is a bug in Apple's core OS code.

Xbox One Controllers connected with Wireless Adapter

Xbox One controllers connected with the Wireless Adapter are currently not supported. Please be patient as we figure out this complicated protocol.

Xbox One Controllers connected with Bluetooth

The Xbox One controller works with macOS automatically when connected over Bluetooth via System Preferences. Only specific Xbox One controllers released after August 2016 have Bluetooth capability. See Microsoft's support page for determining if your controller supports Bluetooth. Due to the fact that this controller works by default, it will not be supported by this driver. If you choose to plug this controller in via USB, you will need this driver. If you do not wish to connect the controller via USB, then you do not need this driver. Any problems with game compatibility in Bluetooth mode are completely out of our control and are up to you to solve in conjunction with the game developer.

Xbox One Adaptive Controller

The Xbox One adaptive controller can connect to your macOS machine through either a Bluetooth or wired connection. In Bluetooth mode, it is not controlled by the driver in any way, and will not show up in the "Xbox 360 Controllers" preference pane. If you are having issues with a wired connection, where the preference pane is recognizing your controller, but isn't recieving inputs, please connect it to a PC or VM running Windows in order to recieve a crucial firmware update. This update may also be possible through an Xbox One console.

Adding Third Party Controllers

First, disable signing requirements so that you can run your custom build with your third party controller added. Then edit 360Controller/360Controller/Info.plist. Add your controller following the pattern of pre-existing controllers by adding your vendor and product IDs to a new entry. After this, follow the information in the building section, following the "If you don't have a signing certificate" path to build your new .kext. Then, place your shiny new 360Controller.kext in to /Library/Extensions over the old one. You may need to take ownership of the driver in order for it to operate properly. You can do this with sudo chown -R root:wheel /Library/Extensions/360Controller.kext. Then, to make sure everything went according to plan, run sudo kextutil /Library/Extensions/360Controller.kext. This will load your kext into the OS and you should be able to use your controller. Once you reboot, your custom driver should be loaded automatically.

Developer Info

Drivers inherently modify the core operating system kernel. Using the driver as a developer can lead to dangerous kernel panics that can cause data loss or other permanent damage to your computer. Be very careful about how you use this information. We are not responsible for anything this driver does to your computer, or any loss it may incur. Normal users will never have to worry about the developer section of this README.

Building

Apple has recently changed how drivers work in Xcode 7. In order to build the driver, you will need Xcode 6.4 or earlier.

Additionally, to use the included build scripts, you will need to change your preferred Xcode installation using xcode-select.

You must have a signing certificate to install a locally built driver. Alternatively, you can disable driver signing on your machine, however this is a major security hole and the decision should not be taken lightly.

You will need a full installation of Xcode to build this project. The command line tools are not enough.

The project consists of three main parts: The driver (implemented in C++, as an I/O Kit C++ class), the force feedback plugin (implemented in C, as an I/O Kit COM plugin) and the preference pane (implemented in Objective C as a preference pane plugin). To build, use the standard Xcode build for Deployment on each of the 3 projects. Build Feedback360 before 360Controller, as the 360Controller project includes a script to copy the Feedback360 bundle to the correct place in the .kext to make it work.

To debug the driver, sudo cp -R 360Controller.kext /tmp/ to assign the correct properties - note that the Force Feedback plugin only seems to be found by OSX if the driver is in /System/Library/Extensions so it can only be debugged in place. Due to the fact that drivers are now stored in /Library/Extenions, this means that you must create a symlink between the location of the driver and /System/Library/Extensions so that the force feedback plugin can operate properly.

Building the .pkg

In order to build the .pkg, you will need to install Packages.app.

If you don't have a signing certificate

  • Open 360 Driver.xcodeproj using Xcode.
  • Select the 360 Driver project in the Navigator.
  • Select the 360Daemon target from the top right corner.
  • Select the Build Settings tab from the top of the screen.
  • In the Code Signing section, find Code Signing Identity section and expand it.
  • In the Release section, change the selection to Don't Code Sign.
  • Set the code signing identity for 360Daemon, Feedback360, 360Controller, DriverTool, Pref360Control, Wireless360Controller, WirelessGamingReceiver and Whole Driver.
  • Run ./build.sh to build the .pkg. This .pkg can be found in the Install360Controller directory.

If you have a signing certificate

  • Create a file named DeveloperSettings.xcconfig
  • Select the 360 Driver project in the Navigator.
  • In this file, add the following lines:
    • DEVELOPMENT_TEAM = XXXXXXXXXX where XXXXXXXXXX is the development team on your Developer ID Application and Installer certificates.
    • DEVELOPER_NAME = First Last where First Last is the name on the Developer ID Installer certificate.
    • DEVELOPER_EMAIL = [email protected] where [email protected] is the email address of your Apple account that has your Developer ID Application and Installer certificates.
    • NOTARIZATION_PASSWORD = abcd-efgh-ijkl-mnop where abcd-efgh-ijkl-mnop is a temporary password that you have generated for your Apple account for the purposes of notarization.

Disabling signing requirements

Since Yosemite (macOS 10.10) all global kexts are required to be signed. This means if you want to build the drivers and install locally, you need a very specific signing certificate that Apple closely controls. If you want to disable the signing requirement from macOS, you will need to do several things.

First, execute these commands in your terminal:

sudo nvram boot-args="kext-dev-mode=1"
sudo kextcache -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions

Next, you must disable System Integrity Protection. To do this, boot into recovery mode by holding down CMD + R while the computer is starting. Once recovery mode has been loaded, open the terminal from the Utilites menu item. Execute the following command:

csrutil disable

Re-Enabling signing requirements

From recovery mode, execute the following command:

csrutil enable

Reboot into macOS like normal. You can reset the boot arguments by executing this command:

sudo nvram -d boot-args

This will remove ALL boot-args. If you have previously manipulated your boot-args, those changes will be erased as well!

Notarization of the driver

This is only possible if you have a signing certificate, but it is a relatively straightforward process.

  • Build the driver as previously instructed and make sure to include the necessary information in your DeveloperSettings.xcconfig file, as they will be used during this process.
  • Make sure to cd into the Install360Controller directory and run ./makedmg.sh
  • Run ./notarize.sh
  • This should finish with the message: The validate action worked!

Then you can distribute the notarized and stapled version of the driver.

Debugging the driver

Debugging the driver depends on which part you intend to debug. For the 360Controller driver itself, it uses IOLog to output to the system.log which can be accessed using Console.app. Feedback360 uses fprintf(stderr, ...), which should appear within the console of the program attempting to use force feedback.

Debugging the preference pane

Most of these instructions are pulled directly from this blog post. Please visit it for futher information.

First, create a copy of System Preferences.app called System Preferences (signed).app. Then sign this new System Preferences with the command:

codesign -s "Developer ID Application: First Last (XXXXXXXXXX)" -f /Applications/System\ Preferences\ \(signed\).app/

where Developer ID Application: First Last (XXXXXXXXXX) is the name of your Developer ID Application signing certificate.

Edit your build scheme for Pref360Control, and select the "Run" scheme, and make sure you are editing "Debug" (A). In the environment variables section, click on "+" to add a new environment variable (B). Name the new variable OBJC_DISABLE_GC, and set its value to YES.

Next, click the little disclosure triangle for the run scheme to reveal its detailed settings. Then select pre-actions. Click the "+" at the bottom to add a run script action. Enter /bin/sh as the shell, make sure that your target is selected to provide build settings, and type a shell command line to install the newly compiled pref pane in your personal Library folder:

cp -Rf ${CONFIGURATION_BUILD_DIR}/Pref360Control.prefPane ~/Library/PreferencePanes

Finally, select the run step, choose "other" from the executable drop-down menu, and select System Preferences (signed) in the Applications folder. Verify that "Debug executable" and "Automatically" are both checked.

A note on Unity mappings

The issues with the button and axis mappings in the Unity game engine are outside of our control. Unity mangles the button and axis values provided by the controller and remaps them to different values. There is absolutely no way that we can introduce a shim to fix it. Complaints about this should be directed at Unity, not at us.

Licence

Copyright (C) 2006-2013 Colin Munro

This driver is licensed under the GNU Public License. A copy of this license is included in the distribution file, please inspect it before using the binary or source.

360controller's People

Contributors

bleeq avatar chipsenkbeil avatar d235j avatar drewbadour avatar eliote avatar franticrain avatar garrafonsoft avatar jrab66 avatar kamikazow avatar kasbert avatar kevineaves avatar kylewlacy avatar l1cardo avatar lrasinen avatar lrflew avatar maddthesane avatar matthewbauer avatar miroswan avatar monchote avatar nathanielwasson avatar nkronlage avatar pmcrofts avatar pyroh avatar rodrigocard avatar sanjay900 avatar squarer avatar thecrypticace avatar thinkagile avatar walterav1984 avatar zaius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

360controller's Issues

Add support for more devices

There are a lot of opened issues about supporting new devices #20 #14 #5 #1 #17 and a few messages buried inside other issue's comments.

@bleeq said on #5 he was working on adding new devices.

Someone also made a script to change (the version 0.11 of) the driver to accept a big list of new devices, here: http://forums.macrumors.com/showthread.php?t=636420 (the script https://dl.dropboxusercontent.com/u/14890209/Xbox360Driver0.11ExtraPadSupport.command.zip )

That wont work on signed drivers, I think.

So I think that we should add basic support for these devices, It is apparently easy.

Did you do something about that @bleeq ?
Which file do I look to add support for new devices?

On/Off button menu bar (New Feature)

I don't if it is possible but a I like to see an on/off button in the menu bar to turn your controllers of in the menu bar as a new feature. Because now you have to open the config window every time you like to do that. I have no clue if this is a lot of work to implement, if so, don't bother.

Ask for Restart...

I was testing a bit on Yosemite and noticed the current version's installer doesnt ask the user to restart (as the 0.12 version did), since the driver needs a reboot to work properly I think this is a good idea.

Thumb axis vertical values are inverted

According to MSDN — http://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.reference.xinput_gamepad(v=vs.85).aspx — the thumbstick values are negative for down and left.
When I read out the values from this driver I get negative values for UP and left. Was this deliberate, is MSDN wrong or is it a driver issue?

Additionally, wiggling the left stick yields actions for the right stick and vice versa unless I hold the first stick at extreme values. So, e.g. I hold the left stick at, say, -20000, and I then move the right stick. I get input value callback calls for the left stick as well (with the right values for both though). Not sure if this is a limitation of the hardware or a bug.

Leds flashing on 0.14 release on Yosemite 10.10.2 when wireless receiver is connected thru USB-hub

My wireless official Microsoft Xbox360 controller just blinks all four leds simultaneously when the receiver is connected thru USB-hub. The controller shows ok in the System Preferences XBox driver view and functions great in Super Meat Boy. For testing I removed all other devices from the USB-hub. The hub itself is simple 4-port hub with option to use external power source. I didn't use it and doubt it is about power.

The wireless controller and the receiver are the official Windows version of Microsoft XBox360 controller package.

I am willing to do further testing if this needed for fixing this issue.

Horipad EX2 Turbo refuses to work with 360Controller

I'm running OS X 10.10.1 on a mid-2012 MBP and a late 2009 Mac Mini. 360Controller doesn't work with my EX2 Turbo, on the MPB or the Mini. It doesn't show up as a device under the XBox 360 Controllers preference. No game or emulator can see it.

It does show up under System Report->USB and works perfectly in Windows 7 running under Parallels, though.

I even tried deleting 360Controller from the MBP and using Tattieboggle's driver + workarounds. Still nothing. What's going on?

Screensaver turns on while playing

Yesterday i tried to play "Broforce" with my brand new XBOX 360 Wireless Controller with your driver under OSX 10.10.1. It worked well, but the screensaver appeared while playing.

Is this game-related or input-device related?
I think it could be a combination of both, havent tried any other game.

360 Keyboard is not working

I got an Xbox 360 keyboard to try and see how the keyboard support was. It turns out that the support doesn't really work.

MadCatz FightPad (New device)

Hi,

Could you add the support for this pad?
Thanks!

Mad Catz FightPad:

Product ID: 0xf02e
Vendor ID: 0x1bad
Version: 4.90
Serial Number: 1871A46A
Speed: Up to 12 Mb/sec
Manufacturer: Mad Catz, Inc.
Location ID: 0xfd140000 / 5
Current Available (mA): 500
Current Required (mA): Unknown (Device has not been configured)

Create multi-OS installer package

There needs to be a way to create an Installer package that will install the right kext for the OS version. The current program could be used, but it looks like it will take a lot of Packages (the name of the app that generates Installer packages for us) projects, and we might still need to use command line tools.

Can't unload the kexts

I was writing a uninstall script (#54) and noticed the kexts aren't unloading correctly. Both for Wired and Wireless controllers.
please try:

sudo kextunload -b "com.mice.driver.Xbox360Controller"

or

sudo kextunload -b "com.mice.driver.Wireless360Controller"

The controller(s) stop working as expected but the driver is still on memory
(check with sudo kextstat | grep com.mice.driver)

if you reload the driver it will get back working with another stance.
Apparently the old stance was never released and leak.

This is the message I got when trying to unload the kext in verbose mode, after unloading/loading a few times:
(sudo kextunload -b "com.mice.driver.Xbox360Controller" -v 6)

Kext user-space log filter changed from 0xff2 to 0xfff.
Kext kernel-space log filter changed from 0xff2 to 0xfff.
Requesting unload of com.mice.driver.Xbox360Controller (with termnation of IOServices).
(kernel) User-space log flags changed from 0x0 to 0xfff.
(kernel) Received 'Unload' request from user space.
(kernel) Can't unload kext com.mice.driver.Xbox360Controller; classes have instances:
(kernel) Kext com.mice.driver.Xbox360Controller class Xbox360Peripheral has 7 instances.
(kernel) Kext com.mice.driver.Xbox360Controller class Xbox360ControllerClass has 1 instance.
(kernel) Kext com.mice.driver.Xbox360Controller class XboxOneControllerClass has 7 instances.
Kernel error handling kext request - (libkern/kext) kext is in use or retained (cannot unload).
Failed to unload com.mice.driver.Xbox360Controller - (libkern/kext) kext is in use or retained (cannot unload).

Also, this is certainly the reason why you usually need to restart (#11) when upgrading the driver.
Maybe this is related to #13 too?

Also, this may help, I think:
http://stackoverflow.com/questions/13536970/cant-unload-kernel-extension-classes-have-instances

Signing into xcconfig

Maybe a nitpick, but are you open to the idea of using a DeveloperSettings.xcconfig which is added to .gitignore (as described here: http://stackoverflow.com/a/333177/114132) to store the CODE_SIGN_IDENTITY variable?

It would make my working tree a bit cleaner, and would also help with initial error messages for people trying to build.

Controller order

I've noticed that the controller order get messed up when a controller disconnects.

For example, there are 4 360 controllers used. Controller 3 disconnects, and you reconnect it straight after it disconnects. It will show up again as controller 3 on the indicator lights, but the game will see it as controller 4 and not as 3, while the real controller 4 will not be able to control anything form that point.

So the indicator lights on the controller work well after reconnecting, but the internal controller order gets messed up. I've tested this with 2 games so far one of then Towerfall which works native with 360 controllers.

[BETOP (GAME FOR WINDOWS)] (not supported device)

[BETOP (GAME FOR WINDOWS)]:

产品 ID: 0x5506
厂商 ID: 0x11c0 (Sanmos Microelectronics Corp.)
版本: 1.00
速度: 最大 12 Mb/秒
制造商: HJC Game
位置 ID: 0x14200000 / 3
可用电流 (mA): 500
所需电流 (mA): 500

Memory/resource leak with ChatPad

I disconnect my 360 controller. When trying to unload the 360Controller kext via kextunload, it would say that two instances were in use. I found out when I don't have my ChatPad attached, it unloads fine.

LEDs spin the whole time

I've upgraded to the 0.14 version of the driver (to work on Yosemite) and the controller is being recognized, but the 4 LEDs on the front just spin the whole time (as if they are looking to pair with an XBox).

This happens with both the wired and the wireless controller.

I'm on 10.10.1 MacBook Pro (Retina, 15-inch, late 2013)

Problems on OSX 10.7.5

Hello, I tried installing v0.13.1 but got this when I try loading 360Controller.kext:

Notice: /System/Library/Extensions/360Controller.kext has debug properties set.
Warnings: 
    Personality CFBundleIdentifier differs from containing kext's (not necessarily a mistake, but rarely done): 
        ChatPadKeyboardEvents

(kernel) kxld[com.mice.driver.Xbox360Controller]: The super class vtable '__ZTV11IOHIDDevice' for vtable '__ZTV20ChatPadKeyboardClass' is out of date. Make sure your kext has been built against the correct headers.
(kernel) kxld[com.mice.driver.Xbox360Controller]: The super class vtable '__ZTV11IOHIDDevice' for vtable '__ZTV22Xbox360ControllerClass' is out of date. Make sure your kext has been built against the correct headers.
(kernel) kxld[com.mice.driver.Xbox360Controller]: The super class vtable '__ZTV11IOHIDDevice' for vtable '__ZTV20ChatPadKeyboardClass' is out of date. Make sure your kext has been built against the correct headers.
(kernel) kxld[com.mice.driver.Xbox360Controller]: The super class vtable '__ZTV11IOHIDDevice' for vtable '__ZTV22Xbox360ControllerClass' is out of date. Make sure your kext has been built against the correct headers.
(kernel) Can't load kext com.mice.driver.Xbox360Controller - link failed.
(kernel) Failed to load executable for kext com.mice.driver.Xbox360Controller.
(kernel) Kext com.mice.driver.Xbox360Controller failed to load (0xdc008016).
(kernel) Failed to load kext com.mice.driver.Xbox360Controller (error 0xdc008016).
Failed to load /System/Library/Extensions/360Controller.kext - (libkern/kext) link error.
Check library declarations for your kext with kextlibs(8).

Driver do not see device

2014-02-01 15 21 43

Full Speed device @ 7 (0x14100000): ............................................. Vendor-specific device: "Controller"
Port Information: 0x101a
Not Captive
Attached to Root Hub
External Device
Connected
Enabled
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 (unconfigured): 8
Device Descriptor
Descriptor Version Number: 0x0200
Device Class: 255 (Vendor-specific)
Device Subclass: 255 (Vendor-specific)
Device Protocol: 255
Device MaxPacketSize: 8
Device VendorID/ProductID: 0x12AB/0xF701 (Honey Bee Electronic International Ltd.)
Device Version Number: 0x0110
Number of Configurations: 1
Manufacturer String: 1 "Microsoft Inc."
Product String: 2 "Controller"
Serial Number String: 3 "102612E"
Current configuration: 0 (unconfigured)
Configuration Descriptor
Length (and contents): 153
Raw Descriptor (hex) 0000: 09 02 99 00 04 01 00 A0 FA 09 04 00 00 02 FF 5D
Raw Descriptor (hex) 0010: 01 00 11 21 10 01 01 25 81 14 03 03 03 04 13 02
Raw Descriptor (hex) 0020: 08 03 03 07 05 81 03 20 00 04 07 05 02 03 20 00
Raw Descriptor (hex) 0030: 08 09 04 01 00 04 FF 5D 03 00 1B 21 00 01 01 01
Raw Descriptor (hex) 0040: 83 40 01 04 20 16 85 00 00 00 00 00 00 16 05 00
Raw Descriptor (hex) 0050: 00 00 00 00 00 07 05 83 03 20 00 02 07 05 04 03
Raw Descriptor (hex) 0060: 20 00 04 07 05 85 03 20 00 40 07 05 05 03 20 00
Raw Descriptor (hex) 0070: 10 09 04 02 00 01 FF 5D 02 00 09 21 00 01 01 22
Raw Descriptor (hex) 0080: 86 07 00 07 05 86 03 20 00 10 09 04 03 00 00 FF
Raw Descriptor (hex) 0090: FD 13 04 06 41 00 01 01 03
Number of Interfaces: 4
Configuration Value: 1
Attributes: 0xA0 (bus-powered, remote wakeup)
MaxPower: 500 ma
Interface #0 - Vendor-specific
Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 93 (Vendor-specific)
Interface Protocol: 1
Raw Descriptor (hex) 0000: 11 21 10 01 01 25 81 14 03 03 03 04 13 02 08 03
Raw Descriptor (hex) 0010: 03
Endpoint 0x81 - Interrupt Input
Address: 0x81 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 4 ms
Endpoint 0x02 - Interrupt Output
Address: 0x02 (OUT)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 8 ms
Interface #1 - Vendor-specific
Alternate Setting 0
Number of Endpoints 4
Interface Class: 255 (Vendor-specific)
Interface Subclass; 93 (Vendor-specific)
Interface Protocol: 3
Raw Descriptor (hex) 0000: 1B 21 00 01 01 01 83 40 01 04 20 16 85 00 00 00
Raw Descriptor (hex) 0010: 00 00 00 16 05 00 00 00 00 00 00
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 2 ms
Endpoint 0x04 - Interrupt Output
Address: 0x04 (OUT)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 4 ms
Endpoint 0x85 - Interrupt Input
Address: 0x85 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 64 ms
Endpoint 0x05 - Interrupt Output
Address: 0x05 (OUT)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 16 ms
Interface #2 - Vendor-specific
Alternate Setting 0
Number of Endpoints 1
Interface Class: 255 (Vendor-specific)
Interface Subclass; 93 (Vendor-specific)
Interface Protocol: 2
Raw Descriptor (hex) 0000: 09 21 00 01 01 22 86 07 00
Endpoint 0x86 - Interrupt Input
Address: 0x86 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 32
Polling Interval: 16 ms
Interface #3 - Vendor-specific .............................................. "Xbox Security Method 3, Version 1.00, \251 2005 Microsoft Corporation. All rights reserved."
Alternate Setting 0
Number of Endpoints 0
Interface Class: 255 (Vendor-specific)
Interface Subclass; 253 (Vendor-specific)
Interface Protocol: 19
Raw Descriptor (hex) 0000: 06 41 00 01 01 03

Power-off timeout is too short

0.12 featured power-off timeout. All cool for keeping the battery alive, but a timeout of only 2 minutes is too damn short. Any cutscene will make the controller to turn off. That shouldn't be a problem, but most games stop recognizing the controller afterwards (which I don't know if it's another bug on its own) and I end up needing to close and launch them again.

Ideally, I see this a something to be configurable, but back then, as a quick fix, I re-compiled the driver with a more reasonable timeout of 15 minutes. I also tried to contact tattiebogle to have it merged, but never got word from him. I'm happy to find this "unofficial" fork of the driver so the community can finally contribute.

Emulate a 360 controller?

Hi there -

I recently switched from Linux to Mac OS. Some linux ports only support xbox 360 controller mappings, like Super Meat Boy. It seems like some Mac OS games are like this, too (like Castle Crashers).

On Linux, I can use xboxdrv to create a virtual joystick, and map buttons from my cruddy old PS2 to USB adapter. I'm wondering if it makes sense to incorporate that kind of functionally into this project.

I would love to be able to continue using my older controllers with newer games.

D-Pad shows as multiple buttons

This has been the functionality of the driver since the beginning. D-pad shows as multiple individual buttons to the operating system. It leads to some problems with games that by default map some functionality to some buttons. It also might lead to problems with games that get confused with too many buttons. Latter is off course example of bad design in the game, rather that in the driver.

Anyway, I was hoping that maybe there could be an option where you could choose between current functionality and an alternative one where d-pad wouldn't show as bunch of buttons. I think we need to keep the current mapping as well, as many games depend on it.

My current test case is with Residual VM. Steps to reproduce, using Xbox360 wireless controller, driver release 0.14:

  1. First be sure you have enable joystick support in Residual VM
  2. Launch Grim Fandango
  3. Move Manny with thumbstick
  4. Try to interact with object in the scene

Observe that the default interaction button is mapped to one of the d-pad directions.

Wake up mac connect problem

Hi,
I'm using drivers version 0.13.1 and when my mac wake up form sleep I can't connect the wireless xbox 360 controller, all 4 lights blink. Is necessary disconect the receptor from USB and connect again to working. Is this a bug? There is a fix for that?
My iMac is Mavericks OS X 10.9.4
Thanks,
Charles

Hori Real Arcade Pro EX - kernel[0]: Unknown device release 100start - failed to read chatpad setting

I'm having the same issue other folks have mentioned (in the SRK forum) regarding the HORI Real Arcade Pro EX. When I connect, I've got flashing lights but the driver does recognize it. However, system_profiler SPUSBDataType would indicate that the OS does recognize the device. This is what I get from /var/log/syslog.log:

Oct 25 00:37:03 disorder kernel[0]: Unknown device release 100start - failed to read chatpad setting

Dug into the code and saw this:

if (device->DeviceRequest(&controlReq, 100, 100, NULL) != kIOReturnSuccess)
{
IOLog("start - failed to read chatpad setting\n");
goto fail;
}

I also found this:

bool Xbox360Peripheral::start(IOService *provider)
{
const IOUSBConfigurationDescriptor *cd;
IOUSBFindInterfaceRequest intf;
IOUSBFindEndpointRequest pipe;
XBOX360_OUT_LED led;
IOWorkLoop *workloop = NULL;

if (!super::start(provider))
    return false;
// Get device
device=OSDynamicCast(IOUSBDevice,provider);
if(device==NULL) {
    IOLog("start - invalid provider\n");
    goto fail;
}
// Check for configurations
if(device->GetNumConfigurations()<1) {
    device=NULL;
    IOLog("start - device has no configurations!\n");
    goto fail;
}
// Set configuration
cd=device->GetFullConfigurationDescriptor(0);
if(cd==NULL) {
    device=NULL;
    IOLog("start - couldn't get configuration descriptor\n");
    goto fail;
}
// Open
if(!device->open(this)) {
    device=NULL;
    IOLog("start - unable to open device\n");
    goto fail;
}
if(device->SetConfiguration(this,cd->bConfigurationValue,true)!=kIOReturnSuccess) {
    IOLog("start - unable to set configuration\n");
    goto fail;
}
// Get release
{
    UInt16 release = device->GetDeviceRelease();
    switch (release) {
        default:
            IOLog("Unknown device release %.4x", release);
            // fall through
        case 0x0110:
            chatpadInit[0] = 0x01;
            chatpadInit[1] = 0x02;
            break;
        case 0x0114:
            chatpadInit[0] = 0x09;
            chatpadInit[1] = 0x00;
            break;
    }
}

These two functions combined seem to make the the contents of the log file. Don't know that much about device drivers or ObjC/C, but I can do some guessing:

It looks like the first conditional does not return kIOReturnSuccess, which might indicate that the DeviceRequest failed.

In the second code section, it looks like device is some sort of pointer to a struct or object and GetDeviceRelease is the method for that struct or object. The return value is release, which is likely a 16 bit int. The switch logic defaults to failure if release doesn't match the either of the hex values listed above. Since there are no comments for those values, I have no idea what they're for (at least without digging deeper)

If anyone is willing to take this on, I'd be more than happy to assist in any way I can. Would be great to get this bug squashed.

XB360 Mortal Kombat FightStick Doesn't Work

Hi any reason why the XB360 Mortal Kombat FightStick isn't detected by the PrefPane? I've added it to the info.plist and recompiled but still doesn't show up. Any help would be great. Trying to build a Mac mini cade.

XB360 Mortal Kombat FightStick:

  Product ID:   0xf906
  Vendor ID:    0x1bad
  Version:  1.00
  Serial Number:    2370656
  Speed:    Up to 12 Mb/sec
  Manufacturer: Performance Designed Products
  Location ID:  0x14100000 / 8
  Current Available (mA):   500
  Current Required (mA):    Unknown (Device has not been configured)

I've also tried running the following command

sudo /Library/PreferencePanes/Pref360Control.prefPane/Contents/Resources/DriverTool \
edit \
XB360MortalKombatFightStick 7085 63750 \

screen shot

Feature request/bug report: slider for adjusting axis sensitivity

Hi,
I'm currently using the xbox 360 wireless controller to play some good ol' n64 games with openEmu. The problem is that the controls on the left joystick axes are way to sensitive, so on moving the sticks only a little bit Mario just RUNS instead of walking slowly.
So:
A) I didn't understand what the sliders on the very left and at the bottom right are for. When I move them I see the red lines going back and forth, but it doesn't change the controls in any way. If these sliders are supposed to change sensitivity, then this is a bug-report.
B) The sliders have nothing to do with sensitivity. Then this is a feature-request for adding another slider, that would decrease sensitivity, so that little Mario can walk slowly in the future.

Cheers! -H

Branch notes, (01/2015):

Just a quick PSA to say that the yosCodeSign branch has been moved to master, while the contents of the old master branch have moved to snowLeopardCompat.

Option to disable driver in PrefPane for use with OnLive.

With the driver installed the xbox 360 controller doesn't work with OnLive. I would have to uninstall this driver for it to work. Would be great to have a button in PrefPane to be able to disable it so we don't have to uninstall and reinstall the driver if we want to use OnLive.

Wireless controller fails to pair with receiver

This is probably my fault, but I wonder if something could be done about it. I'm willing to post logs or whatever to get this to work. I apparently bought a Chinese knock off wireless receiver instead of the official Microsoft one. I didn't do it intentionally, but I figure the device would still function.

However when I try to pair the receiver and wireless controller the lights flash (and circle on the controller) as expected. Then the receiver light goes solid and all four lights flash on the controller 4 times, pause, then continue to flash as if the pairing was unsuccessful.

Force feedback effects don't work with < 1 second durations

Using this driver with a wired Xbox 360 controller, force feedback effects only work if the duration is at least 1 second. Anything less and the effect doesn't work at all (but it still reports success, or at least SDL does.)

This can be easily tested by modifying the durations in the SDL_HapticRumblePlay calls in testrumble.c.

Xbox 360 Wireless Controller for Windows (New device)

The problem is the same as in https://github.com/d235j/360Controller/issues/38

Xbox 360 Wireless Receiver for Windows:
Product ID: 0x0719
Vendor ID: 0x045e (Microsoft Corporation)
Version: 1.00
Serial Number: 00000000
Speed: Up to 12 Mb/sec
Manufacturer: ©Microsoft
Location ID: 0x1a110000 / 3
Current Available (mA): 500
Current Required (mA): 260

I could see in Windows under Parallels id of the controller:
USB\VID_045E&PID_02A1&IG_00

What should I add to the info.plist to work?

P.S. Sorry for my bad english

Xbox One controller support

Dear developer,
My friends and I have xbox one gamepad and sometimes want to use it on MAC.
Do you have a plan to develop a driver for xbox one controller for MAC OS X?

Razer Sabertooth Elite

I can confirm that this method gives me a working controller (Razer Sabertooth Elite):
http://forums.macrumors.com/showthread.php?p=18789871#post18789871

However is it possible to get this controller working with this version so I don't have to deal with crashes??
The information for this controller is as follows:
Product ID: 0xfe00
Vendor ID: 0x1689
Version: 1.24
Serial Number: 0773633A
Speed: Up to 12 Mb/sec
Manufacturer: Razer
Location ID: 0x14500000 / 10
Current Available (mA): 500
Current Required (mA): 500

Thanks, or if you could point me in the direction of how to help the project support it even better

GameController Framework support

Apple has their own framework to provide access to game controllers: Game Controller Framework Reference

I have tried it with Xbox360 Wireless and this driver, but nothing gets found:

#import <GameController/GameController.h>

for (GCController *controller in [GCController controllers]) {
    NSLog(@"CONTROLLER FOUND: %@", controller);
}

I could access it via SDL2.
So I was wondering, what would be the effort to add support for GameController Framework?

Logitech F710 Support

Hello,

Before I've upgraded to Yosemite, I used this instruction and your driver in 10.9 to play Steam games using Logitech F710 gamepad in X-Input mode and it worked great, thank you for that!

But with the upgraded driver and 10.10 the trick does not seem to work, could you please look into it?

PS: I (and many F710 users I guess) would also appreciate, if the driver supported this gamepad out-of-the-box, there seems to be no rocket-science in Xbox360DriverExtraPadSupport.command

Wireless controller goes to sleep

I noticed this bug since I installed the Yosemite release. The wireless controller goes to sleep after the timeout like I hadn't been using it at all. Could it be related with the fact that the lights keep blinking?

Include Uninstaller

I have read in another form that we can use pkgutil --files com.mice.pkg.Xbox360controller; to see the files installed by your driver and uninstalled manually. I am wondering if maybe you could include some kind of uninstaller to make the process easier.
Thank you for your amazing work

Bumping minimum version....

So... "in order to compile (with 32-bit support), you need to set DEVELOPER_DIR to an Xcode 4.6 Developer directory and run build.sh. Xcode 5 cannot compile 32-bit kexts."

Does this even work in Xcode 6 on Yosemite/Mavericks?
Is there any breaking changes that prevent 32bit from building in the yosCodeSign branch?

As discussed in #31 , this branch probably should be on master.
Maybe it is the time to bump up the minimum required version to the one that supports kexts signed with the latest xcode (10.7? 10.8? 10.9?) and maybe keep another branch that works on older versions.

@d235j @MaddTheSane thoughts?

Latest Driver Release Preventing Display Sleep While Plugged In

My Gamestop controller is FINALLY supported in this release, but I have another issue.
As long as the controller is connected via USB, the display fails to go to sleep and I need to remember to unplug the controller so the display sleeps as expected. Is there a way to fix this so the display functions/sleeps as expected? Unplugging the controller when done with it does fix it, but where it is now attached is not the most convenient place to reach to unplug when done...

Can't find the software anywhere on Mac

Hey,

I think I'm dumb as hell but I've tried to install this sofware maybe 15 times and everytime it has finished installing it, I can't find the software anywhere : nor in my Files or my Apps ... Someone please help me !!

I'm using a MacBook Pro with OSX Yosemite 10.10

Lights around XBox button never stop spinning, even when connected and playing.

The controller connects fine with the transceiver and the XBox360 Controllers control panel see the input just fine. My controller, though, will not stop spinning and stay on the player 1 light.

Does this happen to anyone else?

I'm using OS X Yosemite 10.10.1 and version 0.14 of the XBox360 Controller driver. It stopped working altoegther after I updated to Yosemite but 0.14 fixed it. The spinning lights had been a problem before I updated to Yosemite, though.

Kernel panic on unplug of controller

Anonymous UUID:       3375D1AB-DD7E-F75E-096A-382488A25960

Wed Aug 13 20:49:06 2014
panic(cpu 0 caller 0xffffff80288dbf5e): Kernel trap at 0xffffff7faad4e98e, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x0000000000000000, CR3: 0x000000002b407000, CR4: 0x00000000001606e0
RAX: 0xffffff804e745a00, RBX: 0xffffff804e745a00, RCX: 0x0000000000000007, RDX: 0xffffff804fec3500
RSP: 0xffffff82158a3b10, RBP: 0xffffff82158a3b20, RSI: 0x00000000e0000010, RDI: 0x0000000000000000
R8:  0x0000000000000000, R9:  0x0000000000000000, R10: 0x0000000000000010, R11: 0xffffffffffffff00
R12: 0xffffff8055aa3540, R13: 0x00000000e0000010, R14: 0x0000000000000007, R15: 0xffffff804fec3500
RFL: 0x0000000000010246, RIP: 0xffffff7faad4e98e, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x0000000000000000, Error code: 0x0000000000000000, Fault CPU: 0x0

Backtrace (CPU 0), Frame : Return Address
0xffffff82158a37a0 : 0xffffff8028822fa9 
0xffffff82158a3820 : 0xffffff80288dbf5e 
0xffffff82158a39f0 : 0xffffff80288f3456 
0xffffff82158a3a10 : 0xffffff7faad4e98e 
0xffffff82158a3b20 : 0xffffff8028c91d3a 
0xffffff82158a3b80 : 0xffffff8028c92053 
0xffffff82158a3ba0 : 0xffffff8028c8d219 
0xffffff82158a3be0 : 0xffffff8028c91ea2 
0xffffff82158a3c10 : 0xffffff8028c92019 
0xffffff82158a3c50 : 0xffffff8028c93b72 
0xffffff82158a3ca0 : 0xffffff8028caf25e 
0xffffff82158a3ce0 : 0xffffff8028c9326f 
0xffffff82158a3d60 : 0xffffff8028c92d27 
0xffffff82158a3da0 : 0xffffff8028c92aba 
0xffffff82158a3e00 : 0xffffff8028c9408c 
0xffffff82158a3e10 : 0xffffff7fa8e301a1 
0xffffff82158a3e30 : 0xffffff7fa9a28b1a 
0xffffff82158a3e70 : 0xffffff7fa9a2c7f7 
0xffffff82158a3ea0 : 0xffffff7fa9a2cc97 
0xffffff82158a3f00 : 0xffffff7fa9a27b8f 
0xffffff82158a3f20 : 0xffffff802884a23a 
0xffffff82158a3fb0 : 0xffffff80288d7127 
      Kernel Extensions in backtrace:
         com.apple.iokit.IOUSBFamily(677.4)[7B660BA0-DC2C-3B67-9156-A9E8F9CC783F]@0xffffff7fa8e1b000->0xffffff7fa8e7bfff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[244D4E48-78E6-3369-8D76-285C66EF9BF4]@0xffffff7fa8dec000
         com.apple.driver.AppleUSBHub(666.4)[67DBE53A-831B-3DE4-8D54-DC56789C25EC]@0xffffff7fa9a1b000->0xffffff7fa9a32fff
            dependency: com.apple.iokit.IOUSBFamily(677.4.0)[7B660BA0-DC2C-3B67-9156-A9E8F9CC783F]@0xffffff7fa8e1b000
         com.mice.driver.Xbox360Controller(1.0d12)[CD56688F-D773-3C80-AE8E-34AC8CAB8988]@0xffffff7faad4d000->0xffffff7faad52fff
            dependency: com.apple.iokit.IOHIDFamily(2.0.0)[FDF4C462-65B0-367C-8A5E-56136D7C54A5]@0xffffff7fa9928000
            dependency: com.apple.iokit.IOUSBFamily(677.4.0)[7B660BA0-DC2C-3B67-9156-A9E8F9CC783F]@0xffffff7fa8e1b000

BSD process name corresponding to current thread: kernel_task

Mac OS version:
13D65

Kernel version:
Darwin Kernel Version 13.2.0: Thu Apr 17 23:03:13 PDT 2014; root:xnu-2422.100.13~1/RELEASE_X86_64
Kernel UUID: ADD73AE6-88B0-32FB-A8BB-4F7C8BE4092E
Kernel slide:     0x0000000028600000
Kernel text base: 0xffffff8028800000
System model name: MacBookPro10,1 (Mac-C3EC7CD22292981F)

System uptime in nanoseconds: 813303276860
last loaded kext at 245656911662: com.apple.filesystems.msdosfs 1.9 (addr 0xffffff7fa9764000, size 65536)
last unloaded kext at 306429236733: com.apple.driver.AppleUSBOHCI   656.4.1 (addr 0xffffff7fa9a01000, size 53248)
loaded kexts:
com.mice.driver.Xbox360Controller   1.0.0d12
com.Cycling74.driver.Soundflower    1.5.1
org.virtualbox.kext.VBoxUSB 4.2.16
org.virtualbox.kext.VBoxDrv 4.2.16
com.apple.driver.AppleHWSensor  1.9.5d0
com.apple.filesystems.autofs    3.0
com.apple.filesystems.ntfs  3.11
com.apple.iokit.IOBluetoothSerialManager    4.2.4f1
com.apple.driver.AudioAUUC  1.60
com.apple.driver.AppleMikeyHIDDriver    124
com.apple.driver.AppleMikeyDriver   2.6.1f2
com.apple.driver.ApplePlatformEnabler   2.0.9d1
com.apple.driver.AGPM   100.14.15
com.apple.driver.X86PlatformShim    1.0.0
com.apple.driver.AppleHDA   2.6.1f2
com.apple.driver.AppleUpstreamUserClient    3.5.13
com.apple.iokit.IOUserEthernet  1.0.0d1
com.apple.driver.AppleUSBDisplays   360.8.14
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 4.2.4f1
com.apple.GeForce   8.2.6
com.apple.Dont_Steal_Mac_OS_X   7.0.0
com.apple.driver.AppleHWAccess  1
com.apple.driver.AppleThunderboltIP 1.1.2
com.apple.driver.AppleSMCPDRC   1.0.0
com.apple.driver.AppleSMCLMU    2.0.4d1
com.apple.driver.AppleMuxControl    3.5.26
com.apple.driver.AppleLPC   1.7.0
com.apple.driver.AppleMCCSControl   1.1.12
com.apple.driver.AppleIntelHD4000Graphics   8.2.6
com.apple.driver.AppleIntelFramebufferCapri 8.2.6
com.apple.driver.AppleUSBTCButtons  240.2
com.apple.driver.AppleUSBTCKeyboard 240.2
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0d1
com.apple.BootCache 35
com.apple.driver.AppleFWOHCI    5.0.2
com.apple.driver.XsanFilter 404
com.apple.iokit.IOAHCIBlockStorage  2.5.1
com.apple.driver.AppleSDXC  1.5.2
com.apple.iokit.AppleBCM5701Ethernet    3.8.1b2
com.apple.driver.AppleUSBHub    666.4.0
com.apple.driver.AirPort.Brcm4331   700.20.22
com.apple.driver.AppleAHCIPort  3.0.0
com.apple.driver.AppleUSBEHCI   660.4.0
com.apple.driver.AppleUSBXHCI   677.4.0
com.apple.driver.AppleSmartBatteryManager   161.0.0
com.apple.driver.AppleACPIButtons   2.0
com.apple.driver.AppleRTC   2.0
com.apple.driver.AppleHPET  1.8
com.apple.driver.AppleSMBIOS    2.1
com.apple.driver.AppleACPIEC    2.0
com.apple.driver.AppleAPIC  1.7
com.apple.driver.AppleIntelCPUPowerManagementClient 217.92.1
com.apple.nke.applicationfirewall   153
com.apple.security.quarantine   3
com.apple.driver.AppleIntelCPUPowerManagement   217.92.1
com.apple.kext.triggers 1.0
com.apple.iokit.IOSerialFamily  10.0.7
com.apple.iokit.IOSCSIArchitectureModelFamily   3.6.6
com.apple.driver.DspFuncLib 2.6.1f2
com.apple.vecLib.kext   1.0.0
com.apple.iokit.IOBluetoothHostControllerUSBTransport   4.2.4f1
com.apple.iokit.IOBluetoothFamily   4.2.4f1
com.apple.iokit.IOAcceleratorFamily 98.20
com.apple.nvidia.driver.NVDAGK100Hal    8.2.6
com.apple.nvidia.driver.NVDAResman  8.2.6
com.apple.driver.X86PlatformPlugin  1.0.0
com.apple.driver.AppleUSBAudio  2.9.5f4
com.apple.iokit.IOAudioFamily   1.9.7fc2
com.apple.kext.OSvKernDSPLib    1.14
com.apple.driver.AppleHDAController 2.6.1f2
com.apple.iokit.IOHDAFamily 2.6.1f2
com.apple.iokit.IOFireWireIP    2.2.6
com.apple.driver.AppleSMC   3.1.8
com.apple.driver.AppleGraphicsControl   3.5.26
com.apple.driver.IOPlatformPluginFamily 5.7.0d11
com.apple.driver.AppleSMBusPCI  1.0.12d1
com.apple.driver.AppleBacklightExpert   1.0.4
com.apple.driver.AppleSMBusController   1.0.11d1
com.apple.iokit.IOSurface   91.1
com.apple.iokit.IONDRVSupport   2.4.1
com.apple.iokit.IOAcceleratorFamily2    98.20
com.apple.AppleGraphicsDeviceControl    3.5.26
com.apple.iokit.IOGraphicsFamily    2.4.1
com.apple.driver.AppleUSBMultitouch 240.9
com.apple.iokit.IOUSBHIDDriver  660.4.0
com.apple.driver.AppleThunderboltPCIUpAdapter   1.4.5
com.apple.driver.AppleThunderboltDPInAdapter    3.1.7
com.apple.driver.AppleThunderboltDPOutAdapter   3.1.7
com.apple.driver.AppleThunderboltDPAdapterFamily    3.1.7
com.apple.driver.AppleThunderboltPCIDownAdapter 1.4.5
com.apple.driver.AppleUSBMergeNub   650.4.0
com.apple.driver.AppleUSBComposite  656.4.1
com.apple.iokit.IOFireWireFamily    4.5.5
com.apple.driver.AppleThunderboltNHI    2.0.1
com.apple.iokit.IOThunderboltFamily 3.2.7
com.apple.iokit.IOEthernetAVBController 1.0.3b4
com.apple.driver.mDNSOffloadUserClient  1.0.1b5
com.apple.iokit.IO80211Family   630.35
com.apple.iokit.IONetworkingFamily  3.2
com.apple.iokit.IOUSBUserClient 660.4.2
com.apple.iokit.IOAHCIFamily    2.6.5
com.apple.iokit.IOUSBFamily 677.4.0
com.apple.driver.AppleEFINVRAM  2.0
com.apple.driver.AppleEFIRuntime    2.0
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.iokit.IOSMBusFamily   1.1
com.apple.security.sandbox  278.11
com.apple.kext.AppleMatch   1.0.0d1
com.apple.security.TMSafetyNet  7
com.apple.driver.AppleKeyStore  2
com.apple.driver.DiskImages 371.1
com.apple.iokit.IOStorageFamily 1.9
com.apple.iokit.IOReportFamily  23
com.apple.driver.AppleFDEKeyStore   28.30
com.apple.driver.AppleACPIPlatform  2.0
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOACPIFamily    1.4
com.apple.kec.corecrypto    1.0
com.apple.kec.pthread   1

Yosemite support

Seems like apple broke some stuff again... it is not working in the latest yosemite beta :/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.