RCOO Posted May 6, 2015 Share Posted May 6, 2015 I've got an Atheros AR9285 which provides Bluetooth and Wifi on my setup. The BT version is inferior to 4.0, however. I've got an Asus BT-400 dongle, and I would like to disable the built-in Bluetooth and switch to the dongle to have the continuity feature. Bluetooth Explorer does not switch the adapter (it fails and the built-in remains active). http://cl.ly/image/1V2o3d0q0o0y http://cl.ly/image/222h0L010X1I And my DSDT: http://cl.ly/050r3k1e3F2F Can anyone help me achieve this? Thanks Link to comment https://www.insanelymac.com/forum/topic/306045-switch-bt-adapter/ Share on other sites More sharing options...
WaldMeister Posted May 6, 2015 Share Posted May 6, 2015 Hi, In the DSDT you could try to disable the BT device: Change: Device (BT) { Name (_HID, "TOS6205") // _HID: Hardware ID Name (BTWK, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If (LNotEqual (PIDC (0x19), Ones)) { If (BTON) { Return (0x0F) } Else { Return (Zero) } } Else { Return (Zero) } } Method (DUSB, 0, NotSerialized) { Store (Zero, ^^PCI0.LPCB.EC0.BTDT) } Method (AUSB, 0, NotSerialized) { Store (One, ^^PCI0.LPCB.EC0.BTDT) } Method (BTPO, 0, NotSerialized) { ^^PCI0.LPCB.EIOW (One, One, 0xF4, One) ^^PCI0.LPCB.EC0.BTOF () } Method (BTPF, 0, NotSerialized) { ^^PCI0.LPCB.EIOW (One, One, 0xF4, Zero) ^^PCI0.LPCB.EC0.BTOF () } Method (BTST, 0, NotSerialized) { Store (^^PCI0.LPCB.EC0.BTSW, Local3) If (Local3) { ShiftLeft (^^PCI0.LPCB.EC0.BTDT, 0x06, Local0) ShiftLeft (^^PCI0.LPCB.EC0.BTPW, 0x07, Local1) } Else { Store (Zero, ^^PCI0.LPCB.EC0.BTDT) Store (Zero, ^^PCI0.LPCB.EC0.BTPW) Store (One, BTPR) Store (Zero, Local0) Store (Zero, Local1) } Or (Local0, Local1, Local2) Or (Local2, Local3, Local2) Return (Local2) } } } To: Device (BT) { Name (_HID, "TOS6205") // _HID: Hardware ID Name (_STA, Zero) // _STA: Status } No idea if it works, i applied this method to my SSDT only. Link to comment https://www.insanelymac.com/forum/topic/306045-switch-bt-adapter/#findComment-2133643 Share on other sites More sharing options...
RCOO Posted May 6, 2015 Author Share Posted May 6, 2015 Tried what you suggested. Built-in bluetooth still is enabled. Link to comment https://www.insanelymac.com/forum/topic/306045-switch-bt-adapter/#findComment-2133648 Share on other sites More sharing options...
WaldMeister Posted May 6, 2015 Share Posted May 6, 2015 Hmm, ^^PCI0.LPCB.EC0.BTOF () Seems to be the method off, perhaps the nvidia method on notebooks can be used. No hardware switch present you can use? Link to comment https://www.insanelymac.com/forum/topic/306045-switch-bt-adapter/#findComment-2133652 Share on other sites More sharing options...
RCOO Posted May 6, 2015 Author Share Posted May 6, 2015 Nope. No hardware switch. Where would I insert that statement in the DSDT? Link to comment https://www.insanelymac.com/forum/topic/306045-switch-bt-adapter/#findComment-2133655 Share on other sites More sharing options...
WaldMeister Posted May 6, 2015 Share Posted May 6, 2015 Method _REG should do the trick. Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECCN) Store (One, ECRD) Store (EIOR (0x07, Zero, 0xA3F4), Local0) And (Local0, Zero, Local0) If (LGreaterEqual (OSYS, 0x07D9)) { EIOW (0x07, Zero, 0xA3F4, 0x03) } Else { If (LGreaterEqual (OSYS, 0x07D6)) { EIOW (0x07, Zero, 0xA3F4, One) Store (One, OSTY) } Else { If (LEqual (OSYS, 0x03E8)) { EIOW (0x07, Zero, 0xA3F4, 0x02) } Else { If (LLess (OSYS, 0x07D6)) { If (LNotEqual (OSYS, Zero)) { EIOW (0x07, Zero, 0xA3F4, Zero) Store (Zero, OSTY) } } } } } } WLSW () WWSW () RLED () If (LNotEqual (PIDC (0x04), Ones)) { HTEV (0x02) } Store (One, ACPW) Sleep (0x0A) Store (ACPW, PWRS) PNOT () BTOF () } iasl 5.0 returns errors, compiled it under 4.0. Anyway, no idea if it works, worth a try though DSDT-3.aml.zip Link to comment https://www.insanelymac.com/forum/topic/306045-switch-bt-adapter/#findComment-2133658 Share on other sites More sharing options...
RCOO Posted May 6, 2015 Author Share Posted May 6, 2015 Method _REG should do the trick. Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECCN) Store (One, ECRD) Store (EIOR (0x07, Zero, 0xA3F4), Local0) And (Local0, Zero, Local0) If (LGreaterEqual (OSYS, 0x07D9)) { EIOW (0x07, Zero, 0xA3F4, 0x03) } Else { If (LGreaterEqual (OSYS, 0x07D6)) { EIOW (0x07, Zero, 0xA3F4, One) Store (One, OSTY) } Else { If (LEqual (OSYS, 0x03E8)) { EIOW (0x07, Zero, 0xA3F4, 0x02) } Else { If (LLess (OSYS, 0x07D6)) { If (LNotEqual (OSYS, Zero)) { EIOW (0x07, Zero, 0xA3F4, Zero) Store (Zero, OSTY) } } } } } } WLSW () WWSW () RLED () If (LNotEqual (PIDC (0x04), Ones)) { HTEV (0x02) } Store (One, ACPW) Sleep (0x0A) Store (ACPW, PWRS) PNOT () BTOF () } iasl 5.0 returns errors, compiled it under 4.0. Anyway, no idea if it works, worth a try though Tried that DSDT. Still did not work. Thanks for the attempt though. Link to comment https://www.insanelymac.com/forum/topic/306045-switch-bt-adapter/#findComment-2133671 Share on other sites More sharing options...
Recommended Posts