From: Maximilian Luz <luzmaximilian@gmail.com>
To: "Pali Rohár" <pali@kernel.org>
Cc: "Jonas Dreßler" <verdre@v0yd.nl>,
"Amitkumar Karwar" <amitkarwar@gmail.com>,
"Xinming Hu" <huxinming820@gmail.com>,
"Kalle Valo" <kvalo@codeaurora.org>,
"David S. Miller" <davem@davemloft.net>,
"Jakub Kicinski" <kuba@kernel.org>,
"Tsuchiya Yuto" <kitakar@gmail.com>,
linux-wireless@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Bjorn Helgaas" <bhelgaas@google.com>
Subject: Re: [PATCH v2 2/2] mwifiex: pcie: add reset_d3cold quirk for Surface gen4+ devices
Date: Sat, 10 Jul 2021 03:07:33 +0200 [thread overview]
Message-ID: <2d7eef37-aab3-8986-800f-74ffc27b62c5@gmail.com> (raw)
In-Reply-To: <20210710003826.clnk5sh3cvlamwjr@pali>
On 7/10/21 2:38 AM, Pali Rohár wrote:
> On Saturday 10 July 2021 02:18:12 Maximilian Luz wrote:
>> On 7/10/21 2:07 AM, Pali Rohár wrote:
>>
>> [...]
>>
>>>> Interesting, I was not aware of this. IIRC we've been experimenting with
>>>> the mwlwifi driver (which that lrdmwl driver seems to be based on?), but
>>>> couldn't get that to work with the firmware we have.
>>>
>>> mwlwifi is that soft-mac driver and uses completely different firmware.
>>> For sure it would not work with current full-mac firmware.
>>>
>>>> IIRC it also didn't
>>>> work with the Windows firmware (which seems to be significantly
>>>> different from the one we have for Linux and seems to use or be modeled
>>>> after some special Windows WiFi driver interface).
>>>
>>> So... Microsoft has different firmware for this chip? And it is working
>>> with mwifiex driver?
>>
>> I'm not sure how special that firmware really is (i.e. if it is Surface
>> specific or just what Marvell uses on Windows), only that it doesn't
>> look like the firmware included in the linux-firmware repo. The Windows
>> firmware doesn't work with either mwlwifi or mwifiex drivers (IIRC) and
>> on Linux we use the official firmware from the linux-firmware repo.
>
> Version available in the linux-firmware repo is also what big companies
> (like google) receive for their systems... sometimes just only older
> version as Marvell/NXP is slow in updating files in linux-firmware.
> Seems that it is also same what receive customers under NDA as more
> companies dropped "proprietary" ex-Marvell/NXP driver on internet and it
> contained this firmware with some sources of driver which looks like a
> fork of mwifiex (or maybe mwifiex is "cleaned fork" of that driver :D)
>
> There is old firmware documentation which describe RPC communication
> between OS and firmware:
> http://wiki.laptop.org/images/f/f3/Firmware-Spec-v5.1-MV-S103752-00.pdf
>
> It is really old for very old wifi chips and when I checked it, it still
> matches what mwifiex is doing with new chips. Just there are new and
> more commands. And documentation is OS-neutral.
>
> So if Microsoft has some "incompatible" firmware with this, it could
> mean that they got something special which nobody else have? Maybe it
> can explain that "connected standby" and maybe also better stability?
>
> Or just windows distribute firmware in different format and needs to
> "unpack" or "preprocess" prior downloading it to device?
If memory serves me right, Jonas did some reverse engineering on the
Windows driver and found that it uses the "new" WDI Miniport API: It
seems that originally both Windows and Linux drivers (and firmware)
were pretty much the same (he mentioned there were similarities in
terminology), but then they switched to that new API on Windows and
changed the firmware with it, so that the driver now essentially only
forwards the commands from that API to the firmware and the firmware
handles the rest.
By reading the Windows docs on that API, that change might have been
forced on them as some Windows 10 features apparently only work via
that API.
He'll probably know more about that than I do.
next prev parent reply other threads:[~2021-07-10 1:07 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-09 14:58 [PATCH v2 0/2] mwifiex: Add quirks for MS Surface devices Jonas Dreßler
2021-07-09 14:58 ` [PATCH v2 1/2] mwifiex: pcie: add DMI-based quirk implementation for " Jonas Dreßler
2021-07-31 8:50 ` Kalle Valo
2021-07-09 14:58 ` [PATCH v2 2/2] mwifiex: pcie: add reset_d3cold quirk for Surface gen4+ devices Jonas Dreßler
2021-07-09 15:18 ` Pali Rohár
2021-07-09 15:33 ` Jonas Dreßler
2021-07-09 16:12 ` Pali Rohár
2021-07-09 17:03 ` Maximilian Luz
2021-07-09 17:30 ` Pali Rohár
2021-07-09 18:16 ` Maximilian Luz
2021-07-09 18:44 ` Pali Rohár
2021-07-09 19:27 ` Maximilian Luz
2021-07-09 19:44 ` Pali Rohár
2021-07-09 20:54 ` Maximilian Luz
2021-07-09 21:25 ` Pali Rohár
2021-07-09 22:25 ` Maximilian Luz
2021-07-09 22:54 ` Pali Rohár
2021-07-10 0:00 ` Maximilian Luz
2021-07-10 0:07 ` Pali Rohár
2021-07-10 0:18 ` Maximilian Luz
2021-07-10 0:38 ` Pali Rohár
2021-07-10 1:07 ` Maximilian Luz [this message]
2021-07-11 16:53 ` Jonas Dreßler
2021-07-11 17:01 ` Pali Rohár
2021-07-11 16:31 ` Jonas Dreßler
2021-07-09 16:01 ` Andy Shevchenko
2021-07-09 16:31 ` Pali Rohár
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=2d7eef37-aab3-8986-800f-74ffc27b62c5@gmail.com \
--to=luzmaximilian@gmail.com \
--cc=amitkarwar@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=davem@davemloft.net \
--cc=huxinming820@gmail.com \
--cc=kitakar@gmail.com \
--cc=kuba@kernel.org \
--cc=kvalo@codeaurora.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pali@kernel.org \
--cc=verdre@v0yd.nl \
/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;
as well as URLs for NNTP newsgroup(s).