| k.i.s.s. is better | |
|---|---|
| Up | Un*x related stuff |
A patch for slmodem-2.9.11-20070204.tar.gz.
This patch is based on a patch created by Huidae Cho. The original slmodem archive is available from:
A patch for snd_hda(4).
This patch can apply to 7-current and 6-stable.
I've tested the patches on the following hardware with 7-current.
Toshiba Dynabook AX/940LS
http://dynabook.com/pc/catalog/dynabook/060807lu/spec.htm (in Japanese)
HDA modem codecs that has compatibility of Silicon Labs Si3054. Currently there are the following vendor ID / device ID.
slmodemd
Needs to use GNU make.
% tar zxf slmodem-2.9.11-20070204.tar.gz % cd slmodem-2.9.11-20070204/ % patch -p0 < /path/to/patchfile % gmake modem
The compilation log is here.
snd_hda
# cd /path/to/srcdir/ # patch < /path/to/patchfile # cd sys/modules/sound/driver/hda/ # make && make install
The verbose dmesg is here.
Recording and playback via the telephone line is OK (e.g. wavrec -M -s 8000 -b 16 -d /dev/dsp0 -t 10 incoming.wav).
Cannot detect a dialtone (NO DIALTONE). It can be avoid with a command atx3.
Cannot detect a carrier signal (NO CARRIER).
Dialing is failed because the dial pulse is incorrect (too short?). And the dial tone may be also incorrect.
So I try an another way to dialup. I connect a telephone to the same telephone line at the same time, and dials with it. Once a modem (counter side) is called, enter a command ata and then on-hook the telephone.
As a result, slmodemd starts a negotiation phase. But after a few seconds the modem says "NO ANSWER" and then on-hook the line.
Perhaps the input signal may not be processed at all by slmodemd.
Generated sounds (MP3): atdp1234567890, atdt1234567890, and ata.
The execution log is here (slmodemd -f /dev/dsp0 -d 12).
The simulated connection test progoram modem_test works well.
Huidae Cho's private site (the author of the original slmodem patch for FreeBSD)
The Intel High Definition Audio Specification
A source code that supports some HDA modem codecs in the ALSA driver
http://hg-mirror.alsa-project.org/alsa-kernel/file/5803f4258564/pci/hda/patch_si3054.c
If you send a e-mail about the patches to me, please insert a string "[slmodemd]" in the mail subject; otherwise your mail is buried in the many of SPAM. Sorry.