mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Martyn Welch <martyn.welch@collabora.com>
To: Jeff Chen <jeff.chen_1@nxp.com>
Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
	briannorris@chromium.org, johannes@sipsolutions.net,
	francesco@dolcini.it, tsung-hsien.hsieh@nxp.com,
	s.hauer@pengutronix.de, brian.hsu@nxp.com
Subject: Re: [PATCH v5 00/22] wifi: nxpwifi: create nxpwifi to support iw61x
Date: Fri, 10 Oct 2025 17:22:25 +0100	[thread overview]
Message-ID: <7c3e9c5a-2f1f-44e7-9c99-2f0a173bd8eb@collabora.com> (raw)
In-Reply-To: <aOfcb3bwacg8RidH@nxpwireless-Inspiron-14-Plus-7440>



On 09/10/2025 17:01, Jeff Chen wrote:
> On Tue, Oct 07, 2025 at 05:49:59 PM +0100, Martyn Welch wrote:
>> This seems to be working well for me, at least for Wifi. I'd like to get
>> Bluetooth up as well. The bluetooth driver (btnxpuart) doesn't seem happy
>> loading the bluetooh firmware:
>>
>> [   35.930755] Bluetooth: hci0: Request Firmware: nxp/uartspi_n61x_v1.bin.se
>> [   37.953107] Bluetooth: hci0: FW Download Complete: 396444 bytes
>> [   37.953167] Bluetooth: hci0: Frame reassembly failed (-84)
>> [   39.277635] Bluetooth: hci0: Frame reassembly failed (-84)
>> [   39.292011] Bluetooth: hci0: Frame reassembly failed (-84)
>> [   39.310094] Bluetooth: hci0: Frame reassembly failed (-84)
>> [   39.330273] Bluetooth: hci0: Frame reassembly failed (-84)
>> [   39.351381] Bluetooth: hci0: Frame reassembly failed (-84)
>> [   39.373112] Bluetooth: hci0: Frame reassembly failed (-84)
>> [   41.353087] Bluetooth: hci0: Opcode 0x1002 failed: -110
>> [   41.358411] Bluetooth: hci0: command 0x1002 tx timeout
>>
>> I think the "combo" firmware needs to be loaded by the WiFi driver right? I
>> assume this isn't supported yet?
>>
>> Martyn
>>
> Hi Martyn,
> 
> Thanks for testing the nxpwifi driver. On our side, we haven’t seen issues
> with Bluetooth on the NXP i.MX93 EVK platform, regardless of whether the nxpwifi
> driver loads the Wi-Fi-only firmware or the combo firmware.
> 
>  From your logs, it looks like you're loading the Wi-Fi-only firmware
> (nxp/uartspi_n61x_v1.bin.se). If it were the combo firmware, the btnxpuart
> driver would skip loading the BT firmware entirely, since it would already
> be downloaded by the Wi-Fi driver.
> 

Yes, I'm currently using the wifi only firmware. If I'm not mistaken, 
that's the only firmware that the NXPWifi driver will currently use. It 
appears that it should be able to load `firmware_sdiouart`, but that 
doesn't appear to be set anywhere and thus it's not considered. I tried 
to rename the combo firmware to have the name used for the wifi only 
firmware, but that was failing for me (more about that in a moment).

> To help us reproduce and investigate further, could you please share:
> - Your test platform (SoC, board, etc.)

Custom board based on Renesas RZ-G2L, using Ezurio Sona NX611 M.2 1216 
module.

Kernel is 6.17 with an added custom DT, a few patches for other hardware 
and the NXPWifi patch series.

Both btnxpuart and nxpwifi are built as modules.

The firmware itself is what Ezurio provide in their Yocto layer:

$ md5sum *
6a9307d27c3bdb3bde800265056ab217  sd_w61x_v1.bin.se
8a28ec7f1b77dbde0ac7568d0426c669  sduart_nw61x_v1.bin.se
d38935f03dbe6da7a9ac3daf58e640bf  uartspi_n61x_v1.bin.se


Looking a bit deeper, if I try and load the combined firmware, the 
bluetooth modules attempts to load before the WiFi driver has had a 
chance to complete loading the firmware which is resulting in the 
firmware failing.

If I blacklist the btnxpuart module (and rename the combo firmware),
it loads:

