thefloweringash / iousbhiddriver-descriptor-override

Fix broken USB HID descriptors. Now with Noppoo Choc Mini support!
http://thefloweringash.github.io/iousbhiddriver-descriptor-override
GNU Lesser General Public License v3.0
204 stars 25 forks source link

It seems not work on mac os x lion 10.7.5 #4

Closed tianxiao-ma closed 11 years ago

tianxiao-ma commented 11 years ago

I use the installer to install this kext and restart my mac, it seems not work! so, I use kextutil to load the kext again: Untitled

then I insert the usb again, but it still not working, can you help me check this?

Thank you very much!

thefloweringash commented 11 years ago

Hello,

What device are you using?

I've updated the readme to include a troubleshooting section. Please check that the driver is being used for your device. If that doesn't help, please post the device information, including product id and vendor id from either ioreg -p IOUSB -l or System Information.app.

Hope this helps

tianxiao-ma commented 11 years ago

Hi Andrew, Thank you for your comment.

I'v check the troubleshooting section, and follow the steps you list, but my noppoo keyboard still not work correctly. The kext seems can be load successfully, but when I plug my keyboard and use 'ioreg -b -f | grep IOUSBHIDDriverDescriptorOverride' this command, the output is empty. Following is the device information, hope it can help. noppoo If you need any other information, please let know!

Thank you again!

thefloweringash commented 11 years ago

Hi,

The keyboard you're using is not yet supported. What model is it? So far all keyboards from Noppoo can be supported with the same override as the Choc Mini, as in issue #2. I've made an Info.plist in gist 4528279 that uses the Choc Mini override for your product and vendor IDs. Replace the Info.plist in the kext and reload the module (or reboot). This should make it appear ioreg but may not fix any issues with the keyboard.

If it is still broken, I'll need more information about the device. Use the USB Prober.app in Apple's Hardware IO Tools for Xcode - February 2012 (it seems to be missing in other versions). Under "Bus Probe" dump the contents with "Save Output" and upload it somewhere.

Hope this helps,

tianxiao-ma commented 11 years ago

Hi, Andrew My keyboard is noppoo mini 84, it is made in china. I use the Info.plist int you gist 4528279, and it still not work corrected.

Here is the usb bus probe output, https://gist.github.com/4563712 (sorry, I don't know how to use markdown yet).

I think may it is a special version for the keyboard just for China users, cause I can't found the product in noppoo's international web site.

thefloweringash commented 11 years ago

Hi,

I have a new Info.plist to try.

tianxiao-ma commented 11 years ago

thank you!

I will try it next monday.

tianxiao-ma commented 11 years ago

Hi,

I use the Info.plist u provided, and I see the produceId and vendorId of my keyboard, but it still not work.

I have found another problem, when i have load the kext, and use the following command

kextstat | grep IOUSBHIDDriverDescriptorOverride

the output is

122    0 0xffffff7f807ca000 0x2000     0x2000     ryangoulden.driver.IOUSBHIDDriverDescriptorOverride (1) <57 25 4 3>

but when i insert the keyboard, and use the command again, the output is dispared.

My mac os x is version 10.7.5, may be something changed in this version?

thefloweringash commented 11 years ago

That's very unusual, I don't know of a reason for a kext to be unloaded. Try checking for kernel messages with sudo dmesg after the kext disappears from kextstat.

I don't think 10.7.5 should be the problem, since it's working for me on 10.8.2. If we're unable to solve the problem I'll try to track down a computer running 10.7.5 to test with.

ghost commented 11 years ago

Same problem here, with Choc Mini 87 on Mac OS X 10.7.5 . Would you help please?

Snip20130220_2

thefloweringash commented 11 years ago

@dofine1115 I didn't anticipate so many variations on the Noppoo keyboards. The only currently supported devices are 1006:0022 and 04f3:5a5a.

I've created an experimental process to automatically detect and fix the Noppoo-style overlaps. See the updated readme section on Unsupported Devices. If this doesn't help, then I'll need more information about your device, ideally a bus probe.

tianxiao-ma commented 11 years ago

Hi, @thefloweringash , I followed the step in the Unsupported Devices section, when I run #rake scan# common, the ruby script throws exception, By the way, I use port to install the libusb, Have you ever encounter such a problem?

thefloweringash commented 11 years ago

Hi @tianxiao-ma , it looks like an unrelated device isn't responding to the attempt to fetch the descriptor. I've updated the scanner to ignore errors.

tianxiao-ma commented 11 years ago

Hi, @thefloweringash , with the new scan script, I can build the project successfully. And the seems the kext can be load normally. When I insert the keyboard, and I can use command ioreg -b -f | grep IOUSBHIDDriverDescriptorOverride to grep some informatation as follows:


+-o IOUSBHIDDriverDescriptorOverride  IOUSBHIDDriverDescriptorOverride, id 0x100000dbc, registered, matched, active, b$
+-o IOUSBHIDDriverDescriptorOverride   IOUSBHIDDriverDescriptorOverride, id 0x100000dc3, registered, matched, active, b

But the keyboard still not work correctly, This time, the OS seems not response any key click on the keyboard(nothing will display on the screen when I click a key on the keyboard). The output of #USB Prober# is as following: USB Bus Probe USBPortStatus IORegistry

Please check it, Thank you!

thefloweringash commented 11 years ago

Hi @tianxiao-ma, can I please have a copy of the file generated by rake scan? It should be called something like descriptors/1007-8400.yaml.

thefloweringash commented 11 years ago

@tianxiao-ma When I moved to the new Info.plist generation method I accidentally dropped the very important HIDDefaultBehavior key. Apparently I also failed to test the new Info.plist, since it could never have worked. Sorry about that, and thank you for your patience.

I have pushed the fix, please let me know the results.

tianxiao-ma commented 11 years ago

Greate Job @thefloweringash , Thank you very much!

It's finally work for my keyboard. And Almost all keys can work correctly.

thefloweringash commented 11 years ago

Glad that it works! :-)

Can I please have a copy of the .yaml file generated by rake scan? I'll add it to the repository and upload a new package.

tianxiao-ma commented 11 years ago

@thefloweringash my .yaml is here

thefloweringash commented 11 years ago

Thank you

tianxiao-ma commented 11 years ago

Hope it can help others!!! ^-^