kismetwireless / kismet

Github mirror of official Kismet repository
Other
1.57k stars 306 forks source link

Make the nrf51822 work on OpenBSD #494

Closed buzzdeee closed 10 months ago

buzzdeee commented 10 months ago

I'm maintainer of Kismet package on OpenBSD. Current version is heavily outdated, so eventually decided to get the latest, and add OpenBSD support. besides me getting Wi-Fi scanning to work, which needs some clean-up before I can open a MR, I also tinkered with a adafruit nrf51822 Sniffer.

Recognized, with lower baudrates, kismet started, and the capture_nrf_51822 was starting as well, but no BTLE packets were showing up in the interface. Trying to use higher baudrates, the tcsetattr() in capture_nrf_51822.c errored out with "failed to set serial device options".

the fix in the MR is inspired by looking at the OpenBSD cu utility, so instead of adding the baudrate to localnrf->newtio.c_cflag in one go together with the other flags, use cfsetspeed() to set the baudrate separately.

This makes it work like a charm.

The #ifdef around the MODEMDEVICE is only cosmetic, as it seems, MODEMDEVICE is not used anywhere, maybe it was intended for a future use?

kismetwireless commented 10 months ago

Looks good to me - exciting to see some openbsd work!

If you get to the wifi stuff, hopefully the new datasource-per-type architecture (depending how old the BSD package was) makes it simpler to make a BSD-specific pcap source. If you hit any blockers hit me up on the kismet discord if you'd like!