OpenWRT: ubus への接続に失敗しました

OpenWRT: ubus への接続に失敗しました

私は WNDR3800 を持っており、OpenWRT のトランク バージョンをフラッシュし、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

WNDR3700で説明したように、TFTPを使用した回復方法を試すことができます。ここ(WNDR3800 にも適用されます)。これが機能しない場合は、最後の手段としてシリアル コンソールを使用して U-Boot ブートローダーに直接通信し、TFTP を使用してファームウェア イメージをロードするように指示することができます。お役に立てば幸いです。

残念ながら、最近の OpenWRT ディストリビューションは、多くの点で壊れているようです。あまりにも多くのことがあまりにも早く変更されています。実際、ubus最新の「安定版」15.05 の JSON パーサーの既知のエラーを探しているときに、あなたの質問を見つけました (OpenWRT フォーラム/チケット システムでは、その特定のエラーに関連するものは見つかりませんでした)。このエラーにより、ファイアウォールの開始/停止スクリプトやその他のコマンドなど、些細なことが壊れます (例: ) mount

私の場合、今のところは、私のプラットフォーム (Netgear WNDR3700、TP-Link WDR4300、PCEngines Alix) の最新の本当に安定したバージョンである 12.09 に戻ります。OpenWRT の長年のユーザー (10 年) として、通常は古いバージョンに戻す前にまずエラーを修正しようとしますが、新機能のドキュメントが不足しているため、この新しい (私見では) 非常に複雑なフレームワークを詳しく調べるには時間がかかりすぎます。

関連情報