[   45.781023] nxpwifi_sdio mmc1:0001:1: info: FW download over, size 
944916 bytes
[   45.884760] nxpwifi_sdio mmc1:0001:1: WLAN FW is active
[   45.913045] nxpwifi_sdio mmc1:0001:1: VDLL image: len=109800
[   45.913209] nxpwifi_sdio mmc1:0001:1: Firmware api version 15.1
[   46.023576] nxpwifi_sdio mmc1:0001:1: info: NXPWIFI VERSION: nxpwifi 
1.12 (18.99.3.p15.0)
[   46.023610] nxpwifi_sdio mmc1:0001:1: driver_version = nxpwifi 1.12 
(18.99.3.p15.0)


If I then try to manually load the bluetooth module I get a failure:

[  104.627753] Bluetooth: Core ver 2.22
[  104.628041] NET: Registered PF_BLUETOOTH protocol family
[  104.628053] Bluetooth: HCI device and connection manager initialized
[  104.632606] Bluetooth: HCI socket layer initialized
[  104.632646] Bluetooth: L2CAP socket layer initialized
[  104.632704] Bluetooth: SCO socket layer initialized
[  104.651019] btnxpuart serial0-0: supply vcc not found, using dummy 
regulator
[  105.245804] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[  105.245841] Bluetooth: BNEP filters: protocol multicast
[  105.245866] Bluetooth: BNEP socket layer initialized
[  105.672560] Bluetooth: hci0: FW already running.
[  105.775233] Bluetooth: hci0: Frame reassembly failed (-84)
[  105.781369] Bluetooth: hci0: Frame reassembly failed (-84)
[  105.787899] Bluetooth: hci0: Frame reassembly failed (-84)
[  105.794313] Bluetooth: hci0: Frame reassembly failed (-84)
[  105.800861] Bluetooth: hci0: Frame reassembly failed (-84)
[  105.806457] Bluetooth: hci0: Frame reassembly failed (-84)
[  105.811925] ------------[ cut here ]------------
[  105.811929] Unbalanced enable for IRQ 38
[  105.811953] WARNING: CPU: 0 PID: 40 at kernel/irq/manage.c:753 
__enable_irq+0x54/0x90
[  105.811979] Modules linked in: bnep btnxpuart bluetooth ecdh_generic 
ecc snd_seq_dummy snd_hrtimer snd_seq snd_seq_device nxpwifi_sdio 
nxpwifi joydev cfg80211 aes_ce_blk aes_ce_cipher polyval_ce ghash_ce 
snd_soc_tlv320aic3x_i2c snd_soc_simple_card snd_soc_rz_ssi 
snd_soc_tlv320aic3x snd_soc_simple_card_utils snd_soc_bt_sco gf128mul 
snd_soc_core snd_compress snd_pcm_dmaengine rzg2l_cru snd_pcm goodix_ts 
v4l2_fwnode v4l2_async rzg2l_thermal snd_timer optee snd ffa_core tee 
leds_gpio soundcore cpufreq_dt rfkill qrtr evdev ip6t_REJECT 
nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_tcpudp xt_conntrack 
nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nft_compat nf_tables x_tables 
efi_pstore configfs nfnetlink autofs4 ext4 crc16 mbcache jbd2 cls_cgroup 
rzg2l_du_drm drm_display_helper panel_simple cec rc_core panfrost 
gpu_sched micrel vsp1 phy_package drm_client_lib ravb drm_shmem_helper 
rzg2l_mipi_dsi drm_dma_helper mdio_bitbang videobuf2_vmalloc 
drm_kms_helper of_mdio videobuf2_dma_contig videobuf2_memops fixed_phy 
videobuf2_v4l2
[  105.812215]  fwnode_mdio drm videodev libphy 
renesas_sdhi_internal_dmac renesas_sdhi_core reset_rzg2l_usbphy_ctrl 
mdio_bus rzg2l_wdt videobuf2_common tmio_mmc_core mc rcar_fcp i2c_riic 
pwm_rz_mtu3 fixed gpio_keys_polled pwm_bl
[  105.812270] CPU: 0 UID: 0 PID: 40 Comm: kworker/u4:2 Not tainted 
6.17.0+ #10 VOLUNTARY
[  105.812281] Hardware name: Custom Board (DT)
[  105.812288] Workqueue: events_unbound flush_to_ldisc
[  105.812305] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS 
BTYPE=--)
[  105.812313] pc : __enable_irq+0x54/0x90
[  105.812321] lr : __enable_irq+0x54/0x90
[  105.812329] sp : ffff800080003db0
[  105.812332] x29: ffff800080003db0 x28: ffff00007fbcf140 x27: 
ffff00000ae212c0
[  105.812343] x26: ffff00007fbcf140 x25: ffff00007fbcf140 x24: 
0000000000000006
[  105.812352] x23: 00000000000000c0 x22: 0000000000000000 x21: 
00000000000000c0
[  105.812362] x20: 0000000000000026 x19: ffff000010ed3200 x18: 
00000000ffffffff
[  105.812371] x17: ffff7ffffe0a5000 x16: ffff800080000000 x15: 
ffff800081fefa4c
[  105.812380] x14: 0000000000000000 x13: 3833205152492072 x12: 
ffff800081c84a90
[  105.812390] x11: ffff800081c2cae8 x10: ffff800081c84ae8 x9 : 
ffff800080170a2c
[  105.812399] x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : 
c0000000ffffefff
[  105.812408] x5 : ffff00007fbcb508 x4 : 0000000000000000 x3 : 
ffff7ffffe0a5000
[  105.812418] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 
ffff00000ae212c0
[  105.812428] Call trace:
[  105.812433]  __enable_irq+0x54/0x90 (P)
[  105.812444]  enable_irq+0x74/0xe8
[  105.812453]  sci_dma_rx_reenable_irq+0x70/0xe0
[  105.812465]  sci_dma_rx_timer_fn+0x234/0x3b0
[  105.812474]  __hrtimer_run_queues+0x130/0x2e0
[  105.812487]  hrtimer_interrupt+0x10c/0x2e0
[  105.812498]  arch_timer_handler_virt+0x34/0x60
[  105.812514]  handle_percpu_devid_irq+0x88/0x1b0
[  105.812525]  handle_irq_desc+0x3c/0x68
[  105.812534]  generic_handle_domain_irq+0x24/0x40
[  105.812542]  gic_handle_irq+0x54/0x140
[  105.812551]  call_on_irq_stack+0x30/0x48
[  105.812560]  do_interrupt_handler+0x88/0xa0
[  105.812569]  el1_interrupt+0x34/0x58
[  105.812583]  el1h_64_irq_handler+0x18/0x28
[  105.812590]  el1h_64_irq+0x6c/0x70
[  105.812598]  console_flush_all+0x2dc/0x3b8 (P)
[  105.812611]  console_unlock+0x8c/0x160
[  105.812621]  vprintk_emit+0x304/0x388
[  105.812631]  vprintk_default+0x40/0x58
[  105.812641]  vprintk+0x30/0x48
[  105.812651]  _printk+0x68/0xa0
[  105.812660]  bt_err+0x6c/0x9a8 [bluetooth]
[  105.812881]  btnxpuart_receive_buf+0x170/0x318 [btnxpuart]
[  105.812901]  ttyport_receive_buf+0x6c/0xe0
[  105.812916]  flush_to_ldisc+0xbc/0x1b0
[  105.812927]  process_one_work+0x178/0x3c8
[  105.812941]  worker_thread+0x208/0x400
[  105.812951]  kthread+0x120/0x220
[  105.812961]  ret_from_fork+0x10/0x20
[  105.812972] ---[ end trace 0000000000000000 ]---
[  105.815082] Bluetooth: hci0: Frame reassembly failed (-84)
[  107.816594] Bluetooth: hci0: Opcode 0x1002 failed: -110



