The softmodems that can be found in today's notebooks have been a mess from the very beginning. This especially holds when such a modem is to be used on Linux. Today, we have gazillions of different (and incompatible!) methods of using these gadgets, but none of them works with all softmodem flavours out there. This article describes what I have tried to bring my hp compaq nc8000 online, and how I finally succeeded.
Unlike other parts of current Notebook issues (Centrino wireless LAN, UMTS, PCMCIA), using the softmodems isn't very well documented on the Web. Or, at least, the information available is not easily found due to the fact that there are so many different work methods, and nearly none of the authors out there bothers to clearly say what method he has used.
This article would not have been possible without the sl-modem-modules package built from Eduard Bloch's packages of sl-modem-source and sl-modem-daemon. I am not sure how much Debian-specific this information is, but I surely hope that the information presented herein is useable for other distributions as well.
There is an effort going on to support the modem hardware with open-source ALSA drivers, but it looks like these drivers are not yet mature enough to be really useable. So, I took the way of using the sl-modem-source package (from Debian non-free), which builds a kernel-dependent sl-modem-modules package using Eduard's great module-assistant. sl-modem-source is in non-free since there is a firmware blob included with the modules which is not DFSG-free.
The current sl-modem-modules need a userspace driver, sl-modem-daemon, to provide additonal services. Older sl-modem-modules don't need that daemon, so beware of misinterpreting older documentation (as I did in the process of my research). The Debian sl-modem-modules packages therefore provide sl-modem-modules-new, and the sl-modem-daemon package conflicts with the non-new sl-modem-modules package name. So, if you do act natively and do not try to be smarter than the Debian maintainer, you're going to install it right. I tried to be smarter than the Debian maintainer, which threw me back a few hours and left me without a working modem for the better part of a trip through Germany.
After installing the packages, all you need is to make sure that the slamr module gets loaded, and you're ready to use /dev/ttySL0. For some strange reasons, my normal way of testing a modem (using ser2net and telnetting to the serial port) doesn't work with slmodem (resulting in a "ser2net: Could not turn off break for device /dev/ttyS L0 port 6002: Invalid argument" error message in the syslog), so you'll be better off by directly trying the pppd.
To prove that the driver actually works, I am publishing this blog entry via a PPP connection through the softmodem.
After being on the road with the notebook and the softmodem for a week, I have learned again to appreciate the low latency of my DSL connection (with interleaving still enabled). With the modem connection's latency averaging 300 ms, including peaks in the low-to-mid single-digit second range, interactive work is not funny at all. It's better as GPRS in the first place, but not fun.
The softmodem is unfortunately a lot more flakier than one is used to with GPRS or a "real" modem. Seldomly a connect holds for longer than an hour, with the modem driver hanging afterwards - the ATZ of the re-dial attempt doesn't receive an answer. Fortunately, sl-modem-daemon stop/start solves the issue for the next connect, so at least no reboot is necessary and the X session can stay open.
Generally: Avoid softmodem at all cost, use only if no alternative is available at all.