Привет! У меня есть задача от клиента — нужно сделать SSID с эмодзи в имени. Я пробовал на разных беспроводных устройствах: некоторые поддерживают такое, а некоторые — нет. Обычно проблема в интерфейсе. Если зайти через telnet/SSH и вручную поправить конфиг, то даже у большинства тех, что изначально не работают, всё начинает работать. С другой стороны, контроллер Unifi полностью принимает эмодзи в SSID, но почему-то оно просто не транслируется. Есть какой-то способ заставить это работать?
dpurgert
Guest
14.07.2016 17:17:00
Или подключает ваших пользователей к Великому Разуму.
miketedeschi
Guest
14.07.2016 15:48:00
Допустимый SSID стандартизирован как 32 байта любых данных, так что Ubiquiti должна следовать этому стандарту. Если установщики предпочитают использовать только ASCII-символы при создании SSID, чтобы избежать проблем с клиентскими устройствами — это, конечно, более безопасный вариант, но делать это обязательным не стоит только потому, что кто-то в UBNT решил не заморачиваться. К тому же, если следование стандарту SSID ломает их код, то программистам должно быть стыдно, что они изначально не придерживались стандарта. Я также сильно сомневаюсь, что это может сломать API чипсета — те ребята отлично знают, как и зачем нужно следовать стандартам. «Распространённое, хотя и неправильное представление — что SSID это строка читаемых человеком символов (например, ASCII), завершающаяся нулевым символом (как в C-строке). На самом деле SSID надо воспринимать и обрабатывать как то, чем он и является — последовательностью от 0 до 32 октетов, некоторые из которых могут быть нечитаемыми для человека. Обратите внимание, что версия стандарта 802.11 от 2012 года вводит примитив SSIDEncoding, перечисление UNSPECIFIED и UTF-8, указывающее, как можно интерпретировать массив октетов. В IBSS SSID выбирается клиентским устройством, которое запускает сеть, и его вещание происходит в псевдослучайном порядке всеми устройствами, входящими в сеть.»
nevir
Guest
30.05.2016 18:18:00
Я уже два года использую SSID «☕️» и за это время сотни устройств подключались к нему без проблем (не огромная выборка, но приличная). Оно работает отлично. Устройствами, которые не распознают такое имя, обычно бывают очень старые (например, winXP) или встроенные девайсы (например, AV-ресивер). Для них у меня есть запасной стандартный ASCII SSID.
wilhil
Guest
30.05.2016 17:21:00
Дело в том, что это уже баг... Если не работает, должно фильтроваться или появляться сообщение при попытке сохранить SSID на контроллере...
TabTwo
Guest
30.05.2016 17:19:00
Сколько багов это вызовет? Просто добавьте туда пару немецких умляутов. Как Fedora 19 сделала с Schrödinger's Cat 😈
eejimm
Guest
30.05.2016 15:00:00
Да, на самом деле с радиостанциями AirFiber, если в имени канала (не совсем SSID, но всё же) есть пробел, радиостанция обрезает строку на этом пробеле и игнорирует всё, что после него. Я столкнулся с этим, когда тестировал связь, пытаясь её прервать, добавив в конец имени «x» (чтобы имена Master/Slave не совпадали), но связь всё равно восстанавливалась — имя содержало пробел. Убрал пробел — и вся строка начала использоваться. Честно говоря, использование странных символов в таких вещах чаще приносит больше проблем, чем пользы — это вообще плохая идея . И нет, у меня с Юникодом проблем нет вообще, только в этом конкретном случае слишком много всего может пойти не так... Джим.
EricE
Guest
30.05.2016 14:39:00
Вот о чём я и думал. Мне даже не нравится ставить пробелы или дефисы в SSID, потому что я видел достаточно некачественных клиентов, которые ломаются при любом символе, кроме букв и цифр в SSID...
eejimm
Guest
30.05.2016 04:19:00
Я сомневаюсь, что UBNT это внедрит — слишком много рисков сломать код, включая, возможно, и API чипсета, который они не контролируют — они зависят от поставщиков. А ещё есть куча других задач, которые намного важнее добавить или починить... Джим
nevir
Guest
30.05.2016 02:22:00
Мне это тоже интересно. Например, AirPort Extreme поддерживают эмодзи; устройства на iOS могут к ним подключаться (а вот android не может нормально подключиться к SSID с эмодзи, которые занимают 4 байта). Символы в юникоде длиной в 3 байта, похоже, лучше поддерживаются на iOS, android и Windows. Например, SSID «☕️» отлично работает на большинстве устройств. После перехода на UniFi AP хотелось бы продолжать использовать такой SSID, но контроллер ругается на это. тоже следит за этим вопросом.
wilhil
Guest
27.04.2016 23:34:00
Не думаю... OSX/iPhone спокойно используют смайлы в SSID, ты можешь спокойно добавить этот смайл в контроллер, но он либо вообще не отображается, либо показывается как мусор (как сказал @djkevino). Так что, думаю, это всё-таки баг контроллера.
dragon2611
Guest
27.04.2016 22:38:00
Разве это не связано с тем, как разные платформы обрабатывают Unicode в SSID? То есть это не проблема контроллера или точки доступа, а скорее проблема самих клиентов.
djkevino
Guest
27.04.2016 19:08:00
Я только что проверил это на последней версии. Если SSID — это эмодзи (куча какашек), контроллер отображает его правильно, Mac OSX El Capitan показывает набор случайных символов, а iOS отказался его показывать. У меня сейчас нет под рукой Windows ПК или Android-устройства, чтобы проверить. Можно ли это как-то исправить?