On Fri, 2016-03-11 at 19:17 +0100, Marcin Szewczyk wrote: > 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? >
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. Like, literally when you're in a voice call you can write 16-bit 8khz PCM-coded audio data to ttyUSB3 and read the same format data from it. The interface becomes active when the modem dials a voicecall with ATDxxxxxxxx or some other command. 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. The CPU is not involved in audio processing or routing at all. This allows the CPU to go to sleep while the phone is held up to your ear and doing nothing. This is unfortunately highly platform specific. > 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? There is no standard that I know of for mPCIe voice routing, but at least some Telit and other devices dedicate 4 pins to I2S-based "Digital Voice Interface" stuff. Given that you need specifically wired mPCIE slots for connecting SIM cards I don't think you'll find too many that wire up I2S. > 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? 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. > Are there any modems that emulate an ALSA sound card? Not that I know of. > 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? 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 In any case, ModemManager would only control the voicecall start, stop, and perhaps configure the modem with vendor-specific commands to enable DVI over the I2S pins, but the actual audio handling would have to be done through hardware and other mechanisms. Dan _______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel