[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170201083312.GA6609@pali>
Date: Wed, 1 Feb 2017 09:33:12 +0100
From: Pali Rohár <pali.rohar@...il.com>
To: Tony Lindgren <tony@...mide.com>
Cc: Kalle Valo <kvalo@...eaurora.org>, Pavel Machek <pavel@....cz>,
Arend Van Spriel <arend.vanspriel@...adcom.com>,
Ming Lei <ming.lei@...onical.com>,
"Luis R. Rodriguez" <mcgrof@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
David Gnedt <david.gnedt@...izone.at>,
Michal Kazior <michal.kazior@...to.com>,
Daniel Wagner <wagi@...om.org>,
Sebastian Reichel <sre@...nel.org>,
Ivaylo Dimitrov <ivo.g.dimitrov.75@...il.com>,
Aaro Koskinen <aaro.koskinen@....fi>,
Grazvydas Ignotas <notasas@...il.com>,
linux-kernel@...r.kernel.org, linux-wireless@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for
loading NVS calibration data
On Tuesday 31 January 2017 07:59:18 Tony Lindgren wrote:
> * Kalle Valo <kvalo@...eaurora.org> [170130 22:36]:
> > Tony Lindgren <tony@...mide.com> writes:
> >
> > > * Pavel Machek <pavel@....cz> [170127 11:41]:
> > >> On Fri 2017-01-27 17:23:07, Kalle Valo wrote:
> > >> > Pali Rohár <pali.rohar@...il.com> writes:
> > >> >
> > >> > > On Friday 27 January 2017 14:26:22 Kalle Valo wrote:
> > >> > >> Pali Rohár <pali.rohar@...il.com> writes:
> > >> > >>
> > >> > >> > 2) It was already tested that example NVS data can be used for N900 e.g.
> > >> > >> > for SSH connection. If real correct data are not available it is better
> > >> > >> > to use at least those example (and probably log warning message) so user
> > >> > >> > can connect via SSH and start investigating where is problem.
> > >> > >>
> > >> > >> I disagree. Allowing default calibration data to be used can be
> > >> > >> unnoticed by user and left her wondering why wifi works so badly.
> > >> > >
> > >> > > So there are only two options:
> > >> > >
> > >> > > 1) Disallow it and so these users will have non-working wifi.
> > >> > >
> > >> > > 2) Allow those data to be used as fallback mechanism.
> > >> > >
> > >> > > And personally I'm against 1) because it will break wifi support for
> > >> > > *all* Nokia N900 devices right now.
> > >> >
> > >> > All two of them? :)
> > >>
> > >> Umm. You clearly want a flock of angry penguins at your doorsteps :-).
> > >
> > > Well this silly issue of symlinking and renaming nvs files in a standard
> > > Linux distro was also hitting me on various devices with wl12xx/wl18xx
> > > trying to use the same rootfs.
> > >
> > > Why don't we just set a custom compatible property for n900 that then
> > > picks up some other nvs file instead of the default?
> >
> > Please don't. An ugly kernel workaround in kernel because of user space
> > problems is a bad idea. wl1251 should just ask for NVS file from user
> > space, it shouldn't care if it's a "default" file or something else.
> > That's a user space policy decision.
>
> Grr I keep forgetting it needs to be for each device manufactured so
> yeah that won't work.
>
> The names of standard distro files are hardcoded into the kernel
> driver so it's also a kernel problem though :p
>
> How about a custom devices tree property saying "needs-custom-firmware"?
How does it help request_firmware() call which automatically loads
firmware file from VFS (if is available)?
> Something that would prevent anything being loaded until user space
> loads the firmware. It could also be set in the driver automatically
> based on the compatible flag if we always want it enabled. And we could
> have some cmdline option to ignore it. Or the other way around whatever
> makes sense.
So you just want to kernel automatically prevent loading firmware file
(based on flag which driver can set). That is similar approach as mine.
> > Why can't you do something like this:
> >
> > * rename the NVS file linux-firmware to wl1251-nvs.bin.example
>
> As that name is hardcoded in the kernel and that file is provided by
> all standard distros, let's assume we just have to deal with that ABI
> forever.
Yes.
> > * before distro updates linux-firmware create yours own deb/rpm/whatever
> > package "wl1251-firmware" which installs your flavor of nvs file (or
> > the user fallback helper if more dynamic functionality is preferred)
>
> And that won't work when using the same file system on other machines.
>
> Think NFSroot for example. At least I'm using the same NFSroot across
> about 15 different machines including one n900 macro board with smc91x
> Ethernet.
Exactly problem which we already discussed in previous emails. You
cannot serve one file (loaded by direct request_firmware) when your
rootfs is readonly, e.g. comes via NFS shared for more devices...
--
Pali Rohár
pali.rohar@...il.com
Powered by blists - more mailing lists