Omega 2+ boot stuck



  • Connected an FTDI cable and can see the boot sequence, but it hangs every time on random: nonblocking pool is initialized. Any ideas for what's wrong and how I can fix it?

    Thanks a million.



  • @Jacob-Bendicksen
    What happens if you hit an Enter ?



  • @György-Farkas Nothing as far as I can tell. I'm using CoolTerm and send a carriage return via Send String, but nothing happens.



  • Hm - just started working. Thanks anyway!



  • There are a lot of reports of this across Google for various distributions including OpenWRT. No real solutions.

    The "random: nonblocking pool initialized" message occurs when enough random (entropy) is finally collected to properly initialize /dev/urandom.

    /dev/random is true randomness and so requests to it have to wait until enough random data is collected.
    /dev/urandom is pseudo-randomness, requests are answered even if there isn't enough data to properly init (called the nonblocking pool since it won't block).

    If you scan dmesg you will see warnings during boot of random data provided even though the pool isn't properly seeded:

    [ 5.603477] random: procd: uninitialized urandom read (4 bytes read, 10 bits of entropy available)
    [ 8.103183] urandom-seed: Seeding with /etc/urandom.seed
    [ 9.136232] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
    [ 9.145971] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
    [ 9.155201] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
    [ 9.164803] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
    [ 9.174017] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
    [ 9.183671] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
    [ 9.193031] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
    [ 12.104091] random: jshn: uninitialized urandom read (4 bytes read, 22 bits of entropy available)
    [ 12.209382] random: ubusd: uninitialized urandom read (4 bytes read, 22 bits of entropy available)
    [ 54.978691] random: nonblocking pool is initialized

    So basically this means that the hang-up is not occurring during boot, it has to be during the startup of the Linux system.

    If you are lucky, you will still have data in the kernel buffer (logread) that matches up with the static dmesg data and you might be able to figure out what happens next... you might even see that message in the logread data!

    On my Omega2+, what happened next was restarting dnsmasq to support the interfaces (I guess this makes sense, the required entropy probably came from packet arrival times after the interfaces came up)...

    Tue Aug 1 14:26:10 2017 daemon.info odhcpd[836]: Initial RA router lifetime 0, 1 address(es) available on br-wlan
    Tue Aug 1 14:26:12 2017 kern.notice kernel: [ 54.978691] random: nonblocking pool is initialized
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1447]: exiting on receipt of SIGTERM
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: started, version 2.76 cachesize 150
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP no-DHCPv6 no
    -Lua TFTP no-conntrack no-ipset no-auth no-DNSSEC no-ID loop-detect inotify
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: DNS service limited to local subnets
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq-dhcp[1737]: DHCP, IP range 192.168.3.100 -- 192.168.3.249, lease time 12h
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: using local addresses only for domain lan
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: reading /tmp/resolv.conf.auto
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: using local addresses only for domain lan
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: using nameserver xxx.xxx.xxx.xxx#53
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: read /etc/hosts - 4 addresses
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: read /tmp/hosts/odhcpd - 0 addresses
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq[1737]: read /tmp/hosts/dhcp.cfg02411c - 2 addresses
    Tue Aug 1 14:26:12 2017 daemon.info dnsmasq-dhcp[1737]: read /etc/ethers - 0 addresses

    Not sure it's relevant, but it's a place to look...



  • I have the same problem. Firmware is 0.1.10-b160. Also can't start flashing new image from u-boot. When I press reset button, u-boot didn't wait for 40 sec and start to load kernel.


    • Hold Reset button for more options *

    You have 40 seconds left to select a menu option...

    Please select option:
    [ Enter ]: Boot Omega2.
    [ 0 ]: Start Web recovery mode.
    [ 1 ]: Start command line mode.
    [ 2 ]: Flash firmware from USB storage.

    Option [
    Boot Linux from Flash.



  • @Yuriy-Ney-0 said in Omega 2+ boot stuck:

    I have the same problem. Firmware is 0.1.10-b160. Also can't start flashing new image from u-boot. When I press reset button, u-boot didn't wait for 40 sec and start to load kernel.

    I think you have a different problem.

    1. Switch your Omega's power off.
    2. Press the Reset button and hold down.
    3. Switch power on.
    4. Release the Reset button and you have 40 seconds left to select one of the UBoot menu options.
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f60000
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Oct 18 2016  Time:17:29:05
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    
    
    You have 40 seconds left to select a menu option...
    
    
    Please select option:
       [ Enter ]: Boot Omega2.
       [ 0 ]: Start Web recovery mode.
       [ 1 ]: Start command line mode.
       [ 2 ]: Flash firmware from USB storage.
    
    Boot Linux from Flash.
    ## Booting image at bc050000 ...
       Image Name:   MIPS LEDE Linux-4.4.46
       Image Type:   MIPS Linux Kernel Image (lzma compressed)
       Data Size:    1311684 Bytes =  1.3 MB
       Load Address: 80000000
       Entry Point:  80000000
       Verifying Checksum ... OK
       Uncompressing Kernel Image ... OK
    No initrd
    ## Transferring control to Linux (at address 80000000) ...
    ## Giving linux memsize in MB, 128
    
    Starting kernel ...
    
    

    In the above example I didn't press anything so the default option [ Enter ]: Boot Omega2 effected after ~40 seconds.

    IMHO there isn't better official firmware presently than v0.1.10-b160.



  • @György-Farkas

    O.K. Here is a video with booting process.



  • It looks like you need to press enter per the prompt. The procd init piece is where the boot up sequence switches to running init. In normal Linux that's what sets up the ttys and takes over the console so you can have multiple sessions.

    So I think it's waiting on you, LONG before the pool is finally initialized



  • @Yuriy-Ney said in Omega 2+ boot stuck:

    @György-Farkas

    O.K. Here is a video with booting process.

    So you really have a different problem.

    If your Omega2+ is not able to fully boot at all - try to use a better power supply and/or a better USB cable.
    I think using the same USB cable for powering and for serial connection is a simple and cheap solution but not the best (Onion's) idea.
    And not a too good idea to flash firmware from USB storage if your laptop's USB host port is not provide enough power.


    The power switch of Expansion Dock is not fully switch off the power - it is only disable the (step down) voltage regulator IC.
    If you really want to can not enter to the UBoot menu you should check there is no 3.3V when the power switch is off.

    Or simply:
    1. disconnect the micro USB cable (ie switch off the power)
    2. press the Reset button and hold down
    3. connect the micro USB cable (ie switch on the power)
    4. release the Reset button and you have 40 seconds left ...

    It is so simple - theoretically ;-)
    "“In theory, there is no difference between theory and practice. But, in practice, there is“
    / Jan L. A. van de Snepscheut /



  • @Burton-Strauss
    Thank you for this nice explanation. Please carry on - for example in the What does this message mean?
    (If you want a better topic title I'll change it :)


    Back to the original post(s).

    @Jacob-Bendicksen
    I think his Omega2(+) was working well - he just tried the serial console.
    As you know on a default Omega2 the last messages are related to the WiFi subsystem. After a while the mentioned "random: nonblocking pool is initialized" appears.
    The user should simply hit the Enter key - transmit a CR LF (0x0d 0x0a) or an LF to Omega - to login.

    @Jacob-Bendicksen said in Omega 2+ boot stuck:

    Nothing as far as I can tell. I'm using CoolTerm and send a carriage return via Send String, but nothing happens.

    I think he sent some unterminated string in a misconfigured terminal program - so nothing happened.

    @Yuriy-Ney-0
    It is not clear his Omega2+ is able to boot or isn't able at all. (A boot log text would be much better than that video.;)

    I think it might be some power supply problem, some HW problem or might be also a bricked firmware of course if it always stops/sticks during boot.



  • @György-Farkas said in Omega 2+ boot stuck:

    It is not clear his Omega2+ is able to boot or isn't able at all. (A boot log text would be much better than that video.;)

    Here is tail of booting:

    [ 9.164280] urandom-seed: Seeding with /etc/urandom.seed
    [ 9.385431] procd: - early -
    [ 9.388468] procd: - watchdog -
    [ 10.116109] procd: - ubus -
    [ 10.325233] random: ubusd: uninitialized urandom read (4 bytes read, 17 bits)
    [ 10.334994] random: ubusd: uninitialized urandom read (4 bytes read, 17 bits)
    [ 10.344229] random: ubusd: uninitialized urandom read (4 bytes read, 17 bits)
    [ 10.353833] random: ubusd: uninitialized urandom read (4 bytes read, 17 bits)
    [ 10.363051] random: ubusd: uninitialized urandom read (4 bytes read, 17 bits)
    [ 10.372835] random: ubusd: uninitialized urandom read (4 bytes read, 17 bits)
    [ 10.382210] random: ubusd: uninitialized urandom read (4 bytes read, 17 bits)
    [ 10.391827] procd: - init -
    Please press Enter to activate this console.
    [ 81.248677] random: nonblocking pool is initialized

    After last string I hit Enter twice, but nothing happened. LED still flashing. WiFi doesm''t start.


Log in to reply
 

Looks like your connection to Onion Community was lost, please wait while we try to reconnect.