diff --git a/src/server/main.c b/src/server/main.c
index 33e83dc..6e4d464 100644
--- a/src/server/main.c
+++ b/src/server/main.c
@@ -140,6 +140,24 @@
  * End of URL ENCODE source
  */
 
+// Returns 0 for false, non-zero for true.
+static int isWirelessTV() {
+  FILE* fp;
+  char active_wan[6];
+
+  fp = popen("activewan", "r");
+  if (fp == NULL) {
+    fprintf(stderr, "Could not run activewan; assuming wired connection\n");
+    return 0;
+  }
+
+  fgets(active_wan, sizeof(active_wan) - 1, fp);
+  pclose(fp);
+
+  return strncmp(active_wan, "wcli0", 5) == 0 ||
+         strncmp(active_wan, "wcli1", 5) == 0;
+}
+
 /*
  * This function will walk /proc and look for the application in
  * /proc/<PID>/comm. and /proc/<PID>/cmdline to find it's command (executable
@@ -277,7 +295,9 @@
     fprintf(stderr, "** LAUNCH YouTube ** with args %s\n\n", args);
 
     char url[512] = {0,};
-    int urlLength = snprintf( url, sizeof(url), "https://www.youtube.com/tv?%s", args);
+    int urlLength =
+        snprintf(url, sizeof(url), "https://www.youtube.com/tv?%s&%s",
+                 isWirelessTV() ? "wireless" : "wired", args);
     if (urlLength>=sizeof(url)) {
       fprintf(stderr, "Warning, YouTube URL was truncated (%d>=%d)\n", urlLength, sizeof(url));
     }
