Jump to content

Advises needed (kext, BT and earphones)


Tubardus

Recommended Posts

Hello!

 

I tried different firmwares to try to fix it. Some of them just don't load while others effectively change the version of the firmware. Among them the 5799 seems to be compatible (but BT doesn't work). However, I found strange to read BCM2045A0 since the card is a BCM4350C50. Could it explain some of the issues? Maybe there's a link between BT and USB? How can I see if USB is well configured (from Hackintool?)?

 

@Hervé, can you tell me what do you see in SysInfo? I see 

BCM2045A0 Identifiant du produit : 0x6412 ,Identifiant du fournisseur : 0x0a5c  (Broadcom Corp.). It should be BCM4350C50 no?

 

Spoiler

 

2020-04-19 15:06:18.014611+0200 0x4e2      Default     0x0                  0      0    kernel: (BrcmPatchRAM3) BrcmPatchRAM: Version 2.5.2 starting on OS X Darwin 19.4.

2020-04-19 15:06:18.636338+0200 0x4e2      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Loaded firmware "0a5c-6412_v5799.hex" from resources.

2020-04-19 15:06:18.638933+0200 0x4e2      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Non-compressed firmware.

2020-04-19 15:06:18.813378+0200 0x4e2      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Firmware is valid IntelHex firmware.

2020-04-19 15:06:18.922334+0200 0x4e2      Default     0x0                  0      0    kernel: (BrcmPatchRAM3) BrcmPatchRAM: uploadFirmware could not open the device!

2020-04-19 15:06:18.923745+0200 0x4e2      Default     0x0                  0      0    kernel: (BrcmPatchRAM3) BrcmPatchRAM: Processing time 0.103 seconds.

2020-04-19 15:06:18.928231+0200 0x608      Default     0x0                  0      0    kernel: (BrcmPatchRAM3) BrcmPatchRAM: Version 2.5.2 starting on OS X Darwin 19.4.

2020-04-19 15:06:19.028789+0200 0x608      Default     0x0                  0      0    kernel: (BrcmPatchRAM3) BrcmPatchRAM: [0a5c:6412]: USB [3052CBE79732 v274] "BCM2045A0" by "Broadcom Corp"

2020-04-19 15:06:19.391180+0200 0x608      Default     0x0                  0      0    kernel: (BrcmPatchRAM3) BrcmPatchRAM: [0a5c:6412]: Firmware upgrade completed successfully.

2020-04-19 15:06:19.411191+0200 0x608      Default     0x0                  0      0    kernel: (BrcmPatchRAM3) BrcmPatchRAM: Processing time 0.482 seconds.

 

 

Link to comment
Share on other sites

I think it’s normal to see BCM2045A0, I see the same in windows before installing drivers with the Lenovo version.


Herve, 
I will try this with my 6414, I’m on my phone now and I don’t quite understand what you did right now, but I’m hoping that when I’m in front of the computer browsing in Xcode I’ll be able to follow.

I have a 1560 coming in the mail but if I can get this Lenovo one working then that’s $25 cheaper.

 

if the 1560 is way more stable I might just do the jump and forget about it, but I really want this one to work since it’s been such a pain.

Link to comment
Share on other sites

Hi Herve, I've been silently following your posts and been spending 3 days trying to figure out how to make my bluetooth work but to no avail.

 

I can connect to my bluetooth headphones the first time. After it sleeps or reboots, the bluetooth will no longer connect.

 

I have updated to the latest C5974 as shown. Am using the CN-0VW3T3.

 

Can you advise what else I should try? I am currently using your latest 3 Kexts from your few posts above in my L/E injected and rebuilt: 
BrcmBluetoothInject.kext

BrcmFirmwareRepo.kext

BrcmPatchRAM3.kext.

 

Also having FakePCIID.kext in my E/C/K/O

 

 

Screenshot 2020-04-20 at 12.01.09 AM.png

Screenshot 2020-04-20 at 12.00.29 AM.png

dw1820a.jpg

