Сброс параметров VoIP-телефона Cisco SPA504G

Прокомментировать Просмотры: 48

Cisco SPA504G

Моя деятельность связана с телефонией, и однажды на популярной торговой площадке я обнаружил объявление: бесплатно раздавали Cisco SPA504G (или, проще говоря, Linksys/Sipura). Аппарат был заблокирован оператором и предназначался на разборку. Экземпляров было десятки — для тренировки пригодились бы все. Имея опыт сброса, разблокировки и «раскирпичивания» VoIP-телефонов, я без раздумий согласился, готов даже забрать их на запчасти. Продавец-бородач, выгрузив тележку с аппаратурами, без сожаления отдал мне её со словами «не хочу паять». Ниже расскажу, чем всё закончилось.

Linksys SPA942
Linksys SPA942

Хотя устройства марки Cisco, на самом деле они созданы на базе Linksys (раньше — Sipura). На заре моего знакомства с VoIP я их путал — дизайн очень похож. Но аппаратно это совершенно разные устройства: ни одна кнопка или корпусная деталь не совпадает, кроме шнура трубки.

По надёжности их сравнивают с автоматом Калашникова, но сложностей в настройке хоть отбавляй: десятки непонятных опций, а документация поверхностна. Для сервисных центров сведения и вовсе under the hood. У Linksys SPA3xx-5xx часто выходят из строя кнопки — стирается токопроводящее графитовое покрытие, и единственный выход — менять резиновые клавиши.

Cisco SPA504G новее: подавляющее большинство выпущено после 2012 года (об этом указывает фирменная наклейка на задней панели). Не редкость встретить на крышке логотип оператора — желтый полумесяц с синим шаром.

Agência Nacional de Telecomunicações
Agência Nacional de Telecomunicações

Похожих моделей много: SPA501, SPA502, SPA512, SPA303 (без PoE), SPA508, SPA509, SPA514 и даже SPA525, у которой прошивка несколько иная. SPA303 напоминает SPA942, но с тремя программируемыми клавишами.

Для начала подключаем питание: 5 В/2 А к разъёму на задней панели либо PoE через Ethernet в коммутатор. Телефон молчит пару секунд (процесс самотеста), затем загораются индикаторы: зелёные на «громкой связи» и «гарнитуре», красный — на «микрофоне». Потом поочерёдно светятся оранжевые диоды линий и экран с заставкой Cisco (или логотипом оператора «СОТЫ»). Если кабель не подсоединён, горит красный индикатор «микрофона» и появляется «Initializing Network». При настройке DHCP устройство получит IP и после очередной перезагрузки загрузится полностью, показав главную страницу с программными клавишами.

Запуск аппарата

Нажимаем кнопку с конвертом, выбираем «Factory Reset». Телефон запросит пароль. Вместо отчаяния идём в «Set Password», задаём новый пароль, сохраняем и перезагружаем. Процесс занимает около 50 секунд — не шустро по современным меркам.

В меню «Network» можно вручную прописать статический IP, маску, шлюз и VLAN (поля «Non-DHCP IP Address» и т. д.). Подключив компьютер с соседним адресом, заходим в Web-интерфейс по http://<IP-адрес> (HTTPS не поддерживается). По умолчанию отображается лишь базовый раздел. Чтобы получить полный доступ, жмём «Admin Login» → «Advanced» и вводим учётные данные (admin и установленный пароль).

Web-интерфейс аппарата
Web-интерфейс аппарата

Если пароль неизвестен, брутфорсить долго и рискованно — после нескольких неудачных попыток телефон перестаёт отвечать. Вместо этого подключаем снифер (WireShark) и смотрим, на какие сервера телефон шлёт запросы провиженинга:

TFTP-запрос

По умолчанию аппарат обращается к серверу TFTP (иногда HTTP или FTP) и запрашивает файл SEP<MAC>.cnf.xml, затем XMLDefault504G.cnf.xml или XMLDefault.cnf.xml. Пример автопровижинга описан во множестве статей, например:

Минимальная конфигурация провижинга:

<?xml version="1.0" encoding="ISO-8859-1"?>
<flat-profile>
    <Admin_Passwd ua="na"></Admin_Passwd>
</flat-profile>

