Случайно полученная в ходе диалога с
Hua информация о том, что на мегафоновском модеме работает STK, подтолкнула меня к завершению "разборок" с (отключенной) функциональностью морды, предназначенной для работы с SIM-меню. Как Вы понимаете, эти меню сами по себе никому не нужны, за исключением особенных случаев. У меня такой случай связан с использованием недавно приобретённого вот такого
, предназначенного для работы с двумя SIM-картами. Этот адаптер у меня почти всегда используется в ноутбуке со встроенным модемным модулем Sierra, для которого переключение карт проблем не вызывает благодаря применению соответствующих AT-команд. Между тем, необходимость использовать именно USB-модем на чужих компьютерах периодически возникает, а так как мои "боевые" карты находятся в переходнике (и они обрезаны специальным образом), то вопрос удобного использования этого набора в тех же MF82x потребовал решения.
В силу того, что работа функционала STK до недавнего времени наблюдалась только (из устройств на обсуждаемой платформе, которые я держал в руках) на небрендированной - мягко говоря, не очень популярной среди пользователей из-за своей цены - версии MF825, я не видел особого смысла говорить о своих "страданиях" на тему STK. Но теперь, когда мы выяснили, что это может работать на М100-3, ситуация изменилась.
Итак, в результате у меня получился вот такой патч:
.
Он предназначен для записи "поверх" последних версий сборки морды для MF823 и MF825. Архив, как обычно, нужно записать в корень ФС модема и оттуда запустить его распаковку. Применение патча не влияет ни на какие другие функции модема или морды.
Особенности и ограничения:
1. Пункт меню "STK" добавлен в меню первого уровня "USSD-сервис". Я понимаю, что по логике ему там не совсем место, но лучшего сходу не придумал. Может быть, "USSD-сервис" переименовать во что-то более "общее", чтобы к нему относились и USSD, и SIM-меню?
2. Функционал работает на небрендированном MF825, и не работает на билайновском MF823 и МТСовском MF825 (830FT). Почему - пока не знаю, сходу непонятно. Выбор пункта "STK" на неподдерживаемом модеме приводит к 30-скундному "замораживанию" интерфейса, после чего на месте SIM-меню остаётся пустое поле.
3. Тестирование с разными картами, которые оказались под рукой, показало, что в некоторых случаях русские символы в меню отображаются некорректно (См. примеры с МТС и Tele2 на картинках). Почему это происходит, примерно понятно: для этих меню могут быть использованы две кодировки, и их выбор работает неправильно. Удивляет ситуация с картой МТС, на которой 2 первых пункта меню отображаются нормально, а другие 2 - нет. Нужно посмотреть внимательнее: не удивлюсь, что эти пары действительно написаны в разных кодировках.
4. Тестирование с переходником выявило ещё одну проблему: после переключения карт строка с названием оператора в верхнем правом углу морды не обновляется (см. картинку), хотя всё остальное отрабатывает нормально, в том числе, и автовыбор профиля. Эта ошибка, конечно, не относится к функционалу STK. Просто разработчики морды не могли предположить возможность "горячей" замены карты, без отключения модема.
5. Реальную, полноценную, работу с SIM-меню (я имею в виду с вводом данных и их отправкой) я не тестировал. Вполне возможно, что где-то могут неправильно определяться типы полей, т.е. при запросе параметра-числа будет передаваться строка или наоборот. Честно сказать, у меня все эти SIM-меню ассоциируются с различными неприятностями под общим заголовком "развод на бабки", поэтому я ими никогда не пользовался и не имею опыта их безопасного использования. Если кто имеет такой опыт - проверьте.
В общем, предлагаю владельцам мегафоновских модемов испытать эту штуку и поделиться результатами. Ну и, конечно, тех, у кого есть небрендированные MF825. Интересны, в том числе, и подобные описанным случаи неправильной кодировки в пунктах меню. Возможно, для устранения проблемы потребуется некоторое количество логов, полученных при тестировании с разными картами.