Jump to content

Asmedia USB 3.0 Chip(1042) Fully Working Fix 1.0

Sign in to follow this  

About This File

Hello,

Here are the files for the Fully working Asmedia USB 3.0 Controller (1042) in Mac OSX 10.7.3. I have tested this with my Notebook Asus K53SC. It can work in other Version of Mac OSX as well but I haven't checked, so give a try.

Everything works Sleep and shutdown but I haven't checked the performance with USB 3.0 devices since I don't have any USB3.0 devices but I'm sure it will work since the drivers are made for this chip itself.

For shutdown and Sleep to work, it needs a DSDT fix.

Here is the DSDT fix and steps for everyone who has Asmedia 1042 USB 3.0 Controller to try it.

Steps:

1. First, find where your device is connected by looking at the IORegistry using IORegistryExplorer app.

Example:- Mine was connected to PCI0->RP04->PXSX

2. Add the Following method to PXSX


Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"AAPL,clock-id",
Buffer (One)
{
0x02
},
"AAPL,slot-name",
Buffer (0x07)
{
"Slot-4"
},
"name",
Buffer (0x18)
{
"ASMedia XHCI Controller"
},
"model",
Buffer (0x28)
{
"ASMedia ASM1042 USB 3.0 xHCI Controller"
},
"device_type",
Buffer (0x0F)
{
"USB Controller"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

3. Install the Kext attached and fix permissions

Optional Step:

You can update your firmware to latest version using the File (Firmware_Upd) attached.

For me everything working in this and as well as before firmwaresl.

UPDATE: Added the New and Fixed Kexts for Both Lion and Mountain Lion.

Hope it helps.

My previous Files for the K53SC Notebook if somebody wants:

DSDT and SSDT Fixes :

http://www.osx86.net/view/2620-dsdt_and_ssdt_for_asus_k53sc.html

Complete Package and Guide :

http://www.osx86.net/view/2906-asus_k53sc_complete_package.html

Atheros AR5B195(AR9285+AR3011) Wifi and Bluetooth Package Only:

http://www.osx86.net/downloads.php?do=file&id=2628




User Feedback

Recommended Comments



@mlydenesh@, Good job. My USB3.0 is working correctly and with good data transfer rate. My machine is shut down properly. I am happy, little by little we get the machine work 100%.

Share this comment


Link to comment
Share on other sites

@mlydinesh@, Sorry!!! Good job. My USB3.0 is working correctly and with good data transfer rate. My machine is shut down properly. I am happy, little by little we get the machine work 100%.

Share this comment


Link to comment
Share on other sites

Incleible, over ninety downloads and anyone comments if it works or say thanks. mlydinesh@ you are big. Thanx a lot of for your job.

Share this comment


Link to comment
Share on other sites

Sorry buddy, actually I am still confused about where is the place that I have to put the dsdt code in my dsdt, can u explain it and the first step "First, find where your device is connected by looking at the IORegistry using IORegistryExplorer app. Example:- Mine was connected to PCI0->RP04->PXSX" what does it mean? Thanks

Share this comment


Link to comment
Share on other sites

Well, find IORegistryExplorer.app and open it and u will see asmedia 3.0 is connected to a PCI slot. In my case it is at (IOService tree) root->MacbookPro8,1->AppleACPIPlatformExpert->PCI0@0->AppleACPIPCI->RP04@1c,3->IOPCI2PCIBridge->PXSX@0. Then I am sure I should locate RP04 in my dsdt.dsl. Using DSDT Editor to open my dsdt.dsl, I find the RP04 code as below:

Device (RP04)

{

Name (_ADR, 0x001C0003)

OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)

Field (PXCS, AnyAcc, NoLock, Preserve)

{

Offset (0x10),

L0SE, 1,

Offset (0x11),

Offset (0x98),

, 30,

HPEX, 1,

PMEX, 1

}

Field (PXCS, AnyAcc, NoLock, WriteAsZeros)

{

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,

PMPD, 1,

Offset (0x9C),

, 30,

HPSX, 1,

PMSX, 1

}

Device (PXSX)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x09,

0x04

})

}

Then put the code that mlydinesh has shared in the device(PXSX) like this:

Device (RP04)

{

Name (_ADR, 0x001C0003)

OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)

Field (PXCS, AnyAcc, NoLock, Preserve)

