Skip to contentSkip to conversation

Firmware version read error on Intel AX210

DISCUSSION Heiner Kallweit 2 participants 5 messages Nov 21, 2020 – Nov 23, 2020 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

I have a new AX210 WiFi/Bluetooth card and btintel_read_version() fails with error -22 (EINVAL). Underlying error is that the firmware version read command returns with hdev->req_result = 18 (0x12). (req_status = 0)

Quoted 1 line

From what I've read this means invalid command parameters.

Did something change with AX210 and command 0xfc05 requires specific parameters now? Or what else may cause this issue?

#1 lore raw

Am 21.11.2020 um 23:12 schrieb Heiner Kallweit:

Quoted 7 lines

I have a new AX210 WiFi/Bluetooth card and btintel_read_version() fails with error -22 (EINVAL). Underlying error is that the firmware version read command returns with hdev->req_result = 18 (0x12). (req_status = 0)

Quoted 1 line

From what I've read this means invalid command parameters.

Did something change with AX210 and command 0xfc05 requires specific parameters now? Or what else may cause this issue?

Seems AX210 uses the new TLV infrastructure. btintel_read_version_tlv() returns valid data. Will TLV/AX210 support be added for 5.11?

#2 lore raw

Hi Heiner Kallweit,

The patches to support Intel AX210 are not fully upstreamed into bluetooth-next. Final patch set review is in progress - https://patchwork.kernel.org/project/bluetooth/list/?series=387475

Regards,
Kiran

Quoted 18 lines

-----Original Message-----
From: Heiner Kallweit <[email protected]>
Sent: Sunday, November 22, 2020 4:30 AM
To: Kiran K <[email protected]>; K, Kiran <[email protected]>
Cc: BlueZ development <[email protected]>
Subject: Re: Firmware version read error on Intel AX210

Am 21.11.2020 um 23:12 schrieb Heiner Kallweit:

Quoted 8 lines

I have a new AX210 WiFi/Bluetooth card and btintel_read_version() fails with error -22 (EINVAL). Underlying error is that the firmware version read command returns with hdev->req_result = 18 (0x12). (req_status = 0)

Quoted 1 line

From what I've read this means invalid command parameters.

Did something change with AX210 and command 0xfc05 requires specific parameters now? Or what else may cause this issue?

Seems AX210 uses the new TLV infrastructure. btintel_read_version_tlv() returns valid data. Will TLV/AX210 support be added for 5.11?

#3 lore raw

Am 22.11.2020 um 09:35 schrieb K, Kiran:

Quoted 4 lines

Hi Heiner Kallweit,

The patches to support Intel AX210 are not fully upstreamed into bluetooth-next. Final patch set review is in progress - https://patchwork.kernel.org/project/bluetooth/list/?series=387475

Good to hear and thanks for the link to the patch series. How about firmware, is it submitted to linux-firmware in parallel?

Following is unrelated, however I hope you're the right addressee too.

In btusb.c we have the following code. I interpret this in a way that once firmware was loaded the driver will never check for updated firmware.
Shouldn't the driver always read the firmware file available on the system and check its version against the firmware version the device has (and apply it if it's newer)?
But maybe I miss something ..

bt_dev_info(hdev, "read Intel version: %02x%02x%02x%02x%02x%02x%02x%02x%02x",
ver.hw_platform, ver.hw_variant, ver.hw_revision, ver.fw_variant, ver.fw_revision, ver.fw_build_num, ver.fw_build_ww, ver.fw_build_yy, ver.fw_patch_num);

/* fw_patch_num indicates the version of patch the device currently
* have. If there is no patch data in the device, it is always 0x00.
* So, if it is other than 0x00, no need to patch the device again. */

if (ver.fw_patch_num) {
	bt_dev_info(hdev, "Intel device is already patched. "
		    "patch num: %02x", ver.fw_patch_num);
	goto complete;
}
Quoted 3 lines

Regards,
Kiran

Thank you, Heiner

Quoted 18 lines
Quoted 18 lines

