- Joined
- Apr 21, 2012
- Messages
- 304
- Motherboard
- ASRock Z77 Professional-M
- CPU
- i7-3770K (4.2 GHz)
- Graphics
- GTX 670
- Mac
- Classic Mac
- Mobile Phone
Just checking in... To get subscription emails.
I compared the USB 3.0 (RP08) sections of the dsdt for an Asus P8Z77-I Deluxe to the dsdt of the Gigabyte Z77X-UD5H. The Asus RP08 is presented with notations for Asus code that does not appear in Gigabyte code.Interesting that it works with Asus boards. So clearly this is a Gigabyte specific (well, so far anyhow) issue.
I presume none of you are using DSDT files, but rather are using modified UEFI's?
Asus P8Z77-I Deluxe USB 3.0 0508
Device (RP08)
{
Name (_ADR, 0x001C0007) // _ADR: Address
Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters - Asus begin
{
0x08,
0x40,
One,
Zero
}) //Asus end
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
L0SE, 1,
Offset (0x11),
Offset (0x12),
, 13,
LASX, 1,
Offset (0x14), //Asus - diff
, 6, //Asus - diff
HPCE, 1, //Asus
Offset (0x1A), //Asus
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1
}
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x94), //Asus begin
, 1,
EIFD, 1,
Offset (0x95), //Asus end
Offset (0x9C),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x09,
0x04
})
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Store (0xC8, Local0)
While (Local0)
{
Store (One, PMSX)
If (PMSX)
{
Decrement (Local0)
}
Else
{
Store (Zero, Local0)
}
}
Notify (PXSX, 0x02)
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR0F ())
}
Return (PR0F ())
}
}
Device (RP03)
{
Name (_ADR, 0x001C0002) // _ADR: Address
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
L0SE, 1,
, 3,
LDRP, 1,
Offset (0x11),
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device (XHCB)
{
Name (_ADR, Zero) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
Store (Package (0x11)
{
"built-in",
Buffer (One)
{
0x00
},
"AAPL,clock-id",
Buffer (One)
{
0x00
},
"model",
Buffer (0x26)
{
"Fresco Logic USB 3.0 Host Controller"
},
"AAPL,current-available",
0x0834,
"AAPL,current-extra",
0x0898,
"AAPL,current-extra-in-sleep",
0x0640,
"AAPL,max-port-current-in-sleep",
0x0834,
"AAPL,device-internal",
0x02,
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x09,
0x04
})
}
Method (HPME, 0, Serialized)
{
If (PMSX)
{
Store (0xC8, Local0)
While (Local0)
{
Store (One, PMSX)
If (PMSX)
{
Decrement (Local0)
}
Else
{
Store (Zero, Local0)
}
}
Notify (XHCB, 0x02)
}
}
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
If (LEqual (USBK, One))
{
Return (GPRW (0x0B, 0x03))
}
Else
{
Return (GPRW (0x0B, Zero))
}
}
Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
{
If (PICM)
{
Return (AR06 ())
}
Return (PR06 ())
}
}
Sep 3 09:55:21 localhost kernel[0]: bLen=9, bDescType=2
Sep 3 09:55:21 localhost kernel[0]: [9][2][2c][0][1][1][0][80][70]
Sep 3 09:55:21 localhost kernel[0]: bLen=9, bDescType=4
Sep 3 09:55:21 localhost kernel[0]: interfaceProtocal is 0x50
Sep 3 09:55:21 localhost kernel[0]: [9][4][0][0][2][8][6][50][0]
Sep 3 09:55:21 localhost kernel[0]: bLen=7, bDescType=5
Sep 3 09:55:21 localhost kernel[0]: [7][5][84][2][0][4][0]
Sep 3 09:55:21 localhost kernel[0]: bLen=6, bDescType=48
Sep 3 09:55:21 localhost kernel[0]: Update bInterfaceSubClass B 0x50
Sep 3 09:55:21 localhost kernel[0]: [6][30][f][0][0][0]
Sep 3 09:55:21 localhost kernel[0]: bLen=7, bDescType=5
Sep 3 09:55:21 localhost kernel[0]: [7][5][3][2][0][4][0]
Sep 3 09:55:21 localhost kernel[0]: bLen=6, bDescType=48
Sep 3 09:55:21 localhost kernel[0]: Update bInterfaceSubClass B 0x50
Sep 3 09:55:21 localhost kernel[0]: [6][30][f][0][0][0]
Sep 3 09:55:21 localhost kernel[0]: USBMSC Identifier (non-unique): 575838314337304434363532 0x1058 0x730 0x1008
Sep 3 09:55:21 localhost kernel[0]: USBF: 7.900 Endpoint 0x84 of the USB device "My Passport 0730" at location 0x5c300000: converting Bulk MPS from 1024 to 512 (USB 2.0 Spec section 5.8.3)
Sep 3 09:55:21 localhost kernel[0]: USBF: 7.914 Endpoint 0x3 of the USB device "My Passport 0730" at location 0x5c300000: converting Bulk MPS from 1024 to 512 (USB 2.0 Spec section 5.8.3)
Getting better!!
Running Lion 10.7.4 on my GA-X58A-UD3R, the built in USB 3.0, which I believe uses the NEC 720200 Chipset, was blazing fast.
After updating to 10.8, the built in USB 3.0 stopped working, even after installing MB's USB 3.0 support.
I plugged in this card: http://www.amazon.com/gp/product/B007PPYXNS/ref=oh_details_o01_s01_i02 (based on Asmedia ASM1042) and USB 3.0 drives were recognized, but ran significantly slower than under Lion. (See attached AJA speed test).
After updating to these newest drivers from thelostswede, the built-in USB 3.0 still doesn't work, but the speeds on my Asmedia ASM1042 based cards have significantly increased, and are now just a notch below where they were using the built in usb3.0 under Lion.
I also have this card: http://www.amazon.com/gp/product/B003GAM67G/ref=oh_details_o01_s00_i00, that's based on the NEC uPD720200 Chipset, which I'll hopefully be able to test tomorrow.
Hey, props for the driver!
Sadly, for FL1009 things are not that great.
I have tested the .02 revision from the OP on my Vostro that has 10.8.1 installed onto external HDD.
After installing the driver system refused to boot, it was just stuck at random places during the boot process.... until I plugged a random empty flashdrive into USB3.0 port... only then it booted the OS X installation.
The situation is the same as using dsdt injection an relying on native apple kexts - the ports (or should I say port, because only one of them is getting recognized) are seen but refuse to mount or power anything.
I thought this behavior can be due to my dsdt injection (to allow sleep/wake functionality with non-working ports), but I guess it really shouldn't impact anything:
Code:Device (RP03) { Name (_ADR, 0x001C0002) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, , 3, LDRP, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1, , 30, HPSX, 1, PMSX, 1 } Device (XHCB) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x11) { "built-in", Buffer (One) { 0x00 }, "AAPL,clock-id", Buffer (One) { 0x00 }, "model", Buffer (0x26) { "Fresco Logic USB 3.0 Host Controller" }, "AAPL,current-available", 0x0834, "AAPL,current-extra", 0x0898, "AAPL,current-extra-in-sleep", 0x0640, "AAPL,max-port-current-in-sleep", 0x0834, "AAPL,device-internal", 0x02, Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) } Method (HPME, 0, Serialized) { If (PMSX) { Store (0xC8, Local0) While (Local0) { Store (One, PMSX) If (PMSX) { Decrement (Local0) } Else { Store (Zero, Local0) } } Notify (XHCB, 0x02) } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (LEqual (USBK, One)) { Return (GPRW (0x0B, 0x03)) } Else { Return (GPRW (0x0B, Zero)) } } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR06 ()) } Return (PR06 ()) } }
Doing a grep of kextstat shows:
localhost:~ test$ kextstat | grep Cal
39 0 0xffffff7f809ff000 0x1d000 0x1d000 com.CalDigit.driver.CalDigitUSBxHCI (1.3.8a2) <33 10 7 5 4 3 1>
Update:
NO FREAKIN WAY!
I tried the kexts from the attachements (the ones that have 'bout 40 downloads).. without any particular hope it would work, but then I saw this in my boot log:
Code:Sep 3 09:55:21 localhost kernel[0]: bLen=9, bDescType=2 Sep 3 09:55:21 localhost kernel[0]: [9][2][2c][0][1][1][0][80][70] Sep 3 09:55:21 localhost kernel[0]: bLen=9, bDescType=4 Sep 3 09:55:21 localhost kernel[0]: interfaceProtocal is 0x50 Sep 3 09:55:21 localhost kernel[0]: [9][4][0][0][2][8][6][50][0] Sep 3 09:55:21 localhost kernel[0]: bLen=7, bDescType=5 Sep 3 09:55:21 localhost kernel[0]: [7][5][84][2][0][4][0] Sep 3 09:55:21 localhost kernel[0]: bLen=6, bDescType=48 Sep 3 09:55:21 localhost kernel[0]: Update bInterfaceSubClass B 0x50 Sep 3 09:55:21 localhost kernel[0]: [6][30][f][0][0][0] Sep 3 09:55:21 localhost kernel[0]: bLen=7, bDescType=5 Sep 3 09:55:21 localhost kernel[0]: [7][5][3][2][0][4][0] Sep 3 09:55:21 localhost kernel[0]: bLen=6, bDescType=48 Sep 3 09:55:21 localhost kernel[0]: Update bInterfaceSubClass B 0x50 Sep 3 09:55:21 localhost kernel[0]: [6][30][f][0][0][0] Sep 3 09:55:21 localhost kernel[0]: USBMSC Identifier (non-unique): 575838314337304434363532 0x1058 0x730 0x1008 Sep 3 09:55:21 localhost kernel[0]: USBF: 7.900 Endpoint 0x84 of the USB device "My Passport 0730" at location 0x5c300000: converting Bulk MPS from 1024 to 512 (USB 2.0 Spec section 5.8.3) Sep 3 09:55:21 localhost kernel[0]: USBF: 7.914 Endpoint 0x3 of the USB device "My Passport 0730" at location 0x5c300000: converting Bulk MPS from 1024 to 512 (USB 2.0 Spec section 5.8.3)
And when it booted I saw my USB 3.0 HDD mounted on the desktop! Will give it some speed test if I can (its nearly full).
Apparently it only works from cold boot or restart, hotplug is not functional.
Also I should point out that sleep is working perfectly fine for me, it's just that devices from USB 3.0 ports get unloaded across sleep. Disk Utility sees the volume and is somewhat mounting it, it appears on the desktop but Disk Utility says to perform FirstAid on the given disk, even though its mounted perfectly fine and I see the contents and able access them.
The speeds are awfully slow (42/43 W/R) but it may be due to the fact that I'm using a version of the UEFI bios that is still not supporting this controller at it's full potential (I'm rocking a A04 version, whilst only A07 brings support for Fresco Logic but breaks a lot of stuff along the way)...
Here are the tests I've done to compare USB2.0 speed and USB3.0 speed on the same external HDD. I've got the same speed when the HDD is connected on my SATA 2 (3GB/s) port.