Contribute
Register

USB problems detecting Bluetooth device

Status
Not open for further replies.
Joined
Jul 18, 2014
Messages
14
Motherboard
Asrock Z390 Phantom Gaming ITX/AC
CPU
i5-9600K
Graphics
HD 630
Mac
  1. iMac
Try without FixOwnership.

Note: EHCIAcquire is not a kernel flag (it is Chameleon/Chimera bootflag). Should not be in Boot/Arguments.

Check system.log for USB related errors.

Check in Windows to see which USB bus the device is attached. It will help focus your efforts.

I tried FixOwnership unchecked but still no luck.

I noticed in Windows, BT Bios Device Name is in: \_SB.PCI0.EHC1.HUBN.PR01.PR16

Below is the code in DSDT:

Code:
Device (PR16)
                    {
                        Name (_ADR, 0x06)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0xFF, 
                                Zero, 
                                Zero
                            })
                            If (LEqual (And (UPXD, 0x20), 0x20))
                            {
                                Store (Zero, Index (UPCP, Zero))
                            }


                            Return (UPCP)
                        }


                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0008 */  0xB0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
                                }
                            })
                            Return (PLDP)
                        }


                        Alias (SBV1, SDGV)
                        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                        {
                            Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                            If (LEqual (Arg0, ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
                            {
                                While (One)
                                {
                                    Store (ToInteger (Arg2), _T_0)
                                    If (LEqual (_T_0, Zero))
                                    {
                                        If (LEqual (Arg1, One))
                                        {
                                            Return (Buffer (One)
                                            {
                                                 0x07                                           
                                            })
                                        }
                                        Else
                                        {
                                            Return (Buffer (One)
                                            {
                                                 0x00                                           
                                            })
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, One))
                                        {
                                            If (LEqual (SDGV, 0xFF))
                                            {
                                                Return (Zero)
                                            }
                                            Else
                                            {
                                                Return (One)
                                            }
                                        }
                                        Else
                                        {
                                            If (LEqual (_T_0, 0x02))
                                            {
                                                Return (SDGV)
                                            }
                                        }
                                    }


                                    Break
                                }
                            }


                            Return (Zero)
                        }
                    }

I don't know if this is mean something, i just put in here. In case we can change something so BT can be recognised.

Also, one more thing (hope this is not too far off topic :)). My X86PlatformPlugin is loaded, but AICPUPM and AICPUPMClient kexts aren't loaded. Is that okay?Also if i checked dropped OEM _DSM, ACPI_SMC_PlatformPlugin is not loaded, if i don't check it's loaded.

Thanks.
 

Attachments

  • BT2.PNG
    BT2.PNG
    11 KB · Views: 500
  • BT1.PNG
    BT1.PNG
    10.7 KB · Views: 493
  • BT_Physical.PNG
    BT_Physical.PNG
    10.6 KB · Views: 491
  • BT_BIOS_DEVICE.PNG
    BT_BIOS_DEVICE.PNG
    10.9 KB · Views: 557
Note: Moved off-topic post here.

I tried FixOwnership unchecked but still no luck.

I noticed in Windows, BT Bios Device Name is in: \_SB.PCI0.EHC1.HUBN.PR01.PR16

Below is the code in DSDT:

Code:
Device (PR16)
                    {
                        Name (_ADR, 0x06)  // _ADR: Address
                        Method (_UPC, 0, Serialized)  // _UPC: USB Port Capabilities
                        {
                            Name (UPCP, Package (0x04)
                            {
                                0xFF, 
                                0xFF, 
                                Zero, 
                                Zero
                            })
                            If (LEqual (And (UPXD, 0x20), 0x20))
                            {
                                Store (Zero, Index (UPCP, Zero))
                            }


                            Return (UPCP)
                        }


                        Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                        {
                            Name (PLDP, Package (0x01)
                            {
                                Buffer (0x10)
                                {
                                    /* 0000 */  0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0008 */  0xB0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
                                }
                            })
                            Return (PLDP)
                        }


                        Alias (SBV1, SDGV)
                        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                        {
                            Name (_T_0, Zero)  // _T_x: Emitted by ASL Compiler
                            If (LEqual (Arg0, ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8")))
                            {
                                While (One)
                                {
                                    Store (ToInteger (Arg2), _T_0)
                                    If (LEqual (_T_0, Zero))
                                    {
                                        If (LEqual (Arg1, One))
                                        {
                                            Return (Buffer (One)
                                            {
                                                 0x07                                           
                                            })
                                        }
                                        Else
                                        {
                                            Return (Buffer (One)
                                            {
                                                 0x00                                           
                                            })
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (_T_0, One))
                                        {
                                            If (LEqual (SDGV, 0xFF))
                                            {
                                                Return (Zero)
                                            }
                                            Else
                                            {
                                                Return (One)
                                            }
                                        }
                                        Else
                                        {
                                            If (LEqual (_T_0, 0x02))
                                            {
                                                Return (SDGV)
                                            }
                                        }
                                    }


                                    Break
                                }
                            }


                            Return (Zero)
                        }
                    }

Is EHC1 device working when you look in ioreg?

Also, one more thing (hope this is not too far off topic :)). My X86PlatformPlugin is loaded, but AICPUPM and AICPUPMClient kexts aren't loaded. Is that okay?Also if i checked dropped OEM _DSM, ACPI_SMC_PlatformPlugin is not loaded, if i don't check it's loaded.

As would be expected for Haswell CPU.
 
Note: Moved off-topic post here.Is EHC1 device working when you look in ioreg?As would be expected for Haswell CPU.
I think EHC1 device is working in Sys Profile. But i don't know in ioreg, how to know?
 

Attachments

  • Screen Shot 2015-06-25 at 8.26.37 PM.png
    Screen Shot 2015-06-25 at 8.26.37 PM.png
    150 KB · Views: 518
  • Screen Shot 2015-06-25 at 8.34.52 PM.png
    Screen Shot 2015-06-25 at 8.34.52 PM.png
    179.4 KB · Views: 401
  • Screen Shot 2015-06-25 at 8.35.11 PM.png
    Screen Shot 2015-06-25 at 8.35.11 PM.png
    137.1 KB · Views: 337

Attachments

  • Yogi Mac Air_150623.zip
    1.3 MB · Views: 178
I already attached it in the earlier post. But here is i attached it again.

Thanks.

For a test, try with GenericUSBXHCI.kext. Be sure to use kernel flag -gux_defer_usb2.
 
For a test, try with GenericUSBXHCI.kext. Be sure to use kernel flag -gux_defer_usb2.
Still not works.. My USB3 External drive detected as USB2 instead.
 
Please find attached.

Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Note: It is easier if you use copy/paste instead of typing the commands manually.

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu

Also, post EFI/Clover folder.
 
Status
Not open for further replies.
Back
Top