Linmodems Mailing list Archives


Return-Path: <>
Mailing-List: contact; run by ezmlm
Delivered-To: mailing list
Received: (qmail 14339 invoked from network); 4 Jun 2001 02:22:08 -0000
Received: from (root@
  by with SMTP; 4 Jun 2001 02:22:08 -0000
Received: from ( [])
	by (8.10.1/8.10.1/SFU-5.0H) with ESMTP id f542LZe25768;
	Sun, 3 Jun 2001 19:21:35 -0700 (PDT)
Received: from localhost (really []) by
	via in.smtpd with esmtp (ident heby using rfc1413)
	id <> (Debian Smail3.2.0.111)
	for <>; Sun, 3 Jun 2001 19:23:51 -0700 (PDT) 
Date: Sun, 3 Jun 2001 19:23:51 -0700 (PDT)
From: christoph hebeisen <>
To: Starr Kline <>
Subject: Re: Conexant 56k HCF modem
In-Reply-To: <001101c0ec98$c5853740$73826ec6@starr>
Message-ID: <>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII


> I have a modem that uses a Conexant chipset (devid 1036) which is an HCF
> device.  I want to write a driver for it but am not sure where to begin.
> I'm very interested in low level system programming so module programming
> will be a welcome challenge the only problem will be figuring out how the
> modem works. 

you got it nailed - writing a module is not hard (and well documented).
neither is writing the frontend code (AT command parser etc.). but that's
about it for the simple part. the dsp (in this case "digital signal
process_ing_") code however is not trivial - in fact noone has come up
with an open source solution for any acceptable protocol (by acceptable i
mean v34(+) / v90/k56flex), that can only mean it's hard (i have some
other reasons to believe that it's hard as well...). then there is the
point that this dsp code actually runs on a dsp (now i mean "digital
signal process_or_") - that is, hopefully, because otherwise you'll have
big time trouble in a non-real-time os like linux (i keep forgetting which
group of implementations this particular modem belongs to so i don't know
right now if it has its own dsp). the assembly language for this dsp might
be not only obscure but also undocumented (well, of course it's documented

if you are extraordinarily lucky you might be able to cut the dsp code as
one chunk out of the windows driver and then you would "only" have to find
out how the interface works.

> Is anyone else working on something like this, and if so how
> are you going about it.  I've thought of reverse engineering the info from
> the Windows drivers, but I'm not sure if that is legal, and would be very
> difficult nonetheless (there being like 5-6 obscurely named device drivers
> to disassemble)

in the us (and given that you write from .edu land i suppose that's where
you live) the dmca (digital millenium copyright act) takes the right to
reverse engineer from you and puts pretty drastic penalties on it.

even if you come up with your own implementation of v90 you might still be
in legal trouble because at least parts of this protocol are patented.

are you scared yet?

well, this wasn't my plan, i'd honestly love to see someone come up with a
driver for this modem but this is unfortunately not a project for a coding
weekend with a book about dsp.


Christoph Hebeisen      
4848 Pender St       Burnaby, BC      V5C 2N6 Canada       +1 604 320-0485

Webmaster: Russell Nelson
Last modified: Wed Jul 30 11:02:43 EDT 2003