Librem mini v2 - SSD available only after reboot

Hello,

A long time ago, I’ve installed debian buster on the Librem mini, but I had a small annoying problem
This week, I’ve updated coreboot with the latest coreboot_util.sh hoping it would solve it, it didn’t

I have a 250Go SSD M2 and a 1To SSD HDD SATA II
Here is my problem: if I plug the power supply, then boot the Librem mini, the 1To SSD HDD is not available
fdisk -l shows this :

Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 860 
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: 0x04eedd7f

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 486395903 486393856  232G 83 Linux
/dev/sda2       486397950 488396799   1998850  976M  5 Extended
/dev/sda5       486397952 488396799   1998848  976M 82 Linux swap / Solaris

I have to reboot, then fdisk -l shows :

Disk /dev/sdb: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 860 
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: 0x04eedd7f

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sdb1  *         2048 486395903 486393856  232G 83 Linux
/dev/sdb2       486397950 488396799   1998850  976M  5 Extended
/dev/sdb5       486397952 488396799   1998848  976M 82 Linux swap / Solaris


Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDC WD10JPVX-22J
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x3379b0b1

Device     Boot Start        End    Sectors   Size Id Type
/dev/sda1        2048 1953519615 1953517568 931.5G 83 Linux

I can halt and reboot without problem, but if I cut the power supply, and put it back, it fails at the first boot

Someone has an idea about how to solve this ?

Does the problem happen if you Live Boot a USB flash drive containing PureOS? (Or, similarly, if you just temporarily put PureOS on the 250GB boot drive?)

Anything relevant in the system log when the second drive fails to be detected?

1 Like

I did journalctl > log.1 when it fails and journalctl > log.2 for the next reboot
I analyzed the differences between the 2 log files with meld <3

The first lines when it really start to differentiate are those one :

----
log.1:kernel: ata1: SATA max UDMA/133 abar m2048@0x9fb24000 port 0x9fb24100 irq 124
log.1:kernel: ata1: SATA link down (SStatus 4 SControl 300)
----
log.2:kernel: ata1: SATA max UDMA/133 abar m2048@0x9fb24000 port 0x9fb24100 irq 124
log.2:kernel: ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
----

I’ll try later with a Live OS and see what will happen, but with those logs I’m afraid it won’t change anything, unless PureOS does something to bring up the SATA LINK, but I doubt it

That is something at least. The error message appears to relate directly to the observed symptom.

I guess different software versions might try different things and try more times and wait longer for SATA to sort itself out.

If it’s under warranty (depends on the meaning of “A long time ago”), I would ask Purism about it.

I almost certainly don’t have enough knowledge of the internals.

I notice that it says “SATA link up 6.0 Gbps” but you wrote originally “SATA II” - so that is actually the wrong speed. It may indicate nothing (e.g. sloppy message) but … are you in fact using a SATA III drive and, if not, can you try an actual SATA III drive? (even if it’s not the full 1 TB i.e. just for testing).

Yep it’s SATA III and it’s not SSD but HDD :sweat_smile:
But SATA III is retro-compatible with SATA I and II, I said SATA II to differentiate with SATA M2, it was foolish of me

1 Like

I tried PureOS live, same behavior

Could it be something to do about “Power-Up In Standby” ?

hdparm -I /dev/sda | grep "Power-Up In Standby"
                Power-Up In Standby feature set

It’s worth a shot. It is plausible. You tell us.

In similar(?) configs in the past (always on computer, boot from SSD, second disk is HDD that contains lots of data but data is needed infrequently) I would configure spindown_time on the HDD but not power-on in standby - so that means that immediately after a (re)boot the HDD may be pointlessly spinning for X seconds before going off to sleep. You don’t generally want “power-on in standby” anyway if you intend to mount the disk at (re)boot (which may or may not be the case).

Note also that man hdparm says of “power-on in standby” … VERY DANGEROUS. Although I would guess that applies in a very traditional internal disks only, one-disk system where the disk by definition is the boot disk. These days you can boot from external (USB) disk anyway if you “brick” your system this way, and many systems will have more than one internal disk also.