OpenWRT: failed to connect to ubus

5,195

You can try the recovery method using TFTP as described for the WNDR3700 here (it also applies to the WNDR3800). If this does not work, you can use the serial console as a last resort to directly talk to the U-Boot bootloader and instruct it to load a firmware image using TFTP. Hope this helps.

Unfortunately, the recent OpenWRT distributions seem to be broken in many ways. They change too many things too fast. Actually, I found your question while looking for known errors of the json parser of this ubus thing in latest "stable" 15.05 (couldn't find anything in the OpenWRT forum/ticket system related to that particular error), which breaks something trivial as the firewall start/stop script and other commands like for example mount.

As for me, I will go back to 12.09 for now, which is the latest really stable version for my platforms (Netgear WNDR3700, TP-Link WDR4300, PCEngines Alix). As a long-time user of OpenWRT (10 years) I usually try to fix errors first before reverting back to older versions, but due to the lack of documentation of the new features it does take much too much time to dig into this new and (IMHO) very complex framework.

Share:
5,195

Related videos on Youtube

Jamesits
Author by

Jamesits

Programmer in the wild.

Updated on September 18, 2022

Comments

  • Jamesits
    Jamesits over 1 year

    I have a WNDR3800, flashed trunk version of OpenWRT, and then did a sysupgrade -r from previous working backup on the same machine. After reboot everything is normal (since many packages are not installed), but Once I try to connect to it via SSH it reports:

    Aiee, segfault! You should probably report this as a bug to the developer
    Connection to 192.168.3.1 closed. 
    

    After that I put it in failsafe mode, connected via telnet and tried severial commands:

    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
    

    Also I tried firstboot with or without mount_root, in both cases it stucks and does nothing.

    Since dropbear refuse to start, I am unable to configure anything. Is there any way I can revert to default settings or flash another version of firmware?

  • Jamesits
    Jamesits over 8 years
    Thanks for your answer. It's the only router I can use now so I have to keep it running (through I can't configure it) and try to find a serial adapter ASAP. Also, do I need to open a ticket to OpenWRT?
  • LBC
    LBC over 8 years
    I use adapters from robotshop, they have several different ones, e.g. for 3.3V and/or 5V TTL to USB. You need the 3.3V version for WNDR3800. For the software part you can use cu(1) on Linux and OS/X or c-kermit, minicom etc. to connect to the serial adapter through USB. As for the segfault of dropbear (the SSH daemon) I found this old ticket, maybe you want to open a new one if the bug can be reproduced with latest trunk: dev.openwrt.org/ticket/10339