Re: Voice support methods in contemporary modems

2016-04-20 Thread Marcin Szewczyk
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=0=0=1457821946;
> hash=9f7b2671f9068c04d6ca770e04187bedbdf4e7b5=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
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel


Voice support methods in contemporary modems

2016-03-11 Thread Marcin Szewczyk
Hi,

sorry for writing on a devel group but I really did not find any better
place to ask. 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.

At first I thought that modems can use the serial interface to send
audio data the same way they do with internet data (TCP/IP). Was it ever
true?  Internet remembers things like FCLASS=8, AT+VTX, AT+VRX and
switching between modes with pause, +++, pause.

I thought that maybe mPCIe modem could do things like that using ttyUSB.

Then I found a thread on the Tizen bugtracker and some documentation on
Sierra and Telit modems. They seem to have an I2S interface on reserved
mPCIe pins.  Is it correct to assume that there is no other way but to
have a motherboard with I2S hardware support or an external ADC/DAC? Can
a regular Atom motherboard do things like that? Is there a de-facto
standard on using some specific pins for I2S on mPCIe and some
motherboards support that by forwarding sound to their Intel HDA for
example?

Then I have also read about QMI and MBIM protocols. Some of articles
mention voice in that context. Are there any devices supporting audio
transfer using just software without any soldering of I2S pins?

Are there any modems that emulate an ALSA sound card?

What are the options with voice support as far as contemporary (mainly
mPCIe) modems are concerned? I know that is a lot of questions but maybe
there is a good read you could provide me with?

Regards,

-- 
Marcin Szewczyk
http://wodny.org
___
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel