IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)
- IBM FRU PN: 39T0022 ($37.50 in July 2005) - no longer available at IBM
- IBM FRU PN: 39T0024 ($49.00 in September 2005) - no longer available at IBM
- IBM FRU PN: 39T0026 ($50.00 in November 2005)
This part takes the place of the 56K Modem board. It requires a Bluetooth antenna, and some ThinkPads built without Bluetooth already have the antenna installed -- the antenna wire may be found disconnected and taped under the Modem board. To ascertain if your unit has the antenna you can check the parts list, or remove the keyboard and verify that there are 3 wires coming out of the left of the LCD towards the CDC, as in this picture (two WiFi antennas and one Blueooth antenna) or here.
In addition to the Modem/BT module, a Bluetooth Thinkpad also uses an extra indicator LED below the LCD display, and another indicator LED on the top of the lid. To see these two LEDs, two new clear plates are required. The entire set of replacement sticker plates can be ordered as FRU 26R8409 ($11.50 as of November 2005). (formerly FRU: 13R2455)
As of November 2005, IBM charged $13.50 for Airborne shipping, for a total of $75.00 for the BMDC-3 and replacement sticker plates.
Linux Bluetooth driver
The Bluetooth device is implemented using USB. Enabling/disabling bluetooth leads to USB connect and disconnect events. It can be enabled or disabled by:
- pressing the key combination;
- using ibm-acpi.
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. Since the Bluetooth device is using USB, you have to make sure to compile it as a module. If it's built into the kernel, the kernel won't detect the chip at boottime (when Bluetooth is turned off).
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.
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 then it will come back with anotherpress.
Linux Modem driver
Although the Smartlink driver for Agere modems is able to communicate with the modem via AT commands, it cannot dial out (contradicting reports welcome!).
If your favourite distribution does not include a hsfmodem driver (search for "hsfmodem" or "Conexant"), you can try the one from Linuxant: http://www.linuxant.com/drivers (14k free as in beer, 56k+Fax license 15$, they explain this policy under: http://www.linuxant.com/store/faq.php )
The hsfmodem driver works well with reliable connections. Of note, it does not support voice or telephony features, and is a binary-only package (fglrx and hsfmodem are both in need of open replacements).
hsfmodem driver may prevent your machine from going into suspend. If so, you may remove them prior to sleep by adding to your suspend script:
modprobe -r hsfmc97ich hsfserial hsfengine hsfosspec hsfsoar
The drivers should be automatically re-loaded upon resume by the hotplug system, if not, just manually restart hotplug or modprobe the individual drivers, adding this to your suspend script if needed.