Showing posts with label bluetooth. Show all posts
Showing posts with label bluetooth. Show all posts

Friday, January 13, 2017

How to fix bluetooth after sleep on a hackintosh

How to fix bluetooth after sleep on a hackintosh


In my experience, bluetooth typically just works out of the box on OSX.  But my most recent hack, a Lenovo Thinkpad W700DS (which would be the coolest thing since sliced bread if it didnt weigh 20 pounds), had a problem where the bluetooth would die after putting the computer to sleep and then the only way I could "switch" it back on would be to reboot into Linux and reenable the card.  Obviously, this is less than optimal so I decided to figure out what it would take to fix it.

Like most things hackintosh, a simple device and vendor ID injection into the proper kext would suffice, but as the bluetooth is not a PCI device there were extra hoops to jump through.  My bluetooth card is a Lenovo ThinkPad Bluetooth with EDR II, (Broadcom 2145 chipset).

the PCI ID is 0x21450A5C where the part in red is the hexadecimal device ID and the blue being the vendor ID.

But upon investigating the system .kexts, (in my case /System/Library/Extensions/IOBluetoothFamily.kext/Contents/Plugins/BroadcomBluetoothTransportHostControllerUSBTransport.kext) I discovered that (like most USB devices) they dont use hexadecimal IDs, but rather decimal IDs.

So going back to my programming classes I took back in college, I knew Id have to convert from hexadecimal to decimal format.  If you cant figure it out or dont know how to do it on a calculator, you could always use an online converter like this http://www.binaryhexconverter.com/hex-to-decimal-converter

0x21458517
0x0A5C2652

With my decimal values now in hand, I crack open the broadcom kext

sudo nano /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/Info.plist

and add a section like this at the bottom of the array

                <key>BroadcomUSBBluetoothHCIController - Lenovo</key>
                <dict>
                        <key>CFBundleIdentifier</key>
                        <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string>
                        <key>IOClass</key>
                        <string>BroadcomBluetoothHostControllerUSBTransport</string>
                        <key>IOProviderClass</key>
                        <string>IOUSBDevice</string>
                        <key>idProduct</key>
                        <integer>8517</integer>
                        <key>idVendor</key>
                        <integer>2652</integer>

                </dict>


as you can see from examining the rest of the Info.plist, the idVendor value is the same for all the entries... 

after that I cleared the kernel cache 

sudo rm -rfv /System/Library/Caches/com.apple.kextcache/Startup/*

and rebooted with "-v -c -f UseKernelCaches=No".  For some reason, it took two reboots for the change to take (I could be wrong, but I think Clover bootloader also caches your KernelCache), but after that, I could sleep my laptop and wake it back up without losing bluetooth.


Oh, and if you are on Yosemite, you definitely need to be booting with kext-dev-mode=1.  Modifying the kext will make it unloadable without kext-dev-mode=1 even if you re codesign it.


Available link for download

Read more »

Friday, December 30, 2016

How To Easily Access WiFi Mobile Data Bluetooth GPS Like Toggles Setting Screen in Samsung Stock ROMS

How To Easily Access WiFi Mobile Data Bluetooth GPS Like Toggles Setting Screen in Samsung Stock ROMS


Samsungs Touchwiz UI has many Notification Toggles which help us to easily enable disable frequently using options like WiFi, Bluetooth, Mobile Data, GPS, Screen Rotation etc. These toggle buttons are very handy as it needed just a single tap to disable or enable the favorite option. In this post I included another handy feature of Notification toggle which helps to easily access the toggle options setting screen.

For example if we want to receive files via Bluetooth we need to change the visibility settings if the device not paired. In this case, we can access the Bluetooth visibility settings by long pressing the Bluetooth toggle button. The feature may familiar to many Samsung users. But still its worth writing here if its helpful for any new user.

This feature is tested on TouchWiz Nature UX version dont know if its available in older TouchWiz version.

Method:
Long Press on the corresponding Toggle to access the settings screen.



Available link for download

Read more »

Saturday, November 19, 2016

Gateway Ne56r31u Bluetooth Drivers

Gateway Ne56r31u Bluetooth Drivers


Here you can find gateway ne56r31u bluetooth drivers.

Driver Info:

File name: gateway_ne56r31u_bluetooth_drivers.zip
Category: bluetooth
Driver version: 1.0.8
Size: 2 965 KB
OS: Windows


Available link for download

Read more »