seemoo-lab / nexmon_tx_task

Scheduled frame transmission on Broadcom Wi-Fi Chips
11 stars 1 forks source link

The ioctl payload length is limited to 1502 bytes. #9

Closed Walthard closed 2 months ago

Walthard commented 3 months ago

I configure the router to send 802.11n packets. And I want to send more bytes in one frame, e,g., 1800 bytes. But the Nexmon tells me "Using SDIO, the ioctl payload length is limited to 1502 bytes." So, is there any way to address this?

1
jlinktu commented 3 months ago

This is a check embedded in nexutil, which back when we supported only SDIO-based platforms, made sense to implement. The bcm4366c0 on the Asus RT-AC86U is not conneced via SDIO though. They used PCIE there. You can try removing the following line from nexutil (then re-compile and re-install it on the Asus):
https://github.com/seemoo-lab/nexmon/blob/d846e7f48a75695d28167c587ea0b0693577a266/utilities/nexutil/nexutil.c#L457 I don't know, without checking, what the max buffer length there is, but it should be larger. However, even with this, you can't simply make frames of arbitrary length. At some point you need to chain several buffers, which this patch currently does not implement. But I think you can go with up to around 1900 bytes without chaining.