Jump to content

Generic USB2.0 (EHCI) Driver


orByte
 Share

474 posts in this topic

Recommended Posts

/****************************** INFO BAR ************************************

 

Edit: Last Modified: 24/12/08, Link to Slice's post added + signing off on this driver

 

 

*** Thanks to SLICE there is now an updated version of the USBEHCI driver, which also includes sleep support. Please go here for details: Slice's Post ***

 

PS: I am signing off on this driver. It was an enjoyable exercise. Thanks to everybody who contributed to its development. Anybody needing drivers for Kernel's 8.4.1 (10.4.6), 8.8.1 (10.4.8), 8.9.1 (10.4.9), 9.0.0 (10.5), 9.1.0 (10.5.1) pls. see below links.

 

LEOPARD READ FIRST: The 10.5.0/10.5.1 version is now ready. All kexts come as is without any warranty. Try them at your own risk. On my current MB, the EHCI ownership error does not happen - so I could not fully test, but nevertheless the version is working and should be OK. It should have compiled with 32/64 bit support.

 

Files

----------------------------------

1. Darwin 9.0.0/9.1.0 - PCGenUSBEHCI_303.4.5.kext.zip - Any support queries must include the output of 'kextstat' and 'dmesg | grep -i USB'. After the test phase, I will release full sources etc.

 

SOURCE - PCGen-303.4.5-src (1.3MB, MD5 (PCGen-303.4.5.zip) = 69c29c39850e50c5d27e774ed076d399)

 

 

 

TIGER READ FIRST: The 10.4.9/8.9.1 version is now ready and includes full source. All kexts come as is without any warranty. Try them at your own risk. On my current MB, the EHCI ownership error does not happen - so I could not fully test, but nevertheless the 10.4.9/8.9.1 version is working should be OK. Best.

 

Files

----------------------------------

1. Darwin 8.9.1 - PCGenUSBEHCI-2.7.0.zip

MD5 (PCGenUSBEHCI-2.7.0.zip) = f28159b35fe4bf5dcc755fad10917c8d

2. Darwin 8.8.1 - PCGenUSBEHCI-261.4.2a.zip

MD5 (PCGenUSBEHCI-2.6.1a.zip) = 6fb66c0c36e37a01e751f321d54e8957

3. Darwin 8.4.1 - PCGenUSBEHCI-256.4.2a.zip

MD5 (PCGenUSBEHCI-2.5.6a.zip) = 364f268a209709fc8dcf451ac61ddc31

 

 

Compatibility Guidelines, 22/12/06

----------------------------------

** Version <...>a fixes buggy SMI-bit13 handling ** (Thanks to mac fly for suggesting the solution)

 

** In practical terms, this extends support to machines that tried the reset but failed to do so. E.g., HP Pavillion 8000t NOW WORKS.

 

** See thread: for details.

 

1. For Darwin 8.9.1: USB 270.4.1 & 10.4.9 - use PCGenUSBEHCI-270.4.1 .

2. For Darwin 8.8.1: USB 261.4.2 & 10.4.8 - use PCGenUSBEHCI-261.4.2a .

2. For Darwin 8.4.1: USB 2.4.6 & 10.4.6; USB 256.4.2 & 10.4.7; USB 256.4.2 & 10.4.8 - use PCGenUSBEHCI-256.4.2a .

3. Thanks for all the reports! It seems to be working fine on DFI Lanparty now.

 

Not Working

with ATI SB200 chipset (cause -couldn't replicate this on an ECS board, likely only a laptop issue).

 

******************************************************************************/

 

DISCUSSION THREAD STARTS BELOW:

 

Hi all,

 

I have finally overcome teething problems and can now compile the Darwin, Open Source 256.4.2 IOUSBFamily kext AND get a usable kext.

 

However, I have been focusing on writing a version of AppleUSBEHCI.kext that will address the following problem(s):

 

(1) ON REBOOT/RESET one gets:

USBF:   20.136  EHCI controller unable to take control from BIOS

 

