Wednesday, 20 September 2017

Unicode SSIDs

I have tried many access points over the years, and some of them allow you to use unicode characters (outside the normal ASCII set) in SSIDs. i.e. the names of WiFi networks.

It seems many devices understand these and display them correctly, which is nice. However, annoyingly, a lot of access points seem to either disallow use of interesting characters, or at least make it difficult.

Why would you use these? Well, one rarely has to type an SSID, you pick from a list, so why not make them more fun - with emojis and the like?

So what have I found with the latest APs?

Aruba Instant IAP-305(RW)

I noted on the new Aruba APs that they have the useful option of SSID Encoding, either Default or UTF-8. This was encouraging. You have to select the advanced settings to see this though.

So I tried a pile of poo as an SSID... Sadly this does not work...

Some what annoying.

The config file...

The trick, of course, is to save the config, and take a look, and if possible tweak and upload. This works!

Yay, but in various tinkering I spotted that some parts of the config file saved back in a different way?!

Yes, the character in question had been percent/hex encoded. I found that I could type that in the ESSID box on the web based config. This is a lot less hassle than manually editing the config file!

What is strange is that some I cannot, seemingly those starting %F rather than %E, for example.

Seeing boxes

Some devices cannot show them, obviously... This is my camera. Note it sees one "box" so understands that the bytes are a single UTF-8 character which it cannot display (I also tested with two characters showing two boxes).

And finally, the magic changing SSID :-)

Using U+F8FF, which is a "private block" unicode character, on anything apple, you get the apple logo. For me I see that here: 

On other machines you don't. I was hoping for the windows logo at least, or even a Klingon symbol,  but my son's windows laptop just showed a box! Shame.


  1. I recall reading you could do the same with UniFi AP's using a) manual controller config editing or b) flash OpenWRT on the access point itself. But I wouldn't do the latter for just this.

  2. Er, what? The poop emoji is U+1F4A9, the hex bytes E2 9A 94 are UTF-8 encoding of U+2694 a completely different character "Crossed Swords".

    In terms of the technical standards nobody cared what was done with the ESSID bytes, they are presentation only, if you shove something other than ASCII printable text in there all bets are off.

    1. That was two separate examples, some work in hex and some do not oddly.

      However they do have a specific UTf-8 encoding option. Are you sure there is not some encoding but in the standard now?

    2. OK, googling finds this: There's updated version of standard ( ), which defines SSIDEncoding field. It can be UNSPECIFIED ( for arbitrary data ) or UTF8. –

  3. What do the standards say about data types within SSIDs? (I’m not immediately sure where to look in 802.11*?) If one just simply inserts sequences of bytes that happen to correspond to valid UTF-8 sequences, I wonder what assumptions recipient apps make?

  4. Just as an aside, you are aware of the overheads incurred by running multiple SSIDs?

    For example with the 4 SSIDs I'm assuming are yours you'll be using 13% of your available airtime doing absolutely nothing.

    If you haven't setup multiple APs correctly (ie same/overlapping channels)then that increases linearly so with 3 APs you'd be utilising 39% of the available airtime - again without transferring any data.

    Multiple SSIDs might seem useful but the reality is they kill performance very rapidly. Much better to use radius vlans on decent kit.

    Andrew von Nagy has a SSID overhead calculator and app available :

    1. All my devices are on 5G, the extra "fun" SSIDs are all on 2.4G :-)
      I am surprised it is as much overhead though, interesting. The APs are all on different channels.

      As for RADIUS, I would love to find the spec for the RADIUS attributes needed. Setting up RADIUS would be easy if I could work out what response the AP is expecting!

    2. Not so fun for your neighbours with stuff on 2.4GHz though...

    3. Not that close and I think they are on different channels where near.

    4. Beacons (i.e. what you'll get more of if you run additional SSIDs) are transmitted at the lowest supported data rate (usually 1Mb on 2GHz unless you tweak it), so they tie up quite a bit of airtime when you stack them up.

    5. Re: RADIUS

      The Cisco and Aruba systems I've encountered have a vendor-specific attribute to allow VLAN selection. However, you might have some joy with Tunnel-Type, Tunnel-Medium-Type, and Tunnel-Private-Group-ID.


    6. Yeh, been looking at that. Looks interesting.

    7. Setting up FreeRADIUS to authenticate (and assign VLANs) on my crappy Cisco APs was fairly easy. (Although I'm using EAP+TTLS+PAP, which isn't well supported by Windows.. luckily there are no Windows devices in the household and every other OS works with it fine).

      Unfortunately, (as far as I know) you can't mix 802.1x (WPA2 Enterprise) and plain old WPA2 on the same SSID, so I have to run a second WPA2 SSID for the random devices that don't do 802.1x (mainly ESP8266 based projects).

    8. It’s quite correct about the badness of overhead due to multiple beacons. Don’t have more than two or perhaps three SSIDs on the same frequency band. I have several SSIDs per WAP, but I allocate some of them onto 2.4GHz only, some to 5GHz only, one to both. That really helps. And I used the above overhead calculator too. Another tip: You can also configure some WAPs to send beacons at higher speeds and screw the very low ancient speeds, and that helps enormously. I have done this with my ZyXel NWA-3560. This tweak would mean that some truly antique clients wouldn’t work, but who cares.

    9. I couldn’t get any joy out of the earlier url to the beacon overhead calculator - server down or outage or some problem. I tried this instead

  5. > the character in question had been percent/hex encoded. I found that I could type that in the ESSID box on the web based config.

    Sadly not with the UniFi web interface :(

    No Poo SSID for me!