Dell Wyse 3040 Thinclient for Roon Bridge

Just a follow-up…

I put a copy of PiHole on my 3040, so now my third instance of PiHole is running on my roon bridge. I’m exploring running keepalived in order to make these a HA cluster with failover and a virtual IP instead of just having three PiHoles running in parallel.

I’m exploring putting Prometheus and Grafana on this little Wyse champ as well… I mean, why not have some network monitoring since I’m running a little 4W computer 24x7x365 just waiting for me to put my headphones on at night…

It’s a little slow, but it does the trick!

And am buying a second to function purely as a PiHole and Grafana server in my other house. These little bad boys are much much better than Pi Zero’s, and if I keep lowballing folks for $30 including shipping I eventually can get someone to bite.

Thanks @Sean_O so much for the advice. This has been a great learning experience for me. And it’s busted wide open the Raspberry Pi shortage.

1 Like

I hadn’t thought about Grafana…or PiHole for that matter…

Was also going to mention, in case you were unaware, or for others - PiHole can be configured as a fully recursive DNS server. Rather than just the DNS black hole.

Well, Grafana was a bridge too far - disk-wise (or probably Influxdb was too much). But PiHole & Roon Bridge are running merrily along together.

1 Like

Ok so I have discovered the system running out of space. It still works but running OS updates and so on seems to fail. I think its the system logging. Don’t really need it for this minimal install so am adding this to disable system logs:

$ sudo systemctl disable rsyslog.service syslog.service

Will be monitoring this.

Big thanks to Sean_O for pulling this together! I thought I would try it on the even less powerful Dell/Wyse 3030, as I was able to get 5 of them for $60 (!) on ebay. Happy to report success with some tinkering, mainly having to remove all the current partitions before install as space is really tight.

Here are step by step instructions if it helps anyone. This is for Ethernet only, though. You can add an M2 wifi card, but I didn’t need to as these are going into a distributed speaker amplifier and I could put a switch near it.

Download Gparted Live (I can’t add links as a new user, sorry)
gparted-live-stable 1.5.0-1
Use balena Etcher to burn this to a USB

Download Ubuntu
ubuntu-22.04.2-live-server-amd64.iso
Use balena Etcher to burn this to a USB

BIOS and partition

Connect Wyse to Ethernet
Insert prepared Gparted USB key
Power on and hold Del to enter the BIOS

Make the following changes
Boot From USB - Enabled
Boot Mode Legacy Common
Aperture Size 128MB
Boot Priority order - change USB HDD to 1 with + key
Auto Power on Enabled
Exit saving changes

PC should reboot to Gparted Live
Choose default option. Ignore the ACPI errors and wait

  1. Don’t Touch keymap
  2. Pick language
  3. “Continue to start X…”
  4. You should see a window with 4 partitions
  5. Highlight and delete all partitions, then click the green check
  6. Quit Gparted, then power off

Installing Ubuntu

Insert USB drive with Ubuntu image (22.04.2)
Holddown Del, power on, and go back into the BIOS and set Boot Mode to UEFI
Save and Exit

PC should reboot

  1. Choose “install Ubuntu server”
  2. Choose Keyboard
  3. Continue without updating
  4. Confirm your Keyboard layout
  5. Choose Ubuntu Server (minimized)
  6. Your Ethernet should connect - if it does, then “Done”
  7. leave Proxy address blank (unless you need it in which case you aren’t reading this)- Done
  8. Mirror - Done
  9. Build Storage Configuration. Uncheck “Set up this disk as an LVM group”
  10. Storage Configuration - Done
  11. Confirm Distructive action - continue
  12. Fill out the Profile setup
  13. Skip Ubuntu Pro
  14. Check Install OpenSSH server
  15. Install should begin. Grab a tea
  16. When it says Install Complete! (at the top), choose reboot now. Remove USB
  17. It will reboot, do some SSH stuff, and leave you at a flashing cursor (and they say Windows isn’t polished). Hit enter to get a login prompt

