(soft)Bricked Omnia Turris?

I have purchased an Omnia Turris during the campaign.

After this I have used the device for a few months without incident.
I received a different device and used that for the past years.
Now I want to use the Omnia Turris again because it offers SFP for which I have a usecase.
The trouble is, my Omnia Turris doesn’t seem to properly boot/work anymore.

After a lot of research, troubleshooting, searching the forums and all other places of the web I came to the following conclusions:

uBoot is working with the following build: U-Boot 2015.10-rc2 (Mar 06 2019 - 14:44:41 +0100), Build: jenkins-omnia-test-228

The rescue environment is still accessible.

Booting “normally” will give the following output, followed by a reboot:

Kernel image @ 0x1000000 [ 0x000000 - 0x689b30 ]
## Flattened Device Tree blob at 02000000
Booting using the fdt blob at 0x2000000
Loading Device Tree to 0fff8000, end 0ffff29a ... OK
Starting kernel ...

When performing a factory reset the device gives the following output:

[    7.438015]  sda: sda1
[    7.441381] sd 2:0:0:0: [sda] Attached SCSI removable disk
MODE=2
Mode: Rollback to first snapshot...
[   11.815013] XFS (mmcblk0p1): unknown mount option [subvol].
mount: mounting /dev/mmcblk0p1 on /mnt/.snapshots failed: Invalid argument
Snapshot number  does not exists!
Doing sysrq rebo[   11.833412] sysrq: SysRq : ot as busybox onChanging Loglevel
e doesn't work
[   11.839220] sysrq: Loglevel set to 0
[   11.844309] sysrq: SysRq : Resetting

When flashing from USB it gives the following output:

Testing FS on device sda1
mount_fs /dev/sda1 /srcmnt
[    7.894078] EXT4-fs (sda1): couldn't mount as ext3 due to feature incompatibilities
[    7.921986] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
Searching for /srcmnt/omnia-medkit*.tar.gz on sda1
Found medkit file /srcmnt/omnia-medkit-latest.tar.gz on device sda1
1+0 records in
1+0 records[    7.941653]  mmcblk0: p1
out
512 bytes (512B) copied, 0[    7.947073]  mmcblk0: p1
.001420 seconds, 352.1KB/s

Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): Partition number (2-4, default 2): Value out of range.
Partition number (2-4, default 2):
No free sectors available.

Command (m for help):
Command (m for help):

Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x81d08469

Device         Boot Start      End  Sectors  Size Id Type
/dev/mmcblk0p1       2048 15269887 15267840  7.3G 83 Linux

Command (m for help): The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

btrfs-progs v4.5.1
See http://btrfs.wiki.kernel.org for more information.

Performing full device TRIM (7.28GiB) ...
[   13.261036] random: nonblocking pool is initialized
Warning, could n[   57.117660] BTRFS: device fsid 9c32720e-0e0f-4c55-a0e4-d78872a59976 ot drop caches
devid 1 transid 3 /dev/mmcblk0p1
Warning, could not drop caches
Label:              (null)
UUID:               9c32720e-0e0f-4c55-a0e4-d78872a59976
Node size:          4096
Sector size:        4096
Filesystem size:    7.28GiB
Block group profiles:
Data+Metadata:    single            8.00MiB
System:           single            4.00MiB
SSD detected:       yes
Incompat features:  mixed-bg, extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1     7.28GiB  /dev/mmcblk0p1

Warning, could not drop caches
mount_fs /dev/mmcblk0p1 /mnt
[   57.256500] [EXFAT] trying to mount...
mount: mounting /dev/mmcblk0p1 on /mnt failed: I/O error
Error: Mount /dev/mmcblk0p1 on /mnt failed.
ERROR: not a btrfs filesystem: /mnt
Rootdir is /mnt/@
/bin/rescue.sh: cd: line 214: can't cd to /mnt/@
mdev: applet not found
ERROR: Could not statfs: No such file or directory
umount_fs /mnt
umount: can't unmount /mnt: Invalid argument
umount_fs /srcmnt
Current time Mon Jan 14 16:53:44 GMT 2019 seems to be OK. Keeping it.
Reflash succeeded.
Doing sysrq rebo[   61.559633] sysrq: SysRq : ot as busybox onChanging Loglevel
e doesn't work
[   61.566109] sysrq: Loglevel set to 0
[   61.571234] sysrq: SysRq : Resetting

I attempted to create a bootable USB following the guide found here:

https://doc.turris.cz/doc/en/howto/omnia_booting_from_external_storage
Booting from external and removable storage [Project: Turris]

Alas, I was unable to boot from the USB as uBoot never even detected is and gives the following output:

Hit any key to stop autoboot:  0
Setting bus to 1
BOOT eMMC FS
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
** Bad device usb 0 **
** Bad device usb 0 ** 

At this point in time I’m completely out of ideas, and honestly a little out of my depth.
Could you please help me get my Omnia Turris back up and running?
I would prefer using the internal eMMC, but if that happens to be the issue and is broken, I will settle for a usb drive boot.

For a TL;DR

The omnia won’t boot anymore as it’s just resetting after the message “Starting Kernel”
I tried:

  • Return to last snapshot
  • Reflash using medkit file (with ext4 and fat formatted USB)
  • Create a bootable usb

All of the above didn’t work for me and the device still isn’t booting.
I have UART access to the device and am up to try anything to get it working.

The problems started when I attempted an update.
After the update the omnia didn;t boot anymore and UART access told me it couldn’t read the btrfs volume.
It looked like the u-boot environment did not have a kernel module for the btrfs filesystem.
After this I used the medkit usb method to flash the device an have been in the situation described above ever since.

Hi Giblet,

I have the same problem as you it seems. The eMMC of my omnia also failed to mount in a attempt to upgrade to Turris OS 5.0. Now it is bricked as well. Did you solve this issue?

Kind Regards,
Alex

Last post is one and half year old.

Solved it!

The problem:
My eMMC flash turned out to be corrupt to the point that it wont mount anymore. This seemed to happen to other omnia’s as well when using LXC containers on either local or extarnal storage.

When you have a corrupt eMMC you’ll likely get the following error when trying to reflash the omnia from USB:

mount: mounting /dev/mmcblk0p1 on /mnt failed: I/O error
Error: Mount /dev/mmcblk0p1 on /mnt failed.
ERROR: not a btrfs filesystem: /mnt

The Solution:
I installed a ssd in the mSATA slot and followed the instructions to boot from external storage:

2 Likes

Thanks for the message, sooner or later this is waiting for us all. It’s great that we have documented solution.