Перепрошивка Cisco 7912G

originally posted at http://habrahabr.ru/blogs/voip/37473/ by penpen 19.08.2008

Попали ко мне не так давно около 10 ip-телефонов Cisco 7912G, убитые. При включении горели лампочки холда и меню одновременно, дисплей был пуст. Нагуглил, что при подобном телефон мертв и его нужно перепрошивать программатором. Т.к. очень этого не хотелось, стал искать обходные пути. Завел на ноутбуке dhcp сервер, телефон стал получил ип адресс, значит еще более-менее жив, лишь слетела прошивка.

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

Ставим необходимый софт:

apt-get install tftp tftpd dhcp3-server

В ip телефонах Cisco, в случае если нет прошивки или она повреждена телефон берет ип адрес с dhcp сервера, и пытается забрать прошивку с tftp сервера, указанного в dhcp.

dhcpd.conf:

ddns-update-style interim;
ignore client-updates;
# Опция с указание tftp серверов для телефона Cisco 7912G, у других моделей
# код отличается.
option option-150 code 150 = ip-address;
option option-150 192.168.5.1;

default-lease-time 21600;
max-lease-time 43200;
# Подсеть на интерфейсе ноутбука
subnet 192.168.5.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.5.255;
    option time-offset -18000; #
    option option-150 192.168.5.1;
    # TFTP сервер (в моём случае ноутбук, к которому подключался телефон)
    next-server 192.168.5.1
    # Подсеть адресов, с загрузкой по tftp
    range dynamic-bootp 192.168.5.2 192.168.5.100;
}

Запускаем dhcp сервер, смотрим в syslog командой:

tail -f /var/log/syslog (нужны права рута)

Видим, что телефон пытается взять файл cp7912r.zup с TFTP сервера. Этот файл я найти не смог.

Скачал с пиратской бухты прошивку для sip, внутри архива есть файл CP7912080001SIP060412A.sbin, который нужно переименовать в cp7912r.zip и положить в /srv/tftp/.