
У меня WNDR3800, прошитая версия OpenWRT trunk, а затем сделанная sysupgrade -r
на той же машине резервная копия с предыдущего рабочего компьютера. После перезагрузки все нормально (так как многие пакеты не установлены), но как только я пытаюсь подключиться к нему по SSH, он сообщает:
Aiee, segfault! You should probably report this as a bug to the developer
Connection to 192.168.3.1 closed.
После этого я перевел его в отказоустойчивый режим, подключился через telnet
и попробовал несколько команд:
root@(none):/# /etc/init.d/dropbear start
root@(none):/# mv: can't remove '/etc/dropbear/dropbear_dss_host_key': Read-only file system
mv: can't remove '/etc/dropbear/dropbear_rsa_host_key': Read-only file system
chown: /etc/dropbear: Read-only file system
chmod: /etc/dropbear: Read-only file system
Failed to connect to ubus
root@(none):/# mount_root
root@(none):/# /etc/init.d/dropbear start
Failed to connect to ubus
Failed to parse json data: unexpected end of data
interface lan has no physdev or physdev has no suitable ip
Failed to connect to ubus
root@(none):/# ifconfig
eth0 Link encap:Ethernet HWaddr 46:94:FC:XX:XX:XX
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2059 errors:0 dropped:531 overruns:1 frame:0
TX packets:188 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:371693 (362.9 KiB) TX bytes:18693 (18.2 KiB)
Interrupt:4
Я также пробовал firstboot
с ним и без него mount_root
, в обоих случаях он застревает и ничего не делает.
Так как dropbear отказывается запускаться, я не могу ничего настроить. Есть ли способ вернуться к настройкам по умолчанию или прошить другую версию прошивки?
решение1
Вы можете попробовать метод восстановления с использованием TFTP, как описано для WNDR3700.здесь(это также относится к WNDR3800). Если это не сработает, вы можете использовать последовательную консоль в качестве последнего средства, чтобы напрямую связаться с загрузчиком U-Boot и дать ему команду загрузить образ прошивки с помощью TFTP. Надеюсь, это поможет.
К сожалению, последние дистрибутивы OpenWRT, похоже, во многом сломаны. Они слишком быстро меняют слишком много вещей. На самом деле, я нашел ваш вопрос, когда искал известные ошибки парсера json этой ubus
штуки в последней "стабильной" версии 15.05 (не смог найти ничего на форуме/в системе тикетов OpenWRT, связанного с этой конкретной ошибкой), которая ломает что-то тривиальное, например скрипт запуска/остановки брандмауэра и другие команды, например mount
.
Что касается меня, то я пока вернусь к 12.09, которая является последней действительно стабильной версией для моих платформ (Netgear WNDR3700, TP-Link WDR4300, PCEngines Alix). Как давний пользователь OpenWRT (10 лет), я обычно пытаюсь сначала исправить ошибки, прежде чем возвращаться к старым версиям, но из-за отсутствия документации новых функций требуется слишком много времени, чтобы разобраться в этой новой и (IMHO) очень сложной структуре.