Accessing Raw I/Q Signals from WiFi Packets on OpenWrt Devices

Hello OpenWrt Community,

I'm delving into the possibilities of working with raw I/Q signals from incoming WiFi packets, specifically looking to access the ADC's output directly. My interest lies in capturing these signals for detailed analysis and processing beyond typical networking functions.

Despite being relatively new to OpenWrt, I'm eager to explore its capabilities and the extent to which it supports such low-level data access. My goal is to utilize the rich information contained within these I/Q signals for advanced signal processing projects.

I understand this might involve navigating through the router's hardware and possibly customizing the firmware, which is why I'm reaching out to this knowledgeable community.

Any advice, experiences, or pointers on where to start, what hardware might be best suited, or how to approach modifying the firmware for this purpose would be incredibly valuable.

Thank you in advance for your support and guidance!

Best Regards,

It doesn't.
Nor do the wireless drivers used by the linux kernel - and in many cases neither the firmware blobs powering your WLAN chipsets.

You're looking for low-level features and will have to do your own bare metal research. For doing this, you certainly don't want to use OpenWrt or the typical hardware used for OpenWrt, but rather x86_64 and a 'normal' linux distribution, allowing you to do driver development undisturbed from target resource constraints or out-of-tree SOC support (and multiple layers of patch queues). Concentrate on your domain of research/ development, avoid getting entangled in orthogonal issues necessary to boot a plastic router, you want to be able to 'just compile' your heavily patched wireless-next kernel, instead of fighting with backporting and rebasing.

Once you have your research and development sorted, you can work on getting your patches merged into mainline and then try to use your findings on 'normal' plastic routers and OpenWrt, but you don't want to do basic research and driver development this way.


Thank you very much for your comprehensive response.

Could you shed some light on why standard routers don't offer the capability to access the raw radio signal directly?

Feeling somewhat adrift at this point, I would greatly value any additional guidance or advice you could offer to support my project.

Kind regards.

The router's job is to route Internet Protocol packets. It doesn't care how those packets are transported, nor does it need to care. Notice that you don't get the raw line signals from Ethernet interfaces either.

"Standard routers" as used by consumers don't even come with any kind of RTC, and that's far more useful to end-users than IQ capture of WiFi signals.

Maybe take a look at the Openwifi project. They list IQ capture as one of its features. You need to buy one of the supported SDR boards and hook it up to a PC running a full-featured Linux distro and not a cut-down one like OpenWrt. This is the kind of setup that @slh was alluding to.

1 Like