Jump to content

Native USB3.0 on boards with non-intel USB3 e.g. Asmedia


dgsga
 Share

23 posts in this topic

Recommended Posts

This quick dsdt edit seems to work. You can inject this via efi device properties too. Insert the device code wherever you have USB3 in your DSDT (find this using ioreg), naming each device XHC1, XHC2 etc...

Device (XHC1)
			{
				Name (_ADR, Zero)
				Alias (PW94, _PRW)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x0A)
						{
							"device-id",
							Buffer (0x04)
							{
								0x31, 0x1e, 0x00, 0x00
							},

							"vendor-id",
							Buffer (0x04)
							{
								0x86, 0x80, 0x00, 0x00
							},
							"name",
							Buffer (0x0D)
							{
								"pci8086,1e31"
							},

							"subsystem-id",
							Buffer (0x04)
							{
								0x70, 0x72, 0x00, 0x00
							},
							"subsystem-vendor-id",
							Buffer (0x04)
							{
								0x86, 0x80, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg2, RefOf (Local0))
					Return (Local0)
				}
			}

 

usb3.tiffusb32.tiff

  • Like 3
Link to comment
Share on other sites

Also are you sure about this part?

DTGP (Arg2, RefOf (Local0))

 

DTGP usually takes 5 arguments, not just 2.

 

UPD:

 

Nope, not working for Fresco Logic 1009, or am I missing something?

Even though it is being detected and my WD Passport light up, it is not picked up by the system.

 


       Device (RP03)
       {
           Name (_ADR, 0x001C0002)

            ...................


           Device (XHC1)
           {
               Name (_ADR, Zero)
               Alias (PW94, _PRW)
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package ( )
                       {
                           "device-id",
                           Buffer (0x04)
                           {
                               0x31, 0x1e, 0x00, 0x00
                           },                            
                           "vendor-id",
                           Buffer (0x04)
                           {
                               0x86, 0x80, 0x00, 0x00
                           },
                           "name",
                           Buffer (0x0D)
                           {
                               "pci8086,1e31"
                           },   
                           "subsystem-id",
                           Buffer (0x04)
                           {
                               0x70, 0x72, 0x00, 0x00
                           },
                           "subsystem-vendor-id",
                           Buffer (0x04)
                           {
                               0x86, 0x80, 0x00, 0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
               Name (PW94, Package (0x02)
               {
                   0x09, 
                   0x04
               })
           }
   ....................
}

 

Screens:

http://puu.sh/M8cO

http://puu.sh/M8dg

Link to comment
Share on other sites

I tried this the second i got my hands on the DSDT of a macbook pro 2012. It didn't even acknowledge the DSDT changes. NEC USB3 chipset here...

Link to comment
Share on other sites

"name",
Buffer (0x0D)
{
"pci8086,1e31"
},  

should be:

"name",
"pci8086,1e31",

 

i have no usb3 device to test, but for USB 2 its not working.

My MB has two Etron controlllers.

Link to comment
Share on other sites

For me its not even working with the internal 3rd party controller. (only test with USB 2) Maybe there are some further properties needed, the apple SSDTs have much more entries for XHCx.

Link to comment
Share on other sites

Well, i decided to connect a USB Stick and leave it for a while. This is what happened:

 

post-167221-0-83604000-1344010108_thumb.png

post-167221-0-64144600-1344010112_thumb.png

 

It gets detected but it's not mounted, any attempts of doing so results in this message:

post-167221-0-69994500-1344010273_thumb.png

 

And in the terminal it says "time out"

Link to comment
Share on other sites

Actually after applying this patch to my dsdt I lost all of the usb mass storage functionality, only HID and peripheral devices (printer, scaner) devices worked.

Mass storage devices would be detected (on regular usb 2.0 ports, not on the 3.0 though) but never got mounted. Forcing them to mount through Disk utility resulted in the same message as DoiX posted above...

Link to comment
Share on other sites

After some more time, it finally got mounted, on it's own.. but it's currently empty.

 

Console log reported it's getting a new UUID...

 

Update: Aaaaaand the contents are fully visible.

Update 2: Read/Write is painstakingly slow, gets stuck for a while on "preparing"

Update 3: I connected my iPhone, after a while itunes picked it, it seems behave better than the usb stick, however Image Capture isn't detecting it.

Edited by DoiX
Link to comment
Share on other sites

S

After some more time, it finally got mounted, on it's own.. but it's currently empty.

 

Console log reported it's getting a new UUID...

 

Update: Aaaaaand the contents are fully visible.

Update 2: Read/Write is painstakingly slow, gets stuck for a while on "preparing"

Update 3: I connected my iPhone, after a while itunes picked it, it seems behave better than the usb stick, however Image Capture isn't detecting it.

So how long did you have to wait for the thing to mount ?

Link to comment
Share on other sites

@TimeWalker, it seems random. Between 5 and 10 minutes, having the stick/device plugged in while booting the system reduces the time to 5 minutes, only constant i've found. Other than that 5 - 10 minutes.

 

I assume the kext needs to be patched, as it seems to enter some cyclic check function, hence the slow mounting/copying.

Link to comment
Share on other sites

  • 1 month later...

This quick dsdt edit seems to work. You can inject this via efi device properties too. Insert the device code wherever you have USB3 in your DSDT (find this using ioreg), naming each device XHC1, XHC2 etc...

 

 

Hi, this patch and ML 10.8.2 have enabled my etron ej168 usb 3.0.The problem is that sleep/wake cycle disables usb 3.0 again.

Addition to dsdt.aml didn't work as well.

 

"AAPL,current-available",

0x0834,

"AAPL,current-extra",

0x0898,

"AAPL,current-extra-in-sleep",

0x0640,

"AAPL,max-port-current-in-sleep",

0x0834,

"AAPL,device-internal",

0x00,

Thanks for any help.

Link to comment
Share on other sites

  • 5 weeks later...

Hi, I tried to enter the code in the DSDT for my mobo, but I could not do it, I don't understand where mistake.

I opened a topic in the Italian section enclosing DSDT and IOreg, if someone could take a look ...

Thanks in advance

 

P.S. Sorry for my bad English (google translate)

Link to comment
Share on other sites

  • 3 weeks later...
 Share

×
×
  • Create New...