> - Your test steps

At the moment, booting and checking to see if the hardware has probed.
If it has, ensure I can connect to my wifi network and ensure that I can 
pass a little bit of traffic.

> - The exact firmware version you're using

As above.

> Also, have you tried running Bluetooth in a BT-only scenario (without loading
> the Wi-Fi driver)? Does that work correctly?
> 

I hadn't. Just gave that a go and I seem to be getting the same failure 
(though :

$ sudo dmesg | grep hci0
[   40.859055] Bluetooth: hci0: ChipID: 7601, Version: 0
[   40.889487] Bluetooth: hci0: Request Firmware: nxp/uartspi_n61x_v1.bin.se
[   42.850682] Bluetooth: hci0: FW Download Complete: 396444 bytes
[   42.850736] Bluetooth: hci0: Frame reassembly failed (-84)
[   44.222243] Bluetooth: hci0: Frame reassembly failed (-84)
[   44.230226] Bluetooth: hci0: Frame reassembly failed (-84)
[   44.237480] Bluetooth: hci0: Frame reassembly failed (-84)
[   44.247567] Bluetooth: hci0: Frame reassembly failed (-84)
[   44.254188] Bluetooth: hci0: Frame reassembly failed (-84)
[   44.263459] Bluetooth: hci0: Frame reassembly failed (-84)
[   44.269814] Bluetooth: hci0: Frame reassembly failed (-84)
[   46.280494] Bluetooth: hci0: Opcode 0x1002 failed: -110
[   46.285835] Bluetooth: hci0: command 0x1002 tx timeout


Are there any BT patches that I'm missing?

Martyn

> Thanks,
> Jeff


  reply	other threads:[~2025-10-10 16:22 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-04 15:39 Jeff Chen
2025-08-04 15:39 ` [PATCH v5 01/22] wifi: nxpwifi: add 802.11n files Jeff Chen
2025-09-04 11:22   ` Johannes Berg
2025-08-04 15:39 ` [PATCH v5 02/22] wifi: nxpwifi: add 802.11ac files Jeff Chen
2025-08-04 15:39 ` [PATCH v5 03/22] wifi: nxpwifi: add 802.11ax files Jeff Chen
2025-08-04 15:40 ` [PATCH v5 04/22] wifi: nxpwifi: add 802.11h file Jeff Chen
2025-08-04 15:40 ` [PATCH v5 05/22] wifi: nxpwifi: add WMM files Jeff Chen
2025-08-04 15:40 ` [PATCH v5 06/22] wifi: nxpwifi: add scan.c Jeff Chen
2025-08-04 15:40 ` [PATCH v5 07/22] wifi: nxpwifi: add join.c Jeff Chen
2025-08-04 15:40 ` [PATCH v5 08/22] wifi: nxpwifi: add cfp.c Jeff Chen
2025-08-04 15:40 ` [PATCH v5 09/22] wifi: nxpwifi: add configuration files Jeff Chen
2025-08-04 15:40 ` [PATCH v5 10/22] wifi: nxpwifi: implement cfg80211 ops Jeff Chen
2025-08-04 15:40 ` [PATCH v5 11/22] wifi: nxpwifi: add host command file Jeff Chen
2025-08-04 15:40 ` [PATCH v5 12/22] wifi: nxpwifi: add command and event files Jeff Chen
2025-08-04 15:40 ` [PATCH v5 13/22] wifi: nxpwifi: add data path files Jeff Chen
2025-08-04 15:40 ` [PATCH v5 14/22] wifi: nxpwifi: add debugfs file Jeff Chen
2025-08-04 15:40 ` [PATCH v5 15/22] wifi: nxpwifi: add ethtool.c Jeff Chen
2025-08-04 15:40 ` [PATCH v5 16/22] wifi: nxpwifi: add utility files Jeff Chen
2025-08-04 15:40 ` [PATCH v5 17/22] wifi: nxpwifi: add initialization file Jeff Chen
2025-08-04 15:40 ` [PATCH v5 18/22] wifi: nxpwifi: add core files Jeff Chen
2025-09-04 11:37   ` Johannes Berg
2025-09-19 18:06     ` Jeff Chen
2025-10-01 10:17       ` Jeff Chen
2025-10-01 10:19         ` Johannes Berg
2025-08-04 15:40 ` [PATCH v5 19/22] wifi: nxpwifi: add sdio bus driver files Jeff Chen
2025-08-04 15:40 ` [PATCH v5 20/22] wifi: nxpwifi: modify sdio_ids.h Jeff Chen
2025-08-04 15:40 ` [PATCH v5 21/22] wifi: nxpwifi: add makefile and kconfig files Jeff Chen
2025-08-04 15:40 ` [PATCH v5 22/22] wifi: nxpwifi: modify MAINTAINERS file Jeff Chen
2025-09-04 11:39 ` [PATCH v5 00/22] wifi: nxpwifi: create nxpwifi to support iw61x Johannes Berg
2025-10-07 16:49 ` Martyn Welch
2025-10-09 16:01   ` Jeff Chen
2025-10-10 16:22     ` Martyn Welch [this message]
2025-10-13 18:18       ` [EXT] " Jeff Chen
2025-10-14 10:20         ` Martyn Welch

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=7c3e9c5a-2f1f-44e7-9c99-2f0a173bd8eb@collabora.com \
    --to=martyn.welch@collabora.com \
    --cc=brian.hsu@nxp.com \
    --cc=briannorris@chromium.org \
    --cc=francesco@dolcini.it \
    --cc=jeff.chen_1@nxp.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=tsung-hsien.hsieh@nxp.com \
    /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

all inboxes | Powered by JetHome®