public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Denis Kenzior <denkenz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Cc: mpartap-hi6Y0CQ0nG0@public.gmane.org,
	merlijn-tF0PIh4TN3odnm+yROfE0A@public.gmane.org,
	sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	nekit1000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	ofono-bdc2hr5oBkPYtjvyW6yDsg@public.gmane.org,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Motorola motmdm support
Date: Sun, 30 Dec 2018 13:13:24 -0600	[thread overview]
Message-ID: <ea54fd64-d45f-7324-c5a9-6044ff34bb23@gmail.com> (raw)
In-Reply-To: <20181230181419.GE6707-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>

Hi Tony,

>> It might make your job easier if the oFono driver itself invoked the
>> necessary magic to setup the multiplexer and handed off the devices as
>> needed.  We used to have a driver like this, but not sure if it ever made it
>> upstream.
> 
> Playing with ldattach and user space handling earlier this year did
> not work out good.. It needed app specific handling for the Motorola
> custom layer on top of ts 27.010, custom handling for all the devices
> such as GNSS and audio mixer, and did not work well with device
> specific power management. So let's not go back to that :)

You still need someone to send AT+CMUX, no?  And you most likely need to 
integrate power management into the telephony stack anyway.  As I 
mentioned, we had a driver like this that worked just fine.  oFono ended 
up using a user space MUX since most of the quality of life improvements 
to n_gsm came in much later.  If I was writing a new MUXed driver these 
days, I'd seriously consider using GSMIOC_SETCONF and GSMIOC_ENABLE_NET.

How does the audio mixer handling work?  Just some AT commands to setup 
the mixing parameters, or something more involved?

Some other things to consider:
- oFono expects / is designed to expect exclusive access to all the tty 
ports
- GNSS/GPS is intended to be handled via oFono LocationReporting API.  I 
would recommend integrating this as intended...

> 
>>> One more question: I guess I'll need to implement this... Is there
>>> another example of driver doing AT commands but on multiple file
>>> descriptors? I could really use something to look at as a template..
>>
>> Any driver for a USB based device would be setup this way.  Each AT port is
>> a separate file, e.g. ttyUSB1, ttyACM2, etc.  The discovery is done via
>> udev.  See plugins/mbm.c or plugins/ublox.c or plugins/telit.c, etc.
>>
>> Assuming you don't want to setup the multiplexer in oFono, then the only
>> tricky part is the port setup.  udevng.c setup_serial_modem() assumes a
>> single port, so you might need to add some extra logic to setup the ports
>> via udev rules.
> 
> We have network status data at /dev/motmdm1, outgoing SMS PDU device at
> /dev/motmdm3, incoming SMS PDU device at /dev/motmdm9 and so on for each
> ts 27.010 channel. At least incoming and outgoing SMS PDU devices could
> be considered as separate modems if that makes things easier?

No, that just makes things more difficult.

> 
>> Alternatively, simply use a config file specific to your driver.  See for
>> example how plugins/phonesim.c does this.
>>
>> Or, if it is an extremely platform specific driver, then just hardcode it.
>> E.g. like plugins/calypso.c, which only works for the Freerunner.
> 
> Just adding one more thing to consider: Looks like the modem handling for
> SMS PDU's needs to be specific to the nework. First the network needs to
> be detected, and then the GSM or CDMA handlers need to be used for sending
> and receiving SMS. After that things should get standard.. Looks like
> ofono has parsing for the different type SMS PDUs in src/*sms*.c :)
> 

There's no real functional CDMA support in oFono anyhow.  Given that 
most CDMA networks are about to be switched off, I don't know why you 
would bother?

Regards,
-Denis

  parent reply	other threads:[~2018-12-30 19:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-29  9:49 Motorola motmdm support Pavel Machek
2018-12-29 21:16 ` Denis Kenzior
     [not found]   ` <e959006f-5f8d-8d25-b9d2-dbbcb6a5b073-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-12-29 22:08     ` Pavel Machek
2018-12-30  0:14       ` Denis Kenzior
     [not found]         ` <20181230181419.GE6707@atomide.com>
     [not found]           ` <20181230181419.GE6707-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-12-30 19:13             ` Denis Kenzior [this message]
     [not found]               ` <20181230202454.GF6707@atomide.com>
     [not found]                 ` <20181230202454.GF6707-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-12-30 20:46                   ` Denis Kenzior
     [not found]                     ` <20181230212253.GG6707@atomide.com>
     [not found]                       ` <20181230212253.GG6707-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-12-30 22:06                         ` Denis Kenzior
     [not found]                           ` <5950f965-effa-25ca-3533-de1b95923aa5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-12-30 22:33                             ` Pavel Machek
2018-12-31 21:54                         ` Pavel Machek
     [not found]                           ` <20181231222329.GI6707@atomide.com>
     [not found]                             ` <20181231222329.GI6707-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2019-01-02 12:15                               ` Pavel Machek
     [not found]                                 ` <20190107152908.GD5544@atomide.com>
     [not found]                                   ` <20190107152908.GD5544-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2019-01-07 17:41                                     ` Pavel Machek
2018-12-30 22:39 ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ea54fd64-d45f-7324-c5a9-6044ff34bb23@gmail.com \
    --to=denkenz-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=merlijn-tF0PIh4TN3odnm+yROfE0A@public.gmane.org \
    --cc=mpartap-hi6Y0CQ0nG0@public.gmane.org \
    --cc=nekit1000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=ofono-bdc2hr5oBkPYtjvyW6yDsg@public.gmane.org \
    --cc=sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox