jantman/python-wifi-survey-heatmap

Problem generating PNG's

Closed this issue · 4 comments

Hi Jason, I really appreciate ur app but maybe I'm doing something wrong; first I have to tell you that English is not my first language so I'm sorry if there is some writing errors.

Im running the program in Docker using the commands that you provide us:

server:
docker run -it --rm -p 5201:5201/tcp -p 5201:5201/udp jantman/python-wifi-survey-heatmap iperf3 -s

survey:

docker run \                                                                                                   
  --net="host" \
  --privileged \
  --name survey \
  -it \
  --rm \
  -v $(pwd):/pwd \
  -w /pwd \
  -e DISPLAY=$DISPLAY \
  -v "$HOME/.Xauthority:/root/.Xauthority:ro" \
  jantman/python-wifi-survey-heatmap \
  wifi-survey -s 10.0.0.214:5201 -t TEST03

heatmap generate:
docker run -it --rm -v $(pwd):/pwd -w /pwd jantman/python-wifi-survey-heatmap wifi-heatmap TEST03

I am actually running both of them(server and survey) in the same laptop, which is a Linux Mint 19 Tara using ZSH and the Docker version is the 20.10.14, build a224086.

The trouble is that when i run it, everything goes according to plan until y generate the heatmaps:

  • channel_TEST03.json.png
  • frequency_TEST03.json.png
  • signal_quality_TEST03.json.png
  • tx_power_TEST03.json.png

All of them are generated without data.

I attached example image:
frequency_TEST03 json (copia)

@lau132 I'm sorry to hear that. The image that you attached looks to me like it may be correct. That's showing data, it's just showing that only one frequency was in use. I'd be more interested in seeing the TCP or UDP upload or download graphs.

I'll also say that I think that running the survey and the iperf server on the same machine will result in useless data, since it will never actually be sent over the network.

I can try and troubleshoot a bit more... do you think that you could please attach the full output of running:

docker run -it --rm -v $(pwd):/pwd -w /pwd jantman/python-wifi-survey-heatmap wifi-heatmap -vv TEST03

As well as the TEST03.json file?

Hi again @jantman, this time i run the server in another machine as you told me, but i also think that actually it works the same, the TCP and UDP segments travel to the router back and forth twice for each one.

Anyways, I had not thought about the part that was generating data, but it was only ONE; in that case, it makes it more strange, because, for example, the signal quality or the TX power, stays the same in every measurement point:

signal_quality_TEST04 json

l attached all the output plus the log that u ask for:
TEST04.tar.gz

This problem is not that urgent, so feel free in work in other proyects, fix other issues, or just watch a movie and relax. :)

I appreciate your help

@lau132 Those results look correct to me, for instance udp_upload_Mbps_TEST04.json.png:

udp_upload_Mbps_TEST04 json

and tcp_download_Mbps_TEST04.json.png:

tcp_download_Mbps_TEST04 json

I see that of the 11 graphs, 5 of them are all one color (a pale yellow). This shows that every survey point had the same value, and therefore it's all one color. This is reflected on the scale on the right side of the graphs.

  • Every point was taken against an access point on channel 11, so the channel graph shows everything the same (channel 11). This can be confirmed with grep '"channel"' TEST04.json
  • Similarly, every point was taken against an access point on 2.462 GHz (channel 11) so the frequency graph shows them all at the same value. This can be confirmed with grep '"frequency"' TEST04.json
  • The UDP Upload Jitter graph shows every point as having a value of zero. This seems strange to me... maybe it's an issue with the version of iPerf server that you're running? I can confirm that the survey measurement data in the JSON file shows jitter data for UDP downloads, but shows all UDP upload jitter as zero.
  • The signal quality graph is the same for all points, which seems wrong. grep '"signal_mbm"' TEST04.json confirms this, but the signal field (grep '"signal"' TEST04.json) changes between points. I'm really not sure what the difference between signal and signal_mbm is, as I didn't write that portion of the code. But it seems like your wireless card/driver isn't updating the value of the latter.
  • It appears to be the same case for TX power - your wireless card or driver was reporting the same transmit power for every measurement.

Hi again Jason,

after replying you, my boss and I take a look at the generated JSON and more or less, we came to the same conclusion as you, and all the errors seem on my part, not from the code.

Having said that, I'm going to close this issue. Thanks a lot for all the help.