Thinkpad ACP modem (fwd)

Rob Mayoff linux-thinkpad@www.bm-soft.com
Tue, 18 May 1999 09:34:55 -0500 (CDT)


This is a message from the IBMer who is developing the MWave modem
driver for Windows 2000.  It's a response to some questions I sent him.
He may also be working on a Linux driver, according to some posts he
made on Usenet.

One interesting bit is that the Windows driver "carries out AT command
processing by dynamically loading code and data onto the DSP during the
various phases of call negotiation."  This indicates why we can't use
the modem simply by booting Windows first and loading the microcode -
there isn't a single microcode image for the DSP.

---------- Forwarded message ----------
From: Keith Frechette

Rob,

I can't remember if I already replied to your note. If you did, feel free to 
discard this one.

>Does the modem provide a serial-port-like interface to which you send
>standard AT-commands, like a normal modem? I am curious about what is
>done in user-mode vs. kernel mode in the Windows drivers.

Yes -- the hardware simulates a standard UART. In the strict sense, Mwave 
modems are not "win-modems", in that the modem protocols are not implemented 
in PC code. Rather, the DSP implements the modem protocols and the data 
pump, leaving the PC's CPU free for useful work. The bulk of the modem 
"driver" (PC code) is user-mode code that carries out AT command processing 
by dynamically loading code and data onto the DSP during the various phases 
of call negotiation. The kernel-mode driver, which is small in comparison to 
the user-mode code, exists primarily to configure the DSP (set up I/O, DMA, 
and IRQ resource usage) and to give the user-mode code access to the DSP 
hardware.

>Also, I don't know much about the MWave, but is the ACP the same
>thing? I know that my 770Z claims to have an MWave DSP, leading me
>to assume they are related.

ACP (Advanced Communication Port) Modem = Mwave DSP Modem. In practice, I 
believe only the "3780i" chips used in the newer ThinkPads (770 and 600 
series) are referred to as ACP.

>Lately I've gotten interested in MP3
>encoding/decoding, so I'm wondering if the MWave and/or ACP could be
>programmed for that purpose. Do you know if it's possible for >developers
>outside IBM to get specs for the MWave for this sort of thing?

Years ago, IBM sold an "Mwave Developers Kit" (MDK). This provided the tools 
and documentation needed to develop products for the IBM DSP, including the 
assemblers and debuggers needed for writing "DSP code." At that time, IBM 
hadn't really intended to build "products" with the DSP -- the DSP was to be 
a chip that OEMs would use in developing their own products, and the MDK 
gave these OEMs the ability to program the DSP to do whatever they wanted. 
However, the market changed, and OEMs decided they wanted "solutions" and 
not chips. So, the MDK fell by the wayside, and IBM began producing 
reference designs for products, including the corresponding modem and audio 
drivers, and OEMs merely cloned and sold the reference design adapters.

You can still find MDKs in the field, but I don't believe IBM still sells 
them.

-- Keith