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

Kalle Valo
2023-03-17T08:59:00Z

Ping-Ke Shih <pkshih@realtek.com> writes:

>> > > 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.

Yes, this is the recommended way to handle backwards compatibility.
ath10k (and soon ath11k) will do something similar, we have
firmware-2.bin, firmware-3.bin and so on to avoid breaking older kernels
whenever there are incompatible changes in firmware.

Recently some guidelines were also written about this:

https://www.kernel.org/doc/html/latest/driver-api/firmware/firmware-usage-guidelines.html

>> 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.

Very good, thanks for confirming.

--