Евгений Музыченко

Previous Entry Share Next Entry
Почему эппл - говно :)
emuzychenko
Мы тут с Алечкой, будучи во Франции, и жестоко страдая от отсутствия нормального интернета, прикупили у местного оператора Free Mobile симку, через которую можно подключаться к их хотспотам FreeWifi_Secure. Опознание (аутентификация) пользователя при этом происходит не по общему паролю, как в привычных нам WEP/WPA, а по SIM-карте (EAP-SIM).

Собственно, опознание по общему для всех паролю для публичных сетей никуда не годится, ибо невозможно контролировать круг допущенных к сети пользователей. Именно для этого и было разработано семейство протоколов EAP, поддерживающих опознание разными способами (по паре "логин/пароль", по ключу, по сертификату, по смарт-карте и т.п.).

В андроиде EAP вообще и EAP-SIM в частности поддерживается еще с 4.x (кстати, в процессе гугления по ключевым словам наткнулся на вселенский стон абонентов Free Mobile в адрес разработчиков андроида). Вставив симку в свой Zopo C2 с практически чистым андроидом 4.2.1 от 2013 года, выбрав из списка сеть FreeWifi_Secure, и указав метод EAP-SIM, я тут же увидел успешное подключение - правда, сама сеть работала через пень-колоду, сигнал был очень слабый, каждые несколько минут она отваливалась. Планшет Samsung GT-P3100 подключиться уже не смог - то ли не хватало мощности сигнала, то ли самсунг уже успел что-то напортачить в андроиде.

Затем симку вставили в Алечкин iPad Air со свежайшей iOS 8, который при выборе сети тупо спросил общий пароль. Поискали вокруг настройку типа аутентификации - не нашли. Тогда ткнули на добавление новой сети, раскрыли список протоколов - там были только WEP/WPA/WPA2, EAP не было вообще. Проделали то же самое на iPhone 5s (с той же iOS 8) - в точности такая же фигня.

Сперва я полез гуглить на тему поддержки EAP-SIM в iOS. Везде пишут, что оно поддерживается. Заподозрил, что проблема в обновлении до iOS 8, нашел на сайте эппла документ iOS Security Guide, датированный сентябрем 2014 - там EAP-SIM присутствует в списке протоколов, и нет никаких оговорок насчет версий.

Погуглил по словам "iPhone/iPad", "FreeWifi_Secure" и "EAP-SIM" на сайте Free - нашел страницу с инструкциями, где предлагается тупо включить WiFi, выбрать сеть и наслаждаться.

Погуглил на родном форуме поддержки эппла - там с 2012 года висят вопросы типа "как мне подключиться с EAP-SIM", "как включить поддержку EAP" и т.п., на которые либо вообще нет ответов, либо в ответ пишут всякую чушь, не относящуюся к делу.