The problem appears to originate from a pci-quirk, which has to do with managing OS/BIOS ownership of the EHCI controller, and is not implemented in the Apple code. Not all systems may exhibit this error. Again, we are lucky to have the benefit of Linux - an excellent open source implementation - for a viable approach to dealing with this problem.

 

Briefly, while Apple implements

#define EHCI_USBLEGSUP_BIOS	(1 << 16)	/* BIOS semaphore */
#define EHCI_USBLEGSUP_OS	(1 << 24)	/* OS semaphore */

, they do not IMPLEMENT

#define EHCI_USBLEGCTLSTS	4		/* legacy control/status */
#define EHCI_USBLEGCTLSTS_SOOE	(1 << 13)	/* SMI on ownership change */

, which is actually a critical part of the management state machine (consequently on restart/reset BIOS reclaims but OS does not let go - so when you restart - no one gets it in the end). Well, in an unquirky world it would be taken care of by the BIOS, but hey! You know how it goes...

 

 

Oh yes, and the legacy part... Turning off legacy support in your BIOS may or may not make a difference. SO the best solution is porting these few lines + a few more over.

 

 

I shall keep you posted. Working title is: GenPCUSBEHCI.kext .

 

 

Best,

Edited by orByte
Link to comment
Share on other sites

I am pleased to announce that this issue is now resolved. And I will make a kext available over the next few days - once I have all the licensing headers appropriately updated/added etc. Hopefully someone will also update the Darwin sources.

 

 

Discussion

The linux code proved helpful, but did not work, in the end the solution was (I ll post a proper diff later), in file AppleUSBEHCI.cpp, AppleUSBEHCI::AcquireOSOwnership(void)

 

We need something like

	 // orByte 26/9/06, check to see that EHCI ownership state machine is operating mutually exclusive
 // as it should be... if not reset OS ownership, and hope for the best.
 if ((data & kEHCI_USBLEGSUP_OSOwned) && (data & kEHCI_USBLEGSUP_BIOSOwned))
	{
		USBError(1, "EHCI - Ownership conflict - attempting to resolve ...");
		USBError(1, "EHCI - Resetting OS Ownership to 0");
		_device->configWrite32(eecp, data ^ kEHCI_USBLEGSUP_OSOwned);
			for (int i = 0; i < 25; i++)
			{
				data = _device->configRead32(eecp);
				if ((data & kEHCI_USBLEGSUP_OSOwned) == 0)
					break;
				IOSleep(10);			
			}
	}

 

Resetting the OS owned bit, generates the SMI event which then sorts out the rest of the registers properly after restart/reset. We need to do this check prior to writing an OS owned bit.

 

 

Best

Link to comment
Share on other sites

This is excellent news! This problem has been frustrating me ever since I got my Asus A8R-MVP and Asus A8R32-MVP motherboards, which is about 5-6 months. Glad to hear someone has finally attacked this issue. Thanks.

 

Paul

 

I'm hoping for an update soon! :) I'm running 10.4.6 on an HP dv8327cl and have been having problems with USB from the start. Let us know as soon as you have a kext ready to test. I'm ready!

Link to comment
Share on other sites

Cheers guys, here it is:

 

 

Edit

From now on link is posted on the topmost post of page 1 of this thread.

End Edit

 

 

One note: I say below that 10.4.7 is required, however, 10.4.6 may be fine. Basically if your system can run the Apple OSX USB 'Debug' kext 256.4.2, you ll be fine. However, read the instructions below first.

 

General and important Info, APSL terms in dmg:

------------------------------------------

 

README.1st

**********************************

PCGenUSBEHCI v. 2.5.6, 30/6/06

---------------------------------------------------------

 

RELEASED UNDER APSL 2.0.

READ THE ENCLOSED LICENSE. BY USING THIS SOFTWARE, YOU ARE AGREEING TO THE TERMS OF APSL 2.0. IF YOU DO NOT AGREE WITH THOSE TERMS THEN DO NOT USE THIS SOFWARE.

 

 

- Modified By: orByte

- Scope: PCGenUSBEHCI.kext replaces AppleUSBEHCI.kext

