This is the OLD dialup howto documentation. DO NOT use or edit this. It is here only for archival purposes. Here is the NEW documentation: https://help.ubuntu.com/community/DialupModemHowto
This page tries to help you setting up the driver and configuration for a dialup connection over a modem. There are two parts to that:
- Identifying the type of modem you are using and installing its driver
- Configuring the dialup connection to your provider
Unfortunately these steps are not done automatically during the Ubuntu installation, but this is work in progress and will hopefully be improved in future releases.
This page often points you to web sites and asks you to download software. You will need another machine in order to do this, and a way to transfer data from the connected machine to the other one (e.g. floppies, USB keys, CD-R discs, Ethernet).
Installing the driver for your modem
Basically, there are two types of modems:
Software modems (Winmodems), which are usually delivered as PCI or USB devices or builtin with desktop PCs and laptops these days: Some of these are not supported under Linux, some are. If you bought your computer or modem recently (since ~ 2000), chances are, that you have one of this kind. A Winmodem is a combination of hardware known as chipset (much less than in a true pure hardware modem) and software (written for the Windows operating systems family). A Linmodem is a Winmodem working under the Linux kernel. This can be accomplished thanks to the Linmodems.org project.
Hardware modems, which are connected to the serial port for example and process the raw modem commands themselves: they have become very rare, but are well supported.
Software modems
Using scanModem Tool
There are different drivers available. To find out what kind of software modem you are using, go to linmodems.org, read the page, and download the scanModem tool (which will only recognize PCI and USB modems, not ISA modems). Copy it to your desktop in your Ubuntu machine, then open a command line and enter:
$ cd ~/Desktop $ gunzip scanModem.gz $ chmod +x scanModem $ ./scanModem
Gunzip will 'unzip' the file, chmod will mark it as executable, and ./scanModem will run it. If it tells you to do something as root by issuing su - root, instead just enter the commands it wants following a "sudo", e.g. $ sudo modprobe snd-intel8x0m. scanModem will scan your modem and tell you what it is and how to configure it. It will not configure it for you. But after running, you will see a number of new folders, including a 'Modem' folder. Read read1st.txt and modemdata.txt in there, and see if you modem was recognized. This is admittedly not a straight-forward read and might need some more reading around on above mentioned page to find out which drivers your modem needs. Then scan through the following sections to find out about the easiest way to install that driver under Ubuntu.
Note: For many of the following drivers, you will need to enable the universe/multiverse repositories. See AddingRepositoriesHowto. This requires you to have working network connection. You can also search for packages to download in another system and transfer to your Ubuntu installation at http://packages.ubuntu.com/ . Be careful with the dependencies... Check out this forum post for another way to get packages using the LiveCD on another system with network connection and a CD burner: http://www.ubuntuforums.org/showpost.php?p=893732&postcount=6
If compiling from source
On your way to configuring your modem drivers, you may find out that you need to compile from source. In that case, prior to compiling, insert your Ubuntu installation CD.
Instructions for adding the contents of the CD to your respositories list should appear on the screen as soon as the CD is inserted, if you are using Ubuntu 6.06 (Dapper Drake) or above.
If no instructions appear, or you are not using the graphical environment, you can add the CD to your list of repositories manually, by running
sudo apt-cdrom add
If you installed Ubuntu using the Alternate CD, or you are using a version of Ubuntu older than 6.06, the CD repository is already part of your list and you do not need to add it again.
Now, to install the packages needed for compiling, run
sudo apt-get install build-essential linux-headers-`uname -r`
If you need more packages for compiling, you can find them from http://archive.ubuntu.com - always check that your system satisfies the dependencies before installing a new package using this website. The website will list you a number of dependencies for each package. Make sure those dependencies are installed before installing a new package. You can use Synaptic or equivalent to check for installed packages.
Installing GCC 3.4
In some instances, you will need the packages for version 3.4 of the GCC compiler, which, unfortunately, are not present on the installation CD, and will have to be obtained from another machine.
The appropriate files, at the time of writing, can be found here:
http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/gcc-3.4-base_3.4.4-6ubuntu8_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/cpp-3.4_3.4.4-6ubuntu8_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/gcc-3.4_3.4.4-6ubuntu8_i386.deb
http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/g++-3.4_3.4.4-6ubuntu8_i386.deb
- Assuming you have downloaded the files, and know where they are, you
can install them using dpkg:
sudo dpkg -i gcc-3.4-base_3.4.4-6ubuntu8_i386.deb sudo dpkg -i cpp-3.4_3.4.4-6ubuntu8_i386.deb sudo dpkg -i gcc-3.4_3.4.4-6ubuntu8_i386.deb sudo dpkg -i g++-3.4-3.4.4-6ubuntu8_i386.deb
The order is important.
Modems supported by ALSA drivers (snd_atiixp_modem, snd_via82xx_modem, snd_intel8x0m)
If Modem/ModemData.txt tells you that the modem can be set up by loading (modprobe) the modules snd_atiixp_modem, snd_via82xx_modem or snd_intel8x0mcd, this section may be for you. You need the sl-modem-daemon package.
If you can go online with your Ubuntu, you can install the package/daemon by enabling the multiverse repository and then install the sl-modem-daemon package.
If you cannot go online with your Ubuntu, search for the package using http://packages.ubuntu.com/ , download (link to .deb is given under the text "Architecture") and transfer the package for your version of Ubuntu to your Desktop. After making sure you do not have any other .deb files in your Desktop, open a terminal (Alt+F2, type gnome-desktop -Ubuntu- or konsole -Kubuntu, hit enter), and type or copy-paste the following commands:
cd ~/Desktop sudo dpkg -i *.deb
You can delete the .deb file you used if the installation was successful.
To set your country, run sudo dpkg-reconfigure sl-modem-daemon -plow and follow instructions on the terminal. Restart the daemon with sudo /etc/init.d/sl-modem-daemon restart
For further information to configure the daemon (if it is not working), see the following "text" files (using a text editor like gedit or nano): /etc/default/sl-modem-daemon and/or /usr/share/doc/sl-modem-daemon/README.Debian
- Now you can go on to use a dialing tool (see table of contents of this wiki page; preferably wvdial for slmodems).
- If you get an error that says
FATAL: Module slamr not found. SmartLink modem driver not available for this Kernel. Please read README.Debian or try to install the package sl-modem-modules-2.6.15-20-686. Exiting... invoke-rc.d: initscript sl-modem-daemon, action "start" failed.
You will need to follow the instructions per section "Modems supported by the Smartlink driver" in this wiki page.
Modems supported by the Smartlink driver
Note: Every time you update the Linux kernel, you're going to have to run through the "Compiling the driver" procedure below again. This is usually the case when you upgrade from one version of Ubuntu (e.g. 5.10 Breezy Badger) to another (e.g. 6.04 Dapper Drake).
Preliminaries
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. Make sure you have followed the sections of this document entitled If compiling from source and Installing GCC 3.4.
Additionally, you will need the packages sl-modem-source sl-modem-daemon, which, unfortunately, may not be present on the CD and may have to be obtained from another machine.
Compiling the driver
- Now you can use module-assistant to compile and install the driver:
$ sudo module-assistant auto-install sl-modem
$ sudo depmod -a (this updates the list of available modules)
Getting the modem to work
Edit the "SLMODEMD_COUNTRY="-line of the file /etc/default/sl-modem-daemon to include your country. The other lines should be fine as default.
For the last step, run $ sudo modprobe slamr and $ sudo /etc/init.d/sl-modem-daemon restart and the device /dev/modem should appear. You can now go on configuring your dialup connection. (PS: This driver seems rather finicky, a reboot may help.)
Note about alternative drivers for some slmodems
- Some slmodems (those using the ALSA modem drivers, in this case) do not need compilation. An example is the winmodem of HP Pavilion zv5120us (which uses snd-atiixp-modem as the modem driver). Refer to your scanModem output if this is the case for you. To make such a modem work, see the section above about "Modems supported by ALSA drivers", or notes just below. This note on linmodems.org explains it:
From http://archives.linmodems.org/21040
Slamr has ceased to be the appropriate driver under more current 2.6.n kernels If your modem controller is one of these PCI ID modem controller name/source low_level_driver ======= =============== ======= ================= 1002:434d ATI snd-atiixp-modem 1002:4379 ATI " 1106:3068 VIA snd-via82xx-modem 10b9:5451 ALI 5451 audio with modem snd-ali5451-modem 8086:???? many Intel controllers snd-intel8x0m 10de:00d9 Nvidia Corp " 1039:7013 SIS 630 " Others? "
Dapper 6.06 Special Instructions
Due to a BUG in Ubuntu Dapper, you may need to follow these instructions, instead of the above module compilation instructions. First, check whether the bug is fixed yet. If it is, you can do the above steps. Steps below were taken from here.
- Read this entire document, as the steps below only compliment it and you should have all the preliminaries done as described for the Smartlink modem, but you can omit installing gcc-3.4 as this is not required for Dapper. Basically the sl-modem driver has to be installed first and then the sl-modem-daemon. The daemon in the repositories will work after an installation, but the /dev/ttySL0 will not be rewritten and the symlink to /dev/modem will not exist after a reboot. The new daemon found in the debian repos solve this. There was a mention that the daemon now looks for ungrab-winmodem and if you get an error message refering to this, you may need to install as well.
Download sl-modem-daemon2.9.9d+e-pre2-5.deb and sl-modem_2.9.9d+e-pre2.orig.tar.gz from the debian website http://packages.debian.org/unstable/misc/sl-modem-daemon. I have found that the slmodem-2.9.11-20051101.tar.gz works better in dapper and this can also be downloaded from the linmodem website http://phep2.technion.ac.il/linmodems/packages/smartlink/.
- It may also be required that you download and install the ungrab-winmodem from the linmodem website as well.
- Copy the sl-modem-daemon file to your local repository and update your Packages.gz file, this will allow you to install with Synaptic etc. Or use your favourite way to install a .deb file.
- Copy the sl-modem_2.9.9+e-pre2.orig.tar.gz ( or preferably the slmodem-2.9.11-20051101.tar.gz) file to your Desktop and right click on it and select “Extract here” and a folder wth the same name will be created with the extracted files on your desktop.
- Now rename the folder to an easier name such as “slmodem”
- Open a terminal and cd in to the slmodem folder
- Type make
- Type sudo make install
- Type sudo modprobe slamr
- Type dmesg | grep slamr
- Now install sl-modem-daemon2.9.9d+e-pre2-5.deb with Synaptic or in your own favourite way.
- Use Kppp to query the modem, if this works you are there!
- Edit /etc/default/sl-modem-daemon to change the line SLMODEMD_COUNTRY= USA to i.e SOUTHAFRICA or your country
- Type sudo /etc/init.d/sl-modem-daemon restart to restart the daemon.
- If you do a “Query modem” in Kppp and you will see that your country has changed.
- It seems as if the Smartlink modems with Netodragon chip MDV92XP does not work, but the ND92XPA chip works.
Modems supported by the Lucent driver
This section is for you if the output of scanModem tells you something like: 'The modem has a supported Lucent/Agere DSP (digital signal processing) chipset.'. You will be able to use a driver from the "restricted-modules" package, which should be installed by default.
(To check that the necessary package is installed, use your package manager, e.g. Synaptic or Adept. You need to look for a package, which is called linux-restricted-modules-ARCH, where ARCH is the last part of the $ uname -r output, i.e. your kernel flavor. If it is not installed yet, install it there.)
Setup steps for ltmodem
- In a terminal type
$ sudo sh -c "echo ltserial >> /etc/modules" $ sudo sh -c "echo ltmodem >> /etc/modules"
to add them to the module autoloading list. - Since udev rewrites /dev on each boot, and some dialup programs rely on the existence of /dev/modem, you need to have a symlink created on boot (from /dev/ttyLTM0 to /dev/modem). To do this, create the file /etc/udev/rules.d/10-local.rules, and put these lines in it:
#ltmodem KERNEL="ttyLTM0", SYMLINK="modem"
- Now load the drivers for the first time:
$ sudo modprobe ltserial $ sudo modprobe ltmodem
This should have created the device /dev/modem and you can now go on to configure your dialup connection.
No, I get an error about "FATAL: module not found" for this step
Note for "5.04 Hoary" users: Ubuntu 5.04 Hoary was shipped with kernel 2.6.10, which has some problems with these modules. To fix, change the grub boot commands /boot/grub/menu.lst as follows (pci=routeirq is new):
## ## Start Default Options ## ## default kernel options ## default kernel options for automagic boot options ## If you want special options for specifiv kernels use kopt_x_y_z ## where x.y.z is kernel version. Minor versions can be omitted. ## e.g. kopt=root=/dev/hda1 ro # kopt=root=/dev/hda1 ro pci=routeirq
Do not forget to update grub: $ sudo update-grub
Martian, an alternive to ltmodem
On 6.06.1, It's possible that as part of trying to load the ltserial module, you'll get the error: "FATAL: Error inserting ltserial (...): Invalid argument".
In this case, Installing the Martian driver may be a solution to get your Lucent winmodem to work. First, you'll need to follow the instructions above to install build-essential and your kernel headers packages, to prepare to compile the driver.
Download the most recent version with "full" in the name, from here: http://www.barrelsoutofbond.org/downloads/martian/
Instructions for installing the file software are in the "INSTALL" file. Until someone makes an "init" script for it, There is an additional step needed to be able to use the modem after you boot up.
sudo martian_helper --daemon
If your software expects the modem to be located at /dev/modem, you may also need to run this command:
sudo ln -s /dev/ttySM0 /dev/modem
Hopefully "Martian" will become an offical Ubuntu package to make this whole process easier.
Modems supported by the Intel537EP driver
This section describes how to install a 537EP driver on Dapper Drake 6.06 and 6.10.
Prerequisites
You will need the following:
1. A compatible Intel softmodem - supported models are 537, 537EP, 537SP, 537AA or 537EA. To find out what model you have, see the preceding section on ScanModem. 536* modems may work but I have not tested them.
2. A 32-bit kernel, if "uname -r" prints something ending in 386 or 686, you probably have a 32-bit kernel.
3. The Intel537EP driver, available at http://downloadfinder.intel.com/scripts-df-external/Detail_Desc.aspx?agr=Y&ProductID=1230&DwnldID=9284&strOSs=39&OSFullName=Linux*&lang=eng (more recent versions exist, but you will have to find the instructions yourself).
4. GCC 3.4, details on this are at the top of this page
5. Developer tools and the kernel headers, both of which are on the Ubuntu CD. See the section at the top of this page on compiling
Installing on Ubuntu 6.06
On 6.06, a complicated series of hacks are necessary. First, unpack the 537EP driver to a directory of your choice. A folder called Intel-537 should be created when you unpack. Rename that folder to whatever "uname -r" prints. After that, type in the following order: "make clean", "make 537", and "sudo make install". This will create and install the driver and a set of scripts. However, the boot script provided by Intel does not work on 6.06. Therefore, we have to sudo gedit /etc/init.d/537_boot and replace the script with the following:
kernel=`uname -r` serial="/etc/init.d/$kernel/Intel537.ko" device="537" registry="hamregistry" group="root" mode="664" if [ -a /etc/SuSE-release ]; then { group="dialout" } fi case "$1" in start | b) if ! ( modprobe -f $serial 1>/dev/null 2>/dev/null ); then { if ! ( insmod -f $serial 1>/dev/null 2>/dev/null ); then { echo error loading $serial rmmod $serial exit 1 } fi } fi major=`cat /proc/devices | awk "\\$2==\"Intel537\" {print \\$1}"` echo major="($major)" rm -f /dev/$device mknod /dev/$device c $major 1 2> /dev/null 1> /dev/null chgrp $group /dev/$device chmod $mode /dev/$device ln -sf /dev/Intel5370 /dev/modem 1> /dev/null 2> /dev/null if ! ps -C $registry 1> /dev/null 2> /dev/null; then { if ! ( /usr/sbin/$registry 2> /dev/null 1> /dev/null & ); then { echo "Modem registry ($registry) could not start." echo "Please see international users secion in readme.txt for more info." } fi } fi exit 0 ;; stop) rmmod 537 1> /dev/null 2> /dev/null rmmod 537_core 1> /dev/null 2> /dev/null rmmod $serial 1> /dev/null 2> /dev/null ;; restart | reload) /bin/bash "$0" stop /bin/bash "$0" start exit 0 ;; status) if lsmod | grep "$serial " >/dev/null; then { lsmod | grep "$serial " > /dev/null } else { echo "$serial NOT loaded" } fi if ps -C $registry 1> /dev/null 2> /dev/null; then { ps -C $registry } else { echo "$registry NOT running" } fi exit 0 ;; *) echo unknown $serial script parameter exit 1 esac exit 0
If you get an access denied error, type "sudo chmod 300 /etc/init.d/537_boot" and try again. To finish, copy the folder that you unpacked the driver to /etc/init.d with "sudo cp (foldername) /etc/init.d". After a restart, you should be able to dial a connection with your favorite dialer (personally, I experienced a lot of "LINE IS BUSY and NO DIAL TONE" errors before a successful dial).
Installing on 6.06.1
Fortunately, the install works perfectly on 6.06.1 (you have 6.06.1 if "uname -r" prints 2.6.15-27-386 or 2.6.15-27-686). Simply unpack, then type the following:
1. make clean 2. make 537 3. sudo make install
The boot script for this driver was designed for SUSE, so you will have to change the line in /etc/init.d/537_boot that says "mode=664" to "mode=666" if you want to dial without root permissions.
Installing on Edgy (6.10)
An edgy install is similar to the procedure for 6.06.1. However, the SUSE 9.3 drivers mentioned above return build errors when run through make. Therefore, we must revert to an earlier version, Phillipe Vouter's modified 2.60.80.1 drivers at http://linmodems.technion.ac.il/packages/intel/Philippe.Vouters/intel-537EP_secure-2.60.80.1_21_09_2006.tgz . You can build them with the same commands as those shown for 6.06.1, but make sure to type "export MODEM_TYPE=537EP", replacing 537EP with your modem type.
Credits
Kudos to chuckman78 for his guide (available at http://ubuntuforums.org/showthread.php?t=210405), from which I borrowed from extensively.
Modems supported by the Intel536EP driver
This page describes how to install the driver for the Intel 536EP internal modem on Ubuntu for i386 systems. Some of these are sold as Cnet modems and have Ambient chips on board. The process below is quick easy and works quite well.
The procedure is fairly similar for Ubuntu releases 4.10, 5.04 and 5.10. There is a minor complication on 5.10, discussed below.
- As of this writing, compilation and usage has been tested on 5.10, 6.06 and 6.10; only compilation has been tested on 5.04 and nothing at all tested on 4.10. If anyone else succeeds (or fails), please update this page.
There are 4 steps in this howto:
- Install required Ubuntu packages
- Download required files
- Compile the driver
- Install the driver
Install required Ubuntu packages
Ubuntu 5.04 (Hoary Hedgehog)
Make sure you have followed the section of this document entitled If compiling from source.
Ubuntu 5.10 (Breezy Badger)
Make sure you have additionally followed the section entitled Installing GCC 3.4.
Ubuntu 6.06 (Dapper Drake)
Ubuntu 6.10 (Edgy Eft)
It's not clear if you need GCC 3.4 for these; it will probably work with the 'normal' gcc you get when following the If compiling from source section.
Get the driver itself
- Download the drivers for the modem. For Ubuntu 5.04, 5.10 and 6.06, use this link:
- For 6.10, use this instead:
http://linmodems.technion.ac.il/packages/Intel/Philippe.Vouters/intel-536EP-2.56.76.0_21_09_2006.tgz
- Make sure you know where you've saved this file, which is named
Intel-536EP-4.71.tgz or intel-536EP-2.56.76.0_21_09_2006.tgz`; for the purposes of this document it will be assumed that it is in your home directory (which is /home/<username>, where <username> is your username).
Compiling the driver
- First we need to uncompress the downloaded file. Start a terminal window and run the following command:
tar xzf Intel-536EP-4.71.tgz
or (for 6.10)tar xzf intel-536EP-2.56.76.0_21_09_2006.tgz
This assumes you saved the file downloaded from Intel in your homedirectory; otherwise, type cd <directory-where-the-file-is> before typing the tar command above.
This will create a directory Intel-536 with the source contained in it. Change to this directory by typing
cd Intel-536
or (for 6.10)cd intel-536EP-2.56.76.0
Still in the terminal window, type the following:make clean
This should produce output looking like this:Try `uname --help' for more information. cd coredrv; make clean make[1]: Entering directory `/home/rory/Intel-536/coredrv' rm -f *.ko *.o *~ core make[1]: Leaving directory `/home/rory/Intel-536/coredrv' rm -f *.o *.ko
Now typemake 536
This will result in many lines of output being printed to the terminal window; you can ignore most of them. The final lines should look like this:CC /home/rory/Intel-536/coredrv/Intel536.mod.o LD [M] /home/rory/Intel-536/coredrv/Intel536.ko make[2]: Leaving directory `/usr/src/linux-headers-2.6.12-9-386' make[1]: Leaving directory `/home/rory/Intel-536/coredrv'
There should be an Intel536.ko file in the directory now; test this by typing ls -l Intel536.ko; the output should look like
-rw-r--r-- 1 rory rory 1070520 2005-10-16 21:02 Intel536.ko
The file size should be similar, though probably not identical.
Installing the driver
- There are two steps to installing the driver. The first is to copy the Intel536.ko file created above to an appropriate directory, and the second is to cause the driver to be loaded at boot time.
Installing the Intel536.ko file Copy the file to the modules directory by this command:
sudo cp Intel536.ko /lib/modules/$(uname -r)/kernel/drivers/char
You may be prompted for a password; if so, enter your user password.Make your system aware of this module with depmod:
sudo depmod -a
Finally, load the driver with the modprobe command:
sudo modprobe Intel536
This command should not print a response; if it prints something like this:FATAL: Module Intel536 not found.
you have made an error; most likely you have copied the file to the wrong place. If you see a different error message, there may be an error in the module, or your modem, or you may not have a Intel 536-based modem.Loading the driver at boot time
To load the module at boot time, we need to add a line "Intel536" to the file /etc/modules. First make a backup of the file:
sudo cp /etc/modules /etc/modules.backup
Now add the required line as follows:sudo sh -c "echo Intel536 >> /etc/modules"
Using the modem
The name of your modem device is /dev/536ep0. You can now use
sudo pppconfig to set up pon & poff. To use Kppp you will need to create a symlink be able to link the /dev/536ep0 to /dev/modem. Udev rewrites the /dev on each reboot and you thus have to create a file /etc/udev/rules.d/10-local.rules and put the following lines in it:
# Intelmodem536ep KERNEL="536ep0" SYMLINK="modem"
Now reboot and you can use Kppp to query the modem as this is a quick check if all is well before dialling out. Configure KPP for your ISP connection. These Intel modems are found to be more stable and less finicky that the Smartlink types on Breezy.
Modems supported by the Conexant drivers
Note: Conexant does not provide drivers for Linux, but commercial Linux drivers are available from Linuxant, a seperate company. Licenses cost 19.99 US dollars. That comes with at least one year support and kernel-version upgrades, after which you need to purchase it again if you are running a different kernel which needs a newer version of the driver. Without the license, the drivers are limited to a maximum speed of 14.4Kbps. However, some Conexant modems can be run with the sl-modem-drivers (smart link) or an open source driver. Note that in general, you can buy a Lucent or Intel (smartlink, or other brand with intel chipset) modem for less than 19.99 US.
Open Source
Rafael Espíndola has ported the latest open source Conexant driver to 2.6.x kernels. AlexandreOttoStrube packaged it for Ubuntu Breezy using kernel 2.6.12-8. The source code and the binary package for Breezy can be found at http://www.surak.eti.br/linux/ubuntu/deb/conexant/. An FTP mirror is at ftp://ftp.wizzy.com/pub/wizzy/conexant/ courtesy AndyRabagliati.
For Ubuntu 6.06 Dapper, modem-hsfpci.tar.bz2 is a script to extend this driver to other supported hsf modems and other kernels. Just unpack it and read the HOWTO.
Quick Steps for setup of Linuxant/Conexant HSF driver
- Assuming you know everything there is to know about your setup, all you need to do is:
Get the ZIPped Debian hsfmodem package from Linuxant from another connected machine (find the Ubuntu 5.10 package). Remember to extract the Debian package to your Desktop (easier to locate). You will use the terminal application to run the commands listed below. The terminal application looks in specific directories for ".deb" packages. If you download binary file then goto Step 3.
Step 1
If you are using Ubuntu 5.10 (Breezy Badger), make sure you have followed the section of this document entitled Installing GCC 3.4.
Step 2
- Then install hsfmodem:
unzip hsfmodem_*.deb.zip #extract file sudo dpkg -i hsfmodem_*.deb #install .deb package
Step 3
- And finalize the modem driver installation:
sudo hsfconfig
sudo hsfconfig will prompt you about your location, your email address and license credentials, assuming you've purchased one; if not, then go by the FREE license key which will grant you up to 14.4 kbps connectivity only
PCTel Modems
Original forum post here: http://ubuntuforums.org/showpost.php?p=928212&postcount=10 The OP couldn't edit the wiki, I thank him for his time and effort for contributing.
Following are the instructions:
In order to use PcTEL Micromodem 56 (HSP56 MicroModem Pctel, or any other modem supported by driver) you will have to switch to kernel 2.6.8.1 or lower. Even so, some units will NOT work with 2.6 kernel (consult README file in driver archive), but all of them work with 2.4 kernels. To make the short story long, going online on Ubuntu 5.10 aka. Breezy Badger you have to do four things: (before u do all this, read this section until the end) I. get some utilities (gcc & initrd among else) II. get vanilla kernel on www.kernel.org (I suggest) 2.6.8.1 III. Recompile the kernel IV.Install the driver and configure ppp
Here are the details: (I will assume your kernel source is in /usr/src
Open terminal and use root privileges
sudo apt-get install gcc-3.4 build-essential libncurses5-dev kernel-package gnome-ppp #this step ensures you will have easier time later on sudo ln -sf /usr/bin/gcc-3.4 /usr/bin/gcc # this will make your system use gcc 3.4 instead of 4.0.2 This is necessary because you will not be able to compile kernel with gcc-4 series
Go to your downloaded kernel folder
sudo tar -xvfj kernel-2.6.8.1.tar.gz cd kernel-2.6.8.1 sudo make mrproper sudo make xconfig #if xconfig doesn't work use menuconfig or gconfig instead
Configure your kernel if you know what you are doing, but you don't since you are reading this so don't do anything you are not 100% sure about.
File-> Load go to /boot and select config-2.6.12-9-386 or current config file (check with uname -r in a separate terminal) sudo make-kpkg clean sudo make-kpkg --initrd --revision=custom.1.0 kernel_image After couple of hours, or less depending on you CPU.... cd /root sudo dpkg -i kernel-image-2.6.8.1_custom.1.0_i386.deb
If something goes wrong you will have to delete folder in /usr/src with your new kernel's name, NOT your default kernel.
If something goes wrong, go to where your kernel source is and run sudo make clean and repeat everything above. If you are using GRUB that's it. No more. If you are using LILO, google a bit and you'll find how to configure it.
Only one note here: you will not see standard Ubuntu splash on boot process; screen will be black, but the boot will go as normal. If you want to see what is happening go to /boot/grub and open menu.lst and under line that goes boot /boot/vmlinus something...something quiet splash delete splash . Or, if you will you can go on-line and find a better way to do this. There are enough resources.
Second, if you are messing with configuration of the kernel, DO NOT change things you are not sure about. Sure, feel free to select only your graphic/music card or such things, but if you are not sure if you need something don't remove that. Remember, these are the settings that work.
- Actually, if this compiled kernel doesn't work, you will have to add some changes... and here they are: (you can do this in the first attempt)
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_BLK_DEV_INITRD=y
These settings may be changed in Block Devices in kernel configuration or you can open file /boot/config-2.6.8.1 and look for these lines (if they don't exist, make them).First thing seems to be nesessary only on older Pcs, but what does old mean is beyond me. I have Pentium II 400 Mhz @ 128 Mb RAM and it takes three hours to compile kernel if no changes are made to config file. Final size is cca. 12 Mb, however fully customized kernel is around 2 MB and it takes 30 minutes to compile. You can speed up the process by killing gdm and all the stuf you dont need. Here is how to: f1+ctrl+alt and then use sudo
sudo /etc/init.d/gdm stop
now continue with make menuconfig ...
See http://www.falkotimme.com/howtos/debian_kernel2.6_compile/ for more help on this (kernel compilation) step.
You will now have to download modem drivers and install them. Simply run
sudo ./setup Or in the ~/src folder sudo ./configure sudo make sudo make install
from within the untarred modem driver directory. In order to use second method you will have to copy your kernel source to /usr/src. Do this Only AFTER you have successfuly compiled the kernel, and DO NOT compile it from /usr/src.
Final step: once you have sucessfuly compiled the kernel and the drivers you will whish to be able to load the drivers every time you boot the machine. Here is how you do it: go to /etc and look for file called modules. Open it and add following lines:
linmodem pctel pctel_hw
You can also load them by
sudo modprobe linmodem sudo modprobe pctel sudo modprobe pctel_hw
In the end, you will have two kernels you can chose among, if something goes wrong. Remmember that what you do by using one kernel will not be undone when you use the other one.
Hardware modems
Hardware modems don't need a special driver. If your modem connects to the serial port and you know the COM port, the device name is /dev/ttySx, where x is one less than the COM port number. For example, if your modem is on COM2, the device is /dev/ttyS1, or if your modem is on COM1, the device is /dev/ttyS0. You can use this device name to configure your dialup connection.
Note by RaduCristianFotescu: I experienced the problem of a non-detected and not working external hardware serial modem (which made pppconfig, wvdial[conf] and gnome-ppp unuseable) even after issuing a 'sudo ln -s /dev/ttyS0 /dev/modem'. Of course, it previously worked in Slackware and Mepis! Eventually I got it working by making sure the modem was ON and connected to the RS-232 at the time when the kernel was booting! I guess it's smth with the boot scripts...
Configuring the dialup connection to your provider
There are different tools, which can help you to configure & establish a dialup connection. Some of them are command line based (pppconfig & pon/poff, wvdialconf & wvdial), while others use a graphical interface (System => Administration => Networking, kppp, gnome-ppp).
With all these tools, to establish a dialup connection, the user has to be member of the "dip" and "dialout" groups, so put all users who are supposed to connect via dialup into these groups:
$ sudo adduser USERNAME dip $ sudo adduser USERNAME dialout
where of course USERNAME has to be substituted.
You will also need to know the device node of your modem. The "Installing the driver"-section of this page should have told you about it. In case you don't know it, assume /dev/modem.
System => Administration => Networking (Ubuntu)
The Networking section of System => Administration will let you set up the ppp connection in a graphical interface. You have to know your device name, ISP phone number, username and password to set it up. You can also use the Gnome Modem Monitor and Network Monitor panel applets if you want to stop, start and monitor modem connections without opening the Networking GUI every time. Some people have had a problem with the modem dialing during bootup. This may be related to setting the modem as default route to the internet on the Options tab of Interface properties.
Note: It has been reported, that connections started with this interface might be very slow, if they work. You can try it, but if this is the case for you, just try one of the other options.
kppp (Kubuntu, but also possible on Ubuntu)
Kppp can be installed and comes with Kubuntu and is a very nice program with all the features you would like from a dialer. It has a nice window showing that it is connected and gives the duration as well. It can also be configured to calculate your telco connection cost. If it is not installed yet, you can install it with your package manager, e. g. $ sudo apt-get install kppp, and find it in the "Internet" section of the menu.
Every user, who is in the dip/dialout groups, can use kppp to configure, connect and manage a connection to an ISP. If you need help with its interface, go to "Help -- Handbook" or use the online handbook here: [WWW] http://docs.kde.org/stable/en/kdenetwork/kppp/
If you have problems with Authentification, you might want to edit /etc/ppp/peers/kppp-options and activate the line noauth by removing the comment sign.
pppconfig & pon/poff
This is a command line based option to manage dialup connections. This makes it very flexible, but maybe not so straightforward to configure.
Collecting Information
You will need:
- Your ISP's phone number
- Your username and password on the ISP
- The name of the modem device (/dev/...)
Setting up ppp
Open a terminal (Applications > System Tools > Terminal) and type
$ sudo pppconfig
- You will be on the main menu. Choose 'Create Create a connection'.
- Leave the name as 'provider', hit 'Ok'.
- Select 'Dynamic Use dynamic DNS', hit 'Ok'.
- Select 'PAP Peer Authentication Protocol', hit 'Ok'.
- Enter your user name for the ISP, hit 'Ok'.
- Enter your password for the ISP, hit 'Ok'.
- Leave the speed at 115200 as recommended, hit 'Ok'.
- Choose Tone or Pulse dialing, hit 'Ok'.
- Enter the phone number to your ISP (do not use any dashes), hit 'Ok'.
- You can try to have your modem detected automatically, but it did not work for me, even on my easily detectable external modem.
- If the modem wasn't detected, it will ask you for the port your modem is on. Enter the device name for your modem, hit 'Ok'.
- A summary screen will appear and give you the opportunity to make changes if needed.
- Choose 'Finished Write files and return to main menu.'.
- Choose 'Quit Exit this utility'.
Exit the terminal window, type:
$ exit
Connecting to the ISP
Log out and back in (for the group setting to take effect). Every "dialout/dip" user will now be able to connect and disconnect with these commands:
$ pon # connect to the ISP configured as "provider" $ poff # disconnect the ISP configured as "provider"
You can also check the last messages generated by these commands with:
$ plog # shows the (status) messages generated by pon and poff
If you want to configure more ISPs, start pppconfig again, go through the steps, but give it a different name in step 3 (e.g. provider2). You can then (dis)connect by pon provider2 and poff provider2.
Changing speaker volume
To quiet or silence the connection noises (dialing, negotiation, etc.), follow these steps:
Open a terminal (Applications > System Tools > Terminal) and type
$ sudo nano /etc/chatscripts/provider
- Locate the line marked 'OK-AT-OK'.
- Change 'ATDT' to 'ATxxDT', where 'xx' is one of the following:
- M0 Silence the speaker
- L1 Low volume
- L2 Medium volume
- L3 High volume For example: ATM0DT. Leave the rest of the line unchanged.
- Save the file (Ctrl-o) and exit (Ctrl-x).
Using Modem Lights panel-application
While it's good to be able to get online, it'd be nice to have a single way to either connect or disconnect.
The easiest way is by using Modem Lights. Right click on the top panel, select 'Add to panel', and choose 'Modem Lights'. If your modem device is other than ttyS0, you'll have to configure the app. Right-click Modem Lights, choose Preferences -> Advanced, and change the lock file to point to your modem device.
For example, if you have an internal modem on /dev/modem, the Device would be ppp0 and the Lock File /var/lock/LCK..modem
Besides allowing you to connect and disconnect with a single click, Modem Lights also gives you information on how long you've been connected, and a graphical view of your modem's activity.
wvdialconf & wvdial
I prefer wvdial, because it tells you whether your modem is configured or not. Type in a terminal
$ sudo wvdialconf /etc/wvdial.conf
If it says 'no modem found' or something similar, sorry... the driver for your modem seems not to be installed properly yet. The lack of a /dev/modem is not supposed to break wvdial's configuration. If the modem is found, finish the setup with:
$ sudo nano /etc/wvdial.conf
After opening the wvdial.conf file, input your ISP information where needed (look inside the file for fields) and add other options that might be needed for your software modem. You will know what these options are if you asked for help from linmodems.org mailing list. Examples options that you can try to add, if dialling does not work:
add X3 to Init2 (means dial without waiting)
add Carrier Check = no as a new line (useful for Smartlink modems)
add Stupid mode = on as a new line (will start pppd immediately--required by some ISPs)
Typing man wvdial.conf in a separate terminal will give details on options.
Once you are ready, save the file (Ctrl-o) and exit (Ctrl-x), and try to dial:
sudo wvdial
will dial and connect. Upon connection, it will spit out some information about your connection (local IP, remote IP, DNS address, etc.). Do not close the terminal where wvdial is running. Leave it alone until you want the connection to be terminated, and hit CTRL+C on that terminal once you want to end the connection.
If you lose the connection a short time after connecting (30 sec - 3 min), you might need to edit options for pppd:
gksudo gedit /etc/ppp/options
Find lcp-echo-interval30 and lcp-echo-failure4. Comment out these options by adding a '#' at the start of these lines, eg. # lcp-echo-interval30 and # lcp-echo-failure4.
If you connect successfully but your Internet applications do not function (eg. web pages do not load in Firefox), you might need to add replacedefaultroute as a new line in the pppd option file.
gnome-ppp
gnome-ppp is a graphical frontend to wvdial and can be installed by $ sudo apt-get install gnome-ppp. You will find it in the Applications menu and the configuration is probably straightforward.
If wvdial works but you have problems connecting with gnome-ppp, view the wvdial.conf you created earlier in the wvdialconf section above:
gksudo gedit /etc/wvdial.conf
open the wvdial.conf file that gnome-ppp creates (in a different location):
gksudo gedit $HOME/.wvdial.conf
and compare the settings. Change the settings in the gnome-ppp wvdial so they match the settings in the functioning /etc/wvdial.conf. Do not delete lines--if you need to remove a setting, simply delete the text to the right of the = sign, eg. "Init3 = ". Despite the warning at the bottom of the gnome-ppp wvdial.conf file, you can add lines if necessary, eg. "Stupid Mode = on".
Discussion
This page is way too long; it's difficult to read and edit. RoryYorke