Problem after firmware upgrade
After a very long time, I booted by Omega2+.
I started out by running
I then downloaded the latest firmware into the
and updated using
Got the following output before the Omega2 rebooted
root@Omega-2FA5:/tmp# sysupgrade omega2p-v0.3.3-b251.bin Saving config files... killall: watchdog: no process killed Sending TERM to remaining processes ... onion-helper udhcpc mountd ntpd rpcd shellinaboxd ubusd askfirst logd netifd odhcpd dnsmasq uhttpd device-client avahi-daemon Sending KILL to remaining processes ... askfirst Switching to ramdisk... Performing system upgrade... Unlocking firmware ... Writing from <stdin> to firmware ... Appending jffs2 data from /tmp/sysupgrade.tgz to firmware.. . Writing from <stdin> to firmware ... Upgrade completed Rebooting system... umount: can't unmount /dev/pts: Resource busy umount: can't unmount /dev: Resource busy umount: can't unmount /tmp: Resource busy Timeout, server 192.168.3.1 not responding.
After rebooting, I am not longer finding the AP that Omega gave!
I then connected to it using the serial port and I am getting the following message on console in continuous loop:
____ _ ____ / __ \___ (_)__ ___ / __ \__ _ ___ ___ ____ _ / /_/ / _ \/ / _ \/ _ \ / /_/ / ' \/ -_) _ `/ _ `/ \____/_//_/_/\___/_//_/ \____/_/_/_/\__/\_, /\_,_/ W H A T W I L L Y O U I N V E N T ? /___/" Board: Onion Omega2 APSoC DRAM: 128 MB relocate_code Pointer at: 87f60000 flash manufacture id: c2, device id 20 19 find flash: MX25L25635E
What's happening? Am I screwed? Is it bricked?
Following was my original firmware:
BusyBox v1.26.2 () built-in shell (ash) ____ _ ____ / __ \___ (_)__ ___ / __ \__ _ ___ ___ ____ _ / /_/ / _ \/ / _ \/ _ \ / /_/ / ' \/ -_) _ `/ _ `/ \____/_//_/_/\___/_//_/ \____/_/_/_/\__/\_, /\_,_/ W H A T W I L L Y O U I N V E N T ? /___/ ----------------------------------------------------- Ω-ware: 0.1.10 b160 -----------------------------------------------------
Hi @Prashant-Kamdar your device is not bricked, it's just confused.
When your device boots it tells you what it is "Board: Onion Omega2"
The firmware you installed was named "omega2p-v0.3.3-b251.bin" which means it is for an Omega2+. So when it's booting it is expecting to find double the flash and double the RAM (https://onion.io/omega2/)
You can fix this by doing a factory reset, the procedure for which can be found in the documentation here:
Once you have completed the factory reset then you can update again, but this time download the firmware with the nomenclature "omega2-vxxxxx" or alternatively, you can use oupgrade command detailed here:
Thank you for the reply
I do have the Omega2+, which is why I used the omega2p-v0.3.3-b251.bin.
Can you please suggest?
@Prashant-Kamdar Do you have any dock? If so which do you have?
I have no dock.
I just hooked up my FTDI to Omega2+ and got the following dmesg:
Starting kernel ... [ 0.000000] Linux version 4.14.81 (root@d7d1d9c1ebc3) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r0+7490-bddedc4e25)) #0 Fri Jun 4 20:35:27 2021 [ 0.000000] Board has DDR2 [ 0.000000] Analog PMU set to hw control [ 0.000000] Digital PMU set to hw control [ 0.000000] SoC Type: MediaTek MT7688 ver:1 eco:2 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019655 (MIPS 24KEc) [ 0.000000] MIPS: machine is Onion Omega2+ [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff] [ 0.000000] random: get_random_bytes called from start_kernel+0x8c/0x474 with crng_init=0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Writing ErrCtl register=0007e554 [ 0.000000] Readback ErrCtl register=0007e554 [ 0.000000] Memory: 124580K/131072K available (3708K kernel code, 207K rwdata, 920K rodata, 212K init, 205K bss, 6492K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS: 256 [ 0.000000] intc: using register map from devicetree [ 0.000000] CPU Clock: 580MHz [ 0.000000] timer_probe: no matching timers found [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns [ 0.000012] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns [ 0.007674] Console: colour dummy device 80x25 [ 0.011931] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.073506] pid_max: default: 32768 minimum: 301 [ 0.078194] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.084537] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.098564] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff max_idle_ns: 19112604462750000 ns [ 0.108058] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.114005] pinctrl core: initialized pinctrl subsystem [ 0.119577] NET: Registered protocol family 16 [ 0.155795] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.161478] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.167002] mt7621_gpio 10000600.gpio: registering 32 gpios [ 0.173623] i2c-mt7621 10000900.i2c: clock 100 kHz [ 0.183173] clocksource: Switched to clocksource MIPS [ 0.195417] NET: Registered protocol family 2 [ 0.200548] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.207295] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.213398] TCP: Hash tables configured (established 1024 bind 1024) [ 0.219660] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.225294] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.231586] NET: Registered protocol family 1 [ 0.250227] Crashlog allocated RAM at address 0x3f00000 [ 0.256838] workingset: timestamp_bits=30 max_order=15 bucket_order=0 [ 0.269153] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.274772] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.294884] io scheduler noop registered [ 0.298616] io scheduler deadline registered (default) [ 0.304655] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled [ 0.311995] console [ttyS0] disabled [ 0.315495] 10000c00.uartlite: ttyS0 at MMI?▒▒1▒4▒8▒▒▒▒▒/▒▒:2▒▒▒0000) is a 16550A [ 0.324218] console [ttyS0] enabled [ 0.324218] console [ttyS0] enabled [ 0.331212] bootconsole [early0] disabled [ 0.331212] bootconsole [early0] disabled [ 0.340015] 10000d00.uart1: ttyS1 at MMIO 0x10000d00 (irq = 29, base_baud = 2500000) is a 16550A [ 0.349688] 10000e00.uart2: ttyS2 at MMIO 0x10000e00 (irq = 30, base_baud = 2500000) is a 16550A [ 0.359203] cacheinfo: Failed to find cpu0 device node [ 0.364451] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 0.371421] spi-mt7621 10000b00.spi: sys_freq: 193333333 [ 0.382494] m25p80 spi0.0: mx25l25635e (32768 Kbytes) [ 0.387742] 5 fixed-partitions partitions found on MTD device spi0.0 [ 0.394198] Creating 5 MTD partitions on "spi0.0": [ 0.399063] 0x000000000000-0x000000030000 : "u-boot" [ 0.405061] 0x000000030000-0x000000040000 : "u-boot-env" [ 0.411265] 0x000000040000-0x000000050000 : "factory" [ 0.417315] 0x000000050000-0x000001f80000 : "firmware" [ 0.491788] 2 uimage-fw partitions found on MTD device firmware [ 0.497837] 0x000000050000-0x0000001dae4c : "kernel" [ 0.503854] 0x0000001dae4c-0x000001f80000 : "rootfs" [ 0.509667] mtd: device 5 (rootfs) set to be root filesystem [ 0.516923] 1 squashfs-split partitions found on MTD device rootfs [ 0.523266] 0x000000970000-0x000001f80000 : "rootfs_data" [ 0.529671] 0x000001f80000-0x000002000000 : "user" [ 0.536440] libph▒▒4▒22▒&▒▒'▒▒98▒/▒2▒▒[ 0.552354] rt3050-esw 10110000.esw: link changed 0x00 [ 0.559268] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5 [ 0.567966] i2c /dev entries driver [ 0.573439] NET: Registered protocol family 10 [ 0.582268] Segment Routing with IPv6 [ 0.586173] NET: Registered protocol family 17 [ 0.590734] 8021q: 802.1Q VLAN Support v1.8 [ 0.600979] VFS: Mounted root (squashfs filesystem) readonly on device 31:5. [ 0.609345] Freeing unused kernel memory: 212K [ 0.613883] This architecture does not have kernel memory protection. [ 1.411914] init: Console is alive [ 1.415700] init: - watchdog - [ 2.173182] random: fast init done [ 4.921849] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 5.201463] usbcore: registered new interface driver usbfs [ 5.207212] usbcore: registered new interface driver hub [ 5.212708] usbcore: registered new device driver usb [ 5.224448] exFAT: Version 1.2.9 [ 5.263083] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.279392] SCSI subsystem initialized [ 5.288869] ehci-platform: EHCI generic platform driver [ 5.304583] phy phy-10120000.usbphy.0: remote usb device wakeup disabled [ 5.311386] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz [ 5.316722] ehci-platform 101c0000.ehci: EHCI Host Controller [ 5.322583] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 5.330759] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 5.363219] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 5.370704] hub 1-0:1.0: USB hub found [ 5.374965] hub 1-0:1.0: 1 port detected [ 5.385029] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 5.392896] ohci-platform: OHCI generic platform driver [ 5.398573] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 5.405538] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 5.413670] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 5.488252] hub 2-0:1.0: USB hub found [ 5.492529] hub 2-0:1.0: 1 port detected [ 5.511338] MTK MSDC device init. [ 5.573409] mtk-sd: MediaTek MT6575 MSDC Driver [ 5.582515] sdhci: Secure Digital Host Controller Interface driver [ 5.588855] sdhci: Copyright(c) Pierre Ossman [ 5.594662] sdhci-pltfm: SDHCI platform and OF driver helper [ 5.604938] usbcore: registered new interface driver usb-storage [ 5.614797] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 5.632654] init: - preinit - [ 7.022894] rt3050-esw 10110000.esw: link changed 0x00 Press the [f] key and hit [enter] to enter failsafe mode Press the , ,  or  key and hit [enter] to select the debug level [ 7.217245] random: procd: uninitialized urandom read (4 bytes read) [ 10.470297] mount_root: loading kmods from internal overlay [ 10.541724] kmodloader: loading kernel modules from //etc/modules-boot.d/* [ 10.555202] kmodloader: done loading kernel modules from //etc/modules-boot.d/* [ 11.750080] block: attempting to load /etc/config/fstab [ 11.760873] block: unable to load configuration (fstab: Entry not found) [ 11.767940] block: no usable configuration [ 11.772984] mount_root: jffs2 not ready yet, using temporary tmpfs overlay [ 11.848962] urandom-seed: Seed file not found (/etc/urandom.seed) [ 12.052524] procd: - early - [ 12.056391] procd: - watchdog - [ 12.803717] procd: - watchdog - [ 12.807209] procd: - ubus - [ 12.906687] random: ubusd: uninitialized urandom read (4 bytes read) [ 13.091424] random: ubusd: uninitialized urandom read (4 bytes read) [ 13.098492] random: ubusd: uninitialized urandom read (4 bytes read) [ 13.106057] procd: - init - Please press Enter to activate this console. [ 13.696941] kmodloader: loading kernel modules from /etc/modules.d/* [ 13.857596] RPC: Registered named UNIX socket transport module. [ 13.863680] RPC: Registered udp transport module. [ 13.868446] RPC: Registered tcp transport module. [ 13.873231] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 13.892107] ntfs: driver 2.1.32 [Flags: R/O MODULE]. [ 13.978602] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 14.598031] [ 14.598031] [ 14.598031] === pAd = c0615000, size = 1178064 === [ 14.598031] [ 14.609337] mt7628_init(FW(8a00), HW(8a01), CHIPID(7628)) [ 14.679449] Linux video capture interface: v2.00 [ 14.768525] hidraw: raw HID events driver (C) Jiri Kosina [ 14.797961] ledchain: pwm_base=0xB0005000 [ 14.802176] ledchain: v6 - Device: /dev/ledchain2 [ 14.807013] ledchain: - PWM channel : 2 [ 14.811162] ledchain: - PWM buffer size: 12 [ 14.815418] ledchain: - Number of LEDs : 1 [ 14.819569] ledchain: - Inverted : 0 [ 14.823735] ledchain: - LED type : WS2813 GRB [ 14.828678] ledchain: - Max retries : 3 [ 14.832827] ledchain: - Max Tpassive : 0 nS (0=chip default) [ 14.929410] Bluetooth: Core ver 2.22 [ 14.933227] NET: Registered protocol family 31 [ 14.937735] Bluetooth: HCI device and connection manager initialized [ 14.944199] Bluetooth: HCI socket layer initialized [ 14.949150] Bluetooth: L2CAP socket layer initialized [ 14.954315] Bluetooth: SCO socket layer initialized [ 14.962087] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 14.967550] Bluetooth: BNEP filters: protocol multicast [ 14.972859] Bluetooth: BNEP socket layer initialized [ 14.985480] usbcore: registered new interface driver btusb [ 14.995741] usbcore: registered new interface driver cdc_acm [ 15.001490] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters [ 15.014100] Bluetooth: HCI UART driver ver 2.3 [ 15.018620] Bluetooth: HCI UART protocol H4 registered [ 15.023870] Bluetooth: HCI UART protocol BCSP registered [ 15.033699] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 15.039727] Bluetooth: HIDP socket layer initialized [ 15.050862] ip_tables: (C) 2000-2006 Netfilter Core Team [ 15.078516] nf_conntrack version 0.5.0 (2048 buckets, 8192 max) [ 15.176676] rt2880-pinmux pinctrl: pin io18 already requested by pinctrl; cannot claim for 10005000.pwm [ 15.186285] rt2880-pinmux pinctrl: pin-18 (10005000.pwm) status -22 [ 15.192645] rt2880-pinmux pinctrl: could not request pin 18 (io18) from group pwm0 on device rt2880-pinmux [ 15.202532] mtk-pwm 10005000.pwm: Error applying setting, reverse things back [ 15.217067] Bluetooth: RFCOMM TTY layer initialized [ 15.222044] Bluetooth: RFCOMM socket layer initialized [ 15.227343] Bluetooth: RFC▒▒&▒29▒▒▒1 [ 15.247570] usbcore: registered new interface driver ums-alauda [ 15.256777] usbcore: registered new interface driver ums-cypress [ 15.266285] usbcore: registered new interface driver ums-datafab [ 15.275432] usbcore: registered new interface driver ums-freecom [ 15.284801] usbcore: registered new interface driver ums-isd200 [ 15.294302] usbcore: registered new interface driver ums-jumpshot [ 15.303596] usbcore: registered new interface driver ums-karma [ 15.313661] usbcore: registered new interface driver ums-sddr09 [ 15.322978] usbcore: registered new interface driver ums-sddr55 [ 15.332753] usbcore: registered new interface driver ums-usbat [ 15.346042] usbcore: registered new interface driver usbhid [ 15.351701] usbhid: USB HID core driver [ 15.360008] usbcore: registered new interface driver usblp [ 15.375461] usbcore: registered new interface driver usbserial [ 15.381480] usbcore: registered new interface driver usbserial_generic [ 15.388282] usbserial: USB Serial support registered for generic [ 15.407857] Driver for 1-wire Dallas network protocol. [ 15.437316] xt_time: kernel timezone is -0000 [ 15.444306] usbcore: registered new interface driver ch341 [ 15.449981] usbserial: USB Serial support registered for ch341-uart [ 15.459475] usbcore: registered new interface driver cp210x [ 15.465323] usbserial: USB Serial support registered for cp210x [ 15.475337] usbcore: registered new interface driver ftdi_sio [ 15.481278] usbserial: USB Serial support registered for FTDI USB Serial Device 15.502717] usbcore: registered new interface driver pl2303 [ 15.508568] usbserial: USB Serial support registered for pl2303 [ 15.520518] PPP generic driver version 2.4.2 [ 15.528361] NET: Registered protocol family 24 [ 15.548056] usbcore: registered new interface driver snd-usb-audio [ 15.570765] usbcore: registered new interface driver uvcvideo [ 15.576656] USB Video Class driver (1.1.1) [ 15.587963] usbcore: registered new interface driver option [ 15.593804] usbserial: USB Serial support registered for GSM modem (1-port) [ 15.606541] kmodloader: done loading kernel modules from /etc/modules.d/* [ 15.953138] urandom_read: 5 callbacks suppressed [ 15.953150] random: jshn: uninitialized urandom read (4 bytes read) [ 26.368535] jffs2: notice: (1393) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 30.790170] IPv6: ADDRCONF(NETDEV_UP): br-wlan: link is not ready [ 31.497238] [ 31.497238] _ _____ ___ ___ ___ _____ ___ ____ [ 31.497238] | | /| / / _ | / _ \/ _ \ / ___/ __ \/ _ \/ __/ V1.1 [ 31.497238] | |/ |/ / __ |/ , _/ ___/ / /__/ /_/ / , _/ _/ [ 31.497238] |__/|__/_/ |_/_/|_/_/ \___/\____/_/|_/___/ [ 31.497238] Onion Enhanced MT7688 WiFi Driver [ 31.497238] [ 31.797501] DMA Scheduler Mode=0(LMAC) [ 31.801333] efuse_probe: efuse = 10000012 [ 31.805522] 1. Phy Mode = 14
After this, the console just stays idle and the light on the Omega2+ goes off.
During the above boot I was able to "f + enter" to go into the failsafe mode.
From there, I ran the following commands:
firstboot -y sync reboot
But now, on the serial window, my Omega2+ is continously doing the following:
/ _ `/_ \____/_//_/_/\___/_//_/ \____/_/_/_/\__/\_, /\_,_/ W H A T W I L L Y O U I N V E N T ? /___/" Board: Onion Omega2 APSoC DRAM: 128 MB relocate_code Pointer at: 87f60000 flash manufacture id: c2, device id 20 19 find flash: MX25L25635E
@Prashant-Kamdar how are you powering your device? The error where it was rebooting when displaying the Warp Core logo makes me think that there is insufficient power.
@crispyoz I am powering the device using the FTDI's output of 3v3 which is connected to the PC.
I am able to get into the failsafe mode. What can I do now?
@Prashant-Kamdar I would use mount_root command, then once root is mounted, type service network disable
If you have the same issue then use firstboot -y again
@crispyoz that worked!
The Onion2+ just gave me a wifi AP and after connecting to it, it also showed up the new setup window on the http wizard!
Can you tell me what had happened and how did disabling the network solve it?
@Prashant-Kamdar I don't think you have sufficient power/current to power the device. When you started without the network enabled you avoid the spike in current draw which I think is what is causing your device to keep rebooting.
I don't know why, though since after following your steps, it works well even after a couple of reboots.
One last question, the firmware repo shows the latest firmware is omega2p-v0.3.3-b253.bin, but on the onion, it already shows I am on the latest (my firmware is higher than the latest?)
Is this ok?
@Prashant-Kamdar I think since you had just upgraded there were probably other things going on in the background that exacerbated the issue. WiFi scanning is a big hit on the system so temporarily avoiding it allowed things to complete. Trust me, your power supply is insufficient, it will rear its ugly head some time down the track.
Firmware 0.3.2 (b233) is the latest stable release, 0.3.3 (b251) is the latest release.
The upgrade function looks at https://api.onioniot.com/firmware/omega2p/stable
You can use your browser to check it and see the JSON response, then if you try https://api.onioniot.com/firmware/omega2p you will see the stable status of all the firmware versions.
@crispyoz thank you very much!
I agree with your point about insufficient power supply and will ensure to provide enough current for stable usage of op2+
@crispyoz sorry to bother again.
But I just realised that every time I reboot the omega2+, it resets the web console like it did earlier with 'firstboot'
Earlier when I said it was rebooting fine, it was... but I was only connected to the serial console and didn't realise that it was disconnected from my internet connection every time I rebooted.
What may be this issue?
@Prashant-Kamdar You need to reactive the network service:
service network enable
@crispyoz no dice
I did both enable and start and then connected to internet and rebooted, and still it came up like firstboot.
Next time it booted, I connected to internet and then enabled and started network and then reboot; still the same.
Did both the above a couple of times.
service network enable service network start
@Prashant-Kamdar service network start is starting the network ok, correct? It's just not starting automatically when you boot?
@crispyoz this is correct
But hey, never mind this problem.
I reflashed the firmware and the problem went away
$ sysupgrade omega2p-v0.3.2-b218.bin
Thank you for your help!
@Prashant-Kamdar for future reference, the start file will be in /etc/rc.d the file is named S20Network the 'S' means it is called at startup, '20' is the order in which it starts, 'network' is the service name of course. There will also be a corresponding KxxNetwork which is the script called to shutdown the service.
A long time ago I had an issue where disabling and enabling a service did not always remove and then replace these files reliably. I never found out why, I just replaced the file and all was good. Never happened again.