2024-08-06 Pocket Reform
========================

I got my MNT Pocket Reform miniature laptop! I'm hoping that this
will be my new travel laptop as the Purism laptop I got back in 2017
has a broken hinge. The two halves of the Purism laptop are attached
to each other using two super strong hinges. The hinges are so strong,
in fact, that one of them ripped its screws out of the plastic. So now
the screen is held up by just one super strong hinge and I don't
really want to open or close it all that often for fear of breaking
it.

Here are my initial impressions of the new MNT Pocket Reform.

It is small, but chunky. It's definitely not flat. It also isn't
heavy, so I'm happy. The small keyboard and the small trackball work.

I was unable to power it on for the longest time. I had two problems.

First, there's a small standby power switch on the left hand side that
you need to turn on. The manual suggests "using a pointed object such
as a SIM card ejector." Which I managed to find. And then what do you
do? You use the SIM card ejector like you always do: stab it into the
small hole. So I did that for a bit, wondering at the empty spaces I
was a able to reach. What was I supposed to press? It was only when I
started to really look into the small hole that I realized: there was
actually something to be moved left and right within it!

Second, the manual says that to turn it on, "hold Hyper + Enter for
more than 2 seconds." I pressed those two keys and the OLED display
lit up. There was the menu! There it said "Power On". I picked it.
Nothing happened. Then the OLED display showed a tiny "T" in the upper
left corner. I did this again and again, exploring the small menu. The
laptop wouldn't power on no matter how often I selected the menu.
That's because I didn't press Hyper + Enter for <mark>more than 2
seconds</mark>! Press those keys until the keyboard lights up with
the pink backlights.

I setup my root passwords, created my user account, ran sudo apt
update and sudo apt upgrade and looked around at things. After a few
minutes I noticed that there is no indication of the batteries
charging. That made me nervous for a while as I kept seeing that "1%"
charge in the top right corner. It's probably charging, I thought.
Then the laptop turned off. Oh! I guess it wasn't charging after all.
What did I miss? Now that it is powered off, I see that the load
percentage starts climbing again.

This is what it says right now:

    πŸ”‹ 3.6                8%
    πŸ”‹ 3.7               Off
                      -1.07A
                      7.57V

Why is the second battery off? The manual doesn't explain what On/Off
on the second line means. It's an indication of whether the computer
is on or off! For the longest time I thought that the first battery
had some charge and the second battery was "off". Once I rebooted, it
changed to "On".

In any case, it seems that my problem is that when the laptop powers
on without being connected to a charger, it won't charge if you do
connect it. Perhaps a new system image would fix it? I'm not sure. I
downloaded an image, unzipped it, wrote it to a microSD card, and
maybe booted from it, but nothing seemed to have changed. I had to
provide a root password and a first username and another password… and
that's it. Was I supposed to run a command? I don't know. Did the apt
update && apt upgrade fix the problem? I don't know.

Anyway, when the laptop suddenly lost power (see above) I waited for
it to recharge for a bit and rebooted. It looked like this had
corrupted the disk, somehow. There are plenty of recovery messages and
percentages ending with an error because something cannot be written
to the read-only file system.

The output ends with the following, in an extremely tiny font:

    ...
    mount: mounting /dev/mmcblk2p2 on /root failed: Structure needs cleaning
    Failed to mount /dev/mmcblk2p2 as root file system

And now I am dropped in the initramfs. I try figure what I'm supposed
to do. I search for some keywords online but don't understand what I'm
seeing. Finally, I try to leave with exit, Ctrl+D and whatever else I
can think off. I reboot. This time there are fewer messages about the
filesystem and then I'm back at the login prompt. It fixed itself.

Phew!

I'm back.

My take-away is this: usability and user interface issues both large
and small remain a challenge in computers.

​#Gadgets #Laptop #Reform ​#Laptop #Reform ​#Reform

2024-08-07. Before the login prompt is shown, there is a long and
helpful introduction that flashes by. At the login prompt, you can
specify a different command to run instead of starting the window
manager. I did that, specifying /usr/bin/fish (I have installed fish
and prefer it over the default shell, bash). This allows you to read
the message. I guess it's the /etc/reform-help message.

