PureOS Librem15 HD only boots in recovery mode

I received my Librem15 today and it ran fine through the install.

On the first boot after install it failed with:

[ 1,649162] DMAR: Failed to find handle for ACPI object _SB.PCI0.SDMA
[ 1.649213] DMAR: Failed to find handle for ACPI object _SB.PCI0.SDHC
Welcome to emergency mode!

I re-booted it in pureos recovery mode and it came up fine.

Since then, it has followed a consistent pattern on a boot in pureos normal mode.

  • Asks for the encryption password
  • Put an empty square box on the screen for several minutes
  • Flashes a console screen
  • Brings up a progress bar that appears to shade itself completely
  • It just sits there doing nothing for a long time (5+ minutes).
  • Finally, it brings up the empty square box again.
  • I wait another 5+ minutes before giving up and rebooting it.
  • I bring it back up in recovery mode and all is well again.

In recovery mode, if I run journalctl -xb, I notice a few errors:

  • usb 1-6: firmware: failed to load ar3k/AthrBT_0x11020100.dfu (-2)
  • Bluetooth: Loading patch file failed
  • avahi-daemon: chroot c: open() failed: No such file or directory
  • minissdpd: setsockopt(udp, IP_ADD_MEMBERSHIP)(0.0.0.0): No such device

Any thoughts on what this might be?

Thanks.

Hi Richard!

What do you mean by “empty square box”? Is it Purism logo perhaps: https://puri.sm/wp-content/uploads/2015/04/purism-logo-87x56px.png ?

Can you switch to another vt and try a console login?

Also, when you are in recovery mode, run journal with just journal -x so that you can inspect previous (normal) boot. Errors from recovery boot can be safely ignored.

I had the exact same issue yesterday with the Librem 13 I picked up from the San Mateo office. I don’t use the PureOS so have already wiped and installed Debian Testing but the symptoms Richard describes sound like precisely what I encountered.

Hello Mladen,

My bad. That is the logo!

Here are the results from tonight.

  • I cannot switch to a vt when the logo or the progress bar is on the screen.
  • If I boot in recovery mode I can switch to a vt after the login screen comes up.

Now I have a new problem. When I boot in recovery mode the touchpad is frozen. I presume I did this when I was hunting for a vt. I tried every hint I could find online and I cannot unstick it.

Thanks.

Rebecca,

Thanks for the info on Debian testing. That is my next stop if I can’t solve these issues.

Richard and Rebecca, I’m gonna report this to our devs ASAP, we apologize for your troubles.

Richard, I presume you don’t have any personal data on your Librem yet, so the best way to resolve this is to reinstall. You can download PureOS 2.1 from here: https://puri.sm/pureos/download/ and “burn” the iso image file to usb memory stick (let me know if you need help with that). Or, you can download and install Debian like Rebecca did.

Mladen,

No personal data yet. So I agree with a reinstall. Thanks for reporting the issue.

I probably won’t get to the reinstall until the weekend, but that will give me time to decide between PureOS and my normal favorite, Debian.

Richard and Rebecca, I have a question: what disk do you have in your Librems? Is it NVMe or SATA?

Hi Mladen,

I’m not sure re: SATA vs NVMe. Here’s a pastebin of lshw output.

http://pastebin.com/SQWcH84x

Let me know if there’s something else necessary to determine this.

Rebecca

Thanks, but could you also post the outputs of:

# lsblk

and

# dmesg | grep -i nvm

sudo lsblk

http://pastebin.com/ftHjivb4

sudo dmesg | grep -i nvm

produced no output

Hope this helps!
Rebecca

Thank you. :slight_smile:

Mladen,

sudo lsblk

NAME                        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                           8:0    0 232.9G  0 disk
|-sda1                        8:1    0   476M  0 part  /boot
|-sda2                        8:2    0   9.3G  0 part
|-sda3                        8:3    0     1K  0 part
```
-sda5                        8:5    0 223.1G  0 part
  
```
-sda5_crypt              254:0    0 223.1G  0 crypt
    |-crypt-swap            254:1    0   1.9G  0 lvm   [SWAP]
    `-crypt-root            254:2    0 221.2G  0 lvm   /
sdb                           8:16   0 232.9G  0 disk
loop0                         7:0    0   100G  0 loop
```
-docker-254:2-9447402-pool 254:3    0   100G  0 dm
loop1                         7:1    0     2G  0 loop