Installing Roon Bridge - Thanks to Sean_O for this bit!

  1. Login with the account you created
  2. sudo apt-get update
  3. sudo apt-get -y install alsa-base
  4. sudo curl -O https://download.roonlabs.net/builds/roonbridge-installer-linuxx64.sh
  5. sudo chmod +x roonbridge-installer-linuxx64.sh
  6. sudo ./roonbridge-installer-linuxx64.sh
  7. sudo reboot

Finishing up

Without logging back in, check that you can see your new bridge in Roon.
Plug in your favorite cheap USB DAC*, enable it in Roon => Audio (it will show up as GHW USB Audio) and you should be good to go.

*I’m using $15 ones I found on Amazon as these are only driving ceiling speakers

3 Likes

Solid work @Nick_Ford . Interested to see how the minimised version of Ubuntu Server goes. I have never used it but might be worth a reinstall.

Just got one without WiFi. Installed it in a place where I have an ethernet port nearby. LOVE these little devices.

Just got another. So cheap. Great form factor. Bulletproof. Thanks again for the idea.

1 Like

@Sean_O This is a very coo idea.

Looking for a 3040 with Wi-Fi now (on eBay).

1 Like

Despite my love for these, they have very limited resources.

Does anyone know if there’s an even more lightweight distro that I can use? CentOS? Debian? I can’t upgrade - disk just keeps getting full.

I had the same issue. I changed to a Debian install for testing and seems to be behaving. I am pretty sure it was the netinst version with no gui desktop or anything installed. All via ssh. There is a video that I cannot find at the moment that talks about the tools needed to do the install.

Ok, you’re a champion for doing that work!

I can’t find the video either (after 6 minutes trying), so if you can find it or suggest what you did, would be eternally grateful.

OK… have a look at this video. He goes in to some depth about the workarounds to make it work.

Also for more information on the changes:

I am going to build my second Bridge shortly so will aim to document fully the steps I used to make it easy to follow. This current version was a bit of a rush job just to see if it would work properly.

Champion. /10char

@Sean_O

Interestingly, I bet you could get this worked out by killing logs and by fixing the partition table.


johnadmin@wysethinclient1:/$ df -lh
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              188M  1.6M  187M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  4.9G  3.2G  1.5G  68% /
tmpfs                              939M   12K  939M   1% /dev/shm
tmpfs                              5.0M  4.0K  5.0M   1% /run/lock
/dev/mmcblk0p2                     1.7G  130M  1.5G   9% /boot
/dev/mmcblk0p1                     537M   11M  527M   2% /boot/efi
tmpfs                              188M  4.0K  188M   1% /run/user/1000
johnadmin@wysethinclient1:/$ sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 7.28 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: D2BB22AE-4BA7-45BB-902B-478E1726DB05

Device           Start      End  Sectors  Size Type
/dev/mmcblk0p1    2048  1103871  1101824  538M EFI System
/dev/mmcblk0p2 1103872  4773887  3670016  1.8G Linux filesystem
/dev/mmcblk0p3 4773888 15267839 10493952    5G Linux filesystem

It looks to me like there’s two 1.5GB partitions - one’s full, and the one on /boot or /dev/mmcblk0p2 is only 9% full. Is this possible or too much effort?

Right now I can’t get sudo apt-get-upgrade to complete - the disk is too full. Still functions as a Roon Bridge but I don’t love having out of date machines on my network.

Ugh. I’ve destroyed my Ubuntu Wyse machine again, trying to free space to upgrade the firmware. Needless to say, don’t delete Python. Obviously. I had been warned. But it seemed so obvious.

I didn’t read the whole thread, so excuse if this has been proposed before.
The current version of Volumio runs on Wyse 3040 (x86 Version) and it has a Roon Bridge plugin even in the free version. Volumio is light and easy to update OTA.

@Johnny_Ooooops - It is interesting what you say. I tried deactivating so many things in the build but it seemed to make no difference. Whatever is going on under the hood it just likes to create data for some reason. I haven’t got to the new Debian build yet. Trying to find time :slight_smile:

@jacobacci - this is intriguing. Is this a new build? I am sure I looked in to this before but was only Pi? This could definitely solve some issues - @Johnny_Ooooops thoughts?