Bluetooth Daughter Card (14 pins)

From ThinkWiki
Revision as of 19:16, 10 August 2009 by Tonko (Talk | contribs)
Jump to: navigation, search
Bluetooth LogoFRU39T0497.jpg

ThinkPad Bluetooth with Enhanced Data Rate (BDC-2)

This is a USB Bluetooth Adapter that is installed in a BDC slot in the screen assembly.

Features

  • Chipset: Broadcom
  • Model: BCM2045B
  • USB VID/PID: 0A5C:2110

IBM Partnumbers

IBM FRU PN: 39T0497

Linux Driver

The Bluetooth adapter uses the hci_usb driver (CONFIG_BT_HCIUSB).

One can enable Bluetooth by pressing FnF5. If this doesn't work, you can load the thinkpad-acpi kernel module and run the following command with root privileges:

# echo "enable" > /proc/acpi/ibm/bluetooth

When Bluetooth is enabled, the Bluetooth-logo LED will light up and executing # lsusb will show an entry mentioning "Broadcom".

On recent ThinkPads the Wireless killswitch disables both WiFi and Bluetooth (verified on a ThinkPad Z60m, Z61t, T60, T61 and X61).

Set Fn + F5 or Fn + F6 as hotkey to enable/disable Bluetooth

If the FnF5 combo doesn't work for you out-of-box, you can easily use Linux ACPI subsystem to enable and disable Bluetooh. You only need to create two small files (shown below). Note that you need to have acpid and thinkpad_acpi installed and properly working. The following scripts were tested on openSUSE 10.3.

Newer ThinkPad T Series Models cycle through four options:

  1. WLAN on + bluetooth on
  2. WLAN off + bluetooth off
  3. WLAN off + bluetooth on
  4. WLAN on + bluetooth off

If you don't like this and want to control only bluetooth without affecting WLAN you can simply add FnF6 as the bluetooth toggle. To do that use the second ACPI event handler scipt below instead of the first one.

ACPI action script

# cat /etc/acpi/actions/bluetooth
#!/bin/bash
# Bluetooth enable/disable script

/etc/init.d/bluetooth status

if [ "$?" -ne 0 ]; then
        /etc/init.d/bluetooth start > /dev/null
        echo enabled > /proc/acpi/ibm/bluetooth
        echo "Bluetooth enabled"
else
        /etc/init.d/bluetooth stop > /dev/null
        echo disabled > /proc/acpi/ibm/bluetooth
        echo "Bluetooth disabled"
fi

This script, when executed, detects the current state of Bluetooth subsystem and changes it to the opposite state.

ACPI event handler

# cat /etc/acpi/events/bluetooth
event=ibm/hotkey HKEY 00000080 00001005
action=/etc/acpi/actions/bluetooth

acpid, once detects Fn + F5 keypress, runs the given script which disables or enables Bluetooth (and changes state of indication LED).

To use FnF6 for bluetooth toggling only and leave the function of FN+F5 on newer ThinkPads intact use the following script instead of the one above:

# cat /etc/acpi/events/bluetooth
event=ibm/hotkey HKEY 00000080 00001006
action=/etc/acpi/actions/bluetooth

See Also

ThinkPads Using This Device

External Sources