# Emojify Your Netgear R6900 ∞

May 26, 2018 at 12 PM

During a recent visit to my in-laws, we hilariously realized that they were receiving 100 Mbps downlink internet service…but piping that through a super old Netgear 802.11b router I had installed a while back. Whoops.

We remedied that situation via a Netgear R6900 (similar to the Wirecutter’s recommended R7000), and I wanted to add en emoji to the new SSID. Because that’s just indisputably better than not having an emoji. But, when I tried to enter a fun emoji-based SSID, I was greeted with a JavaScript alert dialog saying ‘nope’.

A quick search yielded two super helpful solutions for this problem: one for a TP-Link Archer C1900 and another for a Netgear R6300, which I figured should be very similar to my situation. After some fiddling, I was successful in adapting their work to the R6900 with just a bit more effort. The Netgear R6300 solution works by replacing the SSID validation JavaScript code with a function that always returns true:

checkData = function() { return true; }

The R6900 is a little more complicated. The router supports both 2.4 GHz and 5 GHz broadcast, with two associated SSIDs. As a result, for the R6900 we have to update two checkData functions: one associated with the 2.4 GHz band and one with the 5 GHz band. It turns out that you can update these functions in the same way as described in the above posts, being sure to choose the appropriate page to update in the lower right-hand corner of the Safari Developer Console. For the R6900, we have to replace checkData in both the wl2gsetting and wl5gsetting pages.

The R6900 checkData functions are also a bit complicated, so I opted to just copy the function definition, comment out the SSID regular expression check, and reassign the function:

checkData = function(save_only) {
...
//if (cf.ssid.value.match(/[^(\x20-\x7E\xA0)]/)) {
}
After updating checkData in both pages, setting the SSID, and hitting “Apply”, we’re good to go. 😄👍🏻🙌🏻