Попытался написать в поддержку эппла через их сайт с ноутбука - обозвало оперу 12 "неподдерживаемым браузером", предложило зайти через Safari, FireFox, Chrome или IE. Зашел с IE 8 (родного для Win7) - ответило то же самое. Зажрались, однако. Вспомнил, что в одной из виртуальных машин недавно ставил новый FireFox - загрузил, открыл, успешно добрался до Live Chat (правда, попутно пришлось хитрым образом, через diags://nnnnn, запустить на айпаде сбор диагностических данных, отправляемых эпплу для проверки).

Ответившему сотруднику подробно изложил суть проблемы, получил в ответ заявление "вам придется скачать стороннее программное обеспечение", и ссылку на ролик, в котором показано, что нужно добыть какой-то профайл и загрузить в айпад/айфон. На вопрос, где брать этот профайл, сотрудник ответил, что он не в курсе, надо попробовать обратиться в поддержку Free Mobile.

Слегка охренев, я спросил его, почему для использования стандартного и довольно давно известного протокола нужно где-то побираться насчет профайла, и получил ответ "на свете миллион опенсорсных плагинов, мы не можем знать их все". Охренев еще больше, спросил, что он понимает под "плагином", когда речь идет о стандартном протоколе - в ответ получил стандартную формулу завершения связи, "всего доброго, надеемся, что были вам полезны, бла-бла-бла". И ведь, блин, у них нет даже возможности оценить работу сотрудника - только закрыть чат.

Снова принялся активно гуглить по ключевым словам. Набрел у эппла на документ "802.1X Authentication", из которого понял, что поддержка-то в системе есть, и даже встроенная, но использовать ее действительно можно лишь путем загрузки в устройство конфигурационного профиля. На кой черт это нужно для вариантов протокола, которым нужны лишь два-три параметра, а то и просто SIM-карта, место установки которой известно заранее - загадка. Кстати, на странице советов по подключению к WiFi у эппла вообще ни словом не упомянуты ни EAP, ни конфигурационные профили.

Профиль этот представляет собой XML-файл, сделать который можно как вручную (ага, пусть разработчики сами их бесплатно пишут), так и в виндовом/макбучном приложени iPhone Configuration Utility (размером, как водится, около 45 Мб - как раз под наши проблемы с трафиком).

Подумал, что для типовых случаев где-то должны быть готовые профили. По схожему запросу нашел описание и профиль от сингапурской iDA. Полез искать на сайте Free Mobile - ничего. Судя по всему, оператору по барабану, что многие абоненты не могут пользоваться услугами - услуги-то бесплатные.

Попытался переделать найденный профиль от iDA, поменяв имя сети и описания - профиль успешно установился в айпаде, но эффекта не дал - при подключении к сети точно так же запрашивались логин/пароль.

Попробовал скачать утилиту через Riviera WiFi (не к ночи будь помянута) - все равно оплачено, хоть и регулярно пользоваться невозможно. Скачивание в Opera отвалилась на последних секундах, заявив, что я превысил лимит в 50 Мб, и теперь должен ждать (а сколько - не говорит), чтобы подключиться снова. Заработало где-то через час с лишним - на этот раз поставил скачивание через Free Download Manager, скачалось минут за пятнадцать.

Установку утилиты благоразумно запустил в виртуалке - и не ошибся, ибо она натащила с собой дерьма вроде "Поддержка программ Apple", "Apple Mobile Device Support", "Apple Software Update" и службы Bonjour, причем поставила все это, не спросясь. Хорошо хоть, удаляется лишняя дрянь нормально, не держится друг за друга изо всех сил.

Запустив iPCU и попытавшись создать профиль для WiFi, обнаружил, что не знаю, какие параметры нужно задавать для EAP-SIM. Снова пустившись в гугление, нашел сперва страницу с инструкциями от SOSiPhone (да, по-русски читается своеобразно), где есть и ссылка на готовый подписанный конфиг (текст французский - depuis votre iPhone sous iOS4 puis tapez sur Installer). Следом нашлась ссылка на простой текстовый конфиг, по которой открывается форматированный текст в браузере - нужно просто сохранить страницу с расширением ".mobileconfig". Возможно, если ее открыть под iOS в Safari, сразу же запустится установка (я не проверял).

В итоге я не стал продолжать самостоятельное изготовление конфига в iPCU, а сразу перекинул второй (чисто текстовый, неподписанный) конфиг на айпад и установил через Safari. На этот раз айпад почти мгновенно подключился к сети, и вполне себе неплохо заработал в ней - периодически отваливаясь из-за слабого сигнала, но все-таки лучше телефона (понятно, антенна-то больше). Почему-то не хотел подключаться, если отключен доступ в мобильную сеть ("мобильные данные") - очевидно, доступ к симке организован через API, который не работает, когда отключен доступ к данным. Теперь будем пробовать в городе, где сигнал получше.

Весь эппловский софт из виртуалки я тут же торжественно снес. Софт удалился на удивление чисто - в "Application Data" оставил лишь пустой каталог "Apple Computer", а в "Program Files (x86)" не оставил ничего.

Эппловоды, попробуйте теперь убедить меня, что эппл "заботится о пользователе", "предвосхищает потребности", и что там еще принято перечислять в восхвалении. :) В данном случае я вижу прямо-таки фантастически тупорылую упертость в стиле "а вот мы сделали так, почему - не скажем, и насрать нам на ваше мнение, вертитесь сами, как хотите". :) Есть хоть малейший, ничтожный смысл в том, чтобы ради передачи системе нескольких параметров известного ей стандартизованного протокола исполнять описанный танец вприсядку? :)


?

Log in

No account? Create an account