The Wyse 5070 Story
So I wanted to write this post as a record of my troubleshooting process for a set of very strange problems with a Dell Wyse 5070. It’s as long and rambling as the troubleshooting process was, but if you’re into this sort of thing I hope you’ll find some value in the process of talking through it all. This is my second time dealing with UEFI issues, and I feel like I learned a lot and found some cool new tools along the way.
TLDR:
Probably a bad SSD, and definitely a bad BIOS. Shout outs to Super Grub2 Disk and Hiren’s Boot CD. And, hey, I know it’s UEFI. I know BIOS hasn’t been the thing for a long time. I’m just gonna say BIOS.
The Goal:
Cheap, low power dedicated hardware for Home Assistant. I could run Home Assistant in a Docker container, but it really works better on dedicated hardware with direct access to USB devices and networking.
The Decision:
- I could get a Home Assistant Green for $120, but it felt a little pricey for what it is.
- I could roll my own Raspberry Pi 5 setup with a little NVMe drive and all, but it was going to be fiddly to get the drive, case, cooling, power supply and all together, and it came out to the same price as the Home Assistant Green setup.
- Right before I decided to hit buy on the RPi5 setup, I thought “What about a little used x86 machine?” and found a little Dell Wyse 5070 with a Celeron J4105 for just $60! Four cores, 2.5ghz max, 10w TDP, comes with 64gb of storage and 8gb of ram installed, comes with a power supply, and it’s fanless! Ah damn that’s everything I wanted from the RPi setup for half the price, and it keeps one more piece of ewaste out of the landfill, so I bought it.
The Beginning:
So I think this thing was brand new, not a speck of dust anywhere on or in it. The asset tag space didn’t have a sticker or any adhesive residue, so I think it was a sample or surplus unit that never got actually deployed. That’s great. The M.2 drive looked like a thermal pad had previously been applied, so I think it came from somewhere else. I plugged it in, booted it up, and was greeted with exactly what I expected, “No bootable drives found”. Time to install Home Assistant.
Installing Home Assistant on an x86 machine is kinda roundabout. Their instructions are to boot into an Ubuntu live environment, download the Home Assistant OS (HAOS) image, and use the Ubuntu Disks utility to restore the image to your target drive. So get to work.
I load up Disks, and the SSD reads “63gb Unknown” for its single partition. Yep sounds good. Write the disk image, see that there’s now a bunch of partitions with data written to them, shut it down, yank the flash drive, turn it back on, aaaaand..
No bootable drives found.
The First Roadblock:
Okay that’s fine. Let’s hop into the BIOS and set our boot devices. Hey that’s weird it only shows the onboard NIC for PXE booting. Okay let’s turn off secure boot, make sure there’s no security settings, all that….. No bootable drives found.
Okay okay okay we got a bad image write no prob, let’s get back into Ubuntu. Ah, see there in Disks it says “63gb Unknown”, so let’s just rewrite it. No bootable drives found. And Disks still says “63gb Unknown” every time I reboot. Huh.
Okay well the Home Assistant install page says “If the machine complains about not being able to find a bootable medium, you might need to specify the EFI entry in your BIOS. This can be accomplished either by using a live operating system (e.g. Ubuntu) and running the [efibootmgr] command. Hey that’s my exact problem, I’ll do that. No bootable drives found.
Okay I’ll go into the BIOS and manually point it at the \EFI\BOOT\bootx64.efi file. No file system found. And Disks is back to showing 63gb Unknown.
So I just install Ubuntu on the drive, maybe something’s up with the HAOS image. No bootable drives found. Okay, FINE, I’ll format it FAT32 and put some files on it. On reboot it still shows 63gb Unknown. Nothing I try can see any file system on the drive after I reboot.
Well it must be a dead drive, so I contact the eBay seller and he offers to take the whole machine back, but I suggest he instead refund me the going rate for a used SSD and he gives me 8 bucks back. I go buy another drive (though I do get a new one), and when it arrives I slap it in the machine, eager for this journey to end.
We’re in it now:
I load into Ubuntu, I launch Disks, I flash the HAOS image, no bootable drives found. Are you fucking kidding me? Back to Ubuntu, launch Disks. Hey there’s a filesystem there!!!Okay so that first drive WAS bad. Okay let’s try efibootmgr
again. No bootable drives found.
What the hell is going on here? Alright let’s take another look at that BIOS. Still just the NIC in the bootable devices list, so I review every single entry in the tree, I disable the NIC as a boot device, I make sure all the UEFI security is off, fastboot is off, all that stuff. No bootable drives found.
So I go and manually add the \EFI\BOOT\bootx64.efi file on the SSD to the boot devices list. Last time I tried this it said it couldn’t see any filesystem on that drive, but now I see it there and I’m able to manually assign bootx64.efi.
HERE’S WHERE I SHOULD HAVE LISTENED TO MY GUT. When I added the entry, the BIOS screen kinda looked a little screwy. Like it’s not reflowing the text on screen to accommodate the newly added entry, and I have to toggle that entry off and on again to get the “Save” button to light up. But it says it saves, and I reboot. No bootable drives found. I go back to the BIOS and the entry I added is not there. I go to add it again, and when I do, suddenly the old entry appears out of nowhere? Still, no bootable drives found.
The BIOS is way old, so…. maybe it’s the BIOS? Searched Dell’s page for a raw ass BIOS file, but all I find are updates that can be pushed from a Dell thin client management server, and Windows executables that force a reboot into an update. I don’t have a Dell thin client management server and if I can’t get this thing to boot Linux what makes me think installing Windows is going to go any better? I half-heartedly search for an image for a Windows live environment I can run off a flash drive, but nothing seems promising so I abandoned the idea.
Dear reader, it -was- the BIOS.
The next two weeks entailed a series of other failed attempts. Installing Debian, reseating the drive, replacing the CMOS battery (which WAS dead, but it didn’t fix anything), fucking with jumpers, resetting the BIOS to factory both in software and via jumper, and kinda generally just banging my head against it. I started to spin up a Home Assistant instance in Docker on my main server, but it really was a pain to get it to talk to the Zigbee hardware I bought. Ugh.
The resolution(s):
So through all of this I was thinking, Well it can boot to a flash drive, and it can see the efi file I need to target so what if I could put GRUB on a drive and use that to load the efi? You know, like 30 years ago when I made a boot disk to play TIE Fighter.
A little searching later, and I found Super Grub2, a Linux based utility image for all things boot. And I’ll be damned it worked first try. Our long national nightmare was over! I could just put it on an old flash drive and scotch tape it to the server. If I ever needed to reboot the system I’d just pop that drive in and push-start the bastard like an old truck! I mean really when you think about it, isn’t it actually kind of cool? Yes, this is definitely the ideal solution.
Then Justin said, “Do you really want to deal with that? I mean, this is hardware your spouse is going to be interacting with. It should be able to reboot unattended.”
…God damn it. He’s right.
So I spent the rest of the evening poring over hacky, jacked up Windows, 7, 10, and 11 live images. They all sucked, most of them didn’t even boot, and the one that did was dog slow and got stuck in the Welcome process.
Finally, right before giving up, I found… Hiren’s Boot CD?! That’s a name I’ve not heard in fifteen years. And in fact the original Hiren’s WAS discontinued in 2012, but a new set of devs have revived the project out of love for the original. Ultra stripped down Win11, loaded with utilities, and it booted real fast!
I downloaded the Dell BIOS update exe, ran it, and after an emotional rollercoaster where it looked like it failed, it now boots from the SSD COMPLETELY NORMALLY.
Kinda anticlimactic, but like I said at the start, this is about the journey.
I never know how to end a long post, even moreso an EXTREMELY long post like this one. So I guess I’ll say thanks for making it this far. This post was very cathartic to write, and while I don’t think this extremely specific troubleshooting process will be of much help to anyone, I hope you at least enjoyed watching me flail through it.