Contribute
Register

iMac Pro X99 - Live the Future now with macOS 10.14 Mojave [Successful Build/Extended Guide]

Status
Not open for further replies.
Joined
Oct 12, 2010
Messages
698
Motherboard
X299-WU8
CPU
i9-9880XE
Graphics
Vega 64
Mac
iMac, Mac Pro
Hi KGP
do you know how to fix DualShock 4 controller connect to Mac via bluetooth?
 

kgp

Retired
Joined
May 30, 2014
Messages
6,791
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
IF DSB0,DSB1,DSB2,DSB3,DSB4
You have to use same data from BRXX or RPXX
@nmano,

how to combine the two DSM Methods in a way that they do not interfere with each other? They are attributed to the same device, but one can implement a DSM method only once per device... This problems occurs with the TB-SSDT considering method RPXX..

Code:
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (LNot (Arg2))
                    {
                        Return (Buffer (One)
                        {
                             0x03                                         
                        })
                    }

                    Return (Package (0x02)
                    {
                        "PCIHotplugCapable",
                        Zero
                    })
                }
Code:
               Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                  
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x04, FUN4)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                If (LGreaterEqual (Arg1, 0x02))
                                {
                                    Store (One, FUN0)
                                    If (LTRE ())
                                    {
                                        Store (One, FUN6)
                                    }

                                    If (OBFF ())
                                    {
                                        Store (One, FUN4)
                                    }

                                    If (LEqual (ECR1 (), One))
                                    {
                                        If (LGreaterEqual (Arg1, 0x03))
                                        {
                                            Store (One, FUN8)
                                            Store (One, FUN9)
                                        }
                                    }
                                }

                                Return (OPTS)
                            }
                            Case (0x04)
                            {
                                If (LGreaterEqual (Arg1, 0x02))
                                {
                                    If (OBFZ ())
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                            /* 0008 */  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00
                                        })
                                    }
                                    Else
                                    {
                                        Return (Buffer (0x10)
                                        {
                                            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                                        })
                                    }
                                }
                            }
                            Case (0x06)
                            {
                                If (LGreaterEqual (Arg1, 0x02))
                                {
                                    If (LTRZ ())
                                    {
                                        If (LOr (LEqual (LMSL, Zero), LEqual (LNSL, Zero)))
                                        {
                                            If (LEqual (PCHS (), SPTH ()))
                                            {
                                                Store (0x0846, LMSL)
                                                Store (0x0846, LNSL)
                                            }
                                            ElseIf (LEqual (PCHS (), SPTL ()))
                                            {
                                                Store (0x1003, LMSL)
                                                Store (0x1003, LNSL)
                                            }
                                        }

                                        Store (And (ShiftRight (LMSL, 0x0A), 0x07), Index (LTRV, Zero))
                                        Store (And (LMSL, 0x03FF), Index (LTRV, One))
                                        Store (And (ShiftRight (LNSL, 0x0A), 0x07), Index (LTRV, 0x02))
                                        Store (And (LNSL, 0x03FF), Index (LTRV, 0x03))
                                        Return (LTRV)
                                    }
                                    Else
                                    {
                                        Return (Zero)
                                    }
                                }
                            }
                            Case (0x08)
                            {
                                If (LEqual (ECR1 (), One))
                                {
                                    If (LGreaterEqual (Arg1, 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (LEqual (ECR1 (), One))
                                {
                                    If (LGreaterEqual (Arg1, 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350,
                                            Ones,
                                            Ones,
                                            0xC350,
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                    }
                    Return (Buffer (One)
                    {
                         0x00                                         
                    })
               }
 
Last edited:

kgp

Retired
Joined
May 30, 2014
Messages
6,791
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
@nmano,

I now also completed the other TB-SSDT with the BRXX method (attached below)...

I still have one UnknownObject IO80 in the Definition Block...

With the RPXX method I have unknownObjects LMSL and LNSL in the definition block and I still have the additional problem stated in post #32...

However, for both methods no further ACPI errors during boot.

TB hot plug on both TB ports with THB_C removed..

Screenshot 2018-07-31 at 16.09.05.png


Still no TB-USB hot plug with THB_C removed, although I have been able to asign PCIHotplugCapable to DSB2

Screenshot 2018-07-31 at 16.12.25.png


Cheers,

KGP
 

Attachments

Last edited:

kgp

Retired
Joined
May 30, 2014
Messages
6,791
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Hi KGP
do you know how to fix DualShock 4 controller connect to Mac via bluetooth?
unfortunately not my friend..
 
Joined
Oct 12, 2010
Messages
698
Motherboard
X299-WU8
CPU
i9-9880XE
Graphics
Vega 64
Mac
iMac, Mac Pro
@nmano,

I now also completed the other TB-SSDT with the BRXX method (attached below)...

I still have one UnknownObject IO80 in the Definition Block...

With the RPXX method I have unknownObjects LMSL and LNSL in the definition block and I still have the additional problem stated in post #32...

However, for both methods no further ACPI errors during boot.

TB hot plug on both TB ports with THB_C removed..

View attachment 343913

Still no TB-USB hot plug with THB_C removed, although I have been able to asign PCIHotplugCapable to DSB2

View attachment 343914

Cheers,

KGP
Under
Method (OSHP, 0, NotSerialized)
#Remove this line
Store (SSTS, SSTS)

I don't know why not
assign Hot plug Capable to DSB2
try
"PCIHotplugCapable",
One
 

kgp

Retired
Joined
May 30, 2014
Messages
6,791
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Under
Method (OSHP, 0, NotSerialized)
#Remove this line
Store (SSTS, SSTS)

I don't know why not
assign Hot plug Capable to DSB2
try
"PCIHotplugCapable",
One
Done (see attachment)..

Problem:

1.) with the THB_C connected, both NHI0 and USB PCI Drivers are permanently loaded. USB hot plug works flawless.. However no TB hot plug.

2.) with the THB_C unplugged, only NHI0 PCI Driver permanently loaded. TB hot plug works flawless.. However, USB PCI Driver only loaded with USB device connected at boot. No USB hot plug..

The situation is totally weird.. The optimal solution would be to get TB hot plug working without the removal of THB_C

Our entire additional BRXX or RPXX notification implementation does not improve or change anything... Same behaviour as simple injector SSDT without BRXX or RPXX notification implementations..
 

Attachments

kgp

Retired
Joined
May 30, 2014
Messages
6,791
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Urgent request..

@nmano, or anybody else...

how to properly implement a double precision variable within an AML?

The result should be the following device property:

Screen Shot 2018-08-01 at 19.27.06.png
 
Joined
Oct 12, 2010
Messages
698
Motherboard
X299-WU8
CPU
i9-9880XE
Graphics
Vega 64
Mac
iMac, Mac Pro
Urgent request..

@nmano, or anybody else...

how to properly implement a double precision variable within an AML?

The result should be the following device property:

View attachment 344037
Data10000046

TRY this
"IOPCITunnelControllerID",
Buffer ()
{
0x10, 0x00, 0x00, 0x46
},
 

kgp

Retired
Joined
May 30, 2014
Messages
6,791
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Data10000046

TRY this
"IOPCITunnelControllerID",
Buffer ()
{
0x10, 0x00, 0x00, 0x46
},
unfortunately, that's not the same...

While 0x10000491is a "number", your approach results in a "data" array... any other possibility?

The other question would be how to implement a boolean constant?

Screen Shot 2018-08-02 at 09.22.48.png
 
Joined
Oct 7, 2016
Messages
23
Motherboard
X99 Taichi
CPU
i7-6800K
Graphics
RX580
Unfortunately PB4 crashed my system...

Clover is stuck at "End RandomSeed" and it shows a line of +.

I read that this problem is related to memory allocation, and I tried installing the OSxAptioFix(1/2/3)Drv.efi drivers, but this doesn't solve my problem.

Does anyone know how to fix this problem?

Thanks in advance
 
Status
Not open for further replies.
Top