Jump to content

Bluetooth Firmware Uploader


EMlyDinEsH

Recommended Posts

So, installed the 2.2 beta kext on my z87e-itx with broadcom chip.. the logs say the firmware is loaded successfully, and bluetooth icon shows, but cannot pair any devices, doesn't see anything...  Even tried patching the apple kext (even though don't think it's needed 2.0 plus).  Any ideas?

Link to comment
Share on other sites

@EMlyDinEsH

 

Just wanted to say a big thanks for this post, and thought it might be useful to share my experience 

 

Like many here, I bought a BCM94352 (Azureware AW-CE123H)  Combo BT4.0 / WifI ABGn-ac Mini PCIe.

 

BLUETOOTH PID=0x3404 (13316) VID=0x133d (5075)

WIFI PID=0x43B1 (17329) VID=0x14E4 (5348) 

 

I've been using it in my Sony Vaio SE2 MonkeyBook Pro, (i7 8GB RAm 128GB-SSD, 15.5" IPS Intel HD3000)

Like many I was hoping to use the 5Ghz and BT4 with OSX and like many i found it didn't work too well.

 

My system is quad boot, and after loading drivers for Windows 7 & 8.1 and Ubuntu all of these OS's work perfectly with the BCM94352 - 2.4 & 5.0 GHz Dual band @ 300Mbs ( i don't have ac router so can't comment on that), Bluetooth seems to work fine with no issues with these OS's as well.

 

