Re: [PATCH] wifi: mwifiex: Restore USB8897 chipset support

Alex Bee
2023-12-06T21:51:12Z

Hi Brian,

Am 06.12.23 um 20:13 schrieb Brian Norris:
> (Altering CC list; sorry, I didn't notice the RESEND at first)
>
> On Wed, Dec 06, 2023 at 11:12:02AM -0800, Brian Norris wrote:
>> On Tue, Dec 05, 2023 at 10:02:37PM +0100, Alex Bee wrote:
>>> This patch restores USB8897 support which was removed with
>>> Commit 60a188a2715f ("mwifiex: remove USB8897 chipset support")
>> Did you look at the reason for that removal?
I did. And honestly I didn't understand it - in the first place.
>> "if both mwifiex_pcie and mwifiex_usb modules are enabled by user,
>> sometimes mwifiex_usb wins the race even if user wants wlan interface to
>> be on PCIe and USB for bluetooth. This patch solves the problem."
>>
>> That sounds like a legitimate problem, even if the solution isn't
>> perfect. Do you have any alternatives?
>>
>> I don't have such hardware, so I don't know its behaviors nor can I test
>> it. But it'd be nice if we could differentiate USB-only vs PCIe+USB
>> somehow.

I re-tried to decipher the commit message and re-checked everything and
I think the patch is fine as is:

What they probably mean in the commit message is: There is an USB id
clash for 1286:2046 with their "Marvell NFC-over-USB driver" [0]. So
that has nothing to do with bluetooth :)
However Commit 8a81a96bd116 ("NFC: nfcmrvl: update USB device id")
restricted the InterfaceSubClass and the InterfaceProtocol for those
devices, so that this clash does no longer exist. This patch here takes
the correct ones fot this wifi adapter (I checked with lsusb).

If it's not that I really don't know what they mean: Neither 1286:2045
nor 1286:2046 usb ids are used anywhere else tree-wide.

[0] https://cateee.net/lkddb/web-lkddb/NFC_MRVL_USB.html

Fine?

Alex

>>> There are quite some devices which use this chipset with USB interface.
>>> The firmware still exits in linux upstream firmware repo and this simple
>>> patch is all what is required to support it in upstream linux (again).
>>>
>>> Signed-off-by: Alex Bee <knaerzche@gmail.com>
>>> ---
>>> Recently I upstreamed support for Geniatec XPI-3128 SBC which actually
>>> has one any of those boards soldered to the onboard USB Host controller.
>>> Geniatech has some boards [0], [1], [2] (maybe more) which have this
>>> variant soldered the same way. (optional)
>>> I've also read that "Xbox Wireless adapter for Windows" uses this chipset
>>> (unverified).
>>> I've also CC'ed Ganapathi Bhat who last updated the firmware for SDIO and
>>> PCIe variant of this chipset: It would be great if the firmware
>>> for USB variant could get an update too, as the one which we currently
>>> have is quite old - version 15.68.4.p103, while other have some 16.*
>>> firmware.
>> The old maintainers here seem to have gone AWOL, so I wouldn't hold my
>> breath on getting any support from them.
>>
>> Brian
>>
>>> [0] https://www.geniatech.com/product/xpi-3288/
>>> [1] https://www.geniatech.com/product/xpi-imx8mm/
>>> [2] https://www.geniatech.com/product/xpi-s905x/
>>>
>>> drivers/net/wireless/marvell/mwifiex/Kconfig | 4 ++--
>>> drivers/net/wireless/marvell/mwifiex/usb.c | 14 ++++++++++++++
>>> drivers/net/wireless/marvell/mwifiex/usb.h | 3 +++
>>> 3 files changed, 19 insertions(+), 2 deletions(-)