```
-docker-254:2-9447402-pool 254:3    0   100G  0 dm

sudo dmesg | grep -i nvm
no output

sorry about the formatting - in a rush tonight

NAME                        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                           8:0    0 232.9G  0 disk
|-sda1                        8:1    0   476M  0 part  /boot
|-sda2                        8:2    0   9.3G  0 part
|-sda3                        8:3    0     1K  0 part

-sda5 8:5 0 223.1G 0 part
-sda5_crypt 254:0 0 223.1G 0 crypt |-crypt-swap 254:1 0 1.9G 0 lvm [SWAP]-crypt-root 254:2 0 221.2G 0 lvm /
sdb 8:16 0 232.9G 0 disk
loop0 7:0 0 100G 0 loop

-docker-254:2-9447402-pool 254:3    0   100G  0 dm
loop1                         7:1    0     2G  0 loop

-docker-254:2-9447402-pool 254:3 0 100G 0 dm
`

Thank you. :slight_smile:

Update: we have fixed this, so devices which will be shipped from now on will not have this issue. Richard and Rebecca, thank you for your help!

Hi Mladen,

I am happy to hear you have fixed that.

Now, perhaps I can get some help for my laptop, which is still not fully usable after a week of owning it?

I first tried to burn a USB stick for PureOS 2.1. I had no luck with that. I burned it three ways.

  • OS X dd
  • OS X etcher
  • Linux gnome-disk-utility

Each time left me with a USB that the Librem did not think was bootable.

So I moved onto Debian Testing and burned a USB stick for that using OS X and dd.

The Librem happily booted from that and I installed successfully.

Then my troubles began. Even though the Debian installer had no problems using WIFI during the install, I cannot get the WIFI device to go active now that the box is ready. I am writing this using a USB ethernet dongle.

FYI: I am using KDE as a DE. I have done the majority of my testing with NetworkManager stopped and hacking WIFI config based on various blog entries I found on the ath9k.

On a clean boot, NetworkManager running, I see the following:


$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 30:10:b3:77:c3:b7 brd ff:ff:ff:ff:ff:ff


$ sudo journalctl | grep "ath9k\|wlp2s0"
[sudo] password for rick: 
Sep 05 14:31:27 red kernel: ath9k 0000:02:00.0: enabling device (0000 -> 0002)
Sep 05 14:31:28 red kernel: ath9k 0000:02:00.0 wlp2s0: renamed from wlan0
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.0605] rfkill0: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/ieee80211/phy0/rfkill0) (driver ath9k)
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.1147] devices added (path: /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/net/wlp2s0, iface: wlp2s0)
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.1147] device added (path: /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/net/wlp2s0, iface: wlp2s0): no ifupdown configuration found.
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.2511] (wlp2s0): using nl80211 for WiFi device control
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.2520] device (wlp2s0): driver supports Access Point (AP) mode
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.2527] manager: (wlp2s0): new 802.11 WiFi device (/org/freedesktop/NetworkManager/Devices/0)
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.2534] device (wlp2s0): state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
Sep 05 14:31:29 red kernel: IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
Sep 05 14:31:29 red kernel: IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.2947] device (wlp2s0): supplicant interface state: init -> starting
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.3337] sup-iface[0x1773f70,wlp2s0]: supports 4 scan SSIDs
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.3343] device (wlp2s0): supplicant interface state: starting -> ready
Sep 05 14:31:29 red NetworkManager[2379]: <info>  [1473111089.3343] device (wlp2s0): state change: unavailable -> disconnected (reason 'supplicant-available') [20 30 42]
Sep 05 14:31:29 red kernel: IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
Sep 05 14:31:32 red wpa_supplicant[2447]: wlp2s0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
Sep 05 14:31:32 red wpa_supplicant[2447]: wlp2s0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
Sep 05 14:31:32 red NetworkManager[2379]: <info>  [1473111092.7836] device (wlp2s0): supplicant interface state: ready -> inactive


