Jump to content

Generic USB2.0 (EHCI) Driver


  • Please log in to reply
473 replies to this topic

#61
mac fly

mac fly

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
Hi !
When the system tries to load your kext, I get this:

Nov 29 14:13:23 localhost kernel[0]: kld(): Undefined symbols:
Nov 29 14:13:23 localhost kernel[0]: __ZN24IOBufferMemoryDescriptor17getVirtualSegmentEmPm
Nov 29 14:13:23 localhost kernel[0]: kld_load_from_memory() failed for module com.orByte.driver.PCGenUSBEHCI
Nov 29 14:13:23 localhost kernel[0]: ^[[33mFailed to load extension com.orByte.driver.PCGenUSBEHCI.
Nov 29 14:13:23 localhost kernel[0]: ^[[0mCouldn't alloc class "AppleUSBEHCI"

I obiously did something wrong, but what ?

I am running the following system:
dv8000t with core duo
Jas 10.4.7 combo-upgraded to 10.4.8, with paulicat's AppleSMBIOS and special IOATAFamily. Removed IOPCCardFamily because it crashed upon loading. Kernel is semthex Beta8.

#62
orByte

orByte

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 182 posts

Hi !
When the system tries to load your kext, I get this:

Nov 29 14:13:23 localhost kernel[0]: kld(): Undefined symbols:
Nov 29 14:13:23 localhost kernel[0]: __ZN24IOBufferMemoryDescriptor17getVirtualSegmentEmPm
Nov 29 14:13:23 localhost kernel[0]: kld_load_from_memory() failed for module com.orByte.driver.PCGenUSBEHCI
Nov 29 14:13:23 localhost kernel[0]: ^[[33mFailed to load extension com.orByte.driver.PCGenUSBEHCI.
Nov 29 14:13:23 localhost kernel[0]: ^[[0mCouldn't alloc class "AppleUSBEHCI"

I obiously did something wrong, but what ?

I am running the following system:
dv8000t with core duo
Jas 10.4.7 combo-upgraded to 10.4.8, with paulicat's AppleSMBIOS and special IOATAFamily. Removed IOPCCardFamily because it crashed upon loading. Kernel is semthex Beta8.



Hi,

This problem originates because the kext was compiled against the 8.4.1 kernel and compatible libraries. A lot of people have been upgrading to the semthex 10.4.8, and I will configure a semthex 10.4.8 system and recompile there. That should make the kext available for systems running the semthex kernel! If you have a moment though, could you plz post or send me
kextstat, and uname -psrv, and cat /System/Library/CoreServices/SystemVersion.plist

Many thanks in advance.
Best

#63
mac fly

mac fly

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
Hi OrByte
Thanks for your quick answer, and for doing this...
Here are the files you asked for.
Good luck !

Attached Files



#64
BlackCH

BlackCH

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,615 posts
  • Gender:Male
  • Location:BCN

I just realized that this is an ATI chipset - most likely the source of the problems - could be a register implementation issue. It turns out that support for the SB 200 was late in coming even under Linux (late 2005) I shall have a look at the Linux side to see if a simple patch implementation would be possible.

Best
:P




Hi.
I just run a new version of SiSoft Sandra and it identified my chipset as R200 AGP bridge (id CAB3) & RS200 PCI bridge (id 7010)...
Thanks man. You're doing great job here.

cheers

#65
orByte

orByte

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 182 posts
:pirate2: GOOD NEWS! :pirate2:

A happy holiday season to all! And, in anticipation of the holidays, the Darwin Kernel 8.8.1 version of PCGenUSBEHCI has now been released. The download link is at the ** INFO BAR ** on the top of the 1st page of this thread. Click here .

The README.1st file is below. Enjoy!
Best

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

PCGenUSBEHCI v. 2.6.1, 8/12/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.8, Intel IOUSBFamily.kext version 261.4.2

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

THIS VERSION ONLY FOR KERNEL 8.8.1


New! CREDITS
---------------------------------------------------------

- Thanks to Black Knight for noting a fatal flaw in the original install instructions. (Fixed)
- Thanks to McDull and mac fly for providing sample system configuration data.



NOTES
---------------------------------------------------------

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


KNOWN ISSUES
---------------------------------------------------------

* Reported not to work with ATI SB200 USB Chipset. (Under Investigation)

* 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

#66
mcdull

mcdull

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 184 posts
Thanks.. orByte, I can finally use my OSX box with my Card Reader. I am sure I will be very happy with it.

#67
mspr

mspr

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 338 posts

:D GOOD NEWS! :dance_24:

A happy holiday season to all! And, in anticipation of the holidays, the Darwin Kernel 8.8.1 version of PCGenUSBEHCI has now been released. The download link is at the ** INFO BAR ** on the top of the 1st page of this thread. Click here .

Hello,
the link for PCGenUSBEHCI-261.4.2.zip in the first page doesn't work.
Could you give us a new link for it ?
Thank you

#68
semon

semon

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 3 posts
thanks a lot ! I finally have USB working on my 10.4.8 system !

#69
orByte

orByte

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 182 posts

Hello,
the link for PCGenUSBEHCI-261.4.2.zip in the first page doesn't work.
Could you give us a new link for it ?
Thank you


Hi,

I tested the link and it seems to be working fine. You may need to type in a verification code at the top right, and then wait for a while before the download. If you are continuing to have difficulties, pls. post the exact error message. If all else fails, you can also try downloading through public proxy such as these. But it should not be needed.

Edit: Come to think of it... there is another possibility as well: If there is high download volume, then there could be a delay/throttling going on from the provider side, as I am using the 'free' variety of the service. :-)

Best

#70
mestam

mestam

    InsanelyMac Protégé

  • Members
  • Pip
  • 16 posts
  • Location:Italia
Orbyte..

I have kernel 8.4.1 and applied patches in order adviced.. IOUSB from Apple.. 246.4.0.. which didn't work..and then PCGen .. and also didn't work.. I get:

USBF: 189.898 Attempting to get EHCI Controller from BIOS
USBF: 189.898 EHCI - Ownership conflict - attempting to resolve ...
USBF: 189.898 EHCI - Try resetting OS Ownership to 0
USBF: 190.149 EHCI controller unable to take control from BIOS
USBF: 190.149 AppleUSBEHCI[0x21da800]: unable to obtain ownership: 0xe00002be
USBF: 190.149 AppleUSBEHCI[0x21da800]::UIMInitialize - Error occurred (0xe00002be)
USBF: 190.151 AppleUSBEHCI: unable to initialize UIM

I have no options in bios to disable or enable.. this is a HP Pavilion dv8323ea.. and I will try a bios update soon.. (Iwill have to backup everything first!).. but i wanted to ask you.. could it be that we need to add the vendor ID or device ID somewhere in the PCGenUSBEHCI Info.plist ? For instance, if i look at dxdiag got in windows XP I see something like:

-----------
USB Devices
-----------
+ Hub principale USB
| Vendor/Product ID: 0x8086, 0x27C8
| Matching Device ID: usb\root_hub
| Service: usbhub
| Driver: usbhub.sys, 8/3/2004 23:08:44, 57600 bytes
| Driver: usbd.sys, 8/19/2004 12:00:00, 4736 bytes

or something like this:

Name: Intel 82801G (ICH7 Family) USB2 Enhanced Host Controller - 27CC
Device ID: PCI\VEN_8086&DEV_27CC&SUBSYS_30A5103C&REV_01\3&B1BFB68&0&EF
Driver: C:\WINDOWS\system32\drivers\usbehci.sys, 5.01.2600.2180 (English), 8/3/2004 23:08:38, 26624 bytes
Driver: C:\WINDOWS\system32\drivers\usbport.sys, 5.01.2600.2180 (English), 8/3/2004 23:08:44, 142976 bytes
Driver: C:\WINDOWS\system32\usbui.dll, 5.01.2600.2180 (Italian), 8/19/2004 15:39:30, 76800 bytes
Driver: C:\WINDOWS\system32\drivers\usbhub.sys, 5.01.2600.2180 (English), 8/3/2004 23:08:44, 57600 bytes
Driver: C:\WINDOWS\system32\hccoin.dll, 5.01.2600.2180 (English), 8/19/2004 12:00:00, 7168 bytes


I solved the ethernet and sound card not being recognised by adding those kind of hexadecimal IDs to the appropriate kext files.. could it be the same here? I just can't identify in PCGen kext the right strings to deal with these kind of values..
Mestam

#71
mspr

mspr

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 338 posts

Hi,

I tested the link and it seems to be working fine. You may need to type in a verification code at the top right, and then wait for a while before the download. If you are continuing to have difficulties, pls. post the exact error message. If all else fails, you can also try downloading through public proxy such as these. But it should not be needed.

Edit: Come to think of it... there is another possibility as well: If there is high download volume, then there could be a delay/throttling going on from the provider side, as I am using the 'free' variety of the service. :-)

Best

Hello,
I tried again but I received always the same error: "all the slots for your country are full. Please try later or install the Megaupload toolbar"...
I searched in Google and I found a lot of discussion about this problem... it seems that Megaupload in some countries doesn't work without their toolbar (I tried later and later but every time I received the same message).
Could you upload the file on a different website ?
Thank you
Bye

#72
joelones

joelones

    InsanelyMac Protégé

  • Members
  • PipPip
  • 78 posts
OrByte,

Great work btw. Followed your instructions, it's not working.
I have a DFI LANPARTY UT. OHCI works but not high speed.

uname -a
Darwin joe-lones-computer.local 8.8.1 Darwin Kernel Version 8.8.1: Mon Nov 27 18:58:11 AZOT 2006; semthex:/nebukadnezar/BUILD/obj/RELEASE_I386 i386 i386

kextstat | grep -i usb
34	8 0x3beb4000 0x1a000	0x19000	com.apple.iokit.IOUSBFamily (2.6.1) <6 5 4 3>
   35	0 0x3bf07000 0xc000	 0xb000	 com.apple.driver.AppleUSBOHCI (2.6.0) <34 16 5 4 3>
   36	0 0x3c2b4000 0x12000	0x11000	com.orByte.driver.PCGenUSBEHCI (2.6.1) <34 16 5 4 3>
   49	0 0x44a76000 0x9000	 0x8000	 com.apple.driver.AppleUSBHub (2.6.0) <34 11>
   50	0 0x44c89000 0x3000	 0x2000	 com.apple.driver.AppleUSBComposite (2.6.1) <34 11>
   64	0 0x450cc000 0x9000	 0x8000	 com.apple.iokit.IOUSBUserClient (2.6.0) <34 11>
   65	0 0x450d5000 0x4000	 0x3000	 com.parallels.kext.ConnectUSB (2.5.0) <34 11 6 5 4 3>
   79	0 0x5722a000 0x5000	 0x4000	 com.apple.iokit.IOUSBHIDDriver (2.6.0) <34 20 11>

dmesg | grep -i usb
USBF:   37.239  AppleUSBEHCI[0x44df000]::UIMInitialize - Error occurred (0xe00002be)
USBF:   37.242  AppleUSBEHCI: unable to initialize UIM
USBF:   41.943  AppleUSBOHCI[0x43df000]::start OHCI controller will be unloaded across sleep
USB0: family specific matching fails
USB2: family specific matching fails
USB0: family specific matching fails
USB2: family specific matching fails
Did notice this is the system.log
cat /var/log/system.log | grep -i ehci
Dec 10 11:30:52 joe-lones-computer kernel[0]: Class "AppleEHCIedMemoryBlock" is duplicate

maybe i did something wrong, removed AppleUSBEHCI.kext.
any suggestions, thanks

#73
orByte

orByte

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 182 posts

Hello,
I tried again but I received always the same error: "all the slots for your country are full. Please try later or install the Megaupload toolbar"...
I searched in Google and I found a lot of discussion about this problem... it seems that Megaupload in some countries doesn't work without their toolbar (I tried later and later but every time I received the same message).
Could you upload the file on a different website ?
Thank you
Bye


Hi mspr,

Apparently megaupload is not that great... I have now moved the files to sendspace and updated the links. Sorry for the inconvenience. Eventually I ll have a permanent location for all my files but it is still in design stages. Any more problems, let me know.

Best.

#74
orByte

orByte

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 182 posts

OrByte,

Great work btw. Followed your instructions, it's not working.
I have a DFI LANPARTY UT. OHCI works but not high speed.

kextstat | grep -i usb

65	0 0x450d5000 0x4000	 0x3000	 com.parallels.kext.ConnectUSB (2.5.0) <34 11 6 5 4 3>

dmesg | grep -i usb
USB0: family specific matching fails
USB2: family specific matching fails
USB0: family specific matching fails
USB2: family specific matching fails
Did notice this is the system.log
cat /var/log/system.log | grep -i ehci
Dec 10 11:30:52 joe-lones-computer kernel[0]: Class "AppleEHCIedMemoryBlock" is duplicate

maybe i did something wrong, removed AppleUSBEHCI.kext.
any suggestions, thanks


Hi joelones,

I am suspecting a conflict between PCGen and the Parallels USB module. It looks like you are getting two EHCI (hi speed USB) devices competing for the same driver slot (nib or nub... or hub). It could be a problem with the DFI-LANPARTY as well - what's the chipset?. See what happens when you disable the parallels USB module and then 'touch /System/Library/Extensions' and reboot. If that does not do it pls. send me a copy of:
ioreg -w0 -bl

Best

#75
mspr

mspr

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 338 posts

Hi mspr,

Apparently megaupload is not that great... I have now moved the files to sendspace and updated the links. Sorry for the inconvenience. Eventually I ll have a permanent location for all my files but it is still in design stages. Any more problems, let me know.

Best.

Thank you very much...
It works fine...
As soon as possible I will try to install it

#76
joelones

joelones

    InsanelyMac Protégé

  • Members
  • PipPip
  • 78 posts

Hi joelones,

I am suspecting a conflict between PCGen and the Parallels USB module. It looks like you are getting two EHCI (hi speed USB) devices competing for the same driver slot (nib or nub... or hub). It could be a problem with the DFI-LANPARTY as well - what's the chipset?. See what happens when you disable the parallels USB module and then 'touch /System/Library/Extensions' and reboot. If that does not do it pls. send me a copy of:

ioreg -w0 -bl

Best


orByte,

I attempted to removed the ConnectUSB.kext which is what I believe is responsible for loading the USB module for parallels, then touched Extensions and rebooted. Still no go. Maybe that's not the right USB module?

As for the USB chipset on the DFI, it's the oddest thing--Can't located the chip neither on the site nor in the manual-even inspected the board! I know it's the nF4 chipset but I am not sure what the USB chipset is...

I can't seem to attach my ioreg file but I suspect the file is truncated due to the strange output when i run the command right before the AppleSMBIOS { section...

ioreg -w0 -bl

weird output: not sure why this happens
ioreg: error: can't obtain properties.

where can I send it to you?

#77
mac fly

mac fly

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
Hi orByte !
Thank you for working on this, but It doesn't work for me. My laptop (hp dv8000t) is similar to mestam's. And it gives a similar error:

Dec 11 12:42:42 localhost kernel[0]: USBF: 24. 42 Attempting to get EHCI Controller from BIOS
Dec 11 12:42:42 localhost kernel[0]: USBF: 24. 42 EHCI - Ownership conflict - attempting to resolve ...
Dec 11 12:42:42 localhost kernel[0]: USBF: 24. 42 EHCI - Try resetting OS Ownership to 0
Dec 11 12:42:42 localhost kernel[0]: USBF: 24. 42 Found USBLEGSUP_ID - value 0x10001 - writing OSOwned
Dec 11 12:42:42 localhost kernel[0]: AppleIntelPIIXPATA: Secondary PCI IDE channel is disabled
Dec 11 12:42:42 localhost kernel[0]: USBF: 24.297 EHCI controller unable to take control from BIOS
Dec 11 12:42:42 localhost kernel[0]: USBF: 24.297 AppleUSBEHCI[0x4512000]: unable to obtain ownership: 0xe00002be
Dec 11 12:42:42 localhost kernel[0]: USBF: 24.297 AppleUSBEHCI[0x4512000]::UIMInitialize - Error occurred (0xe00002be)
Dec 11 12:42:42 localhost kernel[0]: USBF: 24.299 AppleUSBEHCI: unable to initialize UIM

What do you suggest ? Is it fixable ? (I have to mention that there is no BIOS option for USB, like legacy support or so...)

#78
orByte

orByte

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 182 posts

Hi orByte !
Thank you for working on this, but It doesn't work for me. My laptop (hp dv8000t) is similar to mestam's. And it gives a similar error:

Dec 11 12:42:42 localhost kernel[0]: USBF: 24. 42 Attempting to get EHCI Controller from BIOS
Dec 11 12:42:42 localhost kernel[0]: USBF: 24. 42 EHCI - Ownership conflict - attempting to resolve ...
Dec 11 12:42:42 localhost kernel[0]: USBF: 24. 42 EHCI - Try resetting OS Ownership to 0
Dec 11 12:42:42 localhost kernel[0]: USBF: 24. 42 Found USBLEGSUP_ID - value 0x10001 - writing OSOwned
Dec 11 12:42:42 localhost kernel[0]: AppleIntelPIIXPATA: Secondary PCI IDE channel is disabled
Dec 11 12:42:42 localhost kernel[0]: USBF: 24.297 EHCI controller unable to take control from BIOS
Dec 11 12:42:42 localhost kernel[0]: USBF: 24.297 AppleUSBEHCI[0x4512000]: unable to obtain ownership: 0xe00002be
Dec 11 12:42:42 localhost kernel[0]: USBF: 24.297 AppleUSBEHCI[0x4512000]::UIMInitialize - Error occurred (0xe00002be)
Dec 11 12:42:42 localhost kernel[0]: USBF: 24.299 AppleUSBEHCI: unable to initialize UIM

What do you suggest ? Is it fixable ? (I have to mention that there is no BIOS option for USB, like legacy support or so...)


Argh! This means that the BIOS is not processing (or ignoring) the ownership reset request. I am afraid for now, this fix will unfortunately not work on your laptop. I have been planning to write another version that will do a rather agressive reset in case the gentle one fails - but it is still early days for that one. There are some differences betwen the Darwin and Linux EHCI implementations that I have not yet quite figured out.

Best

#79
orByte

orByte

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 182 posts

I can't seem to attach my ioreg file but I suspect the file is truncated due to the strange output when i run the command right before the AppleSMBIOS { section...

ioreg -w0 -bl

weird output: not sure why this happens
ioreg: error: can't obtain properties.

where can I send it to you?


Hmmm... What version of AppleSMBIOS are you running? IS it 1.0.6? And you require a 'fixed' one for 8.8.1. The OHCI modules are for USB1.1 only and wouldn't have an impact on USB 2.0. Can you get any outout pertaining to USB at all from ioreg? Perhaps you could attach this:
ioreg -bl -w0 | grep USB > outputfile.txt
. It should take off the SMBIOS Part, and just leave the USB info.

Best

Orbyte..

I have kernel 8.4.1 and applied patches in order adviced.. IOUSB from Apple.. 246.4.0.. which didn't work..and then PCGen .. and also didn't work.. I get:

USBF: 189.898 Attempting to get EHCI Controller from BIOS
USBF: 189.898 EHCI - Ownership conflict - attempting to resolve ...
USBF: 189.898 EHCI - Try resetting OS Ownership to 0
USBF: 190.149 EHCI controller unable to take control from BIOS
USBF: 190.149 AppleUSBEHCI[0x21da800]: unable to obtain ownership: 0xe00002be
USBF: 190.149 AppleUSBEHCI[0x21da800]::UIMInitialize - Error occurred (0xe00002be)
USBF: 190.151 AppleUSBEHCI: unable to initialize UIM


Mestam


Hi unfortunately this means that the BIOS is ignoring the ownership reset request. For now, this fix will not work on the following HP laptops: dv8000t, dv 8323.

I am investigating the linux side once more. But very early days ....

Best

#80
joelones

joelones

    InsanelyMac Protégé

  • Members
  • PipPip
  • 78 posts

Hmmm... What version of AppleSMBIOS are you running? IS it 1.0.6? And you require a 'fixed' one for 8.8.1. The OHCI modules are for USB1.1 only and wouldn't have an impact on USB 2.0. Can you get any outout pertaining to USB at all from ioreg? Perhaps you could attach this:

ioreg -bl -w0 | grep USB > outputfile.txt
. It should take off the SMBIOS Part, and just leave the USB info.

Best


Orbyte,

AppleSMBIOS version
22	0 0x35167000 0x4000	 0x3000	 com.apple.driver.AppleSMBIOS (1.0.9) <11>

I am afraid the output generated from
ioreg -bl -w0 | grep USB > outputfile.txt
will probably be truncated.

thanks

Edited by joelones, 16 December 2006 - 08:32 PM.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy