Difference between revisions of "Conexant HSF modem drivers"

From ThinkWiki
Jump to: navigation, search
(The Linuxant hsf driver: Dell offers OEM version)
 
(16 intermediate revisions by 7 users not shown)
Line 3: Line 3:
 
* [[ThinkPad 56K Modem (MDC-1.5)]]
 
* [[ThinkPad 56K Modem (MDC-1.5)]]
 
* [[IBM Integrated 56K Modem (MDC-2)]]
 
* [[IBM Integrated 56K Modem (MDC-2)]]
 +
* [[ThinkPad Modem (MDC-3.0, 56kbps HDA)]]
 
* [[IBM Integrated Bluetooth III with 56K Modem (BMDC-2)]]
 
* [[IBM Integrated Bluetooth III with 56K Modem (BMDC-2)]]
 
* [[IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)]]
 
* [[IBM Integrated Bluetooth IV with 56K Modem (BMDC-3)]]
Line 8: Line 9:
 
Two drivers are currently available.
 
Two drivers are currently available.
  
===The Smartlink smlink driver===
+
===The Smartlink slmodem driver===
The Linux driver for Agere modems from [http://www.smlink.com/ 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 [[Installing Debian on a ThinkPad G41|reported]]). Some users report that AT commands work but dialing does not.
+
The Linux driver from [http://linmodems.technion.ac.il/packages/smartlink/ SmartLink], may support the [[IBM Integrated Bluetooth III with 56K Modem (BMDC-2)|BMDC-2]] device assuming your ThinkPad does not have a newer Intel ICH6 controller (e.g. ThinkPad R52 or T43).<br>
 +
Latest version of this driver is 2.9.11.
  
The {{path|snd_intel8x0m}} kernel module also (incorrectly?) recognizes the [[IBM Integrated Bluetooth III with 56K Modem (BMDC-2)|BMDC-2]]. At least scanModem works with it. About {{path|snd_intel8x0m}} see [[Modem_Daughter_Card_(MDC)|MDC]].
+
The ALSA AC'97 modem driver ('''snd_intel8x0m''') should be used instead of the proprietary kernel module from SmartLink (see README ALSA mode), as it avoids tainting your kernel, and does not require a recompile each time you update your kernel version.
 +
 
 +
For Debian there is a sl-modem-daemon deb.
 +
 
 +
====Fedora====
 +
There is a slmodem rpm in the [http://rpmfusion.org RPM-Fusion] nonfree repository.
 +
Once you have installed the package, you need to edit {{Path|/etc/sysconfig/slmodem}} and set INTERFACE=alsa and ALSA_DEVICE=modem:1
 +
 
 +
{{NOTE|If ALSA_DEVICE<nowiki>=</nowiki>modem:1 does not work, run {{cmd|cat /proc/asound/cards|}} and use the number before the Modem line}}
 +
In addition you can set the country for the correct recognition of dialling and busy tones, and to adhere to any local (possibly legal) requirements. If you do not set the country, it will default to USA.
 +
 
 +
You can then start the service, and set it to autostart on boot
 +
service slmodem start
 +
chkconfig slmodem on
 +
 
 +
After this you should have a /dev/ttySL0 device
  
 
===The Linuxant hsf driver===
 
===The Linuxant hsf driver===
 
The commercial [http://www.linuxant.com/drivers/hsf/index.php Conexant HSF] driver from [http://www.linuxant.com Linuxant] supports these modem and work also on ICH6 models (e.g., ThinkPad {{R52}}, {{R51}}, {{T43}}, and {{Z60m}}).
 
The commercial [http://www.linuxant.com/drivers/hsf/index.php Conexant HSF] driver from [http://www.linuxant.com Linuxant] supports these modem and work also on ICH6 models (e.g., ThinkPad {{R52}}, {{R51}}, {{T43}}, and {{Z60m}}).
  
It offers free limited evaluation at 14.4kbps, and the full version costs $19.99.
+
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. You can download it [http://support.dell.com/support/downloads/download.aspx?c=us&l=en&s=gen&releaseid=R155004&SystemID=INSPIRONI6400/E1505&servicetag=&os=UBLN&osl=en&deviceid=8593&devlib=0&typecnt=0&vercnt=1&catid=-1&impid=-1&formatcnt=1&libid=20&fileid=206745 here].
 
  
 
Download: http://www.linuxant.com/drivers/hsf/full/downloads.php
 
Download: http://www.linuxant.com/drivers/hsf/full/downloads.php
 +
* For Ubuntu, Dell released an OEM version of the linux driver (with 56K and fax support). You can download it [http://support.dell.com/support/downloads/download.aspx?c=us&l=en&s=gen&releaseid=R155004&SystemID=INSPIRONI6400/E1505&servicetag=&os=UBLN&osl=en&deviceid=8593&devlib=0&typecnt=0&vercnt=1&catid=-1&impid=-1&formatcnt=1&libid=20&fileid=206745 here]. Newer versions for i386 and x86_64 packaged in .tar.gz, .deb and .rpm can be found [http://linux.dell.com/files/ubuntu/hardy/modem-drivers/hsf/ here]
  
 
This driver works well with reliable connections. It does not support voice or telephony features.
 
This driver works well with reliable connections. It does not support voice or telephony features.
 +
 +
2010 Jan 04: I've found new driver with full speed support. Everyone can find it by '''hsfmodem-7.80.02.03full-dellhybrid.tar.bz2''' keyword. Then unpack source and read INSTALL.
 +
  
 
====Installation====
 
====Installation====
 
* Fedora Core: use the provided RPMs. If using a custom kernel, choose the "Generic packages with source" in the [https://www.linuxant.com/drivers/hsf/full/downloads.php#generic HSF downloads page].
 
* Fedora Core: use the provided RPMs. If using a custom kernel, choose the "Generic packages with source" in the [https://www.linuxant.com/drivers/hsf/full/downloads.php#generic HSF downloads page].
 
* Debian: run {{cmdroot|dpkg -i hsfblablabla.deb}}. When asked you for the code, enter "FREE" for the 14.4kbps evaluation.
 
* Debian: run {{cmdroot|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.
 
* Gentoo: the hsfmodem package is in portage.
  

Latest revision as of 15:12, 22 March 2010

The following modems, available in some ThinkPad models, use the Conexant HSF softmodem chip, and require an appropriate driver:

Two drivers are currently available.

The Smartlink slmodem driver

The Linux driver from SmartLink, may support the BMDC-2 device assuming your ThinkPad does not have a newer Intel ICH6 controller (e.g. ThinkPad R52 or T43).
Latest version of this driver is 2.9.11.

The ALSA AC'97 modem driver (snd_intel8x0m) should be used instead of the proprietary kernel module from SmartLink (see README ALSA mode), as it avoids tainting your kernel, and does not require a recompile each time you update your kernel version.

For Debian there is a sl-modem-daemon deb.

Fedora

There is a slmodem rpm in the RPM-Fusion nonfree repository. Once you have installed the package, you need to edit /etc/sysconfig/slmodem and set INTERFACE=alsa and ALSA_DEVICE=modem:1

NOTE!
If ALSA_DEVICE=modem:1 does not work, run cat /proc/asound/cards and use the number before the Modem line

In addition you can set the country for the correct recognition of dialling and busy tones, and to adhere to any local (possibly legal) requirements. If you do not set the country, it will default to USA.

You can then start the service, and set it to autostart on boot

service slmodem start
chkconfig slmodem on

After this you should have a /dev/ttySL0 device

The Linuxant hsf driver

The commercial Conexant HSF driver from Linuxant supports these modem and work also on ICH6 models (e.g., ThinkPad R52, R51, T43, and Z60m).

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.

Download: http://www.linuxant.com/drivers/hsf/full/downloads.php

  • 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.

2010 Jan 04: I've found new driver with full speed support. Everyone can find it by hsfmodem-7.80.02.03full-dellhybrid.tar.bz2 keyword. Then unpack source and read INSTALL.


Installation

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)

Suspend/resume

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