Запускаем TFTP-сервер (tftp32 на Windows или tftp-hpa на Linux). В обычном режиме обновление можно инициировать и по HTTP:

http://<Phone_IP_Address>/admin/resync?tftp://<Server_IP_Address>/<config_file>

Но если установлен админ-пароль, провижнинг не проходит.

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

Но новые аппараты никак не реагировали: обращались лишь на сайт провайдера за регистрацией. Испробовав социальную инженерию, обращение в Cisco Academy и у ремонтников, я так и не продвинулся — требовали договор, серийник, подтверждения клиента, и лишь спустя полмесяца компания выдала заявку № XXXXX и уведомила «ответственных за корпоративную благотворительность». Ожидание длилось неделю, затем ответ: «дело старое, участники давным-давно уволились».

Наконец вспомнил о JTAG/TTY-интерфейсах. Подробностей подсказала статья по разблокировке SPA122, пригодилась и для SPA504G. На форумах есть просьбы о помощи, но редко с конкретными инструкциями:

Откручиваем шестью винтами Torx T10 заднюю крышку. Внутри три ключевые микросхемы: ЦП (Texas Instruments), ОЗУ Winbond, флеш MX29LV640ETTI-70G 64 МБ.

Микросхемы Cisco SPA504G
Микросхемы Cisco SPA504G

Также потребуется USB-TTL адаптер — любой недорогой, покупал на торговой площадке. На Windows устанавливаем драйвер и определяем виртуальный COM-порт (в моём случае COM24).

USB-TTL преобразователь
USB-TTL преобразователь

Запускаем PuTTY → Connection → Serial: COM24, 9600 8-1-None-None. Сохраняем сессию для быстрого доступа.

Настройка PuTTY
Параметры Serial в PuTTY

Перед припайкой можно прозвонить TX↔RX и GND, вводя буквы в консоль. При правильном подключении в терминале будут появляться нажатые символы.

Пайка TTL
Схема подключения USB-TTL к телефону

Контакты сверху вниз: GND, ―, Rx (телефон), Tx (телефон). Подаём питание и ждём строчек загрузчика:

Basic POST completed...     Success.
Last reset cause: Software reset ...

PSPBoot1.4 rev: 1.4.0.6
(c) Copyright 2002-2008 Texas Instruments, Inc.
Press ESC for monitor... 1
(psbl)

Теперь доступен режим PSBL. Командой help выводим список, а fa показывает разделы флеша:

(psbl) fa
section :   PSBL, base : 0xb0000000...
...

Команда ls выводит содержимое FFS:

(psbl) ls
... spa500ds_image.dat ...

Командой printenv получаем переменные загрузчика. С setenv меняем MAC (HWA_0), IP (IPA), маску (SUBNET_MASK), TFTP-сервер (IPA_SVR), шлюз (IPA_GATEWAY).

(psbl) setenv IPA 192.168.1.2
...

Для обновления прошивки используем upgrade -i <server> <filename>. Образы можно скачать на сайте Cisco (форум заблокирован — ищите обходные пути). Если версия <7.5.2, сначала ставим 7.5.2b, затем новейшую, например 7.6.2g. После прошивки конфигурация не сбрасывается.

Чтобы вернуть к заводским настройкам, форматируем раздел FFS:

(psbl) fmt

Затем reboot или перезагружаем питание. Телефон переходит в SOS Recovery Mode, откуда можно снова прошиться или восстановить образ (spa5x5-7-4-4-recovery.exe и др.). В утилите выбираем «Recovery» и вводим серийник (можно FFFF…). После перепрошивки настройки сбрасываются.

Однако все аппараты получили одинаковый MAC — раздел KOS оказался заполнен единицами. В полной загрузке устройство использует третий MAC, отличающийся от PSBL и SOS-режимов. Удаление раздела Recovery тоже не мешает дальнейшей работе и восстановлению.

Итог: телефоны вернулись к заводским настройкам, админ-пароль сброшен. В одной L2-сети с одинаковыми MAC работать они не могут, но отлично функционируют в разных подсетях или VLAN.

Материал по сборке прошивки и модулям есть на wiki.jacknet.io: Cisco SPA504G. Буду признателен за советы по восстановлению уникальных MAC-адресов.

 

Источник

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов