morrownr / 7612u

Linux Support for USB WiFi Adapters that are based on the MT7612U Chipset
73 stars 9 forks source link

fcsfail plcpfail flags #9

Open rodrigowue opened 2 years ago

rodrigowue commented 2 years ago

Hi,

Does anyone know if the MediaTek MT7612U supports the fcsfail and plcpfail flags to see frames that are "broken" while in monitor mode?

Cheers,

morrownr commented 2 years ago

Hi @rodrigowue

I see support for the following in the iw docs:

iw phy phy0 interface add wlan0mon type monitor flags fcsfail
iw phy phy0 interface add wlan0mon type monitor flags plcpfail

I have Wireshark installed. If you can give me an example of what to run, I will post the results.

The `iw' docs are written for the in-kernel drivers so this suggests the support is there for the 7612u.

Regards

rodrigowue commented 2 years ago

Thank you so much! I just wanted to know if it accepts these commands:

sudo iw dev <interface> set monitor fcsfail

sudo iw dev <interface> set monitor plcpfail

Some cards don't give any errors with the iw commands but even with that, they are not able to listen for broken CRC frames. Usually, with the plcpfail you would see much more packets on wireshark that doesn't make any sense.

It would be so helpful to know if any broken frame appears after setting the flags (crc/plcp-wise). Unfortunately, I don't know an option yet for filtering them on Wireshark. I'm searching for it.

rodrigowue commented 2 years ago

Hi @morrownr ,

I found how to filter the broken CRC frames on Wireshark. If you could test it after setting those flags would be amazing.

First:

sudo iw dev <interface> set monitor fcsfail

sudo iw dev <interface> set monitor plcpfail

On Wireshark:

  1. Go to "edit -> preferences -> protocols -> IEEE 802.11"
  2. Check "Validate the FCS Checksum Filter"
  3. Put on the filter bar !(wlan.fcs.status == "Good") or wlan.fcs.status == "Bad"
  4. Wait for a while until a broken frame appears (maybe inducing it by removing antenna)

Best Regards

morrownr commented 2 years ago

Put on the filter bar !(wlan.fcs.status == "Good") or wlan.fcs.status == "Bad"

I don't seem to be able to make these filters work. It is not clear why. The filter is not turning green like it should if the filter is accepted. Any ideas?