maintenance.org (11551B)
1 * Assembly 2 Lots of impedance mismatches between "documentation" and actual 3 hardware: 4 - CPU cooler (fan) has spring screws; diagrams show retention clips. 5 Had to dig into the [[https://www.amd.com/en/support/kb/faq/cpu-7][AMD knowledge base]] to find that some 6 motherboards come with "speculative" clips, which must be unscrewed 7 and removed in order to install the spring-screw cooler. 8 - Diagrams say to add thermal paste, but the fan already comes with a 9 pre-applied layer. 10 - Documentation shows RAM clips for both ends of the sticks; the 11 motherboard seems to only have clips for one end. 12 - =SYS_FAN1= header has 4 pins; front fan plug has 3 holes. The 13 Internet says it's fine ([[https://old.reddit.com/r/buildapc/comments/4139k8/3_pin_sys_fan2_vs_4_pin_sys_fan1/][[1]]], [[https://forums.tomshardware.com/threads/sys_fan1-and-sys_fan2.3195778/][[2]]]). 14 - Motherboard has [[https://www.msi.com/Motherboard/B550M-A-PRO/Specification]["8 mounting holes"]] but covers only 6 of the case's 15 standoffs; none of the diagrams in the case's manual match the 16 format of the motherboard. 17 - The diagram for inserting the power supply unit leaves a lot to the 18 imagination. 19 - The [[https://www.snia.org/forums/cmsi/knowledge/formfactors#U2][SSD dimension nomenclature]] is weird as hell. The SSD's user 20 manual seems to imply that I have a 2.5″ model, but my measuring 21 tape says the drive is 2.75″×3.875″ (diagonal 4.625″). 22 - The link to the LDLC guide for mounting the SSD is dead; the page is 23 [[https://web.archive.org/web/20170901191800/http://www.ldlc.com/guides/AL00000817/comment-installer-un-ssd-dans-un-pc/][archived]], and merely contains a link to a [[https://www.youtube.com/watch?v=t1dHVb6VuWU][video]]. No matter though, 24 since it does not describe how to mount the drive on a 2.5″ bay. 25 - The case user manual says to use specific screws for the SSD drive; 26 the SSD comes with its own set of screws. Are they meant for the 27 3.5″ adapter? 🤷 28 29 For novices, some steps range from "not very reassuring" to "downright 30 hostile": 31 - The amount of force needed to connect the CPU fan's first two 32 diagonal screws is terrifying. 33 - The fan's case is asymmetric: one side has a small bump featuring 34 the maker's brand. If one does not attention when mounting the fan, 35 there is a 50% chance that this bump will get in the way of a RAM 36 stick. 37 - No instruction on [[https://www.youtube.com/watch?v=XAWNzd-gc3Q&t=74s][how to force that I/O shield in]]. 38 - No instruction on how to snap the motherboard into the I/O shield. 39 - Holy =$DEITY= that power supply unit has a *lot* of cables. And of 40 course I enthusiastically passed most of the small-headed ones 41 through the designated case hole, and had to pass them back out 42 because there was no room left to pass the 20-pin ATX connector. 43 - Power supply user manual was taped to the bubble wrap, so part of 44 the "warnings" section got torn off. 45 * Front panel 46 The case's manual has a terse illustration with two arrows to pull the 47 front panel "away and up" from the rest of the case. 48 49 Here too, the amount of force required to do that is terrifying. 50 Notice how [[https://www.youtube.com/watch?v=nUD0HyzVpLg][our friend here]] cuts abruptly at 8:17; that's because the 51 levels of violence required to tear that panel off are too graphic for 52 YouTube. 53 * Front fan 54 Remember that fan from earlier, the one with only 3 holes for the 55 motherboard's 4 pins? Turns out 56 57 1. that last "optional" pin is supposed to allow speed control; 58 without it, the fan always spins at full speed; 59 2. the fan itself (ZA1225ASL) is [[https://www.youtube.com/watch?v=pd6gDY7LPlU][complete and utter crap]]: it cannot be 60 disassembled, so no cleaning off the dirt, no greasing. 61 62 So the thing is loud, it always spins at full speed, and if one day it 63 decides to become even louder than usual, you're SOL. 64 * Motherboard 65 ** Firmware updates 66 *** Prologue 67 Quoth ~fwupdmgr get-devices~: 68 69 #+begin_example 70 WARNING: UEFI capsule updates not available or enabled in firmware setup 71 See https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported for more information. 72 #+end_example 73 74 Quoth the wiki: 75 76 #+begin_quote 77 Most typically entering the firmware setup screen and enabling capsule 78 updates will cause this warning to disappear, and also make firmware 79 updates possible. The relevant option may be poorly labelled, for 80 example "allow Windows UEFI updates". 81 #+end_quote 82 83 Not seeing any such option in the boot menu. 84 85 #+begin_quote 86 It is possible, but unlikely, that flashing the latest vendor BIOS, 87 using either Windows or a LiveCD, will add support for [the thing that 88 correlates with capsule updates being enabled]. 89 #+end_quote 90 91 Well then. [[https://www.msi.com/Motherboard/B550M-A-PRO/support#bios][Vendor says]] "put this on a stick; reboot; ask the menu to 92 flash from the stick". Putting some feelers out first: 93 94 #+begin_quote 95 If you execute a UEFI update, this update might delete the existing 96 UEFI boot entries 97 98 — [[https://wiki.archlinux.org/title/GRUB#Installation][ArchWiki]], 2024 99 #+end_quote 100 101 #+begin_quote 102 Like others in this forum, I too suffered from a reformatted EFI 103 partition following a BIOS update on my desktop pc. I had no idea 104 that the MSI BIOS team doesn’t care about Linux installs, so to my 105 surprise, following the update, my system booted straight to windows. 106 107 […] 108 109 Ultimately, I completely wiped and recreated the EFI partition with 110 gparted (fat32), changed the structure to GPT with gdisk, and then 111 mounted that partition in the /mnt/efi location, and then proceeded to 112 generate a new fstab with genfstab. After arch-chroot’ing into my 113 endeavoros install, I ran bootctl install (which complained about boot 114 loader not setting esp information) and then reinstall-kernels. I 115 updated the loader.conf with the correct default boot ID, and set the 116 recommended options. That got me back into my system after quite a 117 bit of trial and error. 118 119 — [[https://forum.endeavouros.com/t/endeavoros-efi-partition-wiped-by-msi-bios-update/54740][EndeavorOS forums]], May 2024 120 #+end_quote 121 122 #+begin_quote 123 when updating the bios, it cleared all my settings. Apparently, this 124 includes clearing the list of boot loaders, which it set back to the 125 default of just Windows. Sadly this bios does not provide the tools 126 to add boot entries as, apparently, some do. To fix it, I managed to 127 boot to a Linux live USB and add the missing entry using the efiboomgr 128 command line tool. 129 130 — [[https://forum-en.msi.com/index.php?threads/updating-to-bios-7a32v1q1-wont-see-linux-uefi-boot.388109/][MSI AMD forums]], August 2023 131 #+end_quote 132 133 Welp. 134 135 OT1H, I could dedicate a couple of week-ends learning the joys and 136 wonders of efibootmgr, gdisk & friends. OTOH I sort of like keeping 137 my desktop station… not bricked? 138 139 Pity, because otherwise I've had smooth and incident-free firmware 140 updates on other stations with ~fwupdmgr~ 🤷 141 *** But then 142 {{{narrator(waves vaguely toward [[file:killing-time.org][that whole debacle]])}}} 143 *** Our protagonist sets forth 144 Put the =.2G1= file on the USB stick, rebooted into UEFI, rebooted 145 into "M-Flash", did the thing, rebooted. 146 147 Predictably: 148 #+begin_example 149 Entering rescue mode... 150 grub rescue> help 151 Unknown command `help'. 152 grub rescue> 153 #+end_example 154 155 =ls='d and =set='d around, browsed a couple of online posts from 156 similarly marooned comrades[fn:: Not sure why I did not think of 157 consulting [[info:grub2#GRUB only offers a rescue shell][the fine manual]].]. Luckily my patience for QWERTY drained 158 out before I could damage things further; disabled Secure Boot on a 159 whim and lo! It Booteþ Again! 160 *** But doþ it fwupdate þough? 161 #+begin_example 162 $ fwupdmgr update 163 WARNING: UEFI capsule updates not available or enabled in firmware setup 164 See https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported for more information. 165 #+end_example 166 😾 167 168 {{{ad(But wait\, there's more!)}}} 169 170 #+begin_example 171 ╔══════════════════════════════════════════════════════════════════════════════╗ 172 ║ Upgrade UEFI dbx from 20230501 to 20241101? ║ 173 ╠══════════════════════════════════════════════════════════════════════════════╣ 174 ║ This updates the list of forbidden signatures (the "dbx") to the latest ║ 175 ║ release from Microsoft. ║ 176 ║ ║ 177 ║ An insecure version of Howyar's SysReturn software was added, due to a ║ 178 ║ security vulnerability that allowed an attacker to bypass UEFI Secure Boot. ║ 179 ║ ║ 180 ╚══════════════════════════════════════════════════════════════════════════════╝ 181 Perform operation? [Y|n]: n 182 Devices with no available firmware updates: 183 • SA400S37480G 184 • SSD 980 500GB 185 #+end_example 186 187 Getting mixed signals here. 188 *** Can I have Secure Boot back though? 189 Off the top of my head: 190 - that dbx update? 191 - ~sudo blarney-grub2 --pretty -pls --with-sugar=top --with-sugar=top~? 192 - dracut? 193 194 dbx update: nope. 195 196 ~efibootmgr~ only shows =opensuse=, not =opensuse-secure=. 197 - After ~udpate-bootloader --install~, =opensuse-secure= shows up; no 198 change though, enabling Secure Boot still lands me in =grub rescue=. 199 - Change bootorder with =-o 0,1=? 200 201 #+begin_example 202 $ sudo udpate-bootloader --install 203 $ sudo efibootmgr 204 BootCurrent: 0001 205 Timeout: 1 seconds 206 BootOrder: 0001,0000 207 Boot0000* opensuse-secureboot HD(1,GPT,2ffd6bee-1b1e-4088-8fdf-0c9321c861a3,0x800,0x100000)/File(\EFI\OPENSUSE\SHIM.EFI) 208 Boot0001* opensuse HD(1,GPT,2ffd6bee-1b1e-4088-8fdf-0c9321c861a3,0x800,0x100000)/File(\EFI\OPENSUSE\GRUBX64.EFI)0000424f 209 $ sudo efibootmgr -o 0,1 210 BootCurrent: 0001 211 Timeout: 1 seconds 212 BootOrder: 0000,0001 213 Boot0000* opensuse-secureboot HD(1,GPT,2ffd6bee-1b1e-4088-8fdf-0c9321c861a3,0x800,0x100000)/File(\EFI\OPENSUSE\SHIM.EFI) 214 Boot0001* opensuse HD(1,GPT,2ffd6bee-1b1e-4088-8fdf-0c9321c861a3,0x800,0x100000)/File(\EFI\OPENSUSE\GRUBX64.EFI)0000424f 215 #+end_example 216 217 Does not seem to persist after reboot 🤷 218 *** The Twist 219 #+begin_example 220 $ sudo journalctl --grep 'secure boot .*abled' 221 Nov 28 20:37:13 localhost kernel: secureboot: Secure boot disabled 222 [… an so on, for every boot until today …] 223 #+end_example 224 225 … I'm an idiot; I never had Secure Boot enabled on that machine, 226 apparently. I guess the BIOS update just turned it on silently. 227 *** Can I have Secure Boot at all though? 228 Personal takeaways from [[https://github.com/Foxboron/sbctl/issues/181][Foxboron/sbctl#181]]: maybe, but it involves so 229 much futzing around and has such a high chance of [[https://github.com/Foxboron/sbctl/issues/181#issuecomment-1354247722][false positives]], 230 that I will tentatively conclude "not worth it". 231 * SSD 232 LDLC's off-brand SSD died, fortunately within the warranty period. 233 Replaced it, and… I guess I should shoehorn a joke about "a descent 234 into hell" or "the beginning of a nightmare", but that just twists 235 [[./killing-time.org][the knife]] ☹️