Index . 블로그창고 . Any comments?

\cat freebsd, programming

slmodem
FreeBSD patch
How to test
Useful links

slmodem

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.

FreeBSD patch

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.

How to test

  1. Patch and recompile kernel and reboot. You should have the snd_ich module loaded.
    cd /usr/src
    patch < /tmp/ich.patch
    make KERNCONF=MYKERNEL kernel
    reboot
    
  2. Uncompress slmodem-2.9.10.tar.gz and patch.
    tar xvfz slmodem-2.9.10.tar.gz
    cd slmodem-2.9.10
    patch -p1 < /tmp/slmodem-2.9.10-freebsd.patch
    gmake modem
    
  3. As root, run slmodemd and test the 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.

Useful links


All the works in this site except software and copyrighted materials by others (e.g., 문학) are licensed under a Creative Commons License. 소프트웨어 및 문학과 같이 다른 이에게 저작권이 있는 작품을 제외하고 모두 크리에이티브 커먼즈 라이센스를 따른다.
Tue Oct 12 08:42:45 2021 . XHTML . CSS (lightbox.css is not part of Uniqki. ;-) . Powered by Uniqki!
refresh . edit . loginout . index