Re: New binary rtw8852b_fw.bin not loading firmware not recognized

Ping-Ke Shih
2023-03-17T07:29:27Z

On Fri, 2023-03-17 at 07:12 +0200, Kalle Valo wrote:
> Ping-Ke Shih <pkshih@realtek.com> writes:
>
> > > -----Original Message-----
> > > From: rb <rb0171610@gmail.com>
> > > Sent: Friday, March 17, 2023 6:48 AM
> > > To: linux-wireless@vger.kernel.org
> > > Subject: New binary rtw8852b_fw.bin not loading firmware not recognized
> > >
> > > Briefly,
> > >
> > > I use rtw89_8852be in kernel driver
> > >
> > > HARDWARE:
> > > Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:b852]
> > >
> > > Lenovo Ideapad 1i
> > >
> > > ISSUE:
> > > Newest version of binary firmware 2023_03_10,
> > > rtw89/rtw8852b_fw.bin, will not load/firmware not recognized on Linux Kernel 6.2.5 (and
> > > others):
> > >
> > > [] loading firmare: rwt89/rtw8852b_fw.bin
> > > [] rtw89_8852be 0000:03:00.0: no suitable firmware found
> > > [] rtw89_8852be 0000:03:00.0: failed to recognize firmware
> > >
> > > Issue persists regardless of which 6.2 series kernel is used.
> > >
> > > All previous rwt89/rtw8852b_fw.bin firmware from linux-firmware 2023_02_10 and earlier loads
> > > and works
> > > correctly.
> > >
> > > I did file a bug report with the details:
> > >
> > > https://bugzilla.kernel.org/show_bug.cgi?id=217207
> > >
> >
> > The firmware format is changed, and wireless-next tree or upcoming 6.3 will
> > support it. I will also post this information on the bug.
>
> We cannot break user space like that, linux-firmware needs to be
> backwards compatible. In other words, anything you submit to
> linux-firmware needs to work with old kernels. Should this new firmware
> be reverted from linux-firmware?

I think I should support two or more firmware with different name, like
rwt89/rtw8852b_fw-2.bin, if format is changed. So, there will be two
firmware existing in linux-firmware.

Then, for old driver, it only supports rwt89/rtw8852b_fw.bin. For new driver,
it will load rwt89/rtw8852b_fw-2.bin first, but if '-2' version doesn't present,
it will try to load original version.

I think it would work, but I want to confirm if this is acceptable rules
for Linux.

>
> What about changes in the rtw89 driver? Do they still work with old
> firmware?
>

New driver can work with old or new firmware. The only case that doesn't
work is old driver + new firmware.

Ping-Ke