$ cat /etc/wpa_supplicant/wpa_supplicant.conf 
ctrl_interface=/var/run/wpa_supplicant
network={
  ssid="MYSSID"
  scan_ssid=1
  key_mgmt=WPA-PSK
  psk=secret
}

The manual testing I have doing involved:


$ sudo service network-manager stop
$ wpa_passphrase MySSID seed-password
edit the supplicant file and add the psk
$ sudo ifconfig wlp2s0 up
$ sudo iwlist scan
shows Cell 1
$ sudo iwconfig wlp2s0 essid "MySSID" channel 1
$ sudo wpa_supplicant -B -Dwext -iwlp2s0 -c/etc/wpa_supplicant/wpa_supplicant.conf
ip addr shows state dormant
$ sudo dhclient wlp2s0
it pauses for a long time
once back, ip addr shows it down again

I would appreciate any help I can get. I don’t find laptops without WIFI to be all that useful.

Thanks.

Richard, I’m sorry for your troubles.

First, burning iso to usb stick is easy to achieve in terminal, this is the command you need to issue:

# sudo dd bs=4M if=/path/to/PureOS-2.1.iso of=/dev/sdX status=progress && sync

Replace /dev/sdx with your usb drive, e.g. /dev/sdc (be carefull here, doublecheck your drive designations here, usb must be unmounted). You can ommit status=progress but do not ommit the sync part. Before all this check the md5 hash of downloaded ISO file to make sure download went okay.

Edit: I’m not sure why the OS X dd command failed to produce bootable usb.

Now the WiFi. Have you tried Fn+F3 combination to enable WiFi? You can also check if the wifi is blocked using this terminal command:
# sudo rfkill list all
and you can try to remove the blocks by issuing
# sudo rfkill unblock all

Let me know if everything went okay.

Hi Mladen,

rfkill claimed nothing was blocked. I ran unblock just for good measure.

I went through all of my manual steps and I thought I was in business. iwlist scan showed 6 cells, including three at my house. I worked my way to the dhclient call and it ultimately failed. journalctl showed the following.


Sep 06 20:20:14 red avahi-autoipd(wlp2s0)[3750]: Found user 'avahi-autoipd' (UID 106) and group 'avahi-autoipd' (GID 110).
Sep 06 20:20:14 red avahi-autoipd(wlp2s0)[3750]: Successfully called chroot().
Sep 06 20:20:14 red avahi-autoipd(wlp2s0)[3750]: Successfully dropped root privileges.
Sep 06 20:20:14 red avahi-autoipd(wlp2s0)[3750]: Starting with address 169.254.10.123
Sep 06 20:20:19 red avahi-autoipd(wlp2s0)[3750]: Callout BIND, address 169.254.10.123 on interface wlp2s0
Sep 06 20:20:19 red avahi-daemon[2302]: Joining mDNS multicast group on interface wlp2s0.IPv4 with address 169.254.10.123.
Sep 06 20:20:19 red avahi-daemon[2302]: New relevant interface wlp2s0.IPv4 for mDNS.
Sep 06 20:20:19 red avahi-daemon[2302]: Registering new address record for 169.254.10.123 on wlp2s0.IPv4.
Sep 06 20:20:23 red avahi-autoipd(wlp2s0)[3750]: Successfully claimed IP address 169.254.10.123
Sep 06 20:20:32 red kernel: wlp2s0: authenticate with 6c:b0:ce:ef:b2:3e
Sep 06 20:20:32 red kernel: wlp2s0: send auth to 6c:b0:ce:ef:b2:3e (try 1/3)
Sep 06 20:20:32 red kernel: wlp2s0: authenticated
Sep 06 20:20:32 red kernel: wlp2s0: associate with 6c:b0:ce:ef:b2:3e (try 1/3)
Sep 06 20:20:32 red kernel: wlp2s0: RX AssocResp from 6c:b0:ce:ef:b2:3e (capab=0x431 status=0 aid=10)
Sep 06 20:20:32 red kernel: wlp2s0: associated
Sep 06 20:20:32 red kernel: wlp2s0: deauthenticating from 6c:b0:ce:ef:b2:3e by local choice (Reason: 3=DEAUTH_LEAVING)
Sep 06 20:21:09 red kernel: wlp2s0: authenticate with 6c:b0:ce:ef:b2:3e
Sep 06 20:21:09 red kernel: wlp2s0: send auth to 6c:b0:ce:ef:b2:3e (try 1/3)
Sep 06 20:21:09 red kernel: wlp2s0: authenticated
Sep 06 20:21:09 red kernel: wlp2s0: associate with 6c:b0:ce:ef:b2:3e (try 1/3)
Sep 06 20:21:09 red kernel: wlp2s0: RX AssocResp from 6c:b0:ce:ef:b2:3e (capab=0x431 status=0 aid=4)
Sep 06 20:21:09 red kernel: wlp2s0: associated
Sep 06 20:21:09 red kernel: wlp2s0: deauthenticating from 6c:b0:ce:ef:b2:3e by local choice (Reason: 3=DEAUTH_LEAVING)
Sep 06 20:21:34 red dhclient[3679]: DHCPDISCOVER on wlp2s0 to 255.255.255.255 port 67 interval 4
Sep 06 20:21:38 red dhclient[3679]: DHCPDISCOVER on wlp2s0 to 255.255.255.255 port 67 interval 10