-----Original Message-----
From: Heiner Kallweit <[email protected]>
Sent: Sunday, November 22, 2020 4:30 AM
To: Kiran K <[email protected]>; K, Kiran <[email protected]>
Cc: BlueZ development <[email protected]>
Subject: Re: Firmware version read error on Intel AX210

Am 21.11.2020 um 23:12 schrieb Heiner Kallweit:

Quoted 8 lines

I have a new AX210 WiFi/Bluetooth card and btintel_read_version() fails with error -22 (EINVAL). Underlying error is that the firmware version read command returns with hdev->req_result = 18 (0x12). (req_status = 0)

Quoted 1 line

From what I've read this means invalid command parameters.

Did something change with AX210 and command 0xfc05 requires specific parameters now? Or what else may cause this issue?

Seems AX210 uses the new TLV infrastructure. btintel_read_version_tlv() returns valid data. Will TLV/AX210 support be added for 5.11?

#4 lore raw

Hi,

Quoted 11 lines

-----Original Message-----
From: Heiner Kallweit <[email protected]>
Sent: Sunday, November 22, 2020 11:12 PM
To: K, Kiran <[email protected]>; Kiran K <[email protected]>
Cc: BlueZ development <[email protected]>; Srivatsa, Ravishankar <[email protected]>; Tumkur Narayan, Chethan <[email protected]>; Marcel Holtmann <[email protected]>
Subject: Re: Firmware version read error on Intel AX210

Am 22.11.2020 um 09:35 schrieb K, Kiran:

Quoted 9 lines
Quoted 6 lines

Hi Heiner Kallweit,

The patches to support Intel AX210 are not fully upstreamed into bluetooth-next. Final patch set review is in progress -
https://patchwork.kernel.org/project/bluetooth/list/?series=387475

Good to hear and thanks for the link to the patch series. How about firmware, is it submitted to linux-firmware in parallel?

I am working on this. I will be submitting firmware by this week.

Quoted 45 lines

Following is unrelated, however I hope you're the right addressee too.

In btusb.c we have the following code. I interpret this in a way that once firmware was loaded the driver will never check for updated firmware. Shouldn't the driver always read the firmware file available on the system and check its version against the firmware version the device has (and apply it if it's newer)?
But maybe I miss something ..

bt_dev_info(hdev, "read Intel version:
%02x%02x%02x%02x%02x%02x%02x%02x%02x",
ver.hw_platform, ver.hw_variant, ver.hw_revision, ver.fw_variant, ver.fw_revision, ver.fw_build_num, ver.fw_build_ww, ver.fw_build_yy, ver.fw_patch_num);

/* fw_patch_num indicates the version of patch the device currently
* have. If there is no patch data in the device, it is always 0x00.
* So, if it is other than 0x00, no need to patch the device again. */

if (ver.fw_patch_num) {
	bt_dev_info(hdev, "Intel device is already patched. "
		    "patch num: %02x", ver.fw_patch_num);
	goto complete;
}
Quoted 3 lines

Regards,
Kiran

Thank you, Heiner

Quoted 12 lines
Quoted 12 lines

-----Original Message-----
From: Heiner Kallweit <[email protected]>
Sent: Sunday, November 22, 2020 4:30 AM
To: Kiran K <[email protected]>; K, Kiran <[email protected]>
Cc: BlueZ development <[email protected]>
Subject: Re: Firmware version read error on Intel AX210

Am 21.11.2020 um 23:12 schrieb Heiner Kallweit:

Quoted 4 lines

I have a new AX210 WiFi/Bluetooth card and btintel_read_version() fails with error -22 (EINVAL). Underlying error is that the firmware version read command returns with hdev->req_result = 18 (0x12). (req_status = 0)

Quoted 7 lines
Quoted 6 lines
Quoted 6 lines
Quoted 4 lines
Quoted 1 line

From what I've read this means invalid command parameters.

Did something change with AX210 and command 0xfc05 requires specific parameters now? Or what else may cause this issue?

Seems AX210 uses the new TLV infrastructure. btintel_read_version_tlv() returns valid data. Will TLV/AX210 support be

added for 5.11?

Regards,
Kiran