I bought a pair of laptops with the general idea of upgraded computing platforms for both me and an aging parent; our old Macbooks were no longer quite up to speed with what the modern internet could throw at them. Rather than go the Mac route again, I wanted to move to one of the newer Linux distros and accept the challenge of making it as easy-to-use as I could. There was no chance in hell I was going to saddle either of my intended recipients with the preinstalled Windows-10, and it always brings a little pleasure to summarily overwrite that garbage with something real. As a platform I settled on Lubuntu, a "lightweight" version of the popular Ubuntu desktop environment. [Which influences my choice of color theme for this page...] It's not so lightweight in geek-level reality; it is burdened by the confusing "systemd" boot and configuration setup, which for a traditional Unix admin is a huge hairball learning curve and many "WTF were they thinking" moments. [Read my rant on that topic, and for the record Samsung blew me off and refused to answer my honest question about flash cells.] Fortunately I had a little prior experience with systemd [mostly figuring out how disable stuff], and once that's all done and a system is running the way we want, very little of that is visible to the ordinary user. Set up a few clicky-buttons to launch common apps, and away we go. |
For the unit I'd keep I had much more geeky intentions, so to make it a more significant upgrade from the Mac it needed a bigger and more reliable NVMe storage module. The stock installed one turned out to be a Samsung V-NAND type anyway, but in the more consumer-grade EVO class. Here I would double the size and go up a performance tier to the "pro" series, and for my very first foray into the world of M.2 and NVMe this was already a significant adventure. While there's no convenient hatch for field-swapping storage in these units, at least it's a relatively few screws and some gentle prying to get the whole bottom cover off and expose everything. [Lenovo Thinkpad T series, by the way, sort of following the tradition from my geriatric but beloved and still quite functional 600x.] | |
This is immediately pre-swap: the 970-PRO is sitting in the carrier from a small external USB enclosure I also ordered. The laptop's original module wound up in that as a plug-in drive. Most NVMe modules run hot when in their active power states, and need to be heatsunk to a large metal surface on top with a thermally-conductive pad. The laptop's layout can clearly also accept an ordinary 2.5" SATA drive in the same spot, but here the metal shield that would go around that is used as a generous heatsink for a NVMe installation instead. The assembly tucks under the right-hand keyboard palm pad, thus providing immediate human feedback as to how hot the drive might be running. |
What I didn't count on was running into hardware problems on brand-new gear,
especially when the symptom almost looked like software driver issues at
first.
And it showed up on the *other* machine of the pair, i.e. not the
one I'd just taken apart.
As I started working for real on both of them, the non-upgraded one
seemed to occasionally issue additional keystrokes when some low
digits keys were typed, especially the '1', and my first thought was that
the Linux kernel keyboard mapping or timing was screwed up somehow.
Later I did more testing and discovered that the barest whisper of touch
on the F1 key would cause it to assert, sending "<esc>OP"
into a typical terminal window.
It was sensitive enough that typing a '1' just below it would usually
trigger the false F1 event as well, just through vibration or slight flexing
of the keyboard frame underneath -- if I tapped my '1' very lightly I
could sometimes avoid it, but it was a pain in the ass and only likely
to get worse over time.
The meta-problem was that it was happening on the machine I intended to send out, and had already spent *hours* of work toward setting it up. Meaning that sending it back wholesale for warranty replacement was not in the cards, at least not without removing or zeroing its storage -- I needed to simply try and fix this. |
I powered up the machine just into BIOS setup -- easy enough to type
F1 to get into that, huh?
And a further F1 press jumped to its help screen, so I had an easy way
to test for an asserted keypress.
Eventually I noticed that the nipple/switch structure was most sensitive
toward the front edge of the laptop, i.e. tilting the dome toward the rest
of the keyboard or lightly touching the base near where the circuit
traces come in would trigger the problem.
When I lifted the whole section of membrane up slightly, the problem
wasn't as pronounced, so perhaps pressure from the frame plate underneath
was unduly pressing the switch pads together.
There wasn't any obvious dirt in the way, it was just some sort of
internal defect.
The whole circuit matrix is constructed of layers of flexible plastic membrane with the traces basically printed onto them, all adhered together. The design relies on the layers maintaining a small gap between the printed pads at rest, and a keypress flexes the top down to make contact. Somehow these two pads were already sitting too close together, where the slightest disturbance basically made them touch. Longish story of farting around cut shorter, I decided that the two metallic pieces of the switch needed to sit farther apart where the feed wires arrive into it. Now, how to go about doing that?? |
F1 now behaved like any other key, and I could feel much more confident about placing the machine in the hands of a relative computerphobe. No idea exactly what was wrong in the switch, or if it's even a common problem. Perhaps some shop or assembly tech had followed the advice of the classic office poster from the early Nineties, where the key in question was often "F1" rather than "any". I was just glad I could deal with it on my own without agonizing go-rounds of negotiation and shipping with the original seller. |