Specifically, I learned about all the commands starting with reform-.
Nice! In the manual these tools are mentioned on page 50.

When I run sudo reform-check, it tells me that "eMMC does not contain
the latest uboot" and that I can run reform-flash-uboot emmc to fix
it. Do I dare? The following two messages are shown and they are not
identical. That's a bit strange.

    W: /boot/flash.bin is not the latest uboot
    W: You can update it to the latest version by running as root:
    reform-flash-uboot
    W: eMMC does not contain latest uboot
    W: You can update it to the latest version by running as root:
    reform-flash-uboot emmc

I guess I'll run the first command and then reform-check again.

In the meantime I saw that I don't have the pocket-reform-handbook
installed but that I do have the reform-handbook. Heh. (The MNT
Reform is the bigger laptop.)

Anyway, when I run reform-flash-uboot without arguments, I get an
error.

    /usr/sbin/reform-flash-uboot: 59: MMC_BOOT: parameter not set

I cannot decide whether this is a typo or not. It looks like one?

    alex@subterraneobombus ~> sudo nl /usr/sbin/reform-flash-uboot|grep MMC_BOOT
        27	if [ "$EMMC_BOOT" = false ]; then
        49		if [ "$EMMC_BOOT" = true ] && [ "$SD_BOOT" = true ]; then
        53		elif [ "$MMC_BOOT" = true ]; then
        60		if [ "$EMMC_BOOT" = true ] && [ "$SD_BOOT" = true ]; then
        71		elif [ "$MMC_BOOT" = true ]; then
    alex@subterraneobombus ~> grep MMC_BOOT "/usr/share/reform-tools/machines/MNT Pocket Reform with
     i.MX8MP Module.conf"
    EMMC_BOOT=true

Do I really want to do this? Luckily, I mentioned this issue on IRC,
and @josch@floss.social pointed me to this post by
@andypiper@macaw.social: Updating uboot?. This is the important bit:

> Do not flash u-boot to emmc on the pocket reform. There is a bug in
> the u-boot offset which will make your pocket unbootable if you fix
> the other bug in reform-flash-uboot. – josch on IRC

Oof! Disaster narrowly avoided. And now I understand what Andy Piper
means when he writes:

> I also managed to temporarily brick the machine by corrupting the
> uboot in flash, and needed to rig it up with Dupont wires on headers
> and access the machine from another via USB to get back to where I
> wanted to be. – MNT Pocket Reform: first impressions

Andy's post had a screenshot showing the fediverse client Tuba which
is available on Debian testing. Nice! I'll give it a try.

Tuba requires a "login" keyring so I had to install seahorse also
known as "Passwords and Keys". See keyring issues for more.

Back to small things to watch out for. When I run apt update it ends
with a notice saying: "Missing Signed-By in the sources.list(5) entry
for https://mnt.re/reform-debian-repo"

2024-08-10. After a recent upgrade, the battery indicator stopped
working. It just kept on showing 100%. The temporary fix, based on
the discussion in the forum:

* sudo apt install upower

* edit ~/.config/waybar/config and replace "battery" with "upower"
  on line 7

* restart the window manager

You don't need to configure waybar-upower(5) because the defaults are
good. I didn't delete the config for waybar-battery(5) because as far
as I can tell, the idea is to go back to it.

While we're looking at the window manager, this is my new background
image:

a mountain in inverse colours, so the green grass is instead magenta
so it matches the MNT Pocket Reform colours

Note that when you view the image in another tab, it'll be a negative:
purple grass instead of green grass. The original is what I used
before coming up with the image above.

You know what I've been putting off? Firefox setup. 😭

2024-08-20. The feeling when you received a new laptop, a new
charger, but you're missing the USB-C cable. Crowd Supply apparently
ran out of cables? It'll be sent in a few days. Currently, both the
old and the new laptop share the same cable… awkward. I also got a
network cable with the correct ix Industrial Ethernet plug on one end
and RJ45 plug on the other end, but it turns out that it's shorter
than I had imagined. I would have to kneel in the corner, facing the
wall, if I wanted to use it. Then again, perhaps that's what I
deserve.

