\cat freebsd, programming
slmodem is the Smart Link Soft Modem for Linux that provides a full-featured 56K Voice Fax Modem (README from slmodem distribution). Most of today's consumer laptops have a so-called WinModem, which does not have a controller or even a DSP (digital signal processor). For these modems, a special driver is needed to make them work, but, unfortunately, there are no open source drivers yet except for Lucent chip based modems.
I have a Sony VAIO S360 laptop, which has an Intel ICH4 AC'97 Modem based on a Conexant chipset. It's not supported by the ltmdm port in FreeBSD, so I searched the internet for a solution and found this page (translated). Well, translation doesn't seem that good, but it's better than nothing. They are trying to port slmodem to FreeBSD, but it's not complete yet. However, NetBSD users have made a small progress to get it working. It seems pretty much like an alternative to the ALSA modem driver in Linux.
I decided to compile slmodem by myself and created a patch for FreeBSD, but it doesn't work since I don't have much knowledge about driver development. Anyway, please feel free to modify and test this patch if you're interested in getting the AC'97 modem working in FreeBSD. Please share your results if you make any progress.
cd /usr/src patch < /tmp/ich.patch make KERNCONF=MYKERNEL kernel reboot
tar xvfz slmodem-2.9.10.tar.gz cd slmodem-2.9.10 patch -p1 < /tmp/slmodem-2.9.10-freebsd.patch gmake modem
modem/slmodemd --freebsd=/dev/dsp1& cu -l /dev/ttySL0 # Device name may be different ati ati1 ati3 atdt111 # Don't expect much. It doesn't work! :-( ~. killall -9 slmodemd
Note that modem/dsplibs.o is a Linux binary file, so I'm not sure if it will work with other object files compiled on FreeBSD. Interestingly enough, compilation was OK, but it can cause problems.
Any feedback is welcome.