Subject: Where to start?
From: Fabrice Bellard <>
Date: Fri, 09 Apr 1999 01:20:34 +0200


I have not read the mailing list, but the easiest way according to me
to make a generic winmodem without infringing the IP laws would be to
write a Linux .VXD loader. According to what I saw in the Windows
world, many winmodems have a big .VXD driver. I do not know very much
windows, but VXD drivers may communicate via only a few API calls with
windows, so it may be possible to emulate them.

Another topic too: I think it could be very interesting to launch a 'GNU
linmodem project' whose aim would be to rewrite a soft modem. A first
project is to write the protocol layer. A second one is to write the
data pump.

The protocol stuff is the easier to write because I think there are only
a few relevant patents. Only the V42bis/MNP stuff may be patented (and
defendable in court). According to what I know, the protocol part of a
modem can be *very* complicated because not all modems implement exactly
the standards. You have to fix some bugs of other modems ! But I think
this is doable, and no too different (in spirit) from the ISDN4Linux
kernel part (which implements all the ISDN protocol in software).

The datapump stuff requiers more skills in telecommunication.
Implementing the emission part may not be too difficult. The reception
part is more difficult because it is not specified in the standards, and
there are many possible algorithms. Since this is signal processing,
there is no 'best' method. However, the main problem here is patents.
Except for low speeds (maybe <= 2400 bits/s), I think it is difficult to
write some code without infringing patents. However, by using very
basics algorithms and old methods (Viterbi decoding,...), it may be
possible to avoid some patents. The most threatening patents are the one
which protects the modulation scheme itself. Only a search a the patent
database can give some help.

Note that the most sensible thing if you write a modem is that you write
both the protocol and the data pump. Believe me, the hardware interface
with the existing datapumps are completely proprietary, and I think that
only the original developpers themselves know how it works ! Doing
something for a PCTEL or something like AltoCom products may be the
right thing. And even in some countries, you would be able to completely
avoid the patent problem.

[You can republish this mail in the mailing list, except the part at the
beginning where I speak about a Linux winmodem].

Good luck,