- Requires: x86 based platform, Darwin 10.4.7, Intel IOUSBFamily.kext version 256.4.2

 

which is obtainable from developer.apple.com in binary form, or from the Darwin Source tree in source form.

 

 

 

NOTES

---------------------------------------------------------

 

* Fixes on x86 based systems: 'EHCI controller unable to take control from BIOS' on restart/reset of system.

 

 

 

KNOWN ISSUES

---------------------------------------------------------

 

* If you reboot while you have a USB2.0 disk attached which has a corrupt MBR, the system might hang.

Likely to occur when rebooting from Hiren's Boot CD after MBR operations.

Resolution: Disconnect the USB2.0 drive and try again.

 

 

 

UNRESOLVED ISSUES

---------------------------------------------------------

 

* D3Cold/Hot Power Management, Severity: Low; Priority: Low

* USB EHCI Clock Registration, Severity: Low; Priority: Low

 

 

 

INSTALL

*************************************

PCGenUSBEHCI v. 2.5.6, 30/6/06

---------------------------------------------------------

 

 

** INSTALLATION INSTRUCTIONS **

 

*****************************************

CAUTION: If the incorrect version of the IOUSBFamily kernel extension is installed, the system may panic on startup. It is also possible that your system does not require or is not compatible with this fix. Make sure that you have a way to correct the problem (i.e. system not booting), before beginning the installation.

 

Make sure that you do not have any operation critical peripherals connected to the high speed USB bus during installation. Make sure that you have a way of reverting to your existing installation.

*****************************************

 

 

CRITICAL:

---------------------------------------------------

 

Obtain and Install IOUSBFamily.kext version 256.4.2, available from Apple. Requires Darwin 10.4.7.

Search Google for 'Mac OS X USB Debug Kits Downloads'

 

Note: I have been using the 'debug' version.

 

 

(A). The risk takers approach

---------------------------------------------------

 

sudo su

rm -R /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/AppleUSBEHCI.kext

cp -R <path to>/PCGenUSBEHCI.kext /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins

chown -R root:wheel /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

chmod -R 755 /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

touch /System/Library/Extensions

shutdown -r now

 

 

