Slice Posted May 27, 2009 Author Share Posted May 27, 2009 Yeah, so I noticed – I already removed the examples and the USBprober. I did a diff -uw and I noticed that you changed all to "*.h". Why is that? USB headers in IOKIT and in project are differ. Why? I don't know. I'm aware of ICH9 already being patched, but I want to use some thing like: Have you (someone else?) already tried that? No, I am not with EFI-strings. Nonsense for my mind. If you want to recompile IOUSB lets go! Hi Slice, thank you for your all work.My board has Intel Q45 northbridge and ICH10DO southrbridge. I got this USB message when using 10.5.7 valnilla IOUSBFamiry.kext ICH10D0's Device ID is slightly different from ICH10's. Intel 82801JDO (ICH10DO) 00:1a.0 USB Controller: Intel Corporation ICH10 USB UHCI Controller #4 [8086:3a67] [PCI Revision ID: 0x0002] [bus Number: 0x1a] 00:1a.1 USB Controller: Intel Corporation ICH10 USB UHCI Controller #5 [8086:3a68] [PCI Revision ID: 0x0002] [bus Number: 0x3a] 00:1a.2 USB Controller: Intel Corporation ICH10 USB UHCI Controller #6 [8086:3a69] [PCI Revision ID: 0x0002] [bus Number: 0x5a] 00:1a.7 USB Controller: Intel Corporation ICH10 USB2 EHCI Controller #2 [8086:3a6c] [PCI Revision ID: 0x0002] [bus Number: 0xfa] 00:1d.0 USB Controller: Intel Corporation ICH10 USB UHCI Controller #1 [8086:3a64] [PCI Revision ID: 0x0002] [bus Number: 0x1d] 00:1d.1 USB Controller: Intel Corporation ICH10 USB UHCI Controller #2 [8086:3a65] [PCI Revision ID: 0x0002] [bus Number: 0x3d] 00:1d.2 USB Controller: Intel Corporation ICH10 USB UHCI Controller #3 [8086:3a66] [PCI Revision ID: 0x0002] [bus Number: 0x5d] 00:1d.7 USB Controller: Intel Corporation ICH10 USB2 EHCI Controller #1 [8086:3a6a] [PCI Revision ID: 0x0002] [bus Number: 0xfd] Could you add ICH10D0's Device ID to your kext, by the next update release? Yes, I need to add your new set of DeviceID to the project. EDITED: Already done in topic. i lost one usb controller "USB UHCI Controller #3 [8086:27ca] on ICH7" anyone know how to fix it? I try laste IIUSBFamily.kext but it doesn't workUSB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 [8086:27c8] (rev 02)*work* USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 [8086:27c9] (rev 02)*work* USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 [8086:27ca] (rev 02)*not work* USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 [8086:27cb] (rev 02)*work* USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller [8086:27cc] (rev 02) *work* Your DeviceID is supported so I don't know what is the problem. Hardware break? Link to comment Share on other sites More sharing options...
Xess666 Posted May 27, 2009 Share Posted May 27, 2009 not hardware break. It's work on 10.5.2-10.5.5 So I upgrade to 10.5.7 and one usb controller isn't work. but if I plug usb mighty mouse immediately when apple logo show.It's work. (if plug and turn on notebook,it's not work) Link to comment Share on other sites More sharing options...
rx782p Posted May 27, 2009 Share Posted May 27, 2009 Thanks for your fast work. I'll try your KEXT when I return to the house. Link to comment Share on other sites More sharing options...
Master Chief Posted May 27, 2009 Share Posted May 27, 2009 USB headers in IOKIT and in project are differ. Why? I don't know.No, I am not with EFI-strings. Nonsense for my mind. I just think that adding something like this to /Library/Preferences/SystemConfiguration/com.apple.Boot.plist is much easier to understand for average (non-developer minded) people: <key>device-properties</key> <string>7401000001000000060000003c0000000100000002010c00d041030a0000000001010600021d fff0400180000006400650076006900630065002d0069006400000006000000363a3c000000 1000 0002010c00d041030a0000000001010600021a7fff040018000000640065007600690063006 002d 069006400000006000000393a3c0000000100000002010c00d041030a000000000101060000 a7ff 0400180000006400650076006900630065002d0069006400000006000000373a3c000000010 0000 2010c00d041030a0000000001010600011a7fff040018000000640065007600690063006500 d006 006400000006000000383a3c0000000100000002010c00d041030a0000000001010600001d7 ff04 0180000006400650076006900630065002d0069006400000006000000343a3c000000010000 0020 0c00d041030a0000000001010600011d7fff0400180000006400650076006900630065002d0 6900 400000006000000353a</string> which for your info is the EFI variant for ICH9R aka in readable format: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PciRoot(0x0)/Pci(0x1a,0x0)</key> <dict> <key>device-id</key> <string>0x3a37</string> </dict> <key>PciRoot(0x0)/Pci(0x1a,0x1)</key> <dict> <key>device-id</key> <string>0x3a38</string> </dict> <key>PciRoot(0x0)/Pci(0x1a,0x2)</key> <dict> <key>device-id</key> <string>0x3a39</string> </dict> <key>PciRoot(0x0)/Pci(0x1d,0x0)</key> <dict> <key>device-id</key> <string>0x3a34</string> </dict> <key>PciRoot(0x0)/Pci(0x1d,0x1)</key> <dict> <key>device-id</key> <string>0x3a35</string> </dict> <key>PciRoot(0x0)/Pci(0x1d,0x2)</key> <dict> <key>device-id</key> <string>0x3a36</string> </dict> </dict> </plist> All you need after all is simply to change the device-id to something that works and fire up gfxutil -i xml -o hex USB.xml USB.hex (gfxutil is part of EFI Studio and convert's the plist file) and copy/paste the output into your copy of com.apple.Boot.plist (you can also use EFI Studio's File -> Open HEX File... and click the button: "write to com.apple.Boot.plist" to let EFI Studio do it for you) – all people need to modify this file is to insert their ID's, which they can obtain with help of ioreg -l or use IORegistryExplorer (and gfxutil -f name) and you're done. I mean in the EFI world of Apple/OS X we should at least give EFi a try... right? At least that's what I think and thus... Here's Johnny with the EFI variant If you want to recompile IOUSB lets go! But of course, already done. And with success! Link to comment Share on other sites More sharing options...
malone46844 Posted May 27, 2009 Share Posted May 27, 2009 I tried the new kext for 10.5.7 but end up with a still waiting on root device message at reboot. Any ideas? Dell Mini9 10.5.7 Voodoo Kernel (9.5.0 with matching system.kext) Legacy USB and USB wake enabled in bios. I tried with both the vanilla kernel and voodoo kernel and get the same result. Link to comment Share on other sites More sharing options...
Master Chief Posted May 27, 2009 Share Posted May 27, 2009 I tried the new kext for 10.5.7 but end up with a still waiting on root device message at reboot. Any ideas? How did you install the kext? You migh want to check the permissions (sudo chmod 644 -R IOUSBFamily.kext) and ownership (sudo chown -R root:wheel IOUSBFamily.kext) of the installed kext. I take it that you've also done a sudo touch /S*/L*/Extensions.mkext before the reboot? Oh, and the device ID's do match with your hardware, right? Link to comment Share on other sites More sharing options...
dgan Posted May 27, 2009 Share Posted May 27, 2009 try to use voodoo 9.7.0 with system 9.7.0. My os x 10.5.7 is working perfect with that build on an old amd64 4000... so I'm sure you aren't going to have problems! if you need the files just write me or send me an email. Link to comment Share on other sites More sharing options...
malone46844 Posted May 27, 2009 Share Posted May 27, 2009 How did you install the kext? You migh want to check the permissions (sudo chmod 644 -R IOUSBFamily.kext) and ownership (sudo chown -R root:wheel IOUSBFamily.kext) of the installed kext. I take it that you've also done a sudo touch /S*/L*/Extensions.mkext before the reboot? Permissions were fixed and Extensions.mkext removed. Oh, and the device ID's do match with your hardware, right? I didn't check this ... will do when I get home from work. This seems like an obvious culprit. Link to comment Share on other sites More sharing options...
Slice Posted May 27, 2009 Author Share Posted May 27, 2009 I just think that adding something like this ........................... <key>PciRoot(0x0)/Pci(0x1d,0x2)</key> <dict> <key>device-id</key> <string>0x3a36</string> </dict> </dict> </plist> All you need after all is simply to change the device-id to something that works and fire up gfxutil -i xml -o hex USB.xml USB.hex (gfxutil is part of EFI Studio and convert's the plist file) and copy/paste the output into your copy of com.apple.Boot.plist (you can also use EFI Studio's File -> Open HEX File... and click the button: "write to com.apple.Boot.plist" to let EFI Studio do it for you) – all people need to modify this file is to insert their ID's, which they can obtain with help of ioreg -l or use IORegistryExplorer (and gfxutil -f name) and you're done. I mean in the EFI world of Apple/OS X we should at least give EFi a try... right? At least that's what I think and thus... Here's Johnny with the EFI variant But of course, already done. And with success! Very simple instruction Why I Know the digits Pci(0x1d,0x2)??? For a what all of that? I just can copy new kext into system and that's all! And moreover I assert that EFI strings can't provide the same functionality as binary patch or recompilation from corrected sources. It is ABC. I tried the new kext for 10.5.7 but end up with a still waiting on root device message at reboot. Any ideas? I resolve the same problem by replacing IOPCIFamily.kext. Really! Link to comment Share on other sites More sharing options...
Master Chief Posted May 27, 2009 Share Posted May 27, 2009 Very simple instruction Why I Know the digits Pci(0x1d,0x2)???For a what all of that? I just can copy new kext into system and that's all! Oh sure, it still needs a shell script to finish it off. But then again I only started to work on the EFI bits yesterday – please also remember that you keep adding new device id's, but I won't have that problem. p.s. Like you knew all device id's that have been added :-) And moreover I assert that EFI strings can't provide the same functionality as binary patch or recompilation from corrected sources. It is ABC. That depends on how you look at things, really. I most certainly don't need it with the ICH9R controller in my hack – because all I need is this little EFI patch. I resolve the same problem by replacing IOPCIFamily.kext. Really! Sure, and what you've accomplished (and orByte) is really helpful to people, but my method is... like zhell's DSDT patching, just another way of dealing with this – and since I hadn't really looked into this EFI stuff before... was this a perfect candidate for it Link to comment Share on other sites More sharing options...
rx782p Posted May 28, 2009 Share Posted May 28, 2009 Roport: The state that appear as PCI and Value 0x0 of Errata in ioreg is fixed by your new KEXT. My problem... Shutdown and reboot when sleep is no solution. There may be those problems in different factors. Anyway, It is good that factors to disturb sleep decrease. On the other hand, I try zhell's DSDT method and Master Chief's EFI strings method. UHCI's state fixed in ioreg. EHCI Device is lost and USB Mouse is lost after replugging.... and I get this error. localhost kernel[0]: USBF: 0.605 EHCI controller unable to take control from BIOS localhost kernel[0]: USBF: 0.605 AppleUSBEHCI[0xad81800]: unable to obtain ownership: 0xe00002be localhost kernel[0]: USBF: 0.605 AppleUSBEHCI[0xad81800]::UIMInitialize - Error occurred (0xe00002be) localhost kernel[0]: USBF: 0.607 AppleUSBEHCI: unable to initialize UIM localhost kernel[0]: USBF: 0.620 AppleUSBEHCI[0xae48000]: unable to obtain ownership: 0xe00002be localhost kernel[0]: USBF: 0.623 AppleUSBEHCI[0xae48000]::UIMInitialize - Error occurred (0xe00002be) localhost kernel[0]: USBF: 0.629 AppleUSBEHCI: unable to initialize UIM Slice's KEXT is necessary for my USB problem. Thanks all & Sorry for my BAD English. Link to comment Share on other sites More sharing options...
Master Chief Posted May 28, 2009 Share Posted May 28, 2009 On the other hand, I try zhell's DSDT method and Master Chief's EFI strings method.UHCI's state fixed in ioreg. EHCI Device is lost and USB Mouse is lost after replugging.... and I get this error. Anyone willing to try either zhell's DSDT patch, or my EFI strings must be aware of two things: 1) you must know what you are doing. 2) you must replace the device-id's with the one of your motherboard. Link to comment Share on other sites More sharing options...
Slice Posted May 28, 2009 Author Share Posted May 28, 2009 Anyone willing to try either zhell's DSDT patch, or my EFI strings must be aware of two things: 1) you must know what you are doing. 2) you must replace the device-id's with the one of your motherboard. What did you propose? How DSDT patch or EFI string are able to make the follow? if (!_hasPCIPwrMgmt) { // USBError(1, "AppleUSBEHCI[%p]::CheckSleepCapability - controller will be unloaded across sleep",this); // _controllerCanSleep = false; // setProperty("Card Type","PCI"); //Slice - it is bad idea but helps somebody. Proposed by Hafnium. USBError(1, "AppleUSBEHCI[%p]::CheckSleepCapability - forced YES. Please report to Slice",this); _controllerCanSleep = true; setProperty("Card Type","Built-in"); } Or obtain ownership for USBEHCI? Link to comment Share on other sites More sharing options...
avree Posted May 28, 2009 Share Posted May 28, 2009 My left-side USB devices don't work, but my right-side do. This occurred *when* I upgraded from 10.5.6 to 10.5.7. Would this be the solution I need? Link to comment Share on other sites More sharing options...
Slice Posted May 28, 2009 Author Share Posted May 28, 2009 My left-side USB devices don't work, but my right-side do. This occurred *when* I upgraded from 10.5.6 to 10.5.7. Would this be the solution I need? Try! Both IOUSB and IOPCI Link to comment Share on other sites More sharing options...
Master Chief Posted May 28, 2009 Share Posted May 28, 2009 What did you propose? How DSDT patch or EFI string are able to make the follow? if (!_hasPCIPwrMgmt) { // USBError(1, "AppleUSBEHCI[%p]::CheckSleepCapability - controller will be unloaded across sleep",this); // _controllerCanSleep = false; // setProperty("Card Type","PCI"); //Slice - it is bad idea but helps somebody. Proposed by Hafnium. USBError(1, "AppleUSBEHCI[%p]::CheckSleepCapability - forced YES. Please report to Slice",this); _controllerCanSleep = true; setProperty("Card Type","Built-in"); } Or obtain ownership for USBEHCI? I'm not sure I understand the question, but both zhell's DSDT and my EFI patch are based on (simply) changing the device-id's, and we let OS X handle the rest... which works for us. Which doesn't necessarily mean that it will work for everyone. Clearly not. Both DSDT and EFI could already be used to fix your video adapter and ethernet, and now also your USB ports. Like I said before, this is just an additional way of doing things. Please note that DSDT has one major additional advantage, being that you no longer need disabler.kext and this... well this should speaks for itself: May 28 13:49:15 ElReg kernel[0]: AppleIntelCPUPowerManagement: initialization complete Not to mention that 10.6.0 might require further DSDT patching – I'm just preparing for that worse case scenario Link to comment Share on other sites More sharing options...
Eyvind Posted May 28, 2009 Share Posted May 28, 2009 Hmm i was wondering: is there any way to load the USB kexts from /extra/extensions ona chameleon system? And right now I am running without the patched USB drivers. is there any way to create a "fake" plist file which applies to all USB kexts, so you don't have ot download a new update every time there is a new IOUSBFamily? If these questions have already been answered imr eally sorry, im just short of time so i can't read through all the previous replies... BTW i have a P5W DH Deluxe witha a ICH7-R controller. Link to comment Share on other sites More sharing options...
malone46844 Posted May 28, 2009 Share Posted May 28, 2009 I resolve the same problem by replacing IOPCIFamily.kext. Really! Hey, this did fix the waiting on root device issue. But alas, my original problem still remains ... I was hoping the USB kext would fix it. It's probably a discussion for another thread, but here's my story. The Dell Mini9 works pretty good with vanilla kernel, except that bluetooth tethering won't work after the machine has been put to sleep and woken up. Voodoo kernel fixes this. BUT, there's a quirk - if I boot the netbook up and put to sleep without having it plugged in at any point, machine doesn't wake properly (screen comes on but usb, keyboard, and trackpad don't). If I plug it in for a few seconds and then unplug it before putting it to sleep, everything is fine and I can sleep/wake as many times as needed without having it plugged in, until next reboot. Strange bug. System logs show nothing and I'm at a dead end for ideas on a fix. Link to comment Share on other sites More sharing options...
Slice Posted May 28, 2009 Author Share Posted May 28, 2009 I want to clear that sleep problem is not a problem of one place. Every driver must be able to sleep and then wake. My drivers mostly Yes! Other drivers other story. Broadcom WiFi 4315 can't wake and I am not able to correct it. Link to comment Share on other sites More sharing options...
mitch_de Posted May 29, 2009 Share Posted May 29, 2009 Thanks Slice, for the updated IOPCI.kext. I remember that that not only can solve USB problems also has fixed/opzimized Interrupt handling for hackintoshs. My problem is a bit different. I dont have (EP-35-DS3) USB Problems. But i cant sleep, it reboots insted. I solved this by an HINT somewhere in the forum to enable an Option "Automatic Restart On Power Loss" in the energy saver prefpane. But that option is gone with 10.5.7, only shown that option with the power button. I also remember, in that hint thread, that some others didnt have that option to enable that. Now i also (upgraded to 10.5.7) dont have that option anymore. I know you have an similar GA Board. Do you have that option ? Can it be some changed support files (system/library/Systemconfiguration/powermanagement.bundle) of the powermanagement part of OS X 10.5.7 ? I can see that "Automatic Restart On Power Loss" in the .plist there, so perhaps this .bundle handles that. Thanks Link to comment Share on other sites More sharing options...
Slice Posted May 29, 2009 Author Share Posted May 29, 2009 My problem is a bit different. I dont have (EP-35-DS3) USB Problems.But i cant sleep, it reboots insted. I solved this by an HINT somewhere in the forum to enable an Option "Automatic Restart On Power Loss" in the energy saver prefpane. But that option is gone with 10.5.7, only shown that option with the power button. I also remember, in that hint thread, that some others didnt have that option to enable that. Now i also (upgraded to 10.5.7) dont have that option anymore. I know you have an similar GA Board. Do you have that option ? Can it be some changed support files (system/library/Systemconfiguration/powermanagement.bundle) of the powermanagement part of OS X 10.5.7 ? I can see that "Automatic Restart On Power Loss" in the .plist there, so perhaps this .bundle handles that. Thanks This option depends on AppleLPC.kext. It must be loaded. I have origin powermanagement.bundle from 10.5.7. It works with AppleACPIBatteryManager.kext.(Dell Inspiron). My GA board is 965P (ICH8) while you have EP-35 (ICH9?). As I know ICH9 have no support by original IOUSBFamily or supported with mistakes. It is better to use my version. Link to comment Share on other sites More sharing options...
nicescr123 Posted May 29, 2009 Share Posted May 29, 2009 Roport: The state that appear as PCI and Value 0x0 of Errata in ioreg is fixed by your new KEXT. My problem... Shutdown and reboot when sleep is no solution. There may be those problems in different factors. Anyway, It is good that factors to disturb sleep decrease. On the other hand, I try zhell's DSDT method and Master Chief's EFI strings method. UHCI's state fixed in ioreg. EHCI Device is lost and USB Mouse is lost after replugging.... and I get this error. localhost kernel[0]: USBF: 0.605 EHCI controller unable to take control from BIOS localhost kernel[0]: USBF: 0.605 AppleUSBEHCI[0xad81800]: unable to obtain ownership: 0xe00002be localhost kernel[0]: USBF: 0.605 AppleUSBEHCI[0xad81800]::UIMInitialize - Error occurred (0xe00002be) localhost kernel[0]: USBF: 0.607 AppleUSBEHCI: unable to initialize UIM localhost kernel[0]: USBF: 0.620 AppleUSBEHCI[0xae48000]: unable to obtain ownership: 0xe00002be localhost kernel[0]: USBF: 0.623 AppleUSBEHCI[0xae48000]::UIMInitialize - Error occurred (0xe00002be) localhost kernel[0]: USBF: 0.629 AppleUSBEHCI: unable to initialize UIM Slice's KEXT is necessary for my USB problem. Thanks all & Sorry for my BAD English. If you use Chameleon, add <key>USBBusFix<key><string>Yes<string> to the com.apple.Boot.plist Link to comment Share on other sites More sharing options...
mitch_de Posted May 30, 2009 Share Posted May 30, 2009 This option depends on AppleLPC.kext. It must be loaded. I have origin powermanagement.bundle from 10.5.7. It works with AppleACPIBatteryManager.kext.(Dell Inspiron). My GA board is 965P (ICH8) while you have EP-35 (ICH9?). As I know ICH9 have no support by original IOUSBFamily or supported with mistakes. It is better to use my version. Thanks ! Now i remember that i had added some dev-id of my ICH9 into the AppleLPC.kext in the past. So that explains why some can see that energy saver pref and some not (non ICH9R, non ICH10,..). I can see (kextstat) that the LPC isnt loaded. I will try to add ICH9 again into that .kext and report back. Link to comment Share on other sites More sharing options...
rx782p Posted May 30, 2009 Share Posted May 30, 2009 Only EHCI was fixed by USBBusFIX=Yes when using vanilla IOUSBFamiry.kext. Link to comment Share on other sites More sharing options...
mitch_de Posted May 30, 2009 Share Posted May 30, 2009 This option depends on AppleLPC.kext. It must be loaded. I have origin powermanagement.bundle from 10.5.7. It works with AppleACPIBatteryManager.kext.(Dell Inspiron). My GA board is 965P (ICH8) while you have EP-35 (ICH9?). As I know ICH9 have no support by original IOUSBFamily or supported with mistakes. It is better to use my version. I added that INTEL LPC dev ID (2918, for ICH9 LPC - that ID wasnt in yet > no loading that kext) to the others in that kext. The shown screenshoot shows that adding (not ready edited for 2918!!). I hope i will be back next boot EDIT: I am back Yep : now sleep works again , AppleLPC.kext now loaded (i must once boot with -x) ! I can now set that option in the energie saver (wasnt shown before). Link to comment Share on other sites More sharing options...
Recommended Posts