- Below I describe the steps that I followed to install/configure the modem that came with my T-2240
e-machine.
- It is necessary to determine the make and model of the modem. You can do that using the command:
#>lspci -vvv
--SNIP--
02:0b.0 Communication controller: Conexant HSF 56k HSFi Modem (rev 01)
Subsystem: Mac System Co Ltd: Unknown device 8d8b
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B+
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR-
--SNIP--
- From the above output, you can see that your modem is based on the conexant chipset.
linuxant.org maintains the driver for these modems on linux.
It also hosts a useful utility
listmodem.sh, which can be used to
find more information about the modem. This helps in selecting the right driver to make your modem work:
shashank@hulk:~/temp> ./listmodem.sh
=============================================================
= RESULT OF MODEM QUERY =
=============================================================
MODEM #1:
PCI CONFIGURATION INFORMATION READ:
Vendor Id : 14F1
Device Id : 2F00
Revision Id : 1
Sub Vendor Id : 155D
Sub Device Id : 8D8B
DEDUCED INFORMATION:
Vendor Name : CONEXANT
Device Name : HSFi Data/Fax
Modem Type : HSF
Download Site : http://www.mbsi.ca/cnxtlindrv/
- The drivers for this particular modem
are available both as a source rpm as well as binary rpm's. Before downloading the binary rpm's, determine your
system architecture using the command rpm -q --qf '%{ARCH}\n' kernel and your kernel version using the
command uname -r.
I downloaded the binary rpm's for the i686 architecture and kernel version 2.4.20-8 and
installed it using the command rpm -ivh hsflinmodem-verison.rpm.
If you are using a stock linux kernel,
you may have to rebuild the RPM from source (command: rpmbuild --rebuild hsflinmodem*.src.rpm
and install it using rpm -ivh hsflinmodem-verison.rpm.
Note the last few lines spit out by the above process. These tell you the device name that was allocated
to your modem.
--SNIP--
Your HSF modem should now be accessible as /dev/ttySHSF0
or through the symbolic link /dev/modem.
--SNIP--
- The best way to test your modem is to use Wvdial, which
comes installed with RH 9.0 systems (by default). If you are using this for the first time, then first execute
the /usr/bin/wvdialconf script that comes with this software. This will properly configure the modem:
[shashank@hulk temp]# /usr/bin/wvdialconf /etc/wvdial.conf
Scanning your serial ports for a modem.
Port Scan<*1>: Scanning ttySHSF0 first, /dev/modem is a link to it.
ttySHSF0<*1>: ATQ0 V1 E1 -- OK
ttySHSF0<*1>: ATQ0 V1 E1 Z -- OK
ttySHSF0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttySHSF0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttySHSF0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttySHSF0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttySHSF0<*1>: Modem Identifier: ATI -- 56000
ttySHSF0<*1>: Speed 4800: AT -- OK
ttySHSF0<*1>: Speed 9600: AT -- OK
ttySHSF0<*1>: Speed 19200: AT -- OK
ttySHSF0<*1>: Speed 38400: AT -- OK
ttySHSF0<*1>: Speed 57600: AT -- OK
ttySHSF0<*1>: Speed 115200: AT -- OK
ttySHSF0<*1>: Max speed is 115200; that should be safe.
ttySHSF0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
Found a modem on /dev/ttySHSF0, using link /dev/modem in config.
Modem configuration written to /etc/wvdial.conf.
ttySHSF0: Speed 115200; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
- Now edit the /etc/wvdial.conf file to insert the phone number/user account/password
of your ISP as indicated below:
[Dialer Defaults]
Modem = /dev/modem
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
Phone = 123-4567
Username = shashank
Password = abcdefgh
- Connect to your ISP using wvdial command.
- Alternately you can even use minicom to configure the modem. Start minicom (command: minicom)
and go to the help screen by pressing the CNTL-a z keys (Be patient for the help screen to come up.
Sometimes it takes a few seconds). Then select option "O" to configure minicom to use the
/dev/modem device.
- Dialing out with minicom is a pain. But it is very useful to test the
Basic and Extended AT command set,
which is the standard language to communicate with modems.