[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAGRyCJE28yf-rrfkFbzu44ygLEvoUM7fecK1vnrghjG_e9UaRA@mail.gmail.com>
Date: Tue, 30 Sep 2025 09:10:28 +0200
From: Daniele Palmas <dnlplm@...il.com>
To: Loic Poulain <loic.poulain@....qualcomm.com>
Cc: Slark Xiao <slark_xiao@....com>, Sergey Ryazanov <ryazanov.s.a@...il.com>,
Muhammad Nuzaihan <zaihan@...ealasia.net>, Johannes Berg <johannes@...solutions.net>,
Andrew Lunn <andrew+netdev@...n.ch>, Eric Dumazet <edumazet@...gle.com>,
"David S . Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
netdev@...r.kernel.org, Qiang Yu <quic_qianyu@...cinc.com>,
Manivannan Sadhasivam <mani@...nel.org>, Johan Hovold <johan@...nel.org>
Subject: Re: Re: [RFC PATCH v2 0/6] net: wwan: add NMEA port type support
Hi Loic and Sergey,
Il giorno lun 22 set 2025 alle ore 22:19 Daniele Palmas
<dnlplm@...il.com> ha scritto:
>
> Hi Loic,
>
> Il giorno lun 22 set 2025 alle ore 10:03 Loic Poulain
> <loic.poulain@....qualcomm.com> ha scritto:
> >
> > Adding Daniele,
> >
> > On Tue, Sep 16, 2025 at 9:23 AM Slark Xiao <slark_xiao@....com> wrote:
> > >
> > >
> > > At 2025-09-15 00:43:05, "Sergey Ryazanov" <ryazanov.s.a@...il.com> wrote:
> > > >Hi Slark,
> > > >
> > > >On 9/11/25 05:42, Slark Xiao wrote:
> > > >> At 2025-06-30 15:30:14, "Loic Poulain" <loic.poulain@....qualcomm.com> wrote:
> > > >>> On Sun, Jun 29, 2025 at 12:07 PM Sergey Ryazanov <ryazanov.s.a@...il.com> wrote:
> > > >>>> On 6/29/25 05:50, Loic Poulain wrote:
> > > >>>>> On Tue, Jun 24, 2025 at 11:39 PM Sergey Ryazanov <ryazanov.s.a@...il.com> wrote:
> > > >>>>>> The series introduces a long discussed NMEA port type support for the
> > > >>>>>> WWAN subsystem. There are two goals. From the WWAN driver perspective,
> > > >>>>>> NMEA exported as any other port type (e.g. AT, MBIM, QMI, etc.). From
> > > >>>>>> user space software perspective, the exported chardev belongs to the
> > > >>>>>> GNSS class what makes it easy to distinguish desired port and the WWAN
> > > >>>>>> device common to both NMEA and control (AT, MBIM, etc.) ports makes it
> > > >>>>>> easy to locate a control port for the GNSS receiver activation.
> > > >>>>>>
> > > >>>>>> Done by exporting the NMEA port via the GNSS subsystem with the WWAN
> > > >>>>>> core acting as proxy between the WWAN modem driver and the GNSS
> > > >>>>>> subsystem.
> > > >>>>>>
> > > >>>>>> The series starts from a cleanup patch. Then two patches prepares the
> > > >>>>>> WWAN core for the proxy style operation. Followed by a patch introding a
> > > >>>>>> new WWNA port type, integration with the GNSS subsystem and demux. The
> > > >>>>>> series ends with a couple of patches that introduce emulated EMEA port
> > > >>>>>> to the WWAN HW simulator.
> > > >>>>>>
> > > >>>>>> The series is the product of the discussion with Loic about the pros and
> > > >>>>>> cons of possible models and implementation. Also Muhammad and Slark did
> > > >>>>>> a great job defining the problem, sharing the code and pushing me to
> > > >>>>>> finish the implementation. Many thanks.
> > > >>>>>>
> > > >>>>>> Comments are welcomed.
> >
> > Daniele, do you think this feature could be relevant for Telit
> > modules, assuming any of them expose an NMEA channel?
> > Is that something you could test?
> >
>
> yeah, I think this is something I can test, not completely sure about when.
>
> But I'll try to have a look at this at worst in the next week.
>
I've finally found the time to have a try and after adding basic
support for the NMEA channels to mhi_pci_generic and mhi_wwan_ctrl,
besides a small build problem when applying the patches to net-next,
solved by changing:
diff --git a/drivers/net/wwan/wwan_hwsim.c b/drivers/net/wwan/wwan_hwsim.c
index a748b3ea1602..e4b1bbff9af2 100644
--- a/drivers/net/wwan/wwan_hwsim.c
+++ b/drivers/net/wwan/wwan_hwsim.c
@@ -236,7 +236,7 @@ static void wwan_hwsim_nmea_emul_timer(struct timer_list *t)
/* 43.74754722298909 N 11.25759835922875 E in DMM format */
static const unsigned int coord[4 * 2] = { 43, 44, 8528, 0,
11, 15, 4559, 0 };
- struct wwan_hwsim_port *port = from_timer(port, t, nmea_emul.timer);
+ struct wwan_hwsim_port *port = timer_container_of(port, t,
nmea_emul.timer);
it's basically working fine in operative mode though there's an issue
at the host shutdown, not able to properly terminate.
Unfortunately I was not able to gather useful text logs besides the picture at
https://drive.google.com/file/d/13ObWikuiMMUENl2aZerzxFBg57OB1KNj/view?usp=sharing
showing an oops with the following call stack:
__simple_recursive_removal
preempt_count_add
__pfx_remove_one
wwan_remove_port
mhi_wwan_ctrl_remove
mhi_driver_remove
device_remove
device_del
but the issue is systematic. Any idea?
At the moment I don't have the time to debug this deeper, I don't even
exclude the chance that it could be somehow related to the modem. I
would like to further look at this, but I'm not sure exactly when I
can....
Thanks,
Daniele
> Regards,
> Daniele
>
> > Regards,
> > Loic
Powered by blists - more mailing lists