(soft)Bricked Omnia Turris?


#1

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.


#2

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.