I thought that might be because I have no password used on my manual steps.

So I restarted network-manager and it prompted for a password for the WIFI network. No matter how many times I gave it to it. it kept asking for it again.

Now the journal shows:


Sep 06 20:36:01 red dhclient[3757]: DHCPDISCOVER on wlp2s0 to 255.255.255.255 port 67 interval 15
Sep 06 20:36:16 red kernel: wlp2s0: authenticate with 6c:b0:ce:ef:b2:3e
Sep 06 20:36:16 red kernel: wlp2s0: send auth to 6c:b0:ce:ef:b2:3e (try 1/3)
Sep 06 20:36:16 red kernel: wlp2s0: authenticated
Sep 06 20:36:16 red kernel: wlp2s0: associate with 6c:b0:ce:ef:b2:3e (try 1/3)
Sep 06 20:36:16 red kernel: wlp2s0: RX AssocResp from 6c:b0:ce:ef:b2:3e (capab=0x431 status=0 aid=4)
Sep 06 20:36:16 red wpa_supplicant[2406]: wlp2s0: No network configuration found for the current AP
Sep 06 20:36:16 red kernel: wlp2s0: associated
Sep 06 20:36:16 red kernel: wlp2s0: deauthenticating from 6c:b0:ce:ef:b2:3e by local choice (Reason: 3=DEAUTH_LEAVING)
Sep 06 20:36:16 red wpa_supplicant[2406]: wlp2s0: CTRL-EVENT-DISCONNECTED bssid=6c:b0:ce:ef:b2:3e reason=3 locally_generated=1
Sep 06 20:36:16 red NetworkManager[3879]: <info>  [1473219376.2910] device (wlp2s0): supplicant interface state: inactive -> associated
Sep 06 20:36:16 red NetworkManager[3879]: <warn>  [1473219376.2910] sup-iface[0x200ca20,wlp2s0]: connection disconnected (reason -3)
Sep 06 20:36:16 red wpa_supplicant[2406]: wlp2s0: CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
Sep 06 20:36:16 red NetworkManager[3879]: <info>  [1473219376.2961] device (wlp2s0): supplicant interface state: associated -> disconnected
Sep 06 20:36:16 red NetworkManager[3879]: <info>  [1473219376.3962] device (wlp2s0): supplicant interface state: disconnected -> inactive
Sep 06 20:36:16 red wpa_supplicant[2406]: wlp2s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sep 06 20:36:16 red dhclient[3757]: DHCPDISCOVER on wlp2s0 to 255.255.255.255 port 67 interval 5
Sep 06 20:36:19 red wpa_supplicant[2406]: wlp2s0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
Sep 06 20:36:19 red wpa_supplicant[2406]: wlp2s0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN

Going to try a reboot to see if that helps.