Contribute
Register

[solved] Help needed with BCM20702A0 after wake

Status
Not open for further replies.
Same issue here with BCM94352Z (Dell DW1560). After waking up, there are two BCM20702A0 entries shown in ioreg(XHC)/system info(USB). My situation is similar to OP -- working sleep (_OSI patched), native power management (ssdtPRGen) and correct configuration of USB ports (USBInjectAll w/ SSDT).

I've tested all recent releases of BrcmPatchRAM (2015-1101 to 2016-0705). But none of them avoids the duplicated entry issue. I also compiled a debug version of master branch on github but couldn't find any useful hints from debugging log. One interesting thing is that even using a USB dongle (IOGear BT 4.0 with same chip BCM20702A0), the entry will be duplicated after waking up. And if I remove the dongle, one entry disappears but the other one still exists, which is quite weird.

Some users also have the same issue:
[1] http://www.tonymacx86.com/threads/bluetooth-bcm20702a0-problem-usb.185785/
[2] http://www.tonymacx86.com/threads/bcm20702a3-v14-c5747-bluetooth-is-broken-after-waking-up.197355/

Post [1] solves this "duplicated entry" issue by "disabling XWAK in DSDT". But my DSDT does not contain "XWAK" at all. [1] also mentions using FakePCIID_XHCIMux. But my laptop is skylake 100-series w/ i7-6500U which does not have USB 2.0 controller. Post [2] does not completely solve the issue, which reappears randomly.

My current workaround is to use the non open-sourced injector "BTFirmwareUploader.kext" (v3.0.5, latest v3.1 not stable) which does not have such "duplicated entry" issue. Sorry that I couldn't provide all required logs/files for reporting at the moment. I'll later start a new post and provide all detailed information. Thanks!

Edit: Upload all required logs/ioreg dumps and EFI/CLOVER files. Applied DSDT patches can be found at [3]. Specs of my laptop is in the signature.

[3] https://bitbucket.org/linusyang/hp-envy13-dsdt/commits/branch/master

@RehabMan, could you please have a look? Thanks a lot for your time!
 
Last edited:
You mean removing the SSDT patch for USBInjectAll and enabling all USB ports?

Either way. If you enable all ports and then test all of them (both USB2 and USB3), then I can verify your SSDT.
 
Either way. If you enable all ports and then test all of them (both USB2 and USB3), then I can verify your SSDT.
I got it. Here is the ioreg with all USB ports enabled, aka without SSDT injection and with port limit patch (15 -> 30). Thanks!
 
I got it. Here is the ioreg with all USB ports enabled, aka without SSDT injection and with port limit patch (15 -> 30). Thanks!

You did not complete the test correctly. You must run IORegistryExplorer, then use all the ports (both with USB2 and USB3). Then collect ioreg.
 
You did not complete the test correctly. You must run IORegistryExplorer, then use all the ports (both with USB2 and USB3). Then collect ioreg.
Ah, sorry. I thought just full USB port information was enough. Now I use a USB 2 device (mouse transmitter) and a USB 3 stick to test all 3 USB 3.0 ports of the laptop. The ioreg files are attached below. Thanks!
 
Ah, sorry. I thought just full USB port information was enough. Now I use a USB 2 device (mouse transmitter) and a USB 3 stick to test all 3 USB 3.0 ports of the laptop. The ioreg files are attached below. Thanks!

Your usbport-test.zip is an endless loop of .zip->.zip.cpgz->.zip. Use Finder "Compress" to create valid ZIP files.
 
Your usbport-test.zip is an endless loop of .zip->.zip.cpgz->.zip. Use Finder "Compress" to create valid ZIP files.
My bad... Try this file again please. Thanks!
 
Status
Not open for further replies.
Back
Top