Finding and configuring a modem on a laptop
This post is just to give some hits to people trying to get their internal modems to work on laptop PCs. This applies to people that tried to run kppp or gnome-ppp and are not able to find a working modem. This can't be considered a guide on how to install internal modems but it is just my experience that I would like to share. Very often, I understand, that it's just a driver that was not loaded or initialized and it's very likely that it is already there waiting for you to do it by hand... My portable PC ia a HP Compaq Workstation 8510w, so, if your laptop is in this family it's very likely that this experience applies to you perfectly. In most other cases I think its just an issue of identifying the correct driver.
Googling on the Internet I found that there is a very handy script that does the hard job of scanning your hardware and find the modems hidden somewhere (I did not even know that many modems are just softmodems emulated by the internal sound card!) This script is called scanModem and you can find it here: http://linmodems.technion.ac.il/ As root, after uncompressing it, change its rights with chmod u+x scanModem and run it with ./scanModem, on the current directory it creates a folder named Modem. Cd into it and look at this file less ModemData.txt. Inside it look for lines containing "needed", in my case I have:
. . . Predictive diagnostics for card in bus 00:03.0: Modem chipset detected on NAME="Communication controller: Intel Corporation Mobile PM965/GM965 MEI Control ler " CLASS=0780 PCIDEV=8086:2a04 SUBSYS=103c:30c5 IRQ=255 CHIP=0x14f12c06 IDENT=hsfmodem Driver=hsfmodem-drivers For candidate modem in: 00:03.0 0780 Communication controller: Intel Corporation Mobile PM965/GM965 MEI Contr oller Primary device ID: 8086:2a04 Support type needed or chipset: hsfmodem . . . Predictive diagnostics for card in bus 00:1b.0: Modem chipset not detected on NAME="Audio device: Intel Corporation 82801H " CLASS=0403 PCIDEV=8086:284b SUBSYS=103c:30c5 IRQ=17 HDA=8086:284b SOFT=8086:284b.HDA High Definition Audio (HDA) cards MAY host a modem chip in their Subsystem, and many are supported by the ALSA audio+modem driver snd-hda-intel A modem was not detected on HDA card 8086:284b. If another modem card is present, then most likely 8086:284b does not host a mo dem. If another modem card has not been detected, then possibilities are: 1) A Conexant modem chip is present on 8086:284b, as Conexant chips are frequently not detectable by ALSA diagnostics 2) The modem may be of the older non-PCI Controller Chipset (hardware) type. Try detection with Root permission: wvdialconf /etc/wvdial.conf For candidate modem in: 00:1b.0 0403 Audio device: Intel Corporation 82801H Primary device ID: 8086:284b Subsystem PCI_id 103c:30c5 Softmodem codec or chipset from diagnostics: 0x14f12c06 from Archives: The HDA card softmodem chip is 0x14f12c06 Support type needed or chipset: . . . Support can likely be achieved through two mutually exclusive alternatives: 1) The hsfmodem software for Conexant chipset modems: Read DOCs/Conexant.txt The following ALSA alternative CANNOT work with Conexant modems. 2) An ALSA modem driver plus slmodemd. Read DOCs/Smartlink.txt for details, and to test get the package SLMODEMD.gcc4.2.tar.gz from: http://linmodems.technion.ac.il/packages/smartlink/ . . .
So I found that I could have 2 modems: one is a real modem device and the other could be a softmodem. I started with the real device and I did locate hsfmodem (you need slocate package to index files in your HD and indexing done by means of updatedb) to find if I had something already in my system, a lot of stuff came out from this command! In /usr/lib/hsfmodem/modules there were already the sources of the driver waiting for me to compile them! I went to that folder and I looked for some documentation (which was missing, so I did make and make install. Surprising enough sources compiled but the driver did not install, moreover the sources were completely disappeared! Ok, I did an equo install hsfmodem and the real solution magically came out:
* To complete the installation and configuration of your HSF modem, * please run hsfconfig.
So I did it hsfconfig. This script asked me some information about my kernel, my location (my country), it built the sources, installed drivers and at the end the modem was there!
# ls -l /dev/modem lrwxrwxrwx 1 root root 8 26 nov 2008 /dev/modem -> ttySHSF0
Running kppp /dev/modem is actually working!
In my search for the modem I understood that in other cases a different driver could be needed or more drivers like in case of softmodems: an ALSA driver and the slmodemd daemon. It is difficult to guess which modem driver not having the hardware to test... So I leave this exercise to you. The following link in Gentoo wiki could also help for slmodems (Smart Link chip based modems): http://www.gentoo-wiki.info/HOWTO_slmodem