Git Product home page Git Product logo

Comments (52)

miroswan avatar miroswan commented on June 20, 2024

Some more info. I noticed that the int 100 is passed to Device request. Then, I noticed this in the Info.plist file:

ChatPadKeyboardEvents

CFBundleIdentifier
com.apple.iokit.IOHIDFamily
IOClass
IOHIDEventDriver
IOProviderClass
IOHIDInterface
VendorID
100

Perhaps the driver is picking up the wrong entry in the plist?

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Here is the USB info from USB Prober:

Full Speed device @ 4 (0xFD120000): ............................................. Vendor-specific device: "REAL ARCADE PRO. EX"
Port Information: 0x1018
Not Captive
External Device
Connected
Enabled
Connected to External Port
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 (current): 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: 0x0F0D/0x0016 (HORI CO., LTD.)
Device Version Number: 0x0100
Number of Configurations: 1
Manufacturer String: 1 "HORI CO.,LTD."
Product String: 2 "REAL ARCADE PRO. EX"
Serial Number String: 3 "04C4F75"
Configuration Descriptor (current config)
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 03 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 03 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)
Max Packet Size: 32
Polling Interval: 4 ms
Endpoint 0x02 - Interrupt Output
Address: 0x02 (OUT)
Attributes: 0x03 (Interrupt)
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)
Max Packet Size: 32
Polling Interval: 2 ms
Endpoint 0x04 - Interrupt Output
Address: 0x04 (OUT)
Attributes: 0x03 (Interrupt)
Max Packet Size: 32
Polling Interval: 4 ms
Endpoint 0x85 - Interrupt Input
Address: 0x85 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 32
Polling Interval: 64 ms
Endpoint 0x05 - Interrupt Output
Address: 0x05 (OUT)
Attributes: 0x03 (Interrupt)
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)
Max Packet Size: 32
Polling Interval: 16 ms
Interface #3 - Vendor-specific .............................................. "Xbox Security Method 3, Version 1.00, © 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

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Ahh, the bcddevice number is 0x0100, which matches neither of the release numbers in the switch statement in bool Xbox360Peripheral::start(IOService *provider). If someone knows how to set the array values of chatPadInit for this release number, we can probably fix this bug.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

It looks like the chatPadInit array set in Xbox360Peripheral::start is passed as the pData value for the IOUSBDevRequest struct in Xbox360Peripheral::start. Since chatPadInit has no helpful values, it fails.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Looks like it needs to be set to these two values (judging from ControlStruct.h:

ledBlinkingAll = 0x01,
ledFlashOn1 = 0x02,

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

I made the appropriate modification in _60Controller.cpp, but the build.sh script fails:

=== BUILD TARGET 360Daemon OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies
Code Sign error: No matching codesigning identity found: No codesigning identities (i.e. certificate and private key pairs) matching “Developer ID Application” were found.

** BUILD FAILED **

The following build commands failed:
Check dependencies
(1 failure)
******** BUILD FAILED ********

If someone could tell me how to resolve this, I'd appreciate it.

from 360controller.

MaddTheSane avatar MaddTheSane commented on June 20, 2024

As far as your modifications go, could you make a pull request that includes your changes?

The build failed because you aren't signed up with Apple's Mac Developer program. You can change the code signing identity to none, but unless your Mac is in Kernel Debug mode, the kernel will complain about the Kext not being signed and won't even load it.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

This is the modification i made:

// 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 0x0100:
chatpadInit[0] = 0x01;
chatpadInit[1] = 0x02;
break;

case 0x0114:
chatpadInit[0] = 0x09;
chatpadInit[1] = 0x00;
break;
}
}

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

MaddTheSane. Could you build it with this modification and email me the package or something? I wouldn't mind testing it, but I don't know if I'm ready to throw down 100 bucks just to test the build.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Also, does my hypothesis regarding this issue make sense?

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

I set the code signing identity to none. I"m going to try to run in debug mode with this:

nvram boot-args="debug=0x144 -v" and restarting afterward.

from 360controller.

lrasinen avatar lrasinen commented on June 20, 2024

miroswan: from what I can tell, your change only affects the log message and doesn't actually change the behaviour.

Since switch needs explicit breaks, the default case continues directly to case 0x0110, which sets the chatPadInit to same values as your new case.

So if it didn't work before, I suspect it won't work now either.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Yep. Still not working. Not really sure if the device release should be the bcddevice value either.

from 360controller.

lrasinen avatar lrasinen commented on June 20, 2024

I recommend you log the return value from the DeviceRequest call; that might help in figuring out what's bugging it.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

It looks like the only changes that get picked up after building and installing are changes to the 360Daemon.m file (just adding NSLOG and IOLOG statements to verify). I noticed that the Feedback360 build target was not included with the wholedriver target in the XCode project file. Could that be it?

from 360controller.

MaddTheSane avatar MaddTheSane commented on June 20, 2024

The Feedback360 target should be included in the 360Driver kext.

On Oct 26, 2014, at 12:59 PM, miroswan [email protected] wrote:

It looks like the only changes that get picked up after building and installing are changes to the 360Daemon.m file (just adding NSLOG and IOLOG statements to verify). I noticed that the Feedback360 build target was not included with the wholedriver target in the XCode project file. Could that be it?


Reply to this email directly or view it on GitHub https://github.com/d235j/360Controller/issues/17#issuecomment-60527812.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

