UPGRADES AND DOWNGRADES I'm coming to you from another one of my old early 90s laptops, which I've coerced into running Linux and talking to a PCMCIA network card. Besides not needing a hour or two of pre-warming in order to boot up, this one also packs some fairly meaty specs for its time, with a 486DX4 CPU clocked at 100MHz, 16MB of RAM, and a stubby little 800MB (roughly) HDD. The reason for this is that I was inspired by Logout's NoViCoCh (or however ne spelt it) challenge, and as he'd started off on a Pentium 1 running (forgot which)BSD it got me thinking about running current Linux on a 486 and thereby making the up-to-date SSH client required to upload this to aussies.space (which only accepts encrypted log-ins) and easy addition. So this ~27 year old laptop is running Linux kernel v. 5.10, and happilly SSHing into aussies using the Dropbear SSH client with little more delay than usual. OpenSSH is slower (it fills up the ~3-4MB of free RAM left after the kernel and essential processes have loaded, and has to quite audibly fuss about in the swap partition), but also works and allows SFTP to be used. Lynx browses Gopher nicely, HTTP/HTML slowly, and even HTTPS _if_ you pick a page that's only a kilobyte or two in size and give it about a minute (so not really HTTPS in a practical sense). ELinks browses what little is left of the unencrypted web really snappily, as if you were using a modern machine. The build I used doesn't support HTTPS at all though, filling up RAM with the OpenSSL library no doubt puts Lynx at a disadvantage from the start. So encryption is the enemy of old hardware, but I've covered all that before. Thanks to Dropbear I can just run Lynx on Aussies anyway. As for Logout's challenge, I guess I'm more than fashionably late for November. Honestly getting modern Linux to boot on this wasn't trivial and took a lot of hacking at the init scripts. Dbus is only sort-of half-started so modules have to be loaded manually. But I only really wanted the PCMCIA and Xircom Ethernet adapter card driver anyway. Trial and error determined the right PCMCIA module to load, and it joyfully detected me sticking cards in the slot, but the damn Xircom driver just wouldn't pay attention. I dug into how the PCMCIA sub-system worked, but kept getting weird errors while browsing the relevent /sys directories. I started to think that maybe the PCMCIA driver or the ISA bus support of the kernel in general might have suffered from a lack of testing on this sort of early hardware, and ended up putting it off until Christmas day. As usual being deliberately without any festive commitments, the Christmas long weekend has been designated a four day computer tinkering session and this was job one. I spent another age getting confused by mixed messages from files in /sys, then gradually became aware that there are two PCMCIA slots in this laptop, had the idea to try popping the card in the top one instead of the bottom one, and the driver quickly loaded itself and up popped an eth0 interface! So yes, all that because I picked the wrong slot. I bet I actually discovered that years ago as well, because this was the first of the old laptops that I started messing around with as a kid - a cast-off from my step-father's workplace featuring a broken hinge, half-dead keyboard, and of course no batteries. By the time you've lugged around a PS/2 keyboard, found a solid object to lean the screen against, and plugged in the power supply, you have to admit that the general portability of the device is rather compromised. Still I did carry it around with me a lot, with it set up as an ultimate DOS system. I refined the boot process so that it started up with mouse, sound, and memory driver, then into a commander-style file manager / program launcher, in only about five seconds from power-on (BIOS power-on tests included), plus filled it with all the freeware/shareware DOS games and utilities that I could find on the (then) remaining DOS software FTP sites like Garbo. It still boots to DOS, and then I use LOADLIN to boot Linux from a new EXT2 parition that I put on the disk (as well as the swap partition mentioned earlier). The linux partiton has about 30-40MB used at this stage - I installed Linux on it by pulling out the HDD and using a USB HDD adapter to connect it to a modern PC where I copied all the files over, which is kind-of cheating but practical. Now that it's network-connected I can simply install packages from the internet though (sort-of). Speaking of cheating, this probably doesn't count as a NoViCoCh entry anyway because my internet has to go via my mobile broadband internet connection and in-turn my router, which I think breaks the rules for authentic direct connections, but I'm not prepared to subscribe to a dial-up internet service just for the sake of this, sorry. Speaking of my internet hardware, aside from my 'downgrade' to this 486 I've otherwise spent the long weekend getting around to all the upgrades that I've been putting off all year. Today's battle was upgrading OpenWrt on my router from 19.07 to the new 21.02 release, and getting my "new" (ten-year-old second-hand, actually) 4G mobile broadband modem working with it to replace the 3G one I've been using. By the way, Xiled recently phlogged about redoing his network and upgrading the firmware of an old router he's using. [I would insert a link here, but it's way too much trouble on this machine] My network is pretty simple, just this old router, a model from 2007 or therabouts of which I have three so I rotate between two of them when upgrading the firmware so that in case it all goes wrong I can swap back to the old one. Upgrading the firmware always goes wrong as well. This time as the router only has 32MB of RAM it's not longer officially supported (gah! You only need 16MB I tell ya!), and installing packages before the modem was up was always awkward anyway, I decided to try the image builder. That all went quite well actually, except it required a 250MB download (1/12th of my monthly data allowance) and by not looking closely enough at the example URL in the tutorial I accidentally grabbed the snapshot relase. I ended up using my website's VPS to download and build it, my site's so light-weight that it never seems to have any significant load going on anyway. But then came the flashing over TFTP, and somehow I always need to battle for hours to get TFTP to work. This time I decided to start afresh, doing it from another laptop (the Thinkpad T60, which I set up the day before to take over from the R60 which I was going to upgrade to until it died before I got around to it), and with the GNU inetutils TFTP server which I hadn't tried before. The first hour was me setuffing up the inetd.conf because I got the idea that TFTP was over TCP rather than UCP (some sources on the web suggest it's both, I'm still a bit confused), then I forgot to allow it through the firewall which was just silly, but then I got it working with a TFTP client running on my internet Client computer, yet it still got an error on the router. In the end changing the TFTP directory permissions and making the server run as root might have been what got it working, but as ever I'm not really sure. In the afternoon I slowly pieced together the driver packages required for the 4G modem, but could only make it work in PPP mode rather than Direct IP. I'm only getting about 4Mbit/s max though, so I don't think it makes much difference. By tracking down some device-specific AT commands I was able to discover that it's actually still using 3G, and when I force it to 4G/LTE only it says there's no signal. So it seems I haven't got 4G coverage anyway, at least indoors at the window where the router lives. Not so surprising because 3G is on 850MHz whereas 4G is 1800MHz, and higher frequencies generally don't travel as far. I'll probably have to build another cantenna (the last one was for connecting to another provider with a more distant tower), but I've still got a year and a half to do that before Telstra turn off 3G in Australia, and the 'new' modem actually seems to get faster speeds on 3G anyway, even though the old one was supposed to be rated for 7Mbit/s. So for my Christmas upgrades i've done one old laptop, one umm... old but new to my standards laptop, and one router. Plus I finally managed to get Firefox updated on my Internet Client machine. The problem there was actually with the old X servers on the PCs that I want to display the FF window on. The v. 91 ESR release of Firefox crashed whenever any drop-down menu (excep the-URL suggestions one) was displayed. The "BadValue" error reported by GTK on terminal (on behalf of the X server apparantly) alleged that Firefox was sending X nonsense commands. Whether that's true or not, the newer X servers seem to cut it some more slack. I'm not the only person having troubles stepping up to v. 91 from the old v. 78 ESR, Debian 11 has only just recently got it in their security repo even though 78 went unsupported back in early November, apparantly because of build issues on some targets and its insistance on a newer version of Mesa than Debian Stable had. The 'new' laptop is actually set up with Debian 10 (it was newly released when I started half-hearted laptop upgrade project), and it looks like that might be stuck at v. 78 forever. They introduced WebRender by default and also pushed the switch to EGL OpenGL accelleration with v. 91, so I spent a lot of time messing about with turning these on/off with about:config settings who'se days are numbered anyway. As it turned out that made no difference, it seems like the bug is actually in the UI part of the code rather than the page rendering side of things. So I had to give up on 91, and luckilly I found that the latest beta release for v. 96 didn't have the problem, so now I'll just have to chase the main releases until the next major ESR version is released in seven month's time, which is annoying but better than nothing. It's still a bit more laggy compared to 78 and has bursts of network saturation which again seems triggered by the UI, but at least it gets the security updates, and I use Dillo instead as much as I can anyway. Well that was all very long and nerdy, but that's pretty much what the last few days have been actually. It's nice having time to slowly work through things and make notes while tinkering with this configuration stuff, but at the same time it doesn't seem to reduce the sillyness of the mistakes that I make. I noticed from file creation dates that it was about this time last year that I last did a lot of this stuff, so I guess this is getting to be a bit of a yearly tradition. Finally, just to change the tone, here are a few more verses of nonsense that might vaguely suit a song if a melody presented itself: The dream that you find deep down in your mind. The dream you can't see is all the design. The line in the reason that sets you free is the truth in the knowledge of destiny. - The Free Thinker.