Попали ко мне не так давно около 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/
.