This is what my build phases pane looks like under Whole Driver:

screen shot 2014-10-26 at 12 22 21 pm

This is the change I made to _60Controller.pp. The error log that I was getting was in this method, but for some reason the new log messages don't print:

screen shot 2014-10-26 at 12 25 31 pm

Here is the output from the build:

¯_(ツ)_/¯:360Controller †§W∆N† ./build.sh
updating: 360 Driver.xcodeproj/ (stored 0%)
updating: 360 Driver.xcodeproj/project.pbxproj (deflated 89%)
updating: 360 Driver.xcodeproj/project.xcworkspace/ (stored 0%)
updating: 360 Driver.xcodeproj/project.xcworkspace/contents.xcworkspacedata (deflated 25%)
updating: 360 Driver.xcodeproj/project.xcworkspace/xcshareddata/ (stored 0%)
updating: 360 Driver.xcodeproj/project.xcworkspace/xcshareddata/360 Driver.xccheckout (deflated 65%)
updating: 360 Driver.xcodeproj/project.xcworkspace/xcuserdata/ (stored 0%)
updating: 360 Driver.xcodeproj/project.xcworkspace/xcuserdata/dswan.xcuserdatad/ (stored 0%)
updating: 360 Driver.xcodeproj/project.xcworkspace/xcuserdata/dswan.xcuserdatad/UserInterfaceState.xcuserstate (deflated 42%)
updating: 360 Driver.xcodeproj/xcuserdata/ (stored 0%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/ (stored 0%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/ (stored 0%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/360Controller.xcscheme (deflated 69%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/360Daemon.xcscheme (deflated 78%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/DriverTool.xcscheme (deflated 78%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/Feedback360.xcscheme (deflated 69%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/Pref360Control.xcscheme (deflated 69%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/testhaptic.xcscheme (deflated 78%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/Whole Driver.xcscheme (deflated 70%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/Wireless360Controller.xcscheme (deflated 69%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/WirelessGamingReceiver.xcscheme (deflated 69%)
updating: 360 Driver.xcodeproj/xcuserdata/dswan.xcuserdatad/xcschemes/xcschememanagement.plist (deflated 77%)
updating: 360Controller/ (stored 0%)
updating: 360Controller/_60Controller.cpp (deflated 74%)
updating: 360Controller/_60Controller.h (deflated 61%)
updating: 360Controller/ChatPad.cpp (deflated 66%)
updating: 360Controller/ChatPad.h (deflated 57%)
updating: 360Controller/chatpadhid.h (deflated 66%)
updating: 360Controller/chatpadkeys.cpp (deflated 50%)
updating: 360Controller/chatpadkeys.h (deflated 43%)
updating: 360Controller/Controller.cpp (deflated 67%)
updating: 360Controller/Controller.h (deflated 57%)
updating: 360Controller/ControlStruct.h (deflated 60%)
updating: 360Controller/English.lproj/ (stored 0%)
updating: 360Controller/English.lproj/InfoPlist.strings (deflated 1%)
updating: 360Controller/Info.plist (deflated 95%)
updating: 360Controller/xbox360hid.h (deflated 81%)
updating: 360Daemon/ (stored 0%)
updating: 360Daemon/360Control.iconset/ (stored 0%)
updating: 360Daemon/360Control.iconset/icon_128x128.png (deflated 2%)
updating: 360Daemon/360Control.iconset/[email protected] (deflated 3%)
updating: 360Daemon/360Control.iconset/icon_16x16.png (deflated 5%)
updating: 360Daemon/360Control.iconset/[email protected] (deflated 4%)
updating: 360Daemon/360Control.iconset/icon_256x256.png (deflated 3%)
updating: 360Daemon/360Control.iconset/[email protected] (deflated 9%)
updating: 360Daemon/360Control.iconset/icon_32x32.png (deflated 4%)
updating: 360Daemon/360Control.iconset/[email protected] (deflated 2%)
updating: 360Daemon/360Control.iconset/icon_512x512.png (deflated 9%)
updating: 360Daemon/360Control.iconset/[email protected] (deflated 23%)
updating: 360Daemon/360Daemon.m (deflated 71%)
updating: 360Daemon/360DaemonApp-Info.plist (deflated 55%)
updating: 360Daemon/360DaemonApp-Prefix.pch (deflated 19%)
updating: 360Daemon/Alert.tif (deflated 1%)
updating: 360Daemon/com.mice.360Daemon.plist (deflated 36%)
updating: 360Daemon/ControlPrefs.h (deflated 50%)
updating: 360Daemon/ControlPrefs.m (deflated 67%)
updating: 360Daemon/DaemonLEDs.h (deflated 44%)
updating: 360Daemon/DaemonLEDs.m (deflated 73%)
updating: 360Daemon/en.lproj/ (stored 0%)
updating: 360Daemon/en.lproj/InfoPlist.strings (stored 0%)
updating: 360Daemon/en.lproj/Localizable.strings (deflated 62%)
updating: 360Driver.xcworkspace/ (stored 0%)
updating: 360Driver.xcworkspace/contents.xcworkspacedata (deflated 24%)
updating: DriverTool/ (stored 0%)
updating: DriverTool/DriverTool.m (deflated 62%)
updating: DriverTool/DriverTool_Prefix.pch (deflated 23%)
updating: DriverTool/Info.plist (deflated 52%)
updating: Feedback360/ (stored 0%)
updating: Feedback360/devlink.cpp (deflated 56%)
updating: Feedback360/devlink.h (deflated 47%)
updating: Feedback360/English.lproj/ (stored 0%)
updating: Feedback360/English.lproj/InfoPlist.strings (deflated 1%)
updating: Feedback360/Feedback360.cpp (deflated 78%)
updating: Feedback360/Feedback360.exp (deflated 31%)
updating: Feedback360/Feedback360.h (deflated 68%)
updating: Feedback360/Feedback360Effect.cpp (deflated 76%)
updating: Feedback360/Feedback360Effect.h (deflated 56%)
updating: Feedback360/Info.plist (deflated 54%)
updating: Feedback360/testhaptic.c (deflated 75%)
updating: Feedback360/testrumble.c (deflated 61%)
updating: Install360Controller/ (stored 0%)
updating: Install360Controller/Install360Controller.pkgproj (deflated 89%)
updating: Install360Controller/Scripts/ (stored 0%)
updating: Install360Controller/Scripts/finish.sh (deflated 17%)
updating: Install360Controller/Scripts/upgrade.sh (deflated 77%)
updating: Install360Controller/Text/ (stored 0%)
updating: Install360Controller/Text/Welcome.rtf (deflated 83%)
updating: Licence.txt (deflated 62%)
updating: Pref360Control/ (stored 0%)
updating: Pref360Control/ARCBridge.h (deflated 64%)
updating: Pref360Control/DeviceItem.h (deflated 49%)
updating: Pref360Control/DeviceItem.m (deflated 61%)
updating: Pref360Control/DeviceLister.h (deflated 43%)
updating: Pref360Control/DeviceLister.m (deflated 70%)
updating: Pref360Control/en.lproj/ (stored 0%)
updating: Pref360Control/en.lproj/InfoPlist.strings (deflated 11%)
updating: Pref360Control/en.lproj/Localizable.strings (deflated 45%)
updating: Pref360Control/en.lproj/Pref360ControlPref.xib (deflated 92%)
updating: Pref360Control/Info.plist (deflated 61%)
updating: Pref360Control/MyAnalogStick.h (deflated 46%)
updating: Pref360Control/MyAnalogStick.m (deflated 68%)
updating: Pref360Control/MyCentreButtons.h (deflated 45%)
updating: Pref360Control/MyCentreButtons.m (deflated 63%)
updating: Pref360Control/MyDigitalStick.h (deflated 45%)
updating: Pref360Control/MyDigitalStick.m (deflated 67%)
updating: Pref360Control/MyMainButtons.h (deflated 45%)
updating: Pref360Control/MyMainButtons.m (deflated 65%)
updating: Pref360Control/MyShoulderButton.h (deflated 43%)
updating: Pref360Control/MyShoulderButton.m (deflated 52%)
updating: Pref360Control/Pref360Control_Prefix.pch (deflated 49%)
updating: Pref360Control/Pref360ControlPref.h (deflated 64%)
updating: Pref360Control/Pref360ControlPref.m (deflated 75%)
updating: Pref360Control/pref360controlpref.tiff (deflated 1%)
updating: Pref360Control/Resources/ (stored 0%)
updating: Pref360Control/Resources/batt0.png (deflated 4%)
updating: Pref360Control/Resources/[email protected] (stored 0%)
updating: Pref360Control/Resources/batt1.png (deflated 4%)
updating: Pref360Control/Resources/[email protected] (stored 0%)
updating: Pref360Control/Resources/batt2.png (deflated 4%)
updating: Pref360Control/Resources/[email protected] (stored 0%)
updating: Pref360Control/Resources/batt3.png (deflated 4%)
updating: Pref360Control/Resources/[email protected] (stored 0%)
updating: Readme.md (deflated 54%)
updating: Readme.rtf (deflated 60%)
updating: Wireless360Controller/ (stored 0%)
updating: Wireless360Controller/English.lproj/ (stored 0%)
updating: Wireless360Controller/English.lproj/InfoPlist.strings (stored 0%)
updating: Wireless360Controller/Info.plist (deflated 63%)
updating: Wireless360Controller/Wireless360Controller.cpp (deflated 71%)
updating: Wireless360Controller/Wireless360Controller.h (deflated 55%)
updating: WirelessGamingReceiver/ (stored 0%)
updating: WirelessGamingReceiver/devices.h (deflated 46%)
updating: WirelessGamingReceiver/English.lproj/ (stored 0%)
updating: WirelessGamingReceiver/English.lproj/InfoPlist.strings (stored 0%)
updating: WirelessGamingReceiver/Info.plist (deflated 71%)
updating: WirelessGamingReceiver/WirelessDevice.cpp (deflated 62%)
updating: WirelessGamingReceiver/WirelessDevice.h (deflated 51%)
updating: WirelessGamingReceiver/WirelessGamingReceiver.cpp (deflated 77%)
updating: WirelessGamingReceiver/WirelessGamingReceiver.h (deflated 58%)
updating: WirelessGamingReceiver/WirelessHIDDevice.cpp (deflated 69%)
updating: WirelessGamingReceiver/WirelessHIDDevice.h (deflated 52%)
updating: clean.sh (deflated 17%)
updating: Install360Controller/build/ (stored 0%)
updating: Install360Controller/build/Install360Controller.pkg (deflated 0%)
updating: install.sh (deflated 56%)
=== BUILD TARGET Feedback360 OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies

=== BUILD TARGET 360Daemon OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies

=== BUILD TARGET 360Controller OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies

CompileC build/360\ Driver.build/Release/360Controller.build/Objects-normal/x86_64/_60Controller.o 360Controller/_60Controller.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/dswan/github/360Controller
setenv LANG en_US.US-ASCII
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=176 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -nostdinc -std=gnu++11 -stdlib=libc++ -fmodules -fmodules-cache-path=/var/folders/r0/6m471l755wg6r7bn8rkqgfbs00thhw/C/com.apple.DeveloperTools/5.0.2-5A3005/Xcode/ModuleCache -fno-builtin -Wno-trigraphs -fno-exceptions -fno-rtti -msoft-float -Os -fno-common -mkernel -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DKERNEL -DKERNEL_PRIVATE -DDRIVER_PRIVATE -DAPPLE -DNeXT -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fapple-kext -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -Wno-sign-conversion -iquote /Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/360Controller-generated-files.hmap -I/Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/360Controller-own-target-headers.hmap -I/Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/360Controller-all-target-headers.hmap -iquote /Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/360Controller-project-headers.hmap -I/Users/dswan/github/360Controller/build/Release/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/System/Library/Frameworks/Kernel.framework/PrivateHeaders -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Kernel.framework/Headers -I/Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/DerivedSources/x86_64 -I/Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/DerivedSources -Wno-unknown-warning-option -Wno-deprecated-register -F/Users/dswan/github/360Controller/build/Release -MMD -MT dependencies -MF /Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/Objects-normal/x86_64/_60Controller.d --serialize-diagnostics /Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/Objects-normal/x86_64/_60Controller.dia -c /Users/dswan/github/360Controller/360Controller/_60Controller.cpp -o /Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/Objects-normal/x86_64/_60Controller.o

Ld build/Release/360Controller.kext/Contents/MacOS/360Controller normal x86_64
cd /Users/dswan/github/360Controller
setenv MACOSX_DEPLOYMENT_TARGET 10.9
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -L/Users/dswan/github/360Controller/build/Release -F/Users/dswan/github/360Controller/build/Release -filelist /Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/Objects-normal/x86_64/360Controller.LinkFileList -mmacosx-version-min=10.9 -stdlib=libc++ -Xlinker -kext -nostdlib -lkmodc++ /Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/Objects-normal/x86_64/360Controller_info.o -lkmod -lcc_kext -Xlinker -dependency_info -Xlinker /Users/dswan/github/360Controller/build/360\ Driver.build/Release/360Controller.build/Objects-normal/x86_64/360Controller_dependency_info.dat -o /Users/dswan/github/360Controller/build/Release/360Controller.kext/Contents/MacOS/360Controller

GenerateDSYMFile build/Release/360Controller.kext.dSYM build/Release/360Controller.kext/Contents/MacOS/360Controller
cd /Users/dswan/github/360Controller
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil /Users/dswan/github/360Controller/build/Release/360Controller.kext/Contents/MacOS/360Controller -o /Users/dswan/github/360Controller/build/Release/360Controller.kext.dSYM

Touch build/Release/360Controller.kext
cd /Users/dswan/github/360Controller
/usr/bin/touch -c /Users/dswan/github/360Controller/build/Release/360Controller.kext

=== BUILD TARGET DriverTool OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies

=== BUILD TARGET Pref360Control OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies

=== BUILD TARGET Wireless360Controller OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies

=== BUILD TARGET WirelessGamingReceiver OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies

=== BUILD AGGREGATE TARGET Whole Driver OF PROJECT 360 Driver WITH CONFIGURATION Release ===

Check dependencies

** BUILD SUCCEEDED **

Building Project (12:28:22) at path: /Users/dswan/github/360Controller/Install360Controller/Install360Controller.pkgproj

Build Folder (done)

Distribution

Package "Install360Controller"

        Assemble file hierarchy     Payload

(done)
Split forks (done)
Create bill of material (done)
Create pax archive (done)

        Assemble file hierarchy     Scripts

(done)
Split forks (done)
Create pax archive (done)

    PackageInfo
----------------------------------------------

    Installation|Volume requirements (done)
Definition

(done)

    Introduction (done)
    Read Me     License (done)

(done)

    Choices hierarchies (done)

(done)

    JavaScript scripts
Resources (done)

Plugins (done)

Build Successful (less than a second)
..........
created: /Users/dswan/github/360Controller/build/360ControllerInstall.dmg
** File contents **
Architectures in the fat file: build/Release/360Controller.kext/Contents/PlugIns/Feedback360.plugin/Contents/MacOS/Feedback360 are: x86_64 i386
Non-fat file: build/Release/360Controller.kext/Contents/MacOS/360Controller is architecture: x86_64
Non-fat file: build/Release/360Daemon.app/Contents/MacOS/360Daemon is architecture: x86_64
Non-fat file: build/Release/Pref360Control.prefPane/Contents/MacOS/Pref360Control is architecture: x86_64
Non-fat file: build/Release/Pref360Control.prefPane/Contents/Resources/DriverTool is architecture: x86_64
Non-fat file: build/Release/WirelessGamingReceiver.kext/Contents/MacOS/WirelessGamingReceiver is architecture: x86_64
Non-fat file: build/Release/Wireless360Controller.kext/Contents/MacOS/Wireless360Controller is architecture: x86_64
** File signatures **
build/Release/360Controller.kext: accepted
source=no usable signature
override=security disabled
build/Release/360Controller.kext/Contents/PlugIns/Feedback360.plugin: accepted
source=no usable signature
override=security disabled
build/Release/360Daemon.app/Contents/MacOS/360Daemon: accepted
source=no usable signature
override=security disabled
build/Release/Pref360Control.prefPane: accepted
source=no usable signature
override=security disabled
build/Release/Pref360Control.prefPane/Contents/Resources/DriverTool: accepted
source=no usable signature
override=security disabled
build/Release/WirelessGamingReceiver.kext: accepted
source=no usable signature
override=security disabled
build/Release/Wireless360Controller.kext: accepted
source=no usable signature
override=security disabled
Install360Controller/build/Install360Controller.pkg: accepted
source=no usable signature
override=security disabled
*** DONE ***

However, after installing and restarting, I'm just getting this log message now:

Oct 26 12:21:18 USSEAAMNZC9DV7L kernel[0]: start - failed to read chatpad setting

I would think that the extra log statements I had in that method would log too.

I apologize in advanced. This is my first time working on any kind of XCode Project.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

I've updated my remote branch with what I have now.

from 360controller.

lrasinen avatar lrasinen commented on June 20, 2024
  1. You might want to stick \n at the end of the strings you log.

  2. Double-check that the installation went as expected, just in case it didn't and you're still looking at the old kext.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: LSExceptions [0x6180000a24c0] loaded
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: @(#)PROGRAM:Install PROJECT:Install-846
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: @(#)PROGRAM:Installer PROJECT:Installer-721
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Hardware: MacBookPro8,2 @ 2.20 GHz (x 8), 8192 MB RAM
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Running OS Build: Mac OS X 10.9.2 (13C1021)
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: PATH=/usr/bin:/bin:/usr/sbin:/sbin
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: TMPDIR=/var/folders/r0/6m471l755wg6r7bn8rkqgfbs00thhw/T/
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: SHELL=/bin/bash
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: HOME=/Users/dswan
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: USER=dswan
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: LOGNAME=dswan
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: SSH_AUTH_SOCK=/tmp/launch-Ctum13/Listeners
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: Apple_PubSub_Socket_Render=/tmp/launch-ogJLq7/Render
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: __CF_USER_TEXT_ENCODING=0x400D421C:0:0
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Env: __CHECKFIX1436934=1
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Install360Controller Installation Log
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Opened from: /Volumes/360ControllerInstall/Install360Controller.pkg
Oct 26 13:01:38 USSEAAMNZC9DV7L Installer[3152]: Product archive /Volumes/360ControllerInstall/Install360Controller.pkg trustLevel=100
Oct 26 13:01:43 USSEAAMNZC9DV7L Installer[3152]: InstallerStatusNotifications plugin loaded
Oct 26 13:01:48 USSEAAMNZC9DV7L Installer[3152]: LSExceptions [0x6180000a24c0] unloaded
Oct 26 13:01:52 USSEAAMNZC9DV7L runner[3161]: Administrator authorization granted.
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: ================================================================================
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: User picked Standard Install
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Choices selected for installation:
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Upgrade: "Install360Controller"
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Install360Controller.pkg#Install360Controller.pkg : com.mice.pkg.Xbox360controller : 0.14
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: ================================================================================
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: It took 0.00 seconds to summarize the package selections.
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: -[IFDInstallController(Private) _buildInstallPlan]: location = file://localhost
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: -[IFDInstallController(Private) _buildInstallPlan]: file://localhost/Volumes/360ControllerInstall/Install360Controller.pkg#Install360Controller.pkg
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Set authorization level to root for session
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Will use PK session
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Starting installation:
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Configuring volume "Mac_HD"
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Preparing disk for local booted install.
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Free space on "Mac_HD": 105.7 GB (105704763392 bytes).
Oct 26 13:01:54 USSEAAMNZC9DV7L Installer[3152]: Create temporary directory "/var/folders/r0/6m471l755wg6r7bn8rkqgfbs00thhw/T//Install.3152NasvmY"
Oct 26 13:01:55 USSEAAMNZC9DV7L Installer[3152]: IFPKInstallElement (1 packages)
Oct 26 13:01:55 USSEAAMNZC9DV7L Installer[3152]: Using authorization level of root for IFPKInstallElement
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: installd: Starting
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: installd: uid=0, euid=0
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: PackageKit: Adding client PKInstallDaemonClient pid=3152, uid=1074610716 (/System/Library/CoreServices/Installer.app/Contents/MacOS/Installer)
Oct 26 13:01:55 USSEAAMNZC9DV7L Installer[3152]: PackageKit: Enqueuing install with boosting
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: PackageKit: ----- Begin install -----
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: PackageKit: request=PKInstallRequest <1 packages, destination=/>
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: PackageKit: packages=(
"PKLeopardPackage file://localhost/Volumes/360ControllerInstall/Install360Controller.pkg#Install360Controller.pkg"
)
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: PackageKit: Will do receipt-based obsoleting for package identifier com.mice.pkg.Xbox360controller (prefix path=)
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: PackageKit: Extracting file://localhost/Volumes/360ControllerInstall/Install360Controller.pkg#Install360Controller.pkg (destination=/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/C/PKInstallSandboxManager/7F6AA895-5E92-4B24-BE8E-144BCFBF8BC4.activeSandbox/Root, uid=0)
Oct 26 13:01:55 USSEAAMNZC9DV7L installd[3175]: PackageKit: update_dyld_shared_cache -overlay /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/C/PKInstallSandboxManager/7F6AA895-5E92-4B24-BE8E-144BCFBF8BC4.activeSandbox/Root
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: PackageKit: prevent user idle system sleep
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: PackageKit: suspending Spotlight indexing
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: PackageKit: suspending backupd
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: PackageKit: Executing script "./preinstall" in /private/tmp/PKInstallSandbox.tepr4b/Scripts/com.mice.pkg.Xbox360controller.DbX5U7
Oct 26 13:01:57 USSEAAMNZC9DV7L install_monitor[3182]: Temporarily excluding: /Applications, /Library, /System, /bin, /private, /sbin, /usr
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: ./preinstall: (kernel) Kext com.mice.driver.Xbox360Controller not found for unload request.
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: ./preinstall: Failed to unload com.mice.driver.Xbox360Controller - (libkern/kext) not found.
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: ./preinstall: (kernel) Kext com.mice.driver.Wireless360Controller not found for unload request.
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: ./preinstall: Failed to unload com.mice.driver.Wireless360Controller - (libkern/kext) not found.
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: ./preinstall: (kernel) Kext com.mice.driver.WirelessGamingReceiver not found for unload request.
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: ./preinstall: Failed to unload com.mice.driver.WirelessGamingReceiver - (libkern/kext) not found.
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: PackageKit: Using trashcan path /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/PKInstallSandboxTrash/7F6AA895-5E92-4B24-BE8E-144BCFBF8BC4.sandboxTrash for sandbox /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/C/PKInstallSandboxManager/7F6AA895-5E92-4B24-BE8E-144BCFBF8BC4.activeSandbox
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: PackageKit: Shoving /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/C/PKInstallSandboxManager/7F6AA895-5E92-4B24-BE8E-144BCFBF8BC4.activeSandbox/Root (2 items) to /
Oct 26 13:01:57 USSEAAMNZC9DV7L installd[3175]: PackageKit: kextcache -system-caches
Oct 26 13:01:58 USSEAAMNZC9DV7L installd[3175]: PackageKit: kextcache -update-volume / -Installer
Oct 26 13:01:59 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/KLog.kext"
Oct 26 13:01:59 USSEAAMNZC9DV7L installd[3175]: kextcache: kext com.jmicron.JMicronATA 101069000 is in exception list, allowing to load
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBUserClient.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBHIDDriverSafeBoot.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBHIDDriver.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBCompositeDriver.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBXHCI.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBUHCI.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBOHCI.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBMergeNub.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBHub.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBEHCI.kext"
Oct 26 13:02:00 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/IOUSBFamily.kext"
Oct 26 13:02:01 USSEAAMNZC9DV7L installd[3175]: kextcache: kext com.ATTO.driver.ATTOExpressSASRAID 307029000 is in exception list, allowing to load
Oct 26 13:02:01 USSEAAMNZC9DV7L installd[3175]: kextcache: kext com.ATTO.driver.ATTOExpressSASHBA3 100059000 is in exception list, allowing to load
Oct 26 13:02:01 USSEAAMNZC9DV7L installd[3175]: kextcache: kext com.ATTO.driver.ATTOExpressSASHBA 200009000 is in exception list, allowing to load
Oct 26 13:02:02 USSEAAMNZC9DV7L installd[3175]: kextcache: kext com.ATTO.driver.ATTOExpressPCIUl4 404029000 is in exception list, allowing to load
Oct 26 13:02:02 USSEAAMNZC9DV7L installd[3175]: kextcache: kext com.ATTO.driver.ATTOCelerityFC 304089000 is in exception list, allowing to load
Oct 26 13:02:04 USSEAAMNZC9DV7L installd[3175]: kextcache: kext com.Accusys.driver.Acxxx 300029000 is in exception list, allowing to load
Oct 26 13:02:04 USSEAAMNZC9DV7L installd[3175]: kextcache: WARNING - Invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/360Controller.kext"
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: Executing script "./postinstall" in /private/tmp/PKInstallSandbox.tepr4b/Scripts/com.mice.pkg.Xbox360controller.DbX5U7
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: Writing receipt for com.mice.pkg.Xbox360controller to /private/var/db/receipts
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: Touched bundle /Library/Application Support/MICE/360Daemon.app
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: Installed "Install360Controller" ()
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: releasing Spotlight indexing
Oct 26 13:02:19 USSEAAMNZC9DV7L install_monitor[3182]: Re-included: /Applications, /Library, /System, /bin, /private, /sbin, /usr
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: releasing backupd
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: allow user idle system sleep
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: ----- End install -----
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: 24.8s elapsed install time
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: Running idle tasks
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: Done with sandbox removals
Oct 26 13:02:19 USSEAAMNZC9DV7L Installer[3152]: LSExceptions [0x6080000acea0] loaded
Oct 26 13:02:19 USSEAAMNZC9DV7L Installer[3152]: PackageKit: Registered bundle file:///Library/Application%20Support/MICE/360Daemon.app/ for uid 1074610716
Oct 26 13:02:19 USSEAAMNZC9DV7L installd[3175]: PackageKit: Removing client PKInstallDaemonClient pid=3152, uid=1074610716 (/System/Library/CoreServices/Installer.app/Contents/MacOS/Installer)
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: Running install actions
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: Removing temporary directory "/var/folders/r0/6m471l755wg6r7bn8rkqgfbs00thhw/T//Install.3152NasvmY"
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: Finalize disk "Mac_HD"
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: Notifying system of updated components
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]:
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: **** Summary Information ****
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: Operation Elapsed time
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: -----------------------------
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: disk 0.00 seconds
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: script 0.00 seconds
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: zero 0.01 seconds
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: install 25.09 seconds
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: -total- 25.11 seconds
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]:
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: IFDInstallController 1BD10 state = 5
Oct 26 13:02:20 USSEAAMNZC9DV7L Installer[3152]: Displaying 'Install Succeeded' UI.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Ahh. Adding the newline characters at the end helped.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

So the unknown device release error seems to be a fluke. The error that persists is the failed to read chatpad setting. I was able to log the values of chatpadInit and it picked up the first value from the switch statement in the Xbox360Peripheral::start function in _60Controller.cpp. So, it ended up getting the right release info, but the DeviceRequest call in Xbox360Peripheral::SendSwitch seems to still return a value other than kIOReturnSuccess. If anyone makes any progress on this issue, I'd be more than willing to test with my Hori Real Arcade Pro EX.

from 360controller.

lrasinen avatar lrasinen commented on June 20, 2024

miroswan: that's why I recommended logging the DeviceRequest return value so we can have a guess what's wrong :)

I actually wrote some logging code that got merged, but there's an even better variant at https://github.com/d235j/360Controller/pull/19

(Both work, but the newer version uses the USB device object to translate the error to a string, so if it's something USB-related, you get more details instead of just a generic "Yep, it's USB")

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

I just got around to this:

Oct 27 00:33:33 USSEAAMNZC9DV7L kernel[0]: Release: 256
Oct 27 00:33:33 USSEAAMNZC9DV7L kernel[0]: chatpadInit[0]: 9
Oct 27 00:33:33 USSEAAMNZC9DV7L kernel[0]: chatpadInit[1]: 0
Oct 27 00:33:33 USSEAAMNZC9DV7L kernel[0]: start - failed to read chatpad setting
Oct 27 00:33:33 USSEAAMNZC9DV7L kernel[0]: The result of the DeviceRequest call is e000404f

I might grab whatever is in #19 to see what's going on. Might be more useful than this random number.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

http://lists.apple.com/archives/usb/2006/Apr/msg00049.html

from 360controller.

lrasinen avatar lrasinen commented on June 20, 2024

Got about as far as you did:
http://opensource.apple.com/source/IOUSBFamily/IOUSBFamily-206.4.1/IOUSBFamily/Headers/USB.h

Unfortunately USB specific debugging isn't my strong side (I'm just passing the time while waiting for the Yosemite build), so I can't help you with that.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

I just checked that doc you posted. Found this.

#define kIOUSBPipeStalled iokit_usb_err(79) // 0xe000404f Pipe has stalled, error needs to be cleared

I'll have to look into how to handle this sort of thing when I have some time this week.

from 360controller.

lrasinen avatar lrasinen commented on June 20, 2024

Just before the SendSwitch calls the chatpad initialization calls SendInit, which has this comment:

 device->DeviceRequest(&controlReq, 100, 100, NULL);    // Will fail - but device should still act on it

That looks a bit suspicious, so you might want to log errors from there as well.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Yeah. I did notice that semi-sketchy comment. I'll take a look there.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Got the same result in that other function in case anyone was wondering.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Skimming through the USB 2.0 spec and found this:

The Data stage of a control transfer from the host to an endpoint is complete when all of the data has been transferred. If the endpoint receives a larger-than-expected data payload from the host, it halts the pipe.

Recalling the reason for error (return from DeviceRequest call in _60Controller.cpp):

0xe000404f Pipe has stalled, error needs to be cleared

Perhaps the data payload is too large.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

More from the spec:

After a halt condition is encountered or an error is detected by the host, a control endpoint is allowed to recover by accepting the next Setup PID; i.e., recovery actions via some other pipe are not required for control endpoints. For the Default Control Pipe, a device reset will ultimately be required to clear the halt or error condition if the next Setup PID is not accepted

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Towards the bottom of Xbox360Peripheral::start() the two methods are called:

// Configure ChatPad
// Send 'configuration'
SendInit(0xa30c, 0x4423);
SendInit(0x2344, 0x7f03);
SendInit(0x5839, 0x6832);
// Set 'switch'
if ((!SendSwitch(false)) || (!SendSwitch(true)) || (!SendSwitch(false)))
goto fail;

I looked into the USB 2.0 Spec and the IOKit API and it looks like IOUSBDevRequest structs are used to send control requests to the device. The SendInit functions do not have logic to fail when the control request isn't send properly and stalls. The SendSwitch function, however, does have logic for that.

Even looking at the spec, it's hard to say how the original developer of the driver got the values for the IOUSBDevRequest control structs (in the SendSwitch and SendInit functions). In SendInit, the first and second parameters to the function map to the wValue and wIndex objects in the IOUSBDevRequest Control struct respectively. More on these values from the spec:

wValue
The contents of this field vary according to the request. It is used to pass a parameter to the device, specific to the request.

wIndex
The contents of this field vary according to the request. It is used to pass a parameter to the device, specific to the request. The wIndex field is often used in requests to specify an endpoint or an interface.

The param to SendSwitch seems to determine the direction of communication flow, which is passed to USBmakemRequestType, which generates the bmRequestType for the IOUSBDevRequest control stuct in the function. The bmRequestType seems to determine the direction of communication flow, the type of communication, and the recipient.

It's cool that I sort of know what these do, but I'm not sure how to set them properly. I think I could call ClearPipeStall() on the pipe to clear up the error (http://goo.gl/hGo80K), but it seems to make sense to try to set it right so it doesn't stall.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Can someone verify if other sticks report the same error on the SendInit call? The error being: 0xe000404f (Pipe has stalled, error needs to be cleared)

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

More logging:

Nov 1 11:17:56 USSEAAMNZC9DV7L kernel[0]: Init called failed: wValue: a30c wLength: 4423
Nov 1 11:17:56 USSEAAMNZC9DV7L kernel[0]: Init called failed: wValue: 2344 wLength: 7f03
Nov 1 11:17:56 USSEAAMNZC9DV7L kernel[0]: Init called failed: wValue: 5839 wLength: 6832
Nov 1 11:17:56 USSEAAMNZC9DV7L kernel[0]: start - failed to read chatpad setting

Don't think it'll be able to make the SendSpecial call until a SendInit call succeeds so the pipe doesn't stall. Does anyone know anything about vendor specific control requests? Is there a way for me to determine the types of control requests I can send to a device? Are the vendor specific requests defined anywhere in this project?

The SendInit call sets the bRequest value to 0xa9. Here is a list of standard values for bRequest:

GET_STATUS: 0
CLEAR_FEATURE: 1
SET_FEATURE: 3
SET_ADDRESS: 5
GET_DESCRIPTOR: 6
SET_DESCRIPTOR: 7
GET_CONFIGURATION: 8
SET_CONFIGURATION: 9
GET_INTERFACE: 10
SET_INTERFACE: 11
SYNCH_FRAME: 12

0xa9 represented as an int is 169.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Looks like the values were taking from here possibly:

https://github.com/Grumbel/xboxdrv/blob/master/src/chatpad.cpp

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Same issue there. No handling for bcddevice 0x0100, which is what the EX returns.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Commenting out the goto fail line here got the stick to work for me:

if ((!SendSwitch(false)) || (!SendSwitch(true)) || (!SendSwitch(false)))
//goto fail;

Maybe I can provide some logic to query for the device and vendor ID and not fail if it matches that of the EX.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Do we need that goto fail statement here? If I were to submit a pull request that comments that out, would it break functionality of other devices? It certainly gets mine to work.

from 360controller.

RodrigoCard avatar RodrigoCard commented on June 20, 2024

Do you have a regular xbox controller to test and see if your changes doesnt break anything? If so, please do test it. Then send us a pull request with a patch, describing shortly the changes. :)

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Yeah, I do actually. I'll test soon.

I also wrote a bash script that installs the built package and loads the kernel extensions without restart. Should I include that in a separate pull request? It saved me a whole lot of time debugging code changes.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

I'll include as a separate request.

from 360controller.

RodrigoCard avatar RodrigoCard commented on June 20, 2024

Restart is not really needed. It currently does this only because of the a
few issues with the wireless controllers that doesn't happen after reboot,
until a proper fix I think it is better to keep this way.

There is a open issue about the restart thing, anyway

Em quarta-feira, 12 de novembro de 2014, miroswan [email protected]
escreveu:

I'll include as a separate request.


Reply to this email directly or view it on GitHub
https://github.com/d235j/360Controller/issues/17#issuecomment-62666640.

Enviado do Gmail para celular

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

Okay cool.

from 360controller.

dfpa avatar dfpa commented on June 20, 2024

Hi i have the same pad can you post your modified version plz i want to test it. thanks how to install it too

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

dfpa, you can clone my branch, build and install. Generic instructions on how to do this without a developer account are in this thread. You basically have to disable code signing on the targets, run this command: nvram boot-args="debug=0x144 -v", and restart. You might have to also have to modify the build settings to remove code signing in Packages (software that makes the installer). Once you do that, run the build script in the checkout and then install with the package that is created with the build script.

My code seems to work for the EX (and the standard xbox controller) as is, but I'll test with your suggestion from the pull request.

from 360controller.

dfpa avatar dfpa commented on June 20, 2024

thank you very match i tested commenting the two lines and it did work on yosemite by disabling the kext signing ... wow i can finally play online on ggpo thanks :-)

from 360controller.

RodrigoCard avatar RodrigoCard commented on June 20, 2024

does the latest release works for you with the kext sign enabled (please restart once if you need to re-enable it)?

https://github.com/d235j/360Controller/releases/tag/v0.14-unofficial

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

It appears to be working now that i've re-enabled code signing. However, I did not uninstall before re-installing. Can't remember if the installer cleaned the current installation if present.

from 360controller.

MaddTheSane avatar MaddTheSane commented on June 20, 2024

It should have…

Sent from my iPad

On Dec 22, 2014, at 10:45 PM, Demitri Swan [email protected] wrote:

It appears to be working now that i've re-enabled code signing. However, I did not uninstall before re-installing. Can't remember if the installer cleaned the current installation if present.


Reply to this email directly or view it on GitHub.

from 360controller.

miroswan avatar miroswan commented on June 20, 2024

It's working just fine for me. Let me know if you need anything else.

from 360controller.

RodrigoCard avatar RodrigoCard commented on June 20, 2024

thanks @miroswan closing here...

from 360controller.

Related Issues (20)

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.