A couple of weeks ago I received something I’ve been eagerly expecting from a Crowd Supply crowd funding campaign.
MNT have been making devices that aim to be “open source, accessible and modular” for a number of years. I didn’t get their original Reform laptop, but I’ve seen those around at events like FOSDEM and I’ve been following the team’s progress with interest. When the Pocket Reform was announced I was immediately intrigued – a smaller form factor, 7 inch full Linux system with open hardware that is easily portable.
makertube.net/videos/embed/744…
I went for the Hyper edition, which came with a beautiful Piñatex sleeve, SSD, and printed manual. Purple, of course, because I want to be on brand 🤓 and, also because I love it!
I posted a very brief unboxing video. I’ve now had a couple of weeks to occasionally tinker, and I’ve been putting off writing about it all in part because there’s a lot of things to dig into!
One of the things I like, surprisingly, is the chunkiness of the machine. It is really well constructed, solid, and feels great. Fits in a small cross-body bag or satchel. It’s less than half the size of a 14 inch MacBook Pro – you can more than fit two of them side by side on top of the Mac – but it is about 3 times thicker – and that’s OK, because, it is in service of making the innards very accessible and user serviceable. It comes with a complete manual and schematic, which is something I’ve not had in a computer since the 8-bit machines of my youth! The top half contains the mainboard and display (all the ports are in the top half), and the bottom contains the battery cells and mechanical keyboard. The upper panel has a copper layer and acts as a large heatsink for the processor module.
The keyboard is ortholinear, which means it is a direct grid layout rather than offset row-by-row. It’s the first time I’ve used this format, which – along with the smaller keycaps – has made it a little challenging to learn, but I’m doing pretty well now. The trackball is nice and responsive. The backlit keys are easy to adjust.
The screen is excellent – bright, and sharp. Actually I think the screen is probably the aspect that has impressed me most so far.
In terms of ports and connectivity – I’ve yet to hook up to an additional screen via the micro-HDMI connector, but I’ve used the USB-C connections (one of which is used to charge / power the machine), and the micro SD slot. The industrial iX connector for ethernet is likely a good choice for the target niche, and certainly does give more space on the motherboard than an RJ45 socket would… but I’ve yet to put my hands on a passive adapter to enable me to plug in to a wired connection, so it’s currently not as useful to me.
There’s a lot more to talk about, primarily (but not exclusively) on the software side, and also around hardware enablement. Out-of-the-box the Pocket Reform runs Debian unstable from MMC, with some customisations to provide a nice getting started wizard. It is important to point out that this is a machine for hackers and tinkerers – although it works very nicely, it’s not all fully baked in places – for example, the firmware for the system controller (a Raspberry Pi RP2040 chip) is being tweaked and tested, and I’ve already tested one update to that. The other day I posted about some issues with an NVMe SSD – that, unfortunately ,was on this machine. I actually think there was a physical hardware issue with the drive, as I’ve now replaced it with a higher-performance NVMe and things are moving along nicely (while the problematic SSD continues to report errors when accessed in an adapter over USB). 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. Very Open Source! 😎 but, I’m comfortable with this, and knew what I was purchasing. The forums and IRC have proven to be useful so far and I’m enjoying learning as well as hopefully (!?) helping the MNT team through my feedback and bug reports. I have a huge amount of respect for what they have built, their ethos, and their commitment to making this as open hardware as they can.
I should be receiving a modem / WWAN card for the second internal expansion slot shortly. I’ve been both learning the Sway desktop environment and also working out how best to organise my setup, so there will be more to cover in future. I particularly want to play more with the onboard I2C, and other hardware opportunities, as well – for example, potentially swapping in a Raspberry Pi CM4 if that becomes a modular option in the future.
andypiper.co.uk/2024/08/06/mnt…
#Blaugust2024 #100DaysToOffload #debian #firstImpressions #hacker #Linux #maker #mnt #openHardware #openSource #pocketReform #purple #review #rp2040
MNT Pocket Reform
A newer, smaller, lighter, more-affordable, seven-inch mini Reform laptop that remains fully open sourceCrowd Supply
Today, I’ve been trying to resolve a strange error that just started showing up on one of my Linux devices – specifically, errors in thedmesg
output on boot, during runtime, and at shutdown:
[17411.181979] nvme0n1: I/O Cmd(0x2) @ LBA 587247848, 8 blocks, I/O Error (sct 0x2 / sc 0x81)[17411.181991] critical medium error, dev nvme0n1, sector 587247848 op 0x0:(READ) flags 0x800 phys_seg 1 prio class 0[17774.406908] nvme_log_error: 12 callbacks suppressed[17774.406924] nvme0n1: I/O Cmd(0x2) @ LBA 633393408, 8 blocks, I/O Error (sct 0x2 / sc 0x81)[17774.406937] blk_print_req_error: 12 callbacks suppressed[17774.406940] critical medium error, dev nvme0n1, sector 633393408 op 0x0:(READ) flags 0x800 phys_seg 1 prio class 0[17774.590170] nvme0n1: I/O Cmd(0x2) @ LBA 633393440, 8 blocks, I/O Error (sct 0x2 / sc 0x81)[...][21832.814513] nvme0n1: I/O Cmd(0x2) @ LBA 1145110912, 8 blocks, I/O Error (sct 0x2 / sc 0x81)[21832.814544] critical medium error, dev nvme0n1, sector 1145110912 op 0x0:(READ) flags 0x800 phys_seg 1 prio class 0
Needless to say, this doesn’t look happy; but,fsck
is not showing errors. This is a Debian install, and I chose to install thenvme-cli
and also thesmartmontools
packages;util-linux
ande2fsprogs
were installed by default and containfsck
and also thebadblocks
tool;blktool
andhdparm
are potentially also useful. The Arch Wiki seems to be particularly helpful on thenvme
tools.I’m currently booted from an alternate source (an SD card) and attempting to run
fsck -fcDy /dev/nvme0n1p1
in an effort to look for bad blocks. I’m still seeing these I/O error messages scroll up thedmesg -w
output in a second terminal even thoughfsck
is not obviously telling me that there are problems. Based on my research I’m starting to think that this might be a hardware issue with the drive. This is a bit of an unusual setup for me (ARM64, uBoot is in play with eMMC as well) but fortunately the system is recent, so a clean rebuild is not out of the question…Fairly sure that I’ll end up getting another M.2 NVMe drive (at least they are relatively cheaper than they used to be), but writing this down for now as I continue to investigate. Fun times…
andypiper.co.uk/2024/08/03/mes…
#Blaugust2024 #100DaysToOffload #admin #cli #debian #disk #Linux #media #nvme #ssd #storage