penguin
PCTel Modems

There are a number of different types of PCTel winmodems available, some of these are PCTel boards, some are integrated into motherboards. Some use PCTel chipsets, whilst other do not. Currently we can break the modems down into two explicit groups: PCI Modems and AMR (Audio Modem Riser) Modems.

PCI Modems
The PCI Modems consist mainly of a DSP (Digital Signal Processor) and various other hardware, mounted on a standard PCI card, but accessed through a custom interface designed by the modem manufacturer. There are three common groups of PCTel PCI Modems:

PCT789 These modems are commonly refered to as a PCTel HSP MicroModem 56 and have very similar hardware with each model representing slight improvements over the previous one. The name comes from their PCI Id, which is of the form 134d:789x, where x is a number between 0 and 7:
PCI IdDescriptionChip
134d:7890PCTel HSP MicroModem 56PCT789T-C1
134d:7891PCTel HSP MicroModem 56PCT789T
134d:7892PCTel HSP MicroModem 56PCT789T-A
134d:7893PCTel HSP MicroModem 56S911 K017
134d:7894PCTel HSP MicroModem 56FT13
134d:7895PCTel HSP MicroModem 56PCT789T-C1
134d:7896PCTel HSP MicroModem 56PCT789T-C1
134d:7897PCTel HSP MicroModem 56PCT789T
PCT688T This modem is commonly referred to as a PCTel Oasis Modem. It can be recognised by its PCI Id:
PCI IdDescriptionChip
134d:2180PCTel Oasis ModemPCT688T
CM8738 This modem is branded as a C-Media CM8738 Modem and is easily recogized by its PCI Id:
PCI IdDescriptionChip
13f6:0211C-Media CM8738 ModemCM8738

AMR Modems
The AMR Modems are slightly more standardized in terms of the boards and the interfaces to the computer. They are either mounted on a small daughter-board (smaller than a PCI card) or are mounted directly on the motherboard (particularly in laptops). Basic access to the modem is via an AC'97 Controller, which provides a standard interface to some of the modems functions, however much of the modem is written in software and makes use of the custom chips hidden behind the AC'97 Controlled to actually act as a modem.

There are several AC'97 Controllers which can have PCTel modems behind them, with several from Intel, and other from SiS and VIA:

PCI IdDescriptionHAL
8086:2416Intel 82801AA (ICHAA) AC'97 Modem Controlleri8xx
8086:2446Intel 82801BA/M (ICH2) AC'97 Modem Controlleri8xx
8086:2486Intel 82801CA/M (ICH3) AC'97 Modem Controlleri8xx
8086:24c6Intel 82801DB/M (ICH4) AC'97 Modem Controlleri8xx
8086:7196Intel 82440MX (Banister) AC'97 Modem Controlleri8xx
1039:7013SiS AC'97 Modem Controllersis
1106:3068VIA AC'97 Modem Controllervia686a

Identifying an AMR- or AC'97-based modem is much less straightforward than identifying a PCI modem. The PCI Id that we see is that of the AC'97 Controller and not that of the modem. To identify the actual modem (or modem codec as it is known) we need to interrogate the AC'97 Controller and obtain the AC' codec id. This usually takes the form of three letters (denoting the manufacturer) and a number (usually in decimal, but sometimes in hex) which identifies the device:

Codec (dec)Description
DT2-49(PCTel Delta?)
DT2-50(PCTel Delta?)
SIL17Silicon Laboratories Si???? (PCTel Stinger?)
SIL33Silicon Laboratories Si3038 (PCTel)
TRA9TriTech

Linux Support
There are Linux drivers for most of these devices. For 2.4 kernels all but the Oasis model are supported. For 2.6 kernels, the PCT789 series and CM8738 are supported by one driver, and the AMR modems by another.

The original drivers for all of these modems were produced as closed-source modules for the 2.2 series of kernels. Through some dedicated work, the PCT789, CM8739 and AMR modems are well supported under 2.4. Currently only the PCT789 and CM8739 modems are supported by the PCTel driver under 2.6, though some of the AMR modems are supported by the SmartLink driver (in particular those with a SIL33 modem codec). The PCTel drivers can be downloaded from linmodems.technion.ac.il

The 2.6 driver is still being developed, and my thanks goes to Gustav Brabieri, Jeff Trull and Philip Brooks (whose company DMX Music actually donated a modem to the project) for getting this new driver off the ground.

The Oasis chipset is NOT well supported. The original driver has not really been worked on since 2.2, and my attempt at a 2.4 port has been unsuccessful (mainly because I don't have accesss to one of these modems). Experimental support under 2.6 may be obtained using the SmartLink driver.

If you are not sure which modem you have, then download and run scanModem from linmodems.technion.ac.il.