This week we worked on preparing for integration and the final presentation. For integration we worked on testing individual parts and putting the pinging and localization script together. We are not fully finished with integration in that we still need to connect having multiple device detection with localizing a device, but other than that we’ve seen steady progress. For my part, I’ve tested that device detection works on multiple devices with the devices we bought. Next week, we will do the presentation and work on finishing integration and making it presentable for the final demo, as well as start working on the report.
Ethan’s status report 4/8
This week, we worked on getting a demo working and started working on integration. The demo was integrating the ESP, pinging, and localization to get a sense of how accurate the localization algorithm is. We decided to not use PicoScenes as we were able to get data we need from the ESPs, so some of what I’ve been doing is no longer useful, but it is good that we can get all necessary data from the ESPs since I wasn’t able to figure out a way to make PicoScenes detect the ACK packets from our pinging. Meanwhile, I worked on testing and cleaning up the device detection script, which it does work. I’ve changed from manually sniffing beacon frames to using iw
for the access points, since manually sniffing can sniff access points from adjacent channels which show up as two same access points on different channels. I’ve also tested how long it takes for the devices to respond to my beacon packets, and it seems like about 7 seconds is enough. This can’t get too long, as there may be arbitrary number of access points and our aim is to have everything (from device detection to localization to visualization) be within 5 minutes.
I am testing my part on my local network, and have verified that it detects my phone and ipad consistently. More tests would be possible when our device arrives, with multiple access points that we have control of. Next week, we will continuously work on integration, and I will personally look at device identification to show the users, such as manufacturer, the transmission rate, etc. I am a little bit behind on the device identification, but it should be possible to catch up by next week.
Ethan’s Status Report 4/1
This week I worked on cleaning up the scripts I wrote. I couldn’t figure out a way to make PicoScenes detect null/ACK packets, so we might not be able to use it for ToF measurement. I think we can use it to measure RSS data because it doesn’t really matter if the timing is not too accurate, but at that point perhaps using PicoScenes is more of a burden than what it’s worth. For next week, I’ll be working on preparing for the demo and cleaning up rest of the scripts.
Ethan’s Status Report for 03/25
This week I worked on getting the measurement script working as a whole. Currently, for each channel (1~11), the script sniffs for access points, inject a beacon frame with its TIM bitmap set for each access point to get responses from all the devices (thus getting all devices connected to the access point), and send each device a null packet to get a response (for the ToF and RSS measurement). Current issue that we’re facing is that while the null and ACK packets clearly exist as detected by wireshark and scapy, PicoScenes seems to be failing to detect those packets for some reason. Another possible way to measure might be using the RTS/CTS instead of null packet/ACK for the measurement as described in the polite wifi paper, but it might be only possible with an unassociated device.
The outstanding issue currently is whether PicoScenes can be used to detect the null/ACK packets from the polite wifi mechanism, because without that we may need to find a completely different method.
Ethan’s Status Report for 3/18
This week I wasn’t able to get too much done due to personal reasons, but continued to work on getting the scripts working. Getting the access points and the device connected to that (within 2.4GHz) with the method we designed seems to work, at least testing with my own router and my tablet, but I would like to test on more devices to test that it can reliably detect all the devices under the network. I’m also working to get the script working for using PicoScenes to get CSI (and therefore RSS) from the polite wifi exploit we have. I planned to have it finished by this week, but it seems like it will take another week to get it done.
Ethan’s Status Report for 03/11
A lot of the time last week was spent on writing the design report. I started working on getting the front end of the project working, which is to do packet sniffing to identify access points, send beacon frames with TIM set up such that all devices connected to that access point responds (in order to quickly get a list of devices in the vicinity), and using those devices’ MAC address to get data such as ToF or RSS. Wi-Peep’s paper suggests that exploiting the TIM should get responses from the devices within the access points fairly quickly, but it seems that my setup is somehow incorrect since it doesn’t reliably work. I will work on getting these parts done next week, along with using the devices’ MAC addresses and picoscenes to get RSS data.
Ethan’s Status Report for 2/25
This week, I worked on getting the Polite Wifi mechanism to work. I got the usb dongle and started working with it, but it was harder than I thought to get it to work, most likely due to driver issues. The dongle had official driver support for windows and mac, but not linux, and there were many different open-source drivers that claimed to work but apparently did not. While trying to make the packet injection work and messing with the driver and network interface settings, the Ubuntu setup I had broke and was not able to boot up, which forced me to reinstall everything I had set up. I also don’t have much experience with wifi in particular, so it took a lot of trial and error to learn how Scapy works, or how to work with the network manager and the network interface in ubuntu (the OS we’re using because PicoScenes only works in a specific ubuntu version with a specific kernel). Eventually with the right drivers and right setup for the network interfaces, I was able to confirm that the polite wifi mechanism did indeed work (shown in the screenshot attached).
Next week, I will work on scripting MAC address sniffing and time measurement with the polite wifi mechanism. I did get some of the orderings mixed up in terms of what I should do according to the schedule, but looking at the number of days I’m not falling behind.
Polite wifi in action:
The packet that was sent via Scapy:
Ethan’s Status Report for 2/18
I wasn’t able to spend much time this week due to conflicting deadlines. I finished setting up picoscenes initially, and then mostly worked on getting the Polite Wifi mechanism to work, but my understanding of Scapy (python library for packet sniffing and injection) is still incomplete and my laptop only has one wifi card than can’t do packet injection and monitoring at once. I needed a wifi usb-dongle for myself anyway, so I ordered one with the same wifi chip used in the paper. Having one would also help with PicoScenes as it requires me to set my one wifi chip in my laptop in monitor mode, which disables me from using the internet. It should be arriving this weekend, with which I would be able to test better.
Despite this week not being too productive, I am still on schedule. For next week, I plan to use Scapy to successfully sniff mac addresses of devices, and also get polite wifi to work. I also will work with PicoScenes to have some scripts that can measure CSI. Courses that helped the design for me were 18-213 and 18-349.
Ethan’s Status Report for 2/11
After helping finishing up the proposal slides, I worked on getting PicoScenes set up on my laptop this week. My laptop happens to have AX210 which PicoScenes can work with, and the initial setup and monitoring works. This week was reserved for the proposals and getting started, so we’re not behind. For next week, I plan to work on further playing around with PicoScenes and scripting. If I get time, I will also work on beacon spoofing that will be used for the WiPeep technique.