Voice support methods in contemporary modems

Marcin Szewczyk modemmanager at wodny.org
Wed Apr 20 12:39:46 UTC 2016


On Fri, Mar 11, 2016 at 04:10:24PM -0600, Dan Williams wrote:
> On Fri, 2016-03-11 at 19:17 +0100, Marcin Szewczyk wrote:
> > [...] I am working on a phone-like device that could make a voice
> > call and sometimes send some data over the internet. I am confused,
> > probably because most of documentation on voice modems is from
> > another century.

> There are a couple different classes of devices here.
> 
> First you have typical dongles and mPCI/mPCIE/M.2 cards that use USB.
> Not all of these devices support voice calls though. But the ones
> that do typically expose a normal serial port (eg, ttyUSB3 or
> whatever) that speaks PCM audio. [...] One example is the Huawei
> K3520 USB dongle; many other Huawei dongles have voice support too.
> 
> But the modems usually found in embedded devices or phones have much
> different audio call routing, often because they don't use the main
> CPU for audio processing due to power/battery concerns.  In these
> cases the modem itself handles the audio and is directly connected to
> the DAC/ADC. [...]

My colleague had found a versatile device suitable for embedded
solutions. I have tested its EVB version. I thought it might be
interesting for anybody that finds this thread.

A Simcomm 7100E chip has LTE and comes in 3 versions:
- as a chip,
- as a mPCIe card,
- as a development board (EVB).

> The QMI and MBIM commands are only used to set up the voice calls, but
> don't have any relationship to audio routing.  That would be modem
> dependent. Some have specific pins/lines for the audio, others direct
> it over USB, etc.

> It does look like some mPCI devices do support I2S on the same pins,
> but I have no idea if any of this is standard.
> 
> http://www.telit.com/index.php?eID=tx_nawsecuredl&u=0&g=0&t=1457821946&
> hash=9f7b2671f9068c04d6ca770e04187bedbdf4e7b5&file=downloadZone/1VV0301
> 006_xE910_Mini_PCIe_Adapter_HW_USER_GUIDE_r10.pdf
> 
> http://www.eltech.spb.ru/files/item/MC8704.pdf

The chip by itself can send and receive digital audio through:
- PCM pins; on mPCIe it uses odd 45-51 pins -- same as the mentioned Telit
  and Sierra modems,
- ttyUSB after issuing an AT command; it works with PCM 16bit, 8kHz,
  Mono, LE.

Additionally when using the EVB, mPCIe (probably) or a self-developed
board with an added codec (ADC/DAC) it can send/receive analog audio
through 1 of 3 channels selected with AT commands. On electrical level
selection is done using I2C communication with the codec (WM8960 on the
EVB).

Manufacturer's website:
http://simcomm2m.com/En/module/detail.aspx?id=86

Russian (distributor's?) website with lots of documentation:
http://mt-system.ru/catalog/besprovodnye-reshenija/gsm-moduli-simcom/linejka-modulej-i-dokumentacija/sim7100e-pci-e

The chip is supported in newer kernels via the option module. Older
kernels are easily patchable:
https://github.com/torvalds/linux/commit/3158a8d416f4e1b79dcc867d67cb50013140772c

Establishing a data connection worked with pppd and Modem Manager 1.5.
Voice connections probably require some simtech plugin patching. I
haven't debugged it sufficiently yet.

-- 
Marcin Szewczyk
http://wodny.org


More information about the ModemManager-devel mailing list