IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)

From ThinkWiki
Jump to: navigation, search

IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)

This is a combination USB Bluetooth and AC'97 Modem Adapter that is installed in a CDC slot.

Features

  • Chipset: Broadcom BCM2035 Bluetooth Controller and Conexant SmartV.92 Softmodem DSP
  • Speeds: 434/723 Kbps (Bluetooth 1.2) and 33.6/56.6 Kbps (V.34/V.90/V.92/K56flex)
  • PCI ID: Varies, depends on the AC'97 modem controller's PCI ID
  • USB ID: 0A5C:201E
  • Headers: One 2-pin connector, one Hirose U.FL connector

Part numbers

  • 39T0026, 39T0024, 39T0022

Linux driver

The Bluetooth device is implemented using USB. Enabling/disabling bluetooth (i.e. by use of FnF5) leads to USB connect and disconnect events. The modem on the other hand, is implemented using AC'97. Drivers for the modem can be found in the Conexant HSF modem drivers page.

As Bluetooth is implemented using USB, this will only work with USB drivers enabled:

# modprobe uhci-hcd ; modprobe ehci-hcd

The bcm203x kernel module, which is included in recent kernels, supports this chipset. You have to make sure to compile it as a module since the kernel won't detect the chip at boottime (when Bluetooth is turned off).

Use BlueZ-utils (http://www.bluez.org/) or fancier software like the GNOME Bluetooth subsystem (http://usefulinc.com/software/gnome-bluetooth) to use the device. To set it up, see the How to setup Bluetooth page.

Some problems have been reported using bluetooth after a suspend/resume cycle on the T43. These problems can be mitigated by unloading the USB kernel modules (uhci_hcd, ehci_hcd, hci_usb, bcm203x) before the machine is put to sleep, and by re-loading these modules when the machine wakes up again.

You could also try this patch which adds suspend/resume support to the hci_usb module. This patch is already in kernel 2.6.18-rc1. Or you use the bluez mh4-patch for 2.6.17 which adds suspend/resume and also fixes an issue with the SCO buffer size.

On a T43p you must ensure that you call hotplug (re)start upon resume or you will lose bluetooth functionality. See the ACPI area for sample suspend scripts, or if bluetooth flakes on a debian system at any time you can manually call

# /etc/init.d/hotplug restart

and it will come back with another FnF5 press.

This card may be found in