(:blink:. Piano, piano

---------------------------------------------------

 

- Read (or skim through) the Apple Public Source Licence file.

- Read the README.1st file.

- Read the CAUTION note at least TWICE.

- Read the troubleshooting section below.

- Remove all mission critical USB from the EHCI port(s).

- Obtain and Install IOUSBFamily.kext version 256.4.2

- Reboot + verify OHCI (USB 1.1) operations

- Check to see if EHCI is working - look under 'About this Mac/More Info/USB' for High Speed USB. If it is already there (after above reboot) you do not need the fix.

- If you have no high speed USB, do sudo dmesg | grep EHCI look for 'EHCI controller unable to take control from BIOS.' If you see this line, then you are a good candidate for this fix.

- Now we run some additional tests:

sudo su

cp -R <path to>/PCGenUSBEHCI.kext /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/

chown -R root:wheel /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

chmod -R 755 /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

 

kextload -v -t /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

 

- Look at the kextload output: Because AppleUSBEHCI is loaded, it will not load but it should say:

kextload: extension /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext appears to be valid

 

If the kext is not valid make sure you followed the instructions. If it is valid, proceed to:

rm -R /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/AppleUSBEHCI.kext

touch /System/Library/Extensions

shutdown -r now

 

 

TROUBLESHOOTING

---------------------------------------------------

1. I cannot install the IOUSBFamily version 256.4.2.

Solution: Upgrade to 'Darwin' version 10.4.7

 

2. I installed the fix and I still cannot get EHCI.

 

Solution: Delete or rename AppleUSBEHCI.kext in the /System/Library/Extensions/... folder. AppleUSBEHCI and GenPCUSBEHCI do the same thing and will cause conflicts if they are both present in the System Folder.

 

2a. I tried the above and the fix still does not work,

Solution: There may be no solution for this... According to ehci r-10 specifications, resetting OS ownership should get BIOS to reinitialize via an SMI signal after restart/reboot. But then this fix itself is patching a buggy ehci implementation. Sorry, you might be out of luck.

 

3. Do I really need this fix?

Solution: Read README.1st, and INSTALL. Additionally, on some machines, this problem goes away when legacy USB is disabled in BIOS.

If you need to have legacy USB enabled, then you can try this fix to get EHCI. I could not test this on my system, but it should work.

 

4. How do I compile the IOUSBFamily 256.4.2 from source?

Solution: Try XCode 2.3, and the apple mailing lists for common typecasting problems relating to clock.h . You may have to use the ...HibernatePrivate.h file from the xnu 10.4.7 kernel. Be prepared to spend some hours, days, weeks, months...

 

5. Will you release fixes for versions earlier than 10.4.7?

Solution: I won't, but you can use the diffs to help you modify earlier source code.

 

6. Can I use the 'patch' command on the diffs?

Solution: The diffs are generated from the 256.4.2 Darwin source. You can patch against those sources. You ll find the sources under the PPC branch. However, these are live sources subject to change so the patch may not apply.

 

7. Why did you change the name of AppleUSBEHCI.kext?

Solution: As my release is not officially from Apple, it is good practice to change the name. Also it gives you the opportunity to backup the original.

Link to comment
Share on other sites

Cheers guys, here it is:

 

AWESOME! I'm going to try this later today or early tomorrow! Very exciting. Very detailed instructions, and this thread deserves a sticky! Thanks for your work on this, I'll reply back when I get it working.

 

Can't wait to have USB for flash and Wireless working!!!!!!! :blink:

Link to comment
Share on other sites

Ok, so this worked great for me... after I hosed my OSX install. The problem is in the instructions. I noticed after my computer stopped working that there is a space after "rm -R /System/Library/" which appears in several lines of your instructions. If you copy and paste this line into terminal, guess what happens... it removes everything in /System/Library/. After a quick reinstall, I tried your method again and removed the spaces in the commands and sure enough, it worked great. Thank you so much, though please edit your instructions so nobody who doesn't know how to fix their install does the same thing I did. Maybe that's why nobody has yet responded after doing this fix.

 

Paul

Link to comment
Share on other sites

Ok, so this worked great for me... after I hosed my OSX install. The problem is in the instructions. I noticed after my computer stopped working that there is a space after "rm -R /System/Library/" which appears in several lines of your instructions. If you copy and paste this line into terminal, guess what happens... it removes everything in /System/Library/. After a quick reinstall, I tried your method again and removed the spaces in the commands and sure enough, it worked great. Thank you so much, though please edit your instructions so nobody who doesn't know how to fix their install does the same thing I did. Maybe that's why nobody has yet responded after doing this fix.

 

Paul

 

I'm hoping to have time tonight to check this out. I am on the road and have been busy as heck. Thanks for the heads up though Black Night!

Link to comment
Share on other sites

He works but without "debug kit"... I have an other problem my wifi and hd LaCie usb works but mouse and pendrive don' t works, why?

 

Ps. I have a notebook and I cannot disable "Usb Legacy" in my bios... look my sign for hardware components.

Link to comment
Share on other sites

Hi Black Knight, thanks for pointing out the error for the instructions & sorry that your system got hosed - :( here are the corrected ones. I shall also update the fileshare later in the day.

 

(A). The risk takers approach

---------------------------------------------------

 

sudo su

rm -R /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/AppleUSBEHCI.kext

cp -R <path to>/PCGenUSBEHCI.kext /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins

chown -R root:wheel /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

chmod -R 755 /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

touch /System/Library/Extensions

shutdown -r now

(. Piano, piano

---------------------------------------------------

 

- Read (or skim through) the Apple Public Source Licence file.

- Read the README.1st file.

- Read the CAUTION note at least TWICE.

- Read the troubleshooting section below.

- Remove all mission critical USB from the EHCI port(s).

- Obtain and Install IOUSBFamily.kext version 256.4.2

- Reboot + verify OHCI (USB 1.1) operations

- Check to see if EHCI is working - look under 'About this Mac/More Info/USB' for High Speed USB. If it is already there (after above reboot) you do not need the fix.

- If you have no high speed USB, do sudo dmesg | grep EHCI look for 'EHCI controller unable to take control from BIOS.' If you see this line, then you are a good candidate for this fix.

- Now we run some additional tests:

sudo su

cp -R <path to>/PCGenUSBEHCI.kext /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/

chown -R root:wheel /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

chmod -R 755 /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

 

kextload -v -t /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

 

- Look at the kextload output: Because AppleUSBEHCI is loaded, it will not load but it should say:

kextload: extension /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext appears to be valid

 

If the kext is not valid make sure you followed the instructions. If it is valid, proceed to:

rm -R /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/AppleUSBEHCI.kext

touch /System/Library/Extensions

shutdown -r now

 

 

 

 

He works but without "debug kit"... I have an other problem my wifi and hd LaCie usb works but mouse and pendrive don' t works, why?

 

Ps. I have a notebook and I cannot disable "Usb Legacy" in my bios... look my sign for hardware components.

 

I am not sure. It is fine, if you cannot disable legacy bios. Do you get any error messages?

 

Best.

Link to comment
Share on other sites

I am not sure. It is fine, if you cannot disable legacy bios. Do you get any error messages?

 

Best.

 

 

With debug kit

"Failed to load extension com.apple.drive.appleUSBEHCI"

 

"AppleUSBOHCI Found a transaction wich hasn't moved in 5 second bla bla bla"

 

Without debug kit load extensions but i have "AppleUSBOHCI Found a transaction wich hasn't moved in 5 second bla bla bla"

Link to comment
Share on other sites

Hi Black Knight, thanks for pointing out the error for the instructions & sorry that your system got hosed - :( here are the corrected ones. I shall also update the fileshare later in the day.

 

(A). The risk takers approach

---------------------------------------------------

 

sudo su

rm -R /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/AppleUSBEHCI.kext

cp -R <path to>/PCGenUSBEHCI.kext /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins

chown -R root:wheel /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

chmod -R 755 /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

touch /System/Library/Extensions

shutdown -r now

(. Piano, piano

---------------------------------------------------

 

- Read (or skim through) the Apple Public Source Licence file.

- Read the README.1st file.

- Read the CAUTION note at least TWICE.

- Read the troubleshooting section below.

- Remove all mission critical USB from the EHCI port(s).

- Obtain and Install IOUSBFamily.kext version 256.4.2

- Reboot + verify OHCI (USB 1.1) operations

- Check to see if EHCI is working - look under 'About this Mac/More Info/USB' for High Speed USB. If it is already there (after above reboot) you do not need the fix.

- If you have no high speed USB, do sudo dmesg | grep EHCI look for 'EHCI controller unable to take control from BIOS.' If you see this line, then you are a good candidate for this fix.

- Now we run some additional tests:

sudo su

cp -R <path to>/PCGenUSBEHCI.kext /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/

chown -R root:wheel /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

chmod -R 755 /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

 

kextload -v -t /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext

 

- Look at the kextload output: Because AppleUSBEHCI is loaded, it will not load but it should say:

kextload: extension /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/PCGenUSBEHCI.kext appears to be valid

 

If the kext is not valid make sure you followed the instructions. If it is valid, proceed to:

rm -R /System/Library/Extensions/IOUSBFamily.kext/Contents/Plugins/AppleUSBEHCI.kext

touch /System/Library/Extensions

shutdown -r now

I am not sure. It is fine, if you cannot disable legacy bios. Do you get any error messages?

 

Best.

 

It's not a problem really, I'm just glad that I was the first to try it and not someone who is new to OSX. Great work on the driver though. Keep up the good work.

 

Paul

Link to comment
Share on other sites

Alright. I had sub'd to this thread, and all the activity this AM made me want to go get this working and installed. Works flawlessly using the directions provided. Thanks so much for getting this thing created. I swear this was a heck of a lot easier than what I had to do to get my network card to work on this laptop! Cheers, and thanks again!

 

Edit: I also think this should be a sticky

Link to comment
Share on other sites

I have now uploaded the corrected instructions. Here is the link:

 

edit: outdated link - current link at top of this page.

PCGenUSBEHCI

MD5: C61ABD7DB7E6067765B9985879DA7AB4

 

:robot:

 

With debug kit

"Failed to load extension com.apple.drive.appleUSBEHCI"

 

"AppleUSBOHCI Found a transaction wich hasn't moved in 5 second bla bla bla"

 

Without debug kit load extensions but i have "AppleUSBOHCI Found a transaction wich hasn't moved in 5 second bla bla bla"

 

Hi, AppleUSBEHCI and PCGenUSBEHCI should not be used together, there can be conflicts. If you are using, PCGenUSBEHCI, you would need to delete (or rename) AppleUSBEHCI. So try that first.

 

 

The OHCI transcation one, I am not too sure about. Well anyhow, try the above first and see if it works. Yeah try that with the debug kit.

 

Best.

Edited by orByte
Link to comment
Share on other sites

Yeah, I linked to this thread from the osx86 wiki for my laptop model, so that might be helpful.

 

Btw, I would suggest editing your instructions in your first post as well since that is the one people will more than likely read first. Just a suggestion.
Link to comment
Share on other sites

Your driver work fine but my problem is AppeUSBOHCI and i don't have a conflict with PCGenUSBEHCI but my usb mouse and pendrive don't works. Wifi and HD works...When I plug my mouse in verbose mode i have "AppleUSBOHCI Found a transaction wich hasn't moved in 5 second bla bla bla"

Link to comment
Share on other sites

Btw, I would suggest editing your instructions in your first post as well since that is the one people will more than likely read first. Just a suggestion.

 

Oh cool! I can edit the posts (a Matrix moment) :D .

 

 

Your driver work fine but my problem is AppeUSBOHCI and i don't have a conflict with PCGenUSBEHCI but my usb mouse and pendrive don't works. Wifi and HD works...When I plug my mouse in verbose mode i have "AppleUSBOHCI Found a transaction wich hasn't moved in 5 second bla bla bla"

 

OK, there is some info on this on the Apple mailing lists. On google search for 'Found a transaction which hasn't moved in 5 seconds' . People seem to think that it is caused when an OHCI device that gets detected as a EHCI device. But someone else tried 10.4.3 here the link. Perhaps it will work for you as well. Have you tried it through an OHCI hub? I remember having some success with troublesome OHCi devices when I ran them through an Apple keyboard (just mouse though - not enough power for a pendrive on the Apple keyboard).

Link to comment
Share on other sites

Hmm tried your method and it didn't work. After the reboot i still got the same error message with EHCI not able to take ownership and when i physically turn on the device it slows down the comp big time. If i disable legacy USB everything works fine and runs smoothly. Have any suggestions why this isn't working for me?

 

 

This is what i keep getting

 

USBF: 16.991 EHCI controller unable to take control from BIOS

USBF: 16.991 AppleUSBEHCI[0x2c56000]: unable to obtain ownership: 0xe00002be

USBF: 16.991 AppleUSBEHCI[0x2c56000]::UIMInitialize - Error occurred (0xe00002be)

USBF: 16.993 AppleUSBEHCI[0x2c56000]: UIMFinalize 0 0 0x2c98700

USBF: 16.993 AppleUSBEHCI: unable to initialize UIM

 

 

I am running 10.4.8 and i ran your instructions 100% to the tee.

 

Any help would be greatly appreciated :)

 

BTW i have a Intel D915GUX motherboard and i know most new motherboards has the option to hand off EHCI in the bios , mine does not have that option as it is older and i do have Legacy USB enabled or else my USB keyboard does not work in the bootloader screen.

 

 

Not sure if this has anything to do with it but this is what i see in my USB section of the system profiler

 

Host Controller Location: Built In USB

Host Controller Driver: AppleUSBUHCI

PCI Device ID: 0x265a

PCI Revision ID: 0x0003

PCI Vendor ID: 0x8086

Bus Number: 0x5d

 

and lastly this is what it shows for the kext being loaded.

 

PCGenUSBEHCI:

 

Version: 2.5.6

Last Modified: 04/10/06 9:52 PM

Get Info String: Based on 2.5.6 AppleUSBEHCI Copyright © 2000-2006 Apple Computer Inc., All Rights Reserved, orByte:Modified under APSL 2.0

Location: /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/PCGenUSBEHCI.kext

kext Version: 2.5.6

Load Address: 0x2a45b000

Valid: Yes

Authentic: Yes

Dependencies: Incomplete

Dependency Errors:

com.apple.iokit.IOUSBFamily: No valid version of this dependency can be found

Integrity: Unknown

 

 

Now when i have legacy USB disabled this is what i get.

 

USB Bus:

 

Host Controller Location: Built In USB

Host Controller Driver: AppleUSBUHCI

PCI Device ID: 0x2659

PCI Revision ID: 0x0003

PCI Vendor ID: 0x8086

Bus Number: 0x3d

 

psc 1310 series:

 

Version: 1.00

Bus Power (mA): 500

Speed: Up to 12 Mb/sec

Manufacturer: hp

Product ID: 0x3f11

Serial Number: CN483B21W4O2

Vendor ID: 0x03f0

 

PCGenUSBEHCI:

 

Version: 2.5.6

Last Modified: 04/10/06 9:52 PM

Get Info String: Based on 2.5.6 AppleUSBEHCI Copyright © 2000-2006 Apple Computer Inc., All Rights Reserved, orByte:Modified under APSL 2.0

Location: /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/PCGenUSBEHCI.kext

kext Version: 2.5.6

Load Address: 0x29d23000

Valid: Yes

Authentic: Yes

Dependencies: Incomplete

Dependency Errors:

com.apple.iokit.IOUSBFamily: No valid version of this dependency can be found

Integrity: Unknown

 

And the system run's fast still. No change in speed when it's disabled. One thing that i did notice as well is the following. I have a seperate card that is usb 2.0 and i believe on the intel board the ports can be both 1.1 or 2.0 (depending if it is enabled in the bios or not).

 

this is what shows up

 

USB High-Speed Bus:

 

Host Controller Location: Built In USB

Host Controller Driver: AppleUSBEHCI

PCI Device ID: 0x265c

PCI Revision ID: 0x0003

PCI Vendor ID: 0x8086

Bus Number: 0xfd

 

 

Didn't have this one before (only when USB legacy is disabled)

Link to comment
Share on other sites

Hmm tried your method and it didn't work. After the reboot i still got the same error message with EHCI not able to take ownership and when i physically turn on the device it slows down the comp big time.

 

Notice the following

Cold Start - Working

1. USBF:   20.697  Attempting to get EHCI Controller from BIOS
2. USBF:   20.698  Found USBLEGSUP_ID - value 0x10001 - writing OSOwned
3. USBF:   22.887  acquireOSOwnership done - value 0x1000001
USBF:   22.929  AppleUSBEHCI[0x3537800]::start EHCI controller will be unloaded across sleep
USBF:   22.953  AppleUSBOHCI[0x3502000]::start OHCI controller will be unloaded across sleep
USBF:   22.954  AppleUSBOHCI[0x3526000]::start OHCI controller will be unloaded across sleep
USBF:   22.955  AppleUSBOHCI[0x3527800]::start OHCI controller will be unloaded across sleep

 

 

Restart - Working

1. USBF:	  26.816  Attempting to get EHCI Controller from BIOS
1a. USBF:	  26.816  EHCI - Ownership conflict - attempting to resolve ...
1b. USBF:	  26.825  EHCI - Try resetting OS Ownership to 0
2. USBF:	  26.826  Found USBLEGSUP_ID - value 0x10001 - writing OSOwned
3. USBF:	  29.  5  acquireOSOwnership done - value 0x1000001
USBF:	  29. 62  AppleUSBEHCI[0x41bf000]::start EHCI controller will be unloaded across sleep
USBF:	  29.107  AppleUSBOHCI[0x4435800]::start OHCI controller will be unloaded across sleep
USBF:	  29.108  AppleUSBOHCI[0x4436000]::start OHCI controller will be unloaded across sleep
USBF:	  29.109  AppleUSBOHCI[0x44e2800]::start OHCI controller will be unloaded across sleep

 

 

Not -working (PCGenUSBEHCI)

1. USBF:	  27.291  Attempting to get EHCI Controller from BIOS
2. USBF:	  27.291  Found USBLEGSUP_ID - value 0x1010001 - writing OSOwned
ERR. USBF:	  27.699  EHCI controller unable to take control from BIOS
USBF:	  27.700  AppleUSBEHCI[0x41cf000]: unable to obtain ownership: 0xe00002be
USBF:	  27.701  AppleUSBEHCI[0x41cf000]::UIMInitialize - Error occurred (0xe00002be)
USBF:	  27.722  AppleUSBEHCI[0x41cf000]: UIMFinalize 0 0 0x441b600
USBF:	  27.722  AppleUSBEHCI: unable to initialize UIM

 

Do you get (1) & (2)? If not, then based on execution branching, you are not running PCGenUSBEHCI. If you get (ERR) only and NOT (1) & (2) then you must be running AppleUSBEHCI.

 

With PCGenUSBEHCI, with Legacy USB disabled you should get (1), and with legacy enabled you should get (1) & (2)

 

If you got (1) & (2), and are still having problems, then you have a problem with the Intel controller. You can try a BIOS upgrade if available, or disable legacy BIOS. Sorry that I do not have any better news for you. But I could be wrong of course. Best.

Link to comment
Share on other sites

hmm yeah i still only get

 

USBF: 16.991 EHCI controller unable to take control from BIOS

USBF: 16.991 AppleUSBEHCI[0x2c56000]: unable to obtain ownership: 0xe00002be

USBF: 16.991 AppleUSBEHCI[0x2c56000]::UIMInitialize - Error occurred (0xe00002be)

USBF: 16.993 AppleUSBEHCI[0x2c56000]: UIMFinalize 0 0 0x2c98700

USBF: 16.993 AppleUSBEHCI: unable to initialize UIM

 

With legacy enabled. ahd PCGenUSBEHCI is running, AppleUSBEHCI is not running as I removed it from IOUSBFamily. Doesn't even show up in the loaded extensions in system profiler. PCGenUSBEHCI does though. I believe there is another thing that might be loading up for me.

 

AppleUSBUHCI? does that make a difference? what is that if you know what it is

Link to comment
Share on other sites

hmm yeah i still only get

 

USBF: 16.991 EHCI controller unable to take control from BIOS

USBF: 16.991 AppleUSBEHCI[0x2c56000]: unable to obtain ownership: 0xe00002be

USBF: 16.991 AppleUSBEHCI[0x2c56000]::UIMInitialize - Error occurred (0xe00002be)

USBF: 16.993 AppleUSBEHCI[0x2c56000]: UIMFinalize 0 0 0x2c98700

USBF: 16.993 AppleUSBEHCI: unable to initialize UIM

 

With legacy enabled. ahd PCGenUSBEHCI is running, AppleUSBEHCI is not running as I removed it from IOUSBFamily. Doesn't even show up in the loaded extensions in system profiler. PCGenUSBEHCI does though. I believe there is another thing that might be loading up for me.

 

AppleUSBUHCI? does that make a difference? what is that if you know what it is

 

That's odd. The first thing the code does is to issue

Attempting to get EHCI Controller from BIOS

. You should really be seeing that message. The AppleUSBUHCI should not be causing a conflict as it is for low/full speed usb devices on Intel & VIA units. I am wondering whether this could be related to 10.4.8. PCGen was compiled against 10.4.7. Sorry mate, that's the only other thing I could think of.

Link to comment
Share on other sites

alright no worries. For now i don't mind disabling Legacy as everything works when i do that. But who knows maybe once IOUSBFamily 10.4.8 comes out you might compile a PCGen for 10.4.8 and it might work :)

 

Thanks for the help though. I do appreciate it.

Link to comment
Share on other sites

 Share

×
×
  • Create New...