Link to comment
Share on other sites

Happy to see that I'm not alone with this issue (and hoping we'll all find solutions!).

 

I don't know how this can be important but I noticed that in in.plist of BRCM bluetoothInjector the IOProbeScore is 3000 and is 4000 in BrcmPatchRam all two for our 0a5c_6412. Shouldn't it be the same, say 4000?

Link to comment
Share on other sites

Dear @Tubardus and @Hervé after another sleepness night, I've managed to get my bluetooth working now. After sleeping, waking up, rebooting, it still works. I followed the solution by @swede420 and Herve's at https://osxlatitude.com/forums/topic/12392-solved-7490-catalina-dw1820a-bluetooth-problem/

 

I used Swede420's kexts and put them in E/C/K/O and it's working now. 

Apart from these 3 Kexts, I also have FakePCIID.kext and FakeSMC.kext in there.

Inject Kexts in Clover is set to Yes.

 

Now airdrop, handoff, bluetooth speakers, bluetooth hotspot with iPhone is working.

 

What is not working is the Apple Watch Auto Unlock and iPhone Personal hotspot via the Wifi. For some reason it always say Fail to connect. I also have to select it twice for it to respond.

 

I also followed @Hervé 's advice on rebooting to windows, then the bluetooth driver will update it back from c5974 to c4689 which works for me now.

I hope this guide will help other DW1820a users too.

 

@Hervé do you know if setting pci-aspm-default to 1 is a good idea and saves more power?

Cheers.

Link to comment
Share on other sites

  • Administrators

I've never really looked into this PCIe auto power setting matter so I'm afraid I don't know. It's not a boolean parameter if that's what you thought. I found that some cards on some laptops require this to be disabled (value 0). But, on my 7490 for instance, I didn't have to touch this with the 2 x DW1820a 0VW3T3 cards I initially bought. On the other hand, it was required with other DW1820a models... Anyway, that's off-topic.

Link to comment
Share on other sites

I just tried the solution proposed by @swatchie-1 that is inject 4 additional kexts which are the 3 of this thread 

 and PCIID version 1.3.15 (old one). And it worked! I confirm that the version of BT shows now v_4689. Mouse, keyboard, speakers earphones all connected and fully working.

 

Now we know that the proper way to use kext is to install them in L/E rebuild and repair. So maybe we should try to load them from L/E and see if it works keeping in mind that BRCMFirmwareData is not made to be in L/E. Repo is.

 

Thanks!

 

 

Link to comment
Share on other sites

Ok, after several tests I can tell you that I haven't found a way to have a good behavior of BT when caching kexts. No matter which BRCM kexts (2.5.2 or 2.2.10) Data or Repo. All with fakePCIID of course. None of those configuration gave back to me BT.

 

For now the only way is to inject from E/C/k/O I order to have BT. The associated firmware is then 4689 (= 8785 - 4096). It seems that a "mini driver" is loaded which corresponds to BCM4350C5_003.006.007.0222.4689_v8785 by brcmpatchram2. Maybe I should load it from Repo in L/E?
 

Spoiler

 

2020-04-21 14:10:00.922997+0200 0x73       Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Firmware store start

2020-04-21 14:10:04.627062+0200 0x240      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: OSKextRequestResource Callback: dc008006.

2020-04-21 14:10:04.627113+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: OSKextRequestResource: 00000000

2020-04-21 14:10:04.757306+0200 0x240      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: OSKextRequestResource Callback: dc008006.

2020-04-21 14:10:04.757360+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: OSKextRequestResource: 00000000

2020-04-21 14:10:04.816034+0200 0x240      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: OSKextRequestResource Callback: dc008006.

2020-04-21 14:10:04.816070+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: OSKextRequestResource: 00000000

2020-04-21 14:10:04.836481+0200 0x240      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: OSKextRequestResource Callback: dc008006.

2020-04-21 14:10:04.836520+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Loaded compressed embedded firmware for key "BCM4350C5_003.006.007.0222.4689_v8785".

