SSDP with Roku TV and ESP8266
I am basically trying to make a custom web interface remote for my Roku using an ESP8266. I am able to send commands like button presses to the TV (at 192.168.0.15:8060) with the ESP8266, but for ease of use, I would like to have SSDP discover the TV rather than having to type the IP address of the TV manually. I was doing some testing yesterday and got the TV to respond to an M-SEARCH request, only when sent by my desktop using packet sender. I verified this using Wireshark, and it was certainly going through and getting a 200 response from the TV. Making that exact same request (verified that its body was the same byte for byte with Wireshark) with the ESP8266 did not get a response from the TV. This was the original problem I wanted to address in this post.
In making this post, I was trying to recreate what was happening yesterday. Now for some reason today, with the exact same request from packet sender on the exact same network and exact same TV Wireshark isn't even picking the request up on the network. It still does pick up the ESP8266's requests, but those still get no response whatsoever from the TV. Trying to send the request with ncat doesn't work either and is not picked up by Wireshark. I have followed this page exactly as described with no luck. I have even tried using this python module (which worked last night just fine) to no avail today. Everything is certainly on the same network, I triple-checked. I have no idea what the issue could be. Does SSDP stop after so many requests to it?
For reference, 192.168.0.1 is my router, 192.168.0.3 is my desktop, 192.168.0.14 is the ESP8266, and 192.168.0.15 is the TV.
After looking at router configuration I could not find anything of value. If I try to send a request from the ESP8266 to my desktop, it shows up on Wireshark. If I try sending a request from the ESP8266 to my phone, it doesn't show up on Wireshark. This, and the fact that the ESP8266 says the requests goes through fine each time led me to believe I am using Wireshark incorrectly. I thought it was scanning all traffic on my network, but it was only scanning traffic on my wifi adapter connected to my computer. Doing some further ESP8266 coding I revealed that the TV was sending a packet back to the ESP8266 with the expected information.