linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* WIP Droid 4 voice calls, GNSS & PM with a TS 27.010 serdev driver
@ 2018-12-17  0:44 Tony Lindgren
  2018-12-18 12:46 ` Pavel Machek
                   ` (3 more replies)
  0 siblings, 4 replies; 25+ messages in thread
From: Tony Lindgren @ 2018-12-17  0:44 UTC (permalink / raw)
  To: linux-kernel, linux-arm-kernel, linux-omap
  Cc: Jarkko Nikula, Johan Hovold, Kuninori Morimoto, Marcel Partap,
	Merlijn Wajer, Michael Scott, NeKit, omerlle, Pavel Machek,
	Sebastian Reichel, Peter Ujfalusi, Rob Herring

Hi all,

So the little elves have been slowly working to get voice calls
working on droid 4 with the mainline kernel. And just in time for the
upcoming holidays, it might be possible to call friends and relatives.

I've pushed out an experimental branch containing serdev ts 27.010
UART multiplexing support. That contains a serdev core driver for the
mdm6600 modem (that also now idles the modem for PM), support for Alsa
ASoC voice codec and mixer, and a GNSS driver for the GPS.

Where it does not make sense to do a kernel serdev driver, I've
exposed the rest of the available 27.010 channels as ten /dev/motmdm*
character devices. There's /dev/motmdm1 for AT commands to dial voice
calls, /dev/motmdm3 for SMS eventually, and I think there's also a SIM
card reader at /dev/motmdm10. Then /dev/motmdm7 seems to be just an
echo channel. The other channels are still a bit of a mystery.

I'll be cleaning up these patches and submitting them for review
when ready. If anybody feels like helping, I've added some REVISIT
comments to the patches. The patches are in a git branch at [0][1]
below based on a few Alsa ASoC patches for v4.21 from Linux next.

Thanks everybody for helping with comments and code to get the
various pieces working, below are some brief instructions too :)

Cheers,

Tony

[0] https://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git/log/?h=droid4-pending-mdm-v4.20
[1] git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap droid4-pending-mdm-v4.20


8< ----------------------
Serdev voice call and GNSS instructions for droid 4

1. Configure alsamixer

Speaker Right -> Voice
Call Noise Cancellation -> Unmute
Call Output -> Handset
Call -> 100
Mic2 -> 40
Left -> Mic 2
Voice -> 55

Voice call should get automatically enabled for the duration of
voice calls

2. Test a voice call

$ minicom -D /dev/motmdm1	# Then Ctrl-a-e to enable local echo
AT				# Case sensitive AT commands..
:OK				# Response uses : as separator..
AT+CFUN=1			# Enable radio
+CFUN:OK
~+RSSI=1,9,108,99,0,0,0
...
ATD1234567890			# Dial some phone number
D:OK
...
ATH				# Hang up
H:OK

3. Test GNSS

$ cat /dev/gnss0
$GPGSV,3,1,11,03,,,,05,14,313,,07,66,322,,08,32,106,*43
...

4. Known pending issues

There's an issue with gpsd not parsing $GNGNS packets, see
https://lists.gnu.org/archive/html/gpsd-dev/2016-05/msg00298.html

Sending SMS should be doable by writing to /dev/motmdm3 but I have
not quite figured out the message format

I have not tested with built-in modules.. There may be some
deferred probe issues remaining.

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2019-01-17 12:51 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-17  0:44 WIP Droid 4 voice calls, GNSS & PM with a TS 27.010 serdev driver Tony Lindgren
2018-12-18 12:46 ` Pavel Machek
2018-12-18 15:36   ` Tony Lindgren
2018-12-18 20:22     ` Pavel Machek
2018-12-18 21:53       ` Tony Lindgren
2019-01-16 13:48         ` Pavel Machek
2019-01-17  2:54           ` Tony Lindgren
2019-01-17 12:51             ` Pavel Machek
2018-12-22 23:05 ` Pavel Machek
2018-12-23 10:33 ` Pavel Machek
2018-12-23 11:10   ` Pavel Machek
2018-12-23 15:51     ` Tony Lindgren
2018-12-23 19:59       ` Pavel Machek
2018-12-26 21:16       ` Pavel Machek
2018-12-27 10:16 ` Pavel Machek
2018-12-28 19:31   ` Tony Lindgren
2018-12-28 20:46     ` Pavel Machek
2018-12-28 22:28       ` Tony Lindgren
2018-12-28 23:25         ` Pavel Machek
2018-12-28 23:34           ` Tony Lindgren
2018-12-31 22:20         ` Tony Lindgren
2019-01-16 13:58     ` Pavel Machek
2019-01-16 14:59       ` Tony Lindgren
2019-01-16 15:09         ` Tony Lindgren
2019-01-16 23:06         ` Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).