Re: WIP Droid 4 voice calls, GNSS & PM with a TS 27.010 serdev driver

From: Pavel Machek
Date: Sun Dec 23 2018 - 05:33:34 EST


Hi!

> 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 suspected it does not work in non-modular case, so I tried with
modules:

root@devuan:/my/ko# insmod gnss.ko
root@devuan:/my/ko# insmod gnss-motmdm.ko
insmod: ERROR: could not insert module gnss-motmdm.ko: Unknown symbol
in module
root@devuan:/my/ko# insmod n_gsm.ko
root@devuan:/my/ko# insmod snd-soc-motmdm.ko
insmod: ERROR: could not insert module snd-soc-motmdm.ko: Unknown
symbol in module
root@devuan:/my/ko# insmod motorola-mdm.ko
root@devuan:/my/ko# insmod snd-soc-motmdm.ko
root@devuan:/my/ko# insmod gnss-motmdm.ko
root@devuan:/my/ko#

But...

root@devuan:/my/ko# ls -al /dev/motmdm*
ls: cannot access '/dev/motmdm*': No such file or directory
root@devuan:/my/ko# ls -al /dev/gnss*
ls: cannot access '/dev/gnss*': No such file or directory
root@devuan:/my/ko#
[ 116.244445] gnss: GNSS driver registered with major 242
[ 119.892547] gnss_motmdm: Unknown symbol motmdm_register_dlci (err
-2)
[ 119.899444] gnss_motmdm: Unknown symbol motmdm_unregister_dlci (err
-2)
[ 129.145935] snd_soc_motmdm: Unknown symbol motmdm_register_dlci
(err -2)
[ 129.153106] snd_soc_motmdm: Unknown symbol motmdm_unregister_dlci
(err -2)
[ 131.120361] cpcap-usb-phy cpcap-usb-phy.0: connected to USB host
[ 161.190216] cpcap-usb-phy cpcap-usb-phy.0: connected to USB host
[ 191.270263] cpcap-usb-phy cpcap-usb-phy.0: connected to USB host
[ 221.360107] cpcap-usb-phy cpcap-usb-phy.0: connected to USB host
[ 251.429962] cpcap-usb-phy cpcap-usb-phy.0: connected to USB host
[ 281.509643] cpcap-usb-phy cpcap-usb-phy.0: connected to USB host
[ 292.816436] g_ether gadget: packet filter 0e
[ 292.825256] g_ether gadget: ecm req21.43 v000e i0000 l0

...do I need to make devices manually or some udev rules?

user@devuan:~$ cat /proc/devices | grep motmdm
user@devuan:~$ cat /proc/devices | grep gnss
242 gnss
user@devuan:~$

Hmm, I suspect the driver just did not recognize the hw.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature