Jump to content

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


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

I tried the exact same thing with 10.7.5 pre-releases and it failed with Renesas 720200A and 720201 - devices attached were detected and displayed in IOREG but never actually worked.I'll sure try again with ML now.

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

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.

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"

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...

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

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 ?

@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.

  • 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.

  • 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)

  • 3 weeks later...
×
×
  • Create New...