Jump to content

IOPCIFamily


Slice
 Share

Recommended Posts

History.The vanilla driver is not good for most non-Apple laptops. Why? Reading documentation on PCCard/PCMCIA I found that PrimaryBus/SecondaryBus/SubordinaryBus of CardBus bridge should be assigned by external driver of OS. Namely IOPCIFamily.

This tuning was in Apple's driver v1.7 but since 2.x version the CardBus support is dropped by Apple.

So why Chun-Nan and me made our versions of IOPCIFamily with Bus renumerations algo. Chun-Nan abandon the ship at Leo era and now only my version can works in Snow.

My algo is verified in Tiger with Samsung P29 and gave me working PCCard with vanilla IOPCCardFamily.kext. I also have some grateful reports from other users of Tiger. Later I remake the same way Leo's driver and Snow's. They work as is but I never checked PCCard because of lack of hardware.

 

Now in Snow.

I created IOPCIFamily v263 for Snow 10.6.0. It was good. Only with it I got USB working! Side effect. I also have report from other users with good influence of the kext.

Now I have the hardware, namely Dell D420 with PCCard slot with Snow installed and.... PCCard is not working. I see good messages from IOPCIFamily in kernel.log

IOPCI2PCIBridge: cardbus memory range 524288 bytes @ 0xefb01000

 

It means that CardBridge is properly initialized. Looks fine, nonetheless PCCard is not working.

Version 263 was created from 113 Apple's sources. Since 10.6.5 Apple rewrote the driver and publish 115 sources.

I made IOPCIFamily v265 based on 115 sources. After some testing I found it is not good.

Wake after sleep with 265:

Feb 22 13:54:36 sergey kernel[0]: System Sleep
Feb 22 13:54:45 sergey kernel[0]: pci restore waited for GIGE (8204) fail
Feb 22 13:54:45 sergey kernel[0]: pci restore waited for ARPT (8215) fail
Feb 22 13:54:45 sergey kernel[0]: Wake reason = PWRB LID
Feb 22 13:54:45 sergey kernel[0]: System Wake
Feb 22 13:54:45 sergey kernel[0]: USB (EHCI):Port 1 on bus 0xfa connected or disconnected: portSC(0x301002)
Feb 22 13:54:45 sergey kernel[0]: The USB device Laptop Integrated Webcam (Port 1 of Hub at 0xfa000000) may have caused a wake by being disconnected
Feb 22 13:54:45 sergey kernel[0]: no card!
Feb 22 13:54:47: --- last message repeated 1 time ---
Feb 22 13:54:45 sergey kernel[0]: AppleYukon2: 00000000,24907000 sky2 - HardwareNotResponding, marking offline
Feb 22 13:54:45 sergey kernel[0]: AppleYukon2: error - FATAL: SkGeStopPort() does not terminate (Rx)
Feb 22 13:54:45 sergey kernel[0]: AppleYukon2: error - SkGeInitPort(): invalid Queue Size specified
Feb 22 13:54:45 sergey kernel[0]: AppleYukon2: error - SkGeInitPort(): Queue Size illegal configured
Feb 22 13:54:45 sergey kernel[0]: AppleYukon2: SkGeInitPort A failed.
Feb 22 13:54:45 sergey kernel[0]: AppleYukon2: 00000000,00000000 sk98nif - enable - IFEnable failed

 

And ethernet not working sad.gif

Then I revert back to IOPCIFamily 263

Feb 22 14:03:16 sergey kernel[0]: System Sleep
Feb 22 14:03:28 sergey kernel[0]: Wake reason = PWRB LID
Feb 22 14:03:28 sergey kernel[0]: System Wake
Feb 22 14:03:28 sergey kernel[0]: USB (EHCI):Port 1 on bus 0xfa connected or disconnected: portSC(0x301002)
Feb 22 14:03:28 sergey kernel[0]: The USB device Laptop Integrated Webcam (Port 1 of Hub at 0xfa000000) may have caused a wake by being disconnected
Feb 22 14:03:30 MacBook kernel[0]: Ethernet [AppleYukon2]: Link up on en0, 100-Megabit, Full-duplex, Symmetric flow-control, Debug [78ed,6c00,0de1,0000,45e1,0000]

 

Fine! tongue.gif

 

It means that final version of IOPCIFamily is not yet created. Here I propose the most working version

IOPCIFamily.kext-v263.zip

 

I hope on more testing from other hardware configuration and will create the best version.

Link to comment
Share on other sites

 Share

×
×
  • Create New...