2020-04-21 14:10:04.836739+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Decompressed firmware (12582 bytes --> 31740 bytes).

2020-04-21 14:10:04.836922+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Firmware is valid IntelHex firmware.

2020-04-21 14:10:04.836946+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: USB [3052CBE79732 v274] "BCM2045A0" by "Broadcom Corp"

2020-04-21 14:10:05.237080+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: Available composite configurations: 1.

2020-04-21 14:10:05.238360+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: Set device configuration to configuration index 0 successfully.

2020-04-21 14:10:05.238365+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: USBDeviceShim::findFirstInterface

2020-04-21 14:10:05.238370+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: getValidatedInterface returns <private>

2020-04-21 14:10:05.238374+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: Interface 0 (class ff, subclass 01, protocol 01) located.

2020-04-21 14:10:05.238390+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: set configuration and interface opened

2020-04-21 14:10:05.238393+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: findPipe: direction = 1, type = 3

2020-04-21 14:10:05.238396+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: endpoint found: epDirection = 1, epType = 3

2020-04-21 14:10:05.238399+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: found matching endpoint

2020-04-21 14:10:05.238577+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: findPipe: direction = 0, type = 2

2020-04-21 14:10:05.238580+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: endpoint found: epDirection = 1, epType = 3

2020-04-21 14:10:05.238583+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: endpoint found: epDirection = 1, epType = 2

2020-04-21 14:10:05.238587+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: endpoint found: epDirection = 0, epType = 2

2020-04-21 14:10:05.238589+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: found matching endpoint

2020-04-21 14:10:05.238762+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: got pipes

2020-04-21 14:10:05.438794+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: State "Unknown" --> "Initialize".

2020-04-21 14:10:05.440138+0200 0x165      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: READ VERBOSE CONFIG complete (status: 0x00, length: 10 bytes).

2020-04-21 14:10:05.440143+0200 0x165      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: Firmware version: v4096.

2020-04-21 14:10:05.440150+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: State "Initialize" --> "Firmware version".

2020-04-21 14:10:05.440155+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: getFirmware

2020-04-21 14:10:05.440158+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Retrieved cached firmware for "BCM4350C5_003.006.007.0222.4689_v8785".

2020-04-21 14:10:05.441109+0200 0x165      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: DOWNLOAD MINIDRIVER complete (status: 0x00, length: 4 bytes).

2020-04-21 14:10:05.441117+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: State "Firmware version" --> "Mini-driver complete".

2020-04-21 14:10:05.799130+0200 0x165      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: END OF RECORD complete (status: 0x00, length: 4 bytes).

2020-04-21 14:10:05.799138+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: State "Instruction write" --> "Firmware written".

2020-04-21 14:10:06.051283+0200 0x165      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: Unknown event code (0xff).

2020-04-21 14:10:06.051305+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: State "Firmware written" --> "Reset complete".

2020-04-21 14:10:06.051444+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: Device status 0x00000003.

2020-04-21 14:10:06.051453+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: State "Reset complete" --> "Update complete".

2020-04-21 14:10:06.051462+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: Firmware upgrade completed successfully.

2020-04-21 14:10:06.051521+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Processing time 5.709 seconds.

2020-04-21 14:10:06.055522+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: probe

2020-04-21 14:10:06.055537+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Version 2.2.10 starting on OS X Darwin 19.4.

2020-04-21 14:10:08.055684+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: [0a5c:6412]: BrcmPatchRAMResidency does not appear to be available.

2020-04-21 14:10:08.055690+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: getFirmware

2020-04-21 14:10:08.055695+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM: Retrieved cached firmware for "BCM4350C5_003.006.007.0222.4689_v8785".

2020-04-21 14:10:08.055723+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: uploadFirmware could not open the device!

2020-04-21 14:10:08.055726+0200 0x1ab      Default     0x0                  0      0    kernel: (kernel) BrcmPatchRAM2: Processing time 2.0 seconds.


 

 

Sorry @swatchie-1, I don't have an apple watch to perform your test.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...