Of course, both of these things are not related to the MNT Pocket
Reform, but the unavailability of the USB-C cable and the shortness of
the RJ45 cable are a sign of … hand wave … the complexity of the
globalized information technology landscape and … uh, more hand wave …
logistics on a global scale … and, I dunno, something vaguely
disappointing about computing in general and the times we live in. Or
me growing older. I really don't know.

It feel it belongs in the general category of "usability and user
interface issues both large and small remain a challenge in
computers."

2024-08-21. Wifi reception was really bad and when the weather was
really hot – over 30Β°C, I guess – it basically broke down completely.
There's a thread about something like this: WiFi reception problem,
probably overheating wireless chipset. I'm not sure what the
take-away is. I'm guessing that nothing will change unless I modify
the laptop in some way and based on what I'm reading in that thread,
it's not obvious to me what I should be doing. The next time I run
into this, I will try using wifi via a USB stick. I think I still have
some USB-A variants lying around. So USB-C to USB-A to wifi.

I also have some long network cables with RJ45 plugs and I bought the
ix Industrial Ethernet RJ45 adapter cable, so yesterday I ordered a
RJ45 CAT 6A coupler and I'm hoping that will allow me to get regular
ethernet networking for the Pocket Reform.

When I go back to the Crowd Supply page, it says: "USB 2.0 Cable:
Type-C to Type-C (2 m / ~6.6 ft). Ships within three business days."
So with these two cables I should be able to take the Pocket into the
living room and have both independent power and ethernet.

In any case, after reading Desktop theme consistency I added the
following to my ~/.config/sway/config:

    gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'

Oh, how I long for Debian stable. Hopefully one day! Until then,
however:

    sudo apt update && sudo apt upgrade
    ...
    Summary:
      Upgrading: 204, Installing: 28, Removing: 0, Not Upgrading: 0
      Download size: 0 B / 427 MB
      Space needed: 48.9 MB / 107 GB available
      └─ in /boot:  182 MB / 298 MB available
    
    Continue? [Y/n] 
    Retrieving bug reports... Done
    Parsing Found/Fixed information... Done
    critical bugs of libkmod2 (32+20240611-1 β†’ 33+20240816-1+reform1) <Resolved in some Version>
     b1 - #1079022 - kmod: symbol lookup error: /usr/lib/dracut/dracut-install: undefined symbol: kmod_module_get_weakdeps, version LIBKMOD_5 (Fixed: kmod/32+20240611-1 kmod/33+20240816-2)
       Merged with: 1079035 1079068
    serious bugs of python3-pkg-resources (70.3.0-2 β†’ 72.2.0-1) <Resolved in some Version>
     b2 - #1079175 - python3-pkg-resources: pkg_resources cannot be imported: No module named 'packaging' (Fixed: setuptools/73.0.0-1)
    Summary:
     libkmod2(1 bug), python3-pkg-resources(1 bug)
    Are you sure you want to install/upgrade the above packages? [Y/n/?/...] n
    **********************************************************************
    ****** Exiting with an error in order to stop the installation. ******
    **********************************************************************
    Error: Sub-process /usr/bin/apt-listbugs apt returned an error code (10)
    Error: Failure running script /usr/bin/apt-listbugs apt

This libkmod2 error reminds me of something I heard on the forum.
Better not upgrade. The thread was ALERT! /dev/mmcblk2p2 does not
exist. Dropping to a shell! and that doesn't seem related at all but
somewhere in there:

> The apt-listbugs package is installed and will warn you before you
> upgrade your system about any release critical bugs in the package
> versions that you are about to install. Did you see those warnings
> before you upgraded?
>
> I uploaded a fixed version of the kmod package into the mntre.com 2
> repository about 12 hours ago. But if you upgraded yesterday, then
> indeed your system is now unbootable because an initramfs was
> created which is missing virtually all kernel modules.

