Note: This works on Acer Travelmate 700 series but also on Acer Travelmate 513T. A user reported that it does not work on Acer Travelmate 506T.
There is a modem driver (called ltmodem.o) available for the internal 56k modem. It works on Acer Travelmates 700 Series but not on Acer Travelmate 500 Series. Only the binaries are available somewhere at Lucent Technology Win Modem Page (try linmodem.org for a newer version).
I have written a new installation script (and deinstallation script), that configures and installs the modem driver in a more comfortable and general way than the installation script that comes with the lucent driver. It considers everything explained below and queries for the parameters. Furthermore, this script configures /etc/conf.modules and /etc/pcmcia/config.opts to avoid interupt conflicts. In a SuSE distribution the /etc/rc.config file is modified according to the modem link. This script is distributed in the hope that it will be useful, but without any warranty. Please report any bugs or suggestions! If you prefer the manual configuration follow the lines below and use the old simpler script.
The original Lucent package includes an installation and deinstallation script. The installation script creates a device /dev/ttyS14 with char-major-62 and executes mknod. Furthermore, it sets the link /dev/modem to this device. It copies the driver to the location of the other modules. Further it modifies /etc/rc.d/rc.local such that ltmodem is inserted at every boot. Unfortunately, this does not work with every Linux distribution (for example not with SuSE Linux 6.2). You might have to modify the script, that make the entry in the /sbin/init.d/boot.local. Another way is to disable this modification of /etc/rc.d/rc.local at all in the script and alternatively use the kernel loading mechanism. Therefore insert into your /etc/conf.modules file:
# use this trick to install a module, that
has different
# version to kernel:
# btw. use -k -f, don't use -f -k!!!
install ltmodem insmod -k -f ltmodem
# or you may also use this instead (then
insmod is
# always called with -f option):
# insmod_opt=-f
alias char-major-62
ltmodem
You must use somehow (see above) the option -f because ltmodem.o was made for kernel 2.2.12-20. So it complains about 2.2.12 as well as 2.2.13. If you would like to use kernel module loading for ltmodem or you use SuSE Linux 6.2 or similar distribution you might use the following installation script (note: this script is a simple version of the installation script above):
#!/bin/sh
#
# Installation of ltmodem
# for deinstallation of ltmodem use option
-d
#
#
# call:
#
# ./install.sh
# ./install.sh -d
#
# Installation:
#
# put somewhere in /usr/local/bin/
#
#
# Autor: Markus Kohler
# Datum: 15.02.2000
#
# HISTORY:
#
# dd.mm.yyyy: Name Comment
# choose your own permissions:
group="uucp"
mode="666"
# Configuration:
device="/dev/ttyS14"
modem="/dev/modem"
# driver name without ".o":
driver=ltmodem
modulepath="/lib/modules/`uname -r`/misc"
conffile="/etc/conf.modules"
#############################################
#
# no changes should be made below this line!
#
#############################################
nod=62
# first clear everything (equivalent to deinstallation):
/sbin/rmmod $driver 2> /dev/null
# if $modem links to $device
if [ -f $modem -a -n "`ls -l $modem | grep
"$device"`" ]; then
rm -f $modem
fi
# else who knows what happend meanwhile.
rm -f $device 2> /dev/null
rm -f $modulepath/$driver.o 2> /dev/null
# remove entries from $conffile:
cp $conffile $conffile.orig
grep -v "$driver" $conffile.orig | grep -v
"#:" > $conffile
# now driver is deinstalled,
# go on only if installation is executed:
if [ "$1" != "-d" ]; then
mknod $device c $nod 78
rm -f $modem 2> /dev/null
ln -s $device $modem
chgrp $group $device
chmod $mode $device
cp $driver.o $modulepath
cp $conffile $conffile.orig
grep -v "char-major-$nod"
$conffile.orig > $conffile
cat >> $conffile <<EOF
#:################################################
#:
#: Inserted by $0 (installation routine of
Lucent
#: internal modem) - do not change the following
#: lines, otherwise they might not get uninstalled:
#:
#: use this trick to install a module, that
has different
#: version to kernel:
#: btw. use -k -f, don't use -f -k!!!
install $driver insmod -k -f $driver
#: or you may also use this instead (then
insmod is
#: always called with -f option):
#: insmod_opt=-f
alias char-major-$nod
$driver
#:
#:################################################
EOF
fi
echo "Done."
Before you restart your linux box, it might happen that you get a warning telling /etc/conf.modules is more recent than /lib/modules/.../modules.dep. Just ignore it!
After the restart you can test you configuration. List the /proc/pci file with
> cat /proc/pci
and you should get something similar to (device number and addresses, IRQs etc. might be different):
Bus 0, device 6, function
0:
Communication controller:
Lucent (ex-AT&T) Microelectronics Unknown device (rev 1).
Vendor id=11c1.
Device id=449.
Medium devsel.
Fast back-to-back capable. IRQ 9. Master Capable. No bursts.
Min Gnt=252.Max Lat=14.
Non-prefetchable
32 bit memory at 0x80100000 [0x80100000].
I/O at 0x7090
[0x7091].
I/O at 0x7400
[0x7401].