Many errors with Omega2 .. opkg segfaults, unable to upgrade firmware.



  • Hi All,

    I got my very first Omega2 plus the dock, today.

    By following the online documentation, I was able to connect to the /dev/ttyUSB0.

    I am facing some issues:

    1: I am not able to update it using the admin page http://192.168.3.1. While updating the "progress bar" stops after some time. I can see that it is downloading "omega2-v0.3.2-b233.bin" to /tmp and the size of the file ceases to grow after it grows to 4-5MB

    Attempt 1:
    -rw------- 1 root root 4014437 Jul 31 08:22 omega2-v0.3.2-b233.bin

    Attempt 2:
    -rw------- 1 root root 4916597 Jul 31 08:22 omega2-v0.3.2-b233.bin

    2: When I try "opkg update" it says:
    "Signature check failed" for:
    http://downloads.lede-project.org/snapshots/targets/ramips/mt7688/packages/Packages.sig

    3: when I try "opkg list-upgradable", it Segfaults.
    root@Omega-CCC9:/# opkg list-upgradable
    [ 879.267537]
    do_page_fault(): sending SIGSEGV to opkg for invalid read access from 00000000
    [ 879.275976] epc = 77e70f58 in libc.so[77dfe000+91000]
    [ 879.281147] ra = 0040a02d in opkg[400000+18000]
    [ 879.285836]
    Segmentation fault

    4: while booting it gives:
    *** Warning - bad CRC, using default environment

    5: Another warning/error I am getting is:
    spidev spi32766.1: buggy DT: spidev listed directly in DT

    I am wondering if all the above are pointing to a faulty Omega2 board.
    Would you suggest to wait update it later ?

    Please advise. Thanks in advance..

    The following are the details (please let me know if more details are needed):

    Board: Onion Omega2 APSoC DRAM: 64 MB
    relocate_code Pointer at: 83f60000


    Software System Reset Occurred


    flash manufacture id: ef, device id 40 18
    find flash: W25Q128BV
    *** Warning - bad CRC, using default environment

    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3

    ASIC 7628_MP (Port5<->None)
    DRAM component: 512 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 64 MBytes
    Flash component: SPI Flash
    Date:Oct 18 2016 Time:17:30:55

    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 = 64 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.


    • Hold Reset button for more options *

    Boot Linux from Flash NO RESET PRESSED.

    Booting image at bc050000 ...

    Image Name: MIPS LEDE Linux-4.4.32
    Image Type: MIPS Linux Kernel Image (lzma compressed)
    Data Size: 1345343 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, 64

    Starting kernel ...

    [ 0.000000] Linux version 4.4.32 (root@2272a3272872) (gcc version 5.4.0 (LEDE GCC 5.4.0 r2292+1) ) #0 Wed Nov 23 00:216
    ..
    ..
    [ 9.673243] Bluetooth: RFCOMM ver 1.11
    [ 9.684735] spidev spi32766.1: buggy DT: spidev listed directly in DT
    [ 9.691358] ------------[ cut here ]------------
    [ 9.696057] WARNING: CPU: 0 PID: 472 at drivers/spi/spidev.c:719 init_module+0xe33c/0xedec spidev
    [ 9.705410] Modules linked in: spidev(+) snd_usbmidi_lib slhc rfcomm nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_h
    [ 9.810162] CPU: 0 PID: 472 Comm: kmodloader Not tainted 4.4.32 #0
    [ 9.816437] Stack : 80380328 00000000 00000001 803d0000 839c7480 803ccd83 80361c94 000001d8
    80413434 0000000a 0000001a 024000c0 80065e4c 8004aa78 80367190 803d0000
    00000003 0000000a 80365594 83039b4c 80065e4c 800489e4 00000000 00000000
    00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    ...
    [ 9.852590] Call Trace:
    [ 9.855124] [<80065e4c>] module_sect_show+0x0/0x18
    [ 9.859990] [<8004aa78>] vprintk_default+0x24/0x30
    [ 9.864881] [<80065e4c>] module_sect_show+0x0/0x18
    [ 9.869742] [<800489e4>] printk+0x2c/0x38
    [ 9.873839] [<80025124>] warn_slowpath_common+0xa0/0xd0
    [ 9.879148] [<8014956c>] dump_stack+0x14/0x28
    [ 9.883583] [<80014574>] show_stack+0x50/0x84
    [ 9.888001] [<80025124>] warn_slowpath_common+0xa0/0xd0
    [ 9.893320] [<82ca433c>] init_module+0xe33c/0xedec [spidev]
    [ 9.898990] [<800251dc>] warn_slowpath_null+0x18/0x24
    [ 9.904158] [<8020d2ac>] of_match_node+0x20/0x44
    [ 9.908867] [<82ca433c>] init_module+0xe33c/0xedec [spidev]
    [ 9.914545] [<801bbe28>] devm_kfree+0x20/0x44
    [ 9.918978] [<801dcfb4>] spi_drv_probe+0x3c/0x84
    [ 9.923689] [<801b8958>] driver_probe_device+0x120/0x288
    [ 9.929095] [<80089d34>] kstrdup+0x44/0x8c
    [ 9.933298] [<801dceb4>] spi_match_device+0x38/0xa8
    [ 9.938266] [<801b8b3c>] __driver_attach+0x7c/0xb4
    [ 9.943160] [<801b6d60>] next_device+0x10/0x30
    [ 9.947680] [<801b8ac0>] __driver_attach+0x0/0xb4
    [ 9.952473] [<801b6e1c>] bus_for_each_dev+0x9c/0xac
    [ 9.957436] [<80303efc>] klist_add_tail+0x24/0x50
    [ 9.962230] [<801b6bf0>] bus_get+0x2c/0x50
    [ 9.966408] [<801b8050>] bus_add_driver+0xec/0x20c
    [ 9.971289] [<800ac89c>] exact_match+0x0/0x8
    [ 9.975622] [<800acda4>] exact_lock+0x0/0x24
    [ 9.979971] [<801b9254>] driver_register+0xa8/0xf8
    [ 9.984852] [<82c96000>] init_module+0x0/0xdc [spidev]
    [ 9.990095] [<82c96098>] init_module+0x98/0xdc [spidev]
    [ 9.995414] [<80155138>] kasprintf+0x1c/0x28
    [ 9.999760] [<80045400>] __wake_up+0x24/0x48
    [ 10.004111] [<82c96000>] init_module+0x0/0xdc [spidev]
    [ 10.009345] [<8000d5c8>] do_one_initcall+0x1e8/0x214
    [ 10.014409] [<80045400>] __wake_up+0x24/0x48
    [ 10.018744] [<82c96000>] init_module+0x0/0xdc [spidev]
    [ 10.023989] [<800340b8>] call_usermodehelper_exec+0x144/0x160
    [ 10.029835] [<80033ba8>] call_usermodehelper_setup+0x38/0xa8
    [ 10.035621] [<80065e4c>] module_sect_show+0x0/0x18
    [ 10.040502] [<8006706c>] do_init_module+0x74/0x1cc
    [ 10.045390] [<8009d864>] __vunmap+0xf0/0x114
    [ 10.049755] [<80068900>] load_module+0x16c0/0x1b68
    [ 10.054636] [<80066438>] unknown_module_param_cb+0x0/0xac
    [ 10.060116] [<8009dd58>] __vmalloc_node+0x34/0x40
    [ 10.064923] [<80068e3c>] SyS_init_module+0x94/0x180
    [ 10.069877] [<80068ed8>] SyS_init_module+0x130/0x180
    [ 10.074957] [<8000655c>] syscall_common+0x30/0x54
    [ 10.079739] [<80008958>] __bzero+0xbc/0x164
    [ 10.083991]
    [ 10.085503] ---[ end trace b95cb70eceaea311 ]---
    [ 10.097783] usbcore: registered new interface driver ums-alauda
    [ 10.106849] usbcore: registered new interface driver ums-cypress
    ..
    ..

    root@Omega-CCC9:/# opkg update
    Downloading http://downloads.lede-project.org/snapshots/targets/ramips/mt7688/packages/Packages.gz.
    Downloading http://downloads.lede-project.org/snapshots/targets/ramips/mt7688/packages/Packages.sig.
    Signature check failed.
    Remove wrong Signature file.
    Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base/Packages.gz.
    Updated list of available packages in /var/opkg-lists/reboot_base.
    Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base/Packages.sig.
    Signature check passed.
    Downloading http://repo.onion.io/omega2/packages/Packages.gz.
    Updated list of available packages in /var/opkg-lists/reboot_onion.
    Downloading http://repo.onion.io/omega2/packages/Packages.sig.
    Signature check passed.
    Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages/Packages.gz.
    Updated list of available packages in /var/opkg-lists/reboot_packages.
    Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages/Packages.sig.
    Signature check passed.
    Collected errors:

    root@Omega-CCC9:/# cat /proc/cpuinfo
    system type : MediaTek MT7688 ver:1 eco:2
    machine : Onion Omega2
    processor : 0
    cpu model : MIPS 24KEc V5.5
    BogoMIPS : 385.84
    wait instruction : yes
    microsecond timers : yes
    tlb_entries : 32
    extra interrupt vector : yes
    hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
    isa : mips1 mips2 mips32r1 mips32r2
    ASEs implemented : mips16 dsp
    shadow register sets : 1
    kscratch registers : 0
    package : 0
    core : 0
    VCED exceptions : not available
    VCEI exceptions : not available


  • Banned

    This page lists all of the currently identified issues in the Omega OS. The issues are separated into general firmware issues and Console firmware issues.



  • @Findlay said in Many errors with Omega2 .. opkg segfaults, unable to upgrade firmware.:

    This page lists all of the currently identified issues in the Omega OS. The issues are separated into general firmware issues and Console firmware issues.

    Could you please provide the link to the page?
    Thanks.



  • @tjoseph1 This is a known forum spammer. Ignore him,

    I can see from your opkg update errors you have quite an old firmware version.

    Run oupgrade -f to upgrade to the latest firmware



  • @crispyoz
    Oh, I didn't know about Findlay.. This is my very first day in this forum :)..Thanks..

    I think, the web-interface at http://192.168.3.1 is not behaving the way it used to be. When I try calling the URL all I get is a text page now, with the content:

    Index of /console/
    ../
    modified: Fri, 31 Jul 2020 08:59:52 GMT
    directory - 0.00 kbyte
    lib/
    modified: Fri, 31 Jul 2020 11:47:35 GMT
    directory - 0.00 kbyte
    <<<

    Moreover, it is not a station anymore.. I don't have the route to reach outside..I would need to figure out how to configure this to associate with my WiFi AP from the command line. No "wpa_supplicant.conf", and "interfaces".
    Could you tell me if uci is the right way to go ?

    root@Omega-CCC9:/# route -n
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 br-wlan

    root@Omega-CCC9:/# ifconfig
    apcli0 Link encap:Ethernet HWaddr 42:A3:6B:00:CC:C9
    inet6 addr: fe80::40a3:6bff:fe00:ccc9/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

    br-wlan Link encap:Ethernet HWaddr 40:A3:6B:C0:CC:CB
    inet addr:192.168.3.1 Bcast:192.168.3.255 Mask:255.255.255.0
    inet6 addr: fd1d:48c4:7633::1/60 Scope:Global
    inet6 addr: fe80::42a3:6bff:fec0:cccb/64 Scope:Link
    ..
    ..
    ra0 Link encap:Ethernet HWaddr 40:A3:6B:C0:CC:C9
    inet6 addr: fe80::42a3:6bff:fec0:ccc9/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1



  • @tjoseph1 Welcome to the forum.

    I suggest you should first do a factory reset so you are working with a device in a known state.

    The documentation is here:

    https://docs.onion.io/omega2-docs/factory-reset.html

    Once you have completed the reset, you can connect to your wifi by using the command wifisetup and following the prompts.

    Once you are connected to your wifi run oupgrade -f

    That should get you sorted out.



  • @crispyoz
    Thank you very much .. I followed the documentation as suggested:
    https://docs.onion.io/omega2-docs/factory-reset.html
    commands:
    firstboot -y
    sync
    reboot
    Surprisingly, those did not get me the webserver back to a working condition..Finally, I ended up up downloading the FW "omega2-v0.3.2-b233.bin" from http://repo.onioniot.com/omega2/images/ (that was the FW version it was trying to download, during my first attempts when I was using the WebGUI as mentioned in my original post) using web-browser. Then I "scp"ed the FW to /tmp. Basically I was following: https://docs.onion.io/omega2-docs/manual-firmware-installation.html, and did the upgrade from minicom serial terminal.

    root@Omega-CCC9:/tmp# sysupgrade -n omega2-v0.3.2-b233.bin
    killall: watchdog: no process killed
    Sending TERM to remaining processes ... avahi-daemon onion-helper udhcpc udhcpc dnsmasq mountd ntpd ubusd logd rpcd net
    Sending KILL to remaining processes ...
    Switching to ramdisk...
    Performing system upgrade...
    Unlocking firmware ...
    Writing from <stdin> to firmware ...
    Upgrade completed
    Rebooting system...

    The upgrade screen resembled the one provided in the above URL After reboot, I don't have the following errors in my original post:
    1 => N/A
    2 => opkg does not give "Signature check failed" anymore
    3 => opkg list-upgradable", it does not Segfaults.
    root@Omega-CCC9:/# opkg list-upgradable
    wget - 1.19.5-3 - 1.19.5-6
    base-files - 192-r0 - 192-r0+7475-e6757b4765
    oupgrade - 0.3-1 - 0.4-3
    4 => It still gives "*** Warning - bad CRC"

    Board: Onion Omega2 APSoC DRAM: 64 MB
    relocate_code Pointer at: 83f60000


    Software System Reset Occurred


    flash manufacture id: ef, device id 40 18
    find flash: W25Q128BV
    *** Warning - bad CRC, using default environment

    5: => Buggy DT error is no more.. even though spi is loaded
    [ 0.370117] spi-mt7621 10000b00.spi: sys_freq: 193333333
    [ 0.391878] m25p80 spi0.0: w25q128 (16384 Kbytes)

    root@Omega-CCC9:/# lsmod |grep -i ^spi
    spidev 6336 0

    root@Omega-CCC9:/# ls -l /dev/spi*
    crw------- 1 root root 153, 0 Dec 6 2019 /dev/spidev0.1

    root@Omega-CCC9:/# uname -a
    Linux Omega-CCC9 4.14.81 #0 Fri Dec 6 16:28:06 2019 mips GNU/Linux

    As a side note, the "reset" button was not resetting the omega2 earlier; it is working now. Also, have noticed the earlier GUI was more "feature-rich". I remember seeing GPIO controls etc. in the old version. The newer version does not have those. So far good.

    Now, my question would be:
    The latest FW avaiable at http://repo.onioniot.com/omega2/images/ is omega2-v0.3.2-b244.bin. I chose omega2-v0.3.2-b233.bin, since it was the one the "automatic upgrade process" picked. I am not sure why it selected that version of FW. Can I upgrade to b244.bin?

    Also, it might be more helpful if the sha256sum or so is provided in the website along with the bin files.

    Thanks for all your help..


  • administrators

    @tjoseph1 said in Many errors with Omega2 .. opkg segfaults, unable to upgrade firmware.:

    Now, my question would be:
    The latest FW avaiable at http://repo.onioniot.com/omega2/images/ is omega2-v0.3.2-b244.bin. I chose omega2-v0.3.2-b233.bin, since it was the one the "automatic upgrade process" picked. I am not sure why it selected that version of FW. Can I upgrade to b244.bin?

    See http://docs.onion.io/omega2-docs/using-the-omega-updating.html



  • @tjoseph1 You can ignore the CRC error, there is a tech note about it somewhere, I don't have time to find the link right now, maybe someone can post it for you.

    I haven't used the GUI (Onion-OS) for a long time but you can add apps to the UI, take a look at the details here:

    https://onion.io/2bt-onion-os-new-stable-fw-oct16/



  • Got the following outputs for "oupgrade"

    root@Omega-CCC9:~# oupgrade -c

    Device Firmware Version: 0.3.2 b233
    Checking latest version online...
    url: https://api.onioniot.com/firmware/omega2/stable
    Repo Firmware Version: 0.3.2 b233
    Comparing version numbers
    Device firmware is up to date!

    Appears that b233 is the latest stable, as per the output received from " oupgrade -c". May be b244 is not marked as stable. So I would go with this.

    My ultimate goal is to use Omega platform to run a C application(WiFi plus UART, SPI and I2C for interfacing). Started with Omega2 in order to make myself familiar with the platform and Omega2 was the one readily available locally. At this point, I would think going through https://github.com/OnionIoT/ shall provide a better picture; also downloaded the CPU data sheet from https://labs.mediatek.com/en/chipset/MT7688. Next is to order a few 32M/128M units and docks from digikey.

    Thanks a lot, gentlemen.



  • @tjoseph1 I would suggest you look at the specs for the Omega2(+) and Omega2S(+), the 2S is the surface mounted version and exposes more resources than the plugin version.



  • @crispyoz I would order Omega2+, the 32M/128M. In fact, I read that the (+) is the recommended model for development. Still, could procure only Omega2 locally. Digikey would take take 2 weeks or so. Finally, plan to use the SMD version, with custom PCB and power.

    Though I was able to boot RPi Zero W with cross-compiled OpenWRT 18.06.8 last week, Omega2S(+) will be easier from the hardware perspective. I am happy with the progress made in the past few days. Really appreciate all your help.. šŸ™‚
    Thanks again.


Log in to reply
 

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