This this the same as libkmod2? Does the warning above say that the
bug in libmod2 is fixed or not? I don't understand what <Resolved in
some Version> means. If this is a resolved ticket, then I can
proceed. If this is a new ticket involving something related to kmod,
I should not proceed.

Sometimes I wonder whether my hesitancy is age related. Or due to
experience, haha. I wasted countless hours getting the Modline
settings correct in order to get X11 running, on that 4MB computer I
had back then. These days, I see words like "soft-brick your laptop"
and think to myself: I guess I can live without an upgrade. Perhaps
it'll resolve itself?

2024-08-23. I find that when I'm sitting in front of it, the screen
is further down and closer, requiring my eyes to focus more, and the
keys are smaller and it takes more mental focus to type correctly, and
the net result is that I soon get a headache. I did enjoy playing
Minetest, though. Here's to hoping that it will still make a good
travel laptop. πŸ˜„

2024-08-26. Andy has an update to his first post: MNT Pocket Reform:
a (literal) field test.

2024-09-03. Christine Lemmer-Webber posted MNT Pocket Reform first
impressions.

There's now Wi-Fi Card + Antennas ("Improve Reception and Stability
with the Wi-Fi Card + Antenna Bundle for MNT Pocket Reform") up for
pre-order. It costs $50 and is expected to ship in two months. This is
the kind of thing that makes me nervous, however. I don't mind a
sysadmin task or two, but when I need to unscrew stuff and look at the
laptop innards, that's more tinkering than I expected. I like the fact
that I can upgrade my laptop, I don't like the fact that I need to
upgrade my laptop. Also my idea of upgrade means "unscrew back, unplug
old thing, plug new thing" and I'm afraid this antenna thing might be
more involved than that.

2024-09-05. I can definitely do without the upgrade.

The RK3588 is β€žthe right choice if you desire the maximum in CPU and
GPU performance as well as 16 or 32GB of RAM.β€œ The A311D is β€ža solid,
affordable choice for your MNT Pocket Reform β€” both in terms of CPU
and GPU.β€œ – MNT Pocket Reform Upgrade Bundle

> If you supported our crowdfunding Crowd Supply campaign back in
> 2023, your MNT Pocket Reform contains the CPU module i.MX 8M Plus.
> At the time of the campaign, this module was a solid choice for
> Pocket Reform. We had the chance to obtain a processor module with 8
> GB RAM, USB 3.0, PCIe, dual display, and good Linux mainline
> support. Shortly after the campaign, Lukas developed both the A311D
> (Banana Pi) and the RK3588 module for MNT Reform. We thought, if
> they were compatible with Pocket Reform, they would make a great
> addition. And they do! Since many use cases require a faster CPU and
> GPU, we decided to provide an upgrade option: By ordering the MNT
> Pocket Reform Upgrade Bundle, you can choose between the A311D and
> the RK3588 processor modules. This bundle also contains an optional
> NVMe SSD M.2 (1 TB) and an optional Wi-Fi Card plus Antennas. – MNT
> Pocket Reform Upgrade Bundle

2024-09-12. left_adjoint posted their first impressions on Gopher.

2024-09-18. I brought the Pocket Reform on a trip for administration
emergencies and it worked flawlessly. Wi-Fi was no problem and
temperature stayed below 70˚C, probably because room temperatures are
lower, too. Summer is over!

2024-09-22. I have an SD card in my Pocket Reform that I want to
mount when I log in – the laptop has an SD card full of audio files
and I want to run cmus without having to open Files (thunar) and
clicking on the label of the SD card partition. This should happen
automatically.

This seems to do the trick. Pipe the output into sh to mount them all.
I added this to the init script of my shell.

    lsblk --json --list --output name,label,mountpoints
      | perl -MJSON -e '
    undef $/;
    my $r = decode_json(<STDIN>);
    for my $d (@{$r->{blockdevices}}) {
      if ($d->{label} && !grep { $_ } @{$d->{mountpoints}}) {
        print "udisksctl mount -b /dev/$d->{name} # $d->{label}\n";
      }
    }'

My first login shell now greets me with: β€žMounted /dev/mmcblk0p1 at
/media/alex/Card Vaulto.β€œ