[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87musst6wo.fsf@miraculix.mork.no>
Date: Sat, 08 Sep 2018 16:12:23 +0200
From: Bjørn Mork <bjorn@...k.no>
To: Kristian Evensen <kristian.evensen@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
Kristian Evensen <kristian.evensen@...il.com> writes:
> Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
> interfaces, without the device changing VID/PID or configuration number.
> When the configuration is updated and interfaces are added/removed, the
> interface numbers change. This means that the current code for matching
> EP06 does not work.
That's annoying, but hardly surprising. They obviously try to make life
as hard as possible for the drivers. I wonder what the Windows drivers
do here, if there are any? Or are these modules only used in embedded
Linux devices?
> This patch removes the current EP06 interface number match, and replaces
> it with a match on class, subclass and protocol. Unfortunately, matching
> on those three alone is not enough, as the diag interface exports the
> same values as QMI. The other serial interfaces + adb export different
> values and do not match.
>
> The diag interface only has two endpoints, while the QMI interface has
> three. I have therefore added a check for number of interfaces, and we
> ignore the interface if the number of endpoints equals two.
Could this break if more/other functions are enabled? Are you sure
there can't be any other type of serial function with 3 endpoints and
ff/ff/ff? Well, I guess no one knows for sure... And this is more than
good enough until it breaks. Thanks for solving the puzzle. Looks good
to me.
Acked-by: Bjørn Mork <bjorn@...k.no>
Powered by blists - more mailing lists