Contribute
Register

Broadcom bluetooth issues Sonoma

Joined
Mar 22, 2012
Messages
18
Motherboard
HP ProBook 4530s
CPU
Intel i3
Graphics
Intel HD3000
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. iOS
Hi all,

I have a Lenovo P330 tower with MacOS Sonoma working 90 percent right now.
having problems with bluetooth not staying turned on. keeps sliding off.
 

Attachments

  • EFI.zip
    11.2 MB · Views: 18
  • Mac Pro.zip
    284.3 KB · Views: 10
Assumption you are using OCLP Broadcom WiFi root patches.

Which Broadcom WiFi/BT card are you using? BCM94360CS2?

You seem to be missing BrcmFirmwareData.kext from your /EFI/OC/Kexts folder. That is a pre-requisite for some Broadcom Bluetooth modules, along with BlueToolFixup.kext and BrcmPatchRam3.kext.

The Bluetooth USB connection is not showing as being present in the System Information > USB report.

Screenshot 2024-02-22 at 19.16.46.png No USB connection for Bluetooth module.

Without the USB connection the Bluetooth won't work, even if the System Information > Bluetooth report says it is present. So it is not surprising the Address entry says 'NULL' & State: Off.

Screenshot 2024-02-22 at 19.18.32.png

Looking at your USBPorts.kext/Contents/Info.plist it shows this kext was created while using the iMacPro1,1 SMBIOS. Your System Information says you are using MacPro7,1. So you need to change the two entries in the USBPorts.kext/Contents/Info.plist to match your current SMBIOS.

Screenshot 2024-02-22 at 19.28.14.png Look to edit/check the three elements highlighted in this screenshot
  1. All 15 x ports activated by the kext are set with connector type USB3 (3).
  2. You have no ports set as USB Internal header (255).
    1. Do you have the WiFi/BT card connected via a cable to one of the USB2 motherboard headers?
    2. Do you have the WiFi/BT card connected via an M.2 connector with a built-in USB port?
  3. In either of the above cases you need to set the port the Bluetooth module is connected through with the connector type 'Internal' (255).
  4. The M.2 BT/USB is usually connected through HS14, which you have set with connector type USB3 (3).
As it currently stands the kext won't work, so neither will your Bluetooth module.
 
Assumption you are using OCLP Broadcom WiFi root patches.

Which Broadcom WiFi/BT card are you using? BCM94360CS2?

You seem to be missing BrcmFirmwareData.kext from your /EFI/OC/Kexts folder. That is a pre-requisite for some Broadcom Bluetooth modules, along with BlueToolFixup.kext and BrcmPatchRam3.kext.

The Bluetooth USB connection is not showing as being present in the System Information > USB report.

View attachment 578868 No USB connection for Bluetooth module.

Without the USB connection the Bluetooth won't work, even if the System Information > Bluetooth report says it is present. So it is not surprising the Address entry says 'NULL' & State: Off.

View attachment 578869

Looking at your USBPorts.kext/Contents/Info.plist it shows this kext was created while using the iMacPro1,1 SMBIOS. Your System Information says you are using MacPro7,1. So you need to change the two entries in the USBPorts.kext/Contents/Info.plist to match your current SMBIOS.

View attachment 578870 Look to edit/check the three elements highlighted in this screenshot
  1. All 15 x ports activated by the kext are set with connector type USB3 (3).
  2. You have no ports set as USB Internal header (255).
    1. Do you have the WiFi/BT card connected via a cable to one of the USB2 motherboard headers?
    2. Do you have the WiFi/BT card connected via an M.2 connector with a built-in USB port?
  3. In either of the above cases you need to set the port the Bluetooth module is connected through with the connector type 'Internal' (255).
  4. The M.2 BT/USB is usually connected through HS14, which you have set with connector type USB3 (3).
As it currently stands the kext won't work, so neither will your Bluetooth module.
Thank You!
Bluetooth is workign now.
im using a m.2 connection.
i used hackintool to fix my usb mapping. couldn't figure out how you used propertree to open USBPorts.kext/Contents/Info.plist i dont know if i fixed the SMBIOS issue
 

Attachments

  • Mac Pro.zip
    279.9 KB · Views: 5
  • EFI.zip
    35.2 MB · Views: 9
To open the info.plist do the following:
  1. Right-click on the USBPorts.kext and select ‘shoe package contents’ from the drop down menu.
  2. This will open a Finder window showing the ‘Contents’ folder.
  3. Open the Contents folder and you should see the info.plist.
 
