Monday, August 11, 2008

Intel HDA modem on Hardy Heron

My laptop, a two years old Toshiba A100 Core Duo, has a built-in modem. It is based on Intel HDA modem. I have been struggling to use it under Ubuntu during its (the laptop) early day.
So, I never touch it again, instead I have been using my Dopod 383Pro as HSDPA modem -- in emergency situation.
Today, I have seen several articles pointing at slmodemd and how to use it.
In the spirit of knowledge sharing, I posted this article to make life easier and "cleaner" for Linux users to configure their modem.
Having searched the Ubuntu package repository, I discovered that slmodemd is available in restricted repository. So, I fire up:
apt-get install sl-modem-daemon
Apt installed the package and tried to auto detect the modem which in turn failed.
Reading at several posts on this topic, I modified the default configuration at /etc/default/sl-modem-daemon and changed the following entries:
SLMODEMD_DEVICE="hw:0,6"
SLMODEMD_COUNTRY=INDONESIA
FORCESTART=1
You may change the SLMODEMD_COUNTRY to your country where you are residing.
Btw, you may wonder how can I get that hw:0,6 as my SLMODEMD_DEVICE. Well, here is why.
hw: the convention for ALSA hardware naming
0,6: card 0 device 6
In order to get that information, you can run aplay -l to list the ALSA playback hardware. Mine is shown below:
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC861 Analog [ALC861 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Then I started the daemon using:
sudo /etc/init.d/sl-modem-daemon start
It didn't say any problem. So, I guess it should work fine. I checked using ps -ef , the slmodemd was running. So, I fired up sudo wvdialconf and it detected my modem and created /etc/wvdial.conf.
Well, the next step was to fill in my ISP credential in that file and I was connected in no time.