Under OSX, using Tolida's injector 2.4Ghz wifi works perfect but only single stream (~145Mbs) , As I understand it, there is currently no support in OSX for Broadcom 5Ghz radios so no 5Ghz - didn't find that out until after the event :-(

 

Bluetooth 4.0 under OSX using tolidia's BC4352.ketx injector at first seemed to work but after the first pairing no other devices could be connected correctly no matter what although they would get listed in BT preferences.

 

Investigations ....

 

If I booted into windows 8.1 and paired all my BT devices with windoze and then soft-reboot into OSX then i could connect to all of my bluetooth devices and it all seemed to work fine until a power down, if cold booted into OSX I could no longer connect to my BT devices, but if i booted into windows 8.1 and then soft-reboot (didn't even login) back to OSX my devices would automatically reconnect and all is well with bluetooth working perfect across all devices, flawless as far as i can tell until a power down.

 

Interestingly if i cold booted into OSX first and then soft-rebooted into windows 8.1 then Windoze suffered exactly the same Bluetooth issues we have all be seining in OSX ?. Very strange but it must tell us two things.

 

1. During the the loading and initialisation of the device under OSX it brakes something, the thing that it brakes must be some sort of volatile memory status bit or firmware that does not survive a power cycle.

 

2. If cold booted into Win 8.1- the OS correctly initialises or updates the firmware / volatile memory / status bits, which can survive a soft reboot, as OSX initialises it does not bother to initialise the card as it already has the firmware / status-bit or whatever it is set and therefore works perfect in OSX.

 

This procedure is repeatable with always the same out come.

 

And thats how i have been using  for the last few weeks it until i came across this post (also linked from other posts and forums) initially i had no better luck with your bluetooth firmware loader, but after checking the console log, it showed that it wasn't being successfully injected, after deleting tolida's BC4352.kext it seemed to load ok and all my BT devices now seem to work, i'm using the 2.1 version i have tried firmware 0 and 2 and both seem to work ok'ish for most of the time when using apple magic touch mouse or trackpad, however if i use my BT headset it disconnects every time. This does not happen when 1st booted with windows 8.1, it just seems to work prefect then.

 

The only other observation i have seen is that wifi seems to take much longer to connect after boot in osx and sometimes does not work at all after sleep, this did not happen when using tolida's BC4352.kext, i realise that the BT4 and wifi are completely separate devices despite being on the same combo card, but something odd is going on....

 

Could you please explane how to dump the BT firmware / volatile memory in both windows and OSX, i'd like to see if there is any difference between the firmware after running your BT loader or having it initialised by win 8.1, could be a useful pointer in putting this issue to bed once and for all .......

 

Thanks so much for your work, 

 

Cheers

Jay

Link to comment
Share on other sites

I bought one Half Mini PCIe BCM4352 card from china. Got wifi working well but no bluetooth yet.

 

It seems to be a Lite-ON one:

 

 

BCM20702A0:

 

  ID del producto: 0x200b

  ID del fabricante: 0x04ca  (Lite-On Technology Corp.)

  Versión: 1.12

  Número de serie: 24FD5201E49B

  Velocidad: Hasta 12 Mb/s

  Fabricante: Broadcom Corp

  ID de la ubicación: 0x1a110000 / 4

  Corriente disponible (mA): 500

  Corriente necesaria (mA): 0

 

Please, add it to your kext to start testing it.

 

Thanx!!!

 

I've added your card id's to my kext.

 

So, installed the 2.2 beta kext on my z87e-itx with broadcom chip.. the logs say the firmware is loaded successfully, and bluetooth icon shows, but cannot pair any devices, doesn't see anything...  Even tried patching the apple kext (even though don't think it's needed 2.0 plus).  Any ideas?

 

 

 

Try the new version v2.3 (with Vanilla Bluetooth kext without patches) uploaded today which fixes every issue. Let me know if you still have any issues/doubts.

Link to comment
Share on other sites

@EMlyDinEsH

 

Just wanted to say a big thanks for this post, and thought it might be useful to share my experience 

 

Like many here, I bought a BCM94352 (Azureware AW-CE123H)  Combo BT4.0 / WifI ABGn-ac Mini PCIe.

 

BLUETOOTH PID=0x3404 (13316) VID=0x133d (5075)

WIFI PID=0x43B1 (17329) VID=0x14E4 (5348) 

 

 

 

Could you please explane how to dump the BT firmware / volatile memory in both windows and OSX, i'd like to see if there is any difference between the firmware after running your BT loader or having it initialised by win 8.1, could be a useful pointer in putting this issue to bed once and for all .......

 

Thanks so much for your work, 

 

Cheers

Jay

 

Try the new version v2.3 which has latest firmware and many fixes/improvements.  Also you can try different firmwares by editing plist (1-3) which are older firmwares version and see how it works for you. If you still have issues then send me your Profiler information after booting from windows when your bluetooth is working fine, so i can check the firmware used.

Link to comment
Share on other sites

Yes. Any possible fixes?

 

Well, new bluetooth drivers and prefpane in 10.8 are making the notebook bluetooth device undiscoverable and not providing option to control that. So, try deleting the file "com.apple.Bluetooth.plist" from /Library/Preferences and reboot then see if it makes any diff.

 

EDIT: Enable the option "Bluetooth Sharing" from System Preferences->Sharing to receive the files.

Link to comment
Share on other sites

Try the new version v2.3 which has latest firmware and many fixes/improvements.  Also you can try different firmwares by editing plist (1-3) which are older firmwares version and see how it works for you. If you still have issues then send me your Profiler information after booting from windows when your bluetooth is working fine, so i can check the firmware used.

 

Hi EMlyDinEsH,

 

Many thanks for your reply, I downloaded and installed version 2.3 of your bluetooth firmware uploader kext and now cold booting into OSX, Bluetooth 4.0 does seem to perform much better than the previous version, however it seems to have introduced a new issue:-

 

Initial connection to the WiFi network is painfully slow sometimes almost 2 mins !!, same happens when waking from sleep, BT connects almost instantly but wifi takes an age, when it does connect the transmission rate is very slow between 15-30 with BTFirmwareUploader removed from the system WiFi connects within 10 seconds of boot and connects at a transmission rate between 130-145.

 

I use WiFiSpy which displays the wifi transmission rate in the menu bar, very useful little app when working with these issues, or you can hold the option key down while clicking on the wifi icon to see extra connection info.

 

As reported in my last post, this behaviour was also apparent with version 2.1 of your kext but the issue seems to be worse with version 2.3

 

Has anybody else seen this issue ?,

 

As discussed in my last post I am using toledaARPT.kext injector to enable wifi on the BCM4352

 

IOBluetoothFamily.kext is vanilla and bluetooth transport control seems to be enabled with both toledia's and your injector's correctly.

 

The issue with the wifi only occurs when using BTfirmwareuploader, removing your kext solves the wifi issue but obviously stops bluetooth from working.

 

As requested I have attached a zip file with system profile and ioreg dumps for each of the following cold boot conditions.

 

1. Cold Boot Win 8.1 - BCM4352 -  then soft reboot back into OSX Mavericks 9.1 - (BT FW=V14.5452) - in this mode I am using Toleda's BCM4352.kext which apparently 'patches' the BT firmware. This combo boot gives the best BT & WiFI Performance, Wifi connects within 10secs after cold/soft boot/reboot, BT seems to behave exceptionally well - but its a pain in the arse when i forget to first boot windows.

 

2. Cold Boot OSX - BCM4352 - (BT FW=V14.C4096) - this is exactly the same OSX configuration as above but without first booting into windows 8.1, Wifi works just the same but BT does not work very well at all.

 

3. Cold Boot OSX - BTFirmwareUploader - (BT FW=V14.5575)- This is my latest OSX configuration, i removed Toleda's BCM4352.kext and installed version 2.3 of your kext, in this configuration Bluetooth 4.0 seems to working well but does not 'feel' as stable as condition 1 (win8.1) and has introduced the wifi issues explained above.

 

All of the above conditions are completely repeatable every time, it is not an intermittent problem.

 

I am thinking that this might be some sort of (low) power saving mode that the card is being put into ? , as all three conditions all use the same wifi enabler, but BT and wifi performance seem to be affected with the introduction of your kext ....

 

When using your Bluetooth kext, Disabling Bluetooth via the Icon->context menu, resolves the issue with WiFi, connections are almost instantaneous on a wake after sleep and transmit rate is always 130 +

 

I hope there is enough debug info in the attached zip file, please let me know if you require anything else.

 

Appreciate all your hard work, I was beginning to regret buying the BCM4352 but your work has given me hope that there is a solution very close.

 

Cheers

Jay

 

 

Update: Ok i went through my ioreg dumps and the worked through the different FW versions that your injector uses (0-3)

 

PID=0x3403 VID=0x13d3 - BCM94352 - Azureware AW-CE123H

 

Results using Toleda BCM4352.kext only

 

Cold Booting Win 8.1 then soft reboot OSX - Reported firmware version is V14.C5452 - BT4.0 and Wifi work perfect - 

 

Cold Booting OSX - reported firmware version is V14.C4096 - BT4.0 does not work, WiFi work perfect

 

Results using BTFirmwareUploader V2.3 only

 

FW=0:  V14.C5575, BT=Yes, WiFi=Slow Connect & Transmit Speed

FW=1:  V14.C4096, BT=No, WiFi=Perfect (same as when using BCM4352.kext) 

FW=2:  V14.C5271, BT=Yes, WiFi=Slow Connect & Transmit Speed

FW=3:  V14.C5452, BT=Yes, WiFi=Slow Connect & Transmit Speed

 

Not sure what this is telling us except that when FW=1 with BTfirmwareloader then result is the same as cold booting OSX with BCM4352.kext, wifi works BT does not, all other FW versions seem to interfere with the WiFi connection ???

 

Obviously some thing is different when using your kext, or is BCM4352.kext introducing some other setting which is not set by your kext ?

 

Conclusion

 

You would think that from the above experimentation using BTFirmwareUploader V2.3 with FW=3 and using Toleda BCM4352.kext should give the same result as booting first with Win 8.1 but i think the two kext interfere with each other at boot time and it would appear that it stops BluetoothFirmwareUploader from installing any firmware as it shows as V14.C4096 which gives the same result as cold booting with just BCM4352.kext,  BT Does not work but WiFi is perfect.

 

I have added another set of dump files with FW=3, with and with out BCM4352.kext to the attached archive.

The last config (both kext with FW=3) includes console log for the bluetooth devices - is it possible that BCM4352.kext is changing the identity so BTFirmwareloader is no longer injecting the right FW as ID has changed ?

 

I think if these two kext would behave together then i think all the issues would be resolved . . . . . .

 

Hope this helps

 

Cheers

Jay

MonkeyBook-Pro BT Debug.zip

Link to comment
Share on other sites

Conclusion

 

You would think that from the above experimentation using BTFirmwareUploader V2.3 with FW=3 and using Toleda BCM4352.kext should give the same result as booting first with Win 8.1 but i think the two kext interfere with each other at boot time and it would appear that it stops BluetoothFirmwareUploader from installing any firmware as it shows as V14.C4096 which gives the same result as cold booting with just BCM4352.kext,  BT Does not work but WiFi is perfect.

 

 

@EMlyDinEsH - Further Info

 

After a bit more experimentation I found that by using both kext's in the above configuration, it is possible to get a working solution of sorts.

 

  • Install both BCM4352.kext and V2.3 of BTFirmwareUploader.kext (FW=3)
  • On initial cold boot BTFirmwareUpdater will fail to upload BT firmware.
  • After cold boot disable bluetooth using icon menu, right click.
  • Put system to sleep.
  • On wake BTBluetoothFirmwareUploader seems to work correctly and uploads the correct firmware.

After this both bluetooth 4.0 and Wifi are working correctly, until next power down

Not perfect but so very close . . . 

Let me know if there is anything else I can test/debug for you.

 

Cheers

Jay

 

Update: sometimes it works ok on a cold boot (both kext appear to run ok during osx load), I have not changed anything since the above update but now sometimes BT4 and WiFI seem to be working perfect cold booting OSX using both your kext and BCM4352. I have attached a new archive with ioreg and system_profile.

 

Not sure whats going on and why sometimes it works now, perhaps the kext's are loading at different times or different order ?

It does seem to be a a bit hit and miss though. But if Wifi starts playing up then then disabling BT, putting system to sleep and then waking from sleep and re-enabling BT seems to restore BT and wifi functionality.

 

Will report any further strangeness ...

 

If only there was a solution to enable 5Ghz Dual stream .... Perhaps the just released 9.2 Update will help found this in the list of changes:-

 

  • Improves ExpressCard compatibility for some MacBook Pro 2010 models

 

Full list of updates here :-

 

http://support.apple.com/kb/HT6114

 

Might have a go at installing tomorrow and report back

 

 

Cheers

Jay

Cold Boot OSX - Both Kext-FW=3 - Now Working.zip

Link to comment
Share on other sites

Well, new bluetooth drivers and prefpane in 10.8 are making the notebook bluetooth device undiscoverable and not providing option to control that. So, try deleting the file "com.apple.Bluetooth.plist" from /Library/Preferences and reboot then see if it makes any diff.

 

EDIT: Enable the option "Bluetooth Sharing" from System Preferences->Sharing to receive the files.

 

It does not work. My bluetooth sharing is enabled in system preferences.

 

Edit:

Changed the settings from 'Ask what to do' to 'Accept and save', and I can receive files now.

:). Thanks again! My hack is now perfect!

Link to comment
Share on other sites

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