«Ремонт» Fanvil X5S
Есть замечательные (по соотношению возможности/цена) ip телефоны китайского производителя Fanvil. За семь лет использования небольшого парка X3S и X5S аппаратов вышло из строя только два: X3S завис на загрузке после прошивки (его удалось заменить по гарантии) и совсем недавно, после внезапного выключения электричества в офисе один из X5S также завис на заставке при загрузке:

Продолжительные поиски в Интернете решения проблемы ни к чему не привели, кроме кучи таких же пострадавших (у некоторых даже внушительный парк оборудования с подобным симптомом) и предложением производителя обратиться в поддержку напрямую.
Часто встречается предложение аварийной перепрошивки, для этого надо при загрузке аппарата в определенный момент нажать клавишу #, но судя по индикации до этого загрузка не доходит.
Попробуем тогда сделать с этим что-то сами. Открываем корпус и смотрим на плату. Замечаем в середине контактные площадки с шагом 2,5мм в количестве 4 пинов. Возникает подозрение что это консольный UART порт. Меряем мультиметром, и да, очень похоже — значения на одном из пинов меняются в интервале 0-3.3В, значит это TX телефона. Отлично, для удобства паяем гребенку:

Подключаем USB UART TTL адаптер и включаем телефон. Видим как побежали строки загрузки Linux. Загрузившись в консоль смотрим что у нас с дисковым пространством:
# df
Filesystem 1K-blocks Used Available Use% Mounted on
ubi0:rootfs 41400 41396 4 100% /
tmpfs 27152 0 27152 0% /var/tmp
udev 27152 12 27140 0% /dev
tmpfs 27152 0 27152 0% /var/tmp
Видим что оно исчерпано. Ищем причину, предполагаем что основоное пополнение информации может быть из логов, смотрим директорию:
# ls -lah /var/log/
drwxr-xr-x 2 root root 432 Jan 1 1970 .
drwxr-xr-x 7 root root 480 May 7 2019 ..
-rw-r--r-- 1 root root 88.8K Jan 1 1970 messages
-rw-r--r-- 1 root root 200.1K Jan 1 1970 messages.0
-rw-r--r-- 1 root root 128.9K Jan 1 1970 udev
-rw-r--r-- 1 root root 87.5M Jun 6 2025 udhcpc
Действительно, всё сожрал лог dhcp клиента, предположу что так может случиться если длительное время аппарат не перезагружать. Возможно в последних прошивках это исправлено.
В итоге пробуем удалить данный файл и перезагрузиться:
# rm /var/log/udhcpc
# df -h
Filesystem Size Used Available Use% Mounted on
ubi0:rootfs 40.4M 31.8M 8.7M 79% /
tmpfs 26.5M 0 26.5M 0% /var/tmp
udev 26.5M 12.0K 26.5M 0% /dev
tmpfs 26.5M 0 26.5M 0% /var/tmp
# reboot
И видим что телефон снова заработал как надо!
На всякий случай сбрасываем его до заводских настроек и прошиваем последней прошивкой.
Tags: firmware
Добавить комментарий