Getting a Si3054 modem working on Hardy HeronMay 7, 2008 at 10:00 | Posted in Tech | 2 Comments
Tags: Hardy, heron, howto, laptop, modem, no dialtone, si3054, slmodemd, Ubuntu
Over the last 2 days or so I’ve been enjoying the challenge of getting the Si3054 modem in my laptop to work with Hardy Heron (Ubuntu 8.04). Early on I was quite pleased when the scanmodem script from http://linmodems.technion.ac.il recognized my modem and said all I needed was to install the slmodemd daemon for it. I was even more pleased to see that slmodemd was in the repositories as sl-modem-daemon.
I installed the package and started testing … and that is where I hit a snag.. Everything seemed o.k. but I kept getting “NO DIALTONE” when trying to talk to the modem.. and it was coming back way too fast so I could tell it wasn’t even really checking. After much googling and reading of documentation I found a post that recommended downloading SLMODEMD.gcc4.1.tar.gz and trying the slmodemd out of it. I did.. it worked. I could fax and everything… cool
so here is a brief rundown for others having the same problem.
First do install the package from the repository and test it with the appropriate settings which will look something like:
sudo slmodemd -c CANADA --alsa hw:0,6
Obviously you will need to change the settings to match your location and hardware
— update —
O.k. realized I forgot to tell people how to determine the “right” hardware”. There is a script from the people that make the drivers here. Download it.. then:
chmod u+x scanModem
This will create a directory called “Modem“
In that Directory you’ll find lots of info. You’ll primarily be interested in a file called ModemData.txt. In that file look for a like that reads like:
"The modem cards detected by "aplay -l" are: card 2: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]"
This line tells me my setting (things have changed since I first wrote this) should be hw:2,6
—- end update —-
Then test the modem. I used minicom as I have been around modems since the days of 300 baud and am just plain used to talking to them with “AT” commands. You may wish to try the recommended wvdial test recommended on the linmodem homepage, or what ever other test you are comfortable with that will return good information from the modem.
If, like me, you find that you aren’t able to get anywhere try downloading SLMODEMD.gcc4.1.tar.gz. Extract it to a folder and then open that folder in a terminal.
make sure no copies of slmodem are running:
ps -A | grep slmodemd
should return nothing if you see a one running just
sudo killall slmodemd
now run the new slmodemd from the package you downloaded with
sudo ./slmodemd -g dialout -c CANADA --alsa hw:0,6
the -g dialout is added because the downloaded package is set to have a default group of UUCP that doesn’t fit well with Ubuntu (non root users won’t be able to access the modem because they aren’t part of the uucp group). Again you will need to set the country and Hardware up to match your location and hardware.
go and do your testing again. (minicom, wvdial, etc). If it works ctrl-c out of the slmodemd process. you can now either choose to just run the new one manually all the time (rather a pain) or just:
sudo cp ./slmodemd /usr/sbin/slmodemd
To replace the not working one with the one we just downloaded
Then you will want to edit /etc/default/sl-modem-daemon and set the following
Set the SLMODEMD_DEVICE= to your hardware (in my case SLMODEMD_DEVICE=hw:0,6)
Set the SLMODEMD_COUNTRY= to the correct country (
slmodemd --countrylist will pop out a list of supported countries)
you’ll also need to edit the OPTS= line so it looks like OPTS=”-g dialout” or you’ll have the uucp group/permissions problem mentioned above.
now save the file
and you should be able to do a
sudo /etc/init.d/sl-modem-daemon restart
ps -A | grep slmodemd
to see that it started o.k.
and then run your tests again and (hopefully) you now have a working modem
——- Update ——–
If you are trying to receive faxes and still having problems check this post.