{

Offset (0x10),

L0SE, 1,

Offset (0x11),

Offset (0x98),

, 30,

HPEX, 1,

PMEX, 1

}

Field (PXCS, AnyAcc, NoLock, WriteAsZeros)

{

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,

PMPD, 1,

Offset (0x9C),

, 30,

HPSX, 1,

PMSX, 1

}

Device (PXSX)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x09,

0x04

})

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x0A)

{

"AAPL,clock-id",

Buffer (One)

{

0x02

},

"AAPL,slot-name",

Buffer (0x07)

{

"Slot-4"

},

"name",

Buffer (0x18)

{

"ASMedia XHCI Controller"

},

"model",

Buffer (0x28)

{

"ASMedia ASM1042 USB 3.0 xHCI Controller"

},

"device_type",

Buffer (0x0F)

{

"USB Controller"

}

}, Local0)

DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Return (Local0)

}

}

Finally compile it to create a dsdt.aml file and save it to your Extra folder and then reboot.

Sleep and shutdown now should work.

Share this comment


Link to comment
Share on other sites

I don't have a DSDT, using a Gigabyte uEFI board. I purchased a clone AsMedia 1042 PCIx board and installed it. It comes up as "on-board USB3 - Super speed" but it doesn't mount any devices. Any help would be greatly appreciated. I am running ML.

Share this comment


Link to comment
Share on other sites

Device (RP04)

{

Name (_ADR, 0x001C0003)

OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)

Field (PXCS, AnyAcc, NoLock, Preserve)

{

Offset (0x10),

L0SE, 1,

Offset (0x11),

Offset (0x98),

, 30,

HPEX, 1,

PMEX, 1

}

Field (PXCS, AnyAcc, NoLock, WriteAsZeros)

{

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,

PMPD, 1,

Offset (0x9C),

, 30,

HPSX, 1,

PMSX, 1

}

Device (PXSX)

{

Name (_ADR, Zero)

Name (_PRW, Package (0x02)

{

0x09,

0x04

})

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x0A)

{

"AAPL,clock-id",

Buffer (One)

{

0x02

},

"AAPL,slot-name",

Buffer (0x07)

{

"Slot-4"

},

"name",

Buffer (0x18)

{

"ASMedia XHCI Controller"

},

"model",

Buffer (0x28)

{

"ASMedia ASM1042 USB 3.0 xHCI Controller"

},

"device_type",

Buffer (0x0F)

{

"USB Controller"

}

}, Local0)

DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Return (Local0)

}

}

Nothing happen with my shutdown :( , click shutdown but it always restart

Share this comment


Link to comment
Share on other sites

@evilhouse, you might have your USB3.0 somewhere else. If you could send me your ioregistry then I could help you in fixing this. I'm sure the patch will work for any Asmedia USB3.0. Are you sure do you have this chip? if it does send me your ioregistry file from IORegistryExplorer app and I will give you solution, Okay.

Share this comment


Link to comment
Share on other sites

@evilouse, I did not get any PM from you with IORegistry file . And also send me your notebook model and specifications as well.

Share this comment


Link to comment
Share on other sites

@mlydinesh: Can we use this in place of PXHCD.kext with NEC uPD720200 USB 3.0 Host Controller (1033/0194)? Because i noticed that the CalDigit patched kext ships with MB{censored} for 10.8.

Please help!

Share this comment


Link to comment
Share on other sites

I've been looking this solution for my p8z68-v pro/gen3 for 3 months. And finally someone has made it! Thanks mlydinesh & lusion (clear example for noobs).

I first installed the kext. Then used the ioregistryexplorer to see that I have usb3 ports located at PCI0-RP02 and RP05. So I generated DSDT with DSDT Editor, added this patch to both ports and DTGP patch from olarila.

I do not have any usb3 devices to check the speed, but the ports work and especially sleep/wake!

--JRII

Share this comment


Link to comment
Share on other sites

works with a 2 port PCI-Express 1x slot card (Senea ASMedia 1042) as well. DSDT patch is cosmetic in this case. Someone here to confirm getting the "improper drive removal error" after system wakes if something is connected to the USB3 ports (stick/HDD) ? I tried to get rid of it via DSDT patch but following IOReg there is nothing to fix in DSDT Patched Caldigit Driver seems to be the problem because others report same behaviour with NEC chip (same driver as abover)

Share this comment


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.