Setting wifi ssid with a space in it

Distwo picture Distwo · Dec 25, 2016 · Viewed 8.5k times · Source

I am trying to setup the wifi on my android things raspberry pi following the documentation.

My Ssid contains a space in the name let's say "my ssid".

I tried to put quotes around it like this:

$ adb shell am startservice \
    -n com.google.wifisetup/.WifiSetupService \
    -a WifiSetupService.Connect \
    -e ssid "my ssid" \
    -e passphrase secretpassword

When looking at the logcat for the wifi connection I see:

WifiNetworkHistory: saving network history: "my"NONE gw: null Network Selection-status: NETWORK_SELECTION_ENABLED ephemeral=false choice:null link:0 status:2 nid:0 hasEverConnected: false
WifiConfigurator: Wifi failed to connect in 30000 ms

How can I set my wifi correctly?

Answer

Swagger 68 picture Swagger 68 · Dec 25, 2016

To enter characters like "(double quotes),*(asterisk), (space), we need to use escape sequences( i.e a backslash before the character) to tell the compiler to read the character as a part of the string instead of a command (for example double quotes is usually interpreted as the start/end of a string, to interpret it as a character in the string we use \").

The solution

$ adb shell am startservice \
-n com.google.wifisetup/.WifiSetupService \
-a WifiSetupService.Connect \
-e ssid "my\ ssid" \
-e passphrase secretpassword