This modem is very common on laptop motherboards. It looks something like this when you type "lspci" in a terminal:
0000:00:1f.6 Modem: Intel Corp. 82801DB (ICH4) AC'97 Modem Controller (rev 03)
Modifying your sources
In order to install this driver (and other non-free drivers that Ubuntu does not support), you will need to enable multiverse. See AddingRepostoriesHowTo
Unlike the above drivers, this driver is provided by Ubuntu in the multiverse repository and unlike drivers from the restricted repository is basically untouched by the Ubuntu development team. Hence you have to do a bit more work to get this one to go. And if you have trouble with it, the fault lies more with Debian than with Ubuntu, but is somewhat up in the air, since noone has the code.
Every time you update your operating system core (called "the kernel"), you're going to have to run through the "Compiling the driver" procedure below again.
These are steps you will only have to run through the first time you build this driver, we're just making sure you have all the installed packages you need. If any of these packages are already installed, that's fine, but if not, use Synaptic, aptitude or apt-get to install them.
Make sure you have the most up-to-date kernel available unless there's some reason why you want to run a specific kernel. Install the following package:
linux-ARCH (where ARCH is one of 686, 686-smp, k7 or k7-smp if you use Intel, powerpc for PPC...)
Also, you're going to be compiling this driver, and Ubuntu doesn't install the necessary programs for you to do this by default. So first we need to install several packages:
These will pull in some other packages too.
You also need to install the source of the SmartLink driver itself:
You can install all packages listed above at the same time.
Compiling the driver
Run the following steps in a console. Note that whatever directory you're working in will be filled with files. It doesn't matter exactly where this is done as long as you have write access in the directory.
tar -xjf /usr/src/sl-modem.tar.bz2 [this command unpacks all the files we will use into the current directory]
cd modules/sl-modem/debian [change to a particular directory where the instructions for building the module are, because we need to fix them to work with Ubuntu rather than Debian
Edit the control.modules.in file in this directory. In this file, there is a line reading:
Change this line to read:
fakeroot debian/rules kdist KVERS=`uname -r` KSRC=/usr/src/linux-headers-`uname -r` [this does the actual building of the driver against the current running kernel, it has a lot of output]
sudo dpkg -i sl-modem-modules-*.deb [this sometimes freezes, canceling it with Ctrl+C and trying again will eventually work]
Getting the modem to work
This driver seems rather finicky. Basically, if it works, a file called /dev/ttySL0 will exist. If it doesn't work, running sudo /etc/init.d/sl-modem-daemon restart may help, as might running modprobe slamr, but it seems somewhat random. A reboot may help too.
https://wiki.ubuntu.com/BinaryDriverHow ... tLinkModem