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