Conexant HSF modem drivers
The following modems, available in some ThinkPad models, use the Conexant HSF softmodem chip, and require an appropriate driver:
- ThinkPad 56K Modem (MDC-1.5)
- IBM Integrated 56K Modem (MDC-2)
- IBM Integrated Bluetooth III with 56K Modem (BMDC-2)
- IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)
Two drivers are currently available.
The Linux driver for Agere modems from SmartLink supports both 2.4 and 2.6 kernels. However, it does not work with the newer Intel ICH6 controllers (used, e.g., on the ThinkPad R52 and T43; trouble on the G41 has also been reported). Some users report that AT commands work but dialing does not.
The Linuxant hsf driver
It offers free limited evaluation at 14.4kbps, and the full version costs $19.99. The license is tied to the specific CDC modem daughter card, so if you replace your modem card you will need to buy a new license.
- For Ubuntu, Dell released an OEM version of the linux driver (with 56K and fax support). You can download it here. Newer versions for i386 and x86_64 packaged in .tar.gz, .deb and .rpm can be found here
This driver works well with reliable connections. It does not support voice or telephony features.
- Fedora Core: use the provided RPMs. If using a custom kernel, choose the "Generic packages with source" in the HSF downloads page.
- Debian: run
# dpkg -i hsfblablabla.deb. When asked you for the code, enter "FREE" for the 14.4kbps evaluation.
- Sidux: How to install ThinkPad Modem (MDC-3.0, 56kbps HDA) under sidux 2008-03 (Ουρέα)
- Gentoo: the hsfmodem package is in portage.
If you are running a 2.6.15.* kernel, you might consider running:
# hsfconfig --patch
first, and apply the appropriate patch (there is an issue with hsfmodem and 2.6.15 tree that results in kernel oops. The patch provided by Conexant fixes that). It looks like this command has to be run in console (rather than e.g. xterm, as the menu issues some escape sequences that garble the output in xterm)
The 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.
If you use the hibernate script on Fedora Core, simple add this to /etc/hibernate/hibernate.conf:
OnSuspend 12 service hsf stop OnResume 12 service hsf start
Problem with Software Suspend 2
Version 7.47.00.01 works fine with Software Suspend 2.
The version 7.43.00.01 of the HSF driver conflicted with Software Suspend 2. The needed patch isn't available from Linuxant anymore.
For Fedora systems, the procedure for generating and installing a patched RPM is as follows:
- Download tarball and patches:
# wget http://www.linuxant.com/driSoftware Suspend 2vers/hsf/full/archive/hsfmodem-7.43.00.01full/hsfmodem-7.43.00.01full.tar.gz
# wget http://www.linuxant.com/drivers/hsf/full/archive/patches/hsf-7.43.00.01-suspend2.patch
# wget http://www.linuxant.com/drivers/hsf/full/archive/patches/hsf-7.43.00.01-try_to_freeze-2.patch
- Build the RPM:
# mkdir hsf-workdir
# cd hsf-workdir
# tar xzvf ../hsfmodem-7.43.00.01full.tar.gz
# cd hsfmodem-7.43.00.01full
# patch -i ../../hsf-7.43.00.01-suspend2.patch -p1
# patch -i ../../hsf-7.43.00.01-try_to_freeze-2.patch -p1
# cd ..
# tar czvf hsfmodem-7.43.00.01full.tar.gz hsfmodem-7.43.00.01full
# rpmbuild -ta hsfmodem-7.43.00.01full.tar.gz
- Install the RPM:
# rpm -e hsfmodem
# rpm -Uvh /usr/src/redhat/RPMS/i386/hsfmodem-7.43.00.01full-1.i386.rpm