To open the info.plist do the following:
  1. Right-click on the USBPorts.kext and select ‘shoe package contents’ from the drop down menu.
  2. This will open a Finder window showing the ‘Contents’ folder.
  3. Open the Contents folder and you should see the info.plist.grea
Great, all three entrees are changed.
Thank you!
 

Attachments

  • Info.plist.zip
    1.4 KB · Views: 2
That Info.plist is not correct, it is probably worse than your original.
  1. While all the ports available to the Intel USB controller are shown, they are nearly all set as Internal with connector (255).
  2. HS02, SS05 & SS06 being the exceptions as they are set with connector Type-C (10).
  3. HS14 (most likely port for your M.2 connector) is separated out on its own, this is wrong. It should be back within the main controller list, as your Intel system only contains 1 x USB controller.
  4. The Bluetooth module is usually highlighted automatically in Hackintool, that being the case and HS14 not being highlighted, then my assumption about the Bluetooth module and HS14 will be wrong!
  5. The SMBIOS Model name is correct.
USB configuration apps will, when using a patch to enable all USB ports in the system, usually set all the ports it finds to a single connector type, in your case this is Internal (255). What this means is you need to use the USB pen drives to discover which port is related to each external port on the front and rear of the case.

Inserting a USB2 pen drive in to the top left USB3 port on the front of the case will cause one of the HSxx ports on the Hackintool USB tab to be highlighted. You should change the connector setting for this HSxx port to reflect/match the physical port, i.e. USB3 (3) in the Hackintool USB window.

Inserting a USB3 pen drive in to the same case front port will highlight an SSxx port, this should also be changed to match the physical port USB3 (3).

The Comments section on the Hackintool USB tab, should be used to define the port. You may need to expand or drag the right hand side of the Hackintool app to display the comments section. Then simply right-click on the empty Comment space for the HSxx port and type in 'Front top left USB3/2' as a description, so you and anyone else looking at your USBPorts.kext in the future will know exactly which physical or virtual port is being activated.

The comment for the same port using the USB3 pen drive would be 'Front top left USB3', so you and anyone looking at the kext knows the two ports are companions. Doing the same for each port discovered, plus the Bluetooth module port is highly recommended.

This is an example of a fully configured USBPorts.kext viewed in Hackintool. It is not an Intel system, so it has more than 1 x USB controller. But you will get the gist of what I am recommending you do with your configuration.

Screenshot 2024-02-25 at 19.11.51.png Asus ROG Strix X570-F Gaming USB configuration.

Your Lenovo P330 contains the following USB ports:
  • 2 x USB3.1 Gen 1 ports on the front (top row)
  • 2 x USB3.1 Gen 2 ports on the front (bottom row)
  • 1 x Type-C port (above the USB3 ports)
  • 2 x USB3.1 Gen 1 ports on the Rear I/O plate (top row)
  • 2 x USB3.1 Gen 2 ports on the rear I/O plate (bottom row)
  • 1 x USB2 (internal) served from the WiFi M.2 connector
Each USB3 physical port accounts for a single USB3 port and a single USB2 virtual ports. So the 8 x USB3 physical ports actually account for 16 x ports in total.

This means your system has a maximum of 19 or 21 x USB ports, depending on the configuration of the Type-C port.

The front case Type-C port may be a Type-c+sw (9) or a Type-c (10) without switch.
  • If the port is Type-c+sw then it will only account for 2 x ports.
  • If the port is Type-c without switch then it will account for 4 x ports.
The way to test the Type-C port is to do the following:
  1. Insert a Type-C USB pen drive or external enclosure cable in to the front port.
  2. See which port is highlighted in Hackintool.
  3. Remove the Type-C device, flip the connector 180° and reinsert the device/cable.
  4. If the same port is highlighted then the port should be set as Type-c+sw (9).
  5. If a different port is highlighted then the port should be set as Type-c (10), as it lacks a switch.
This Lenovo system has 0 x physical USB2 ports. This means none of the ports should ever be set with connector type USB2 (0).

Screenshot 2024-02-25 at 18.32.27.png Front view of Lenovo P330

Screenshot 2024-02-25 at 18.32.09.png Rear view of Lenovo P330

Here is a link to the Lenovo ThinkCentre P330 manual, which may be of help in understanding and locating the contents of your system.


I think short of having the system in front of me, that this is about as much as I can do to help you with the USB configuration. The rest is over to you.

If you get stuck or have any questions or need clarification on any of the information above, just ask. But do let us see your next USBPorts.kext (in its entirety) to see how you have got on, and to see that your new configuration is as good as it can be for your system.
 
That Info.plist is not correct, it is probably worse than your original.
  1. While all the ports available to the Intel USB controller are shown, they are nearly all set as Internal with connector (255).
  2. HS02, SS05 & SS06 being the exceptions as they are set with connector Type-C (10).
  3. HS14 (most likely port for your M.2 connector) is separated out on its own, this is wrong. It should be back within the main controller list, as your Intel system only contains 1 x USB controller.
  4. The Bluetooth module is usually highlighted automatically in Hackintool, that being the case and HS14 not being highlighted, then my assumption about the Bluetooth module and HS14 will be wrong!
  5. The SMBIOS Model name is correct.
USB configuration apps will, when using a patch to enable all USB ports in the system, usually set all the ports it finds to a single connector type, in your case this is Internal (255). What this means is you need to use the USB pen drives to discover which port is related to each external port on the front and rear of the case.

Inserting a USB2 pen drive in to the top left USB3 port on the front of the case will cause one of the HSxx ports on the Hackintool USB tab to be highlighted. You should change the connector setting for this HSxx port to reflect/match the physical port, i.e. USB3 (3) in the Hackintool USB window.

Inserting a USB3 pen drive in to the same case front port will highlight an SSxx port, this should also be changed to match the physical port USB3 (3).

The Comments section on the Hackintool USB tab, should be used to define the port. You may need to expand or drag the right hand side of the Hackintool app to display the comments section. Then simply right-click on the empty Comment space for the HSxx port and type in 'Front top left USB3/2' as a description, so you and anyone else looking at your USBPorts.kext in the future will know exactly which physical or virtual port is being activated.

The comment for the same port using the USB3 pen drive would be 'Front top left USB3', so you and anyone looking at the kext knows the two ports are companions. Doing the same for each port discovered, plus the Bluetooth module port is highly recommended.

This is an example of a fully configured USBPorts.kext viewed in Hackintool. It is not an Intel system, so it has more than 1 x USB controller. But you will get the gist of what I am recommending you do with your configuration.

View attachment 579015 Asus ROG Strix X570-F Gaming USB configuration.

Your Lenovo P330 contains the following USB ports:
  • 2 x USB3.1 Gen 1 ports on the front (top row)
  • 2 x USB3.1 Gen 2 ports on the front (bottom row)
  • 1 x Type-C port (above the USB3 ports)
  • 2 x USB3.1 Gen 1 ports on the Rear I/O plate (top row)
  • 2 x USB3.1 Gen 2 ports on the rear I/O plate (bottom row)
  • 1 x USB2 (internal) served from the WiFi M.2 connector
Each USB3 physical port accounts for a single USB3 port and a single USB2 virtual ports. So the 8 x USB3 physical ports actually account for 16 x ports in total.

This means your system has a maximum of 19 or 21 x USB ports, depending on the configuration of the Type-C port.

The front case Type-C port may be a Type-c+sw (9) or a Type-c (10) without switch.
  • If the port is Type-c+sw then it will only account for 2 x ports.
  • If the port is Type-c without switch then it will account for 4 x ports.
The way to test the Type-C port is to do the following:
  1. Insert a Type-C USB pen drive or external enclosure cable in to the front port.
  2. See which port is highlighted in Hackintool.
  3. Remove the Type-C device, flip the connector 180° and reinsert the device/cable.
  4. If the same port is highlighted then the port should be set as Type-c+sw (9).
  5. If a different port is highlighted then the port should be set as Type-c (10), as it lacks a switch.
This Lenovo system has 0 x physical USB2 ports. This means none of the ports should ever be set with connector type USB2 (0).

View attachment 579014 Front view of Lenovo P330

View attachment 579013 Rear view of Lenovo P330

Here is a link to the Lenovo ThinkCentre P330 manual, which may be of help in understanding and locating the contents of your system.


I think short of having the system in front of me, that this is about as much as I can do to help you with the USB configuration. The rest is over to you.

If you get stuck or have any questions or need clarification on any of the information above, just ask. But do let us see your next USBPorts.kext (in its entirety) to see how you have got on, and to see that your new configuration is as good as it can be for your system.
Appreciate all the feed back. i think i got it this time.
I took the old info.plist file and made the changes you told me the first time.
Also labeled all my usb's in hackintool in the comments.
Thanks again Edhawk
 

Attachments

  • Info.plist.zip
    1.3 KB · Views: 5
Looks OK, does it work?
 
Back
Top