Author Topic: EE Bench PC, what OS? Suggestions?  (Read 1931 times)

0 Members and 1 Guest are viewing this topic.

Offline ZuccaTopic starter

  • Supporter
  • ****
  • Posts: 4584
  • Country: it
  • EE meid in Itali
EE Bench PC, what OS? Suggestions?
« on: August 30, 2024, 12:25:22 pm »
I installed a PC, a 17" monitor, wireless mouse and keyboard in my EE Bench.

I installed Ubuntu because it is the most used Linux distro, hoping it will keep me floating in the EE world ( confirmed here, somehow)
Unfortunately I had to install FW for discontinued Keysight devices, and Linux is not in the picture...
Also, under software download website for my EE devices I find only windows stuff mainly.

So, sadly, it looks like in EE Lab, test equipment companies expect to find only Windows PCs...

I am now thinking to switch to Windows LTCS.

Kindly ask some suggestion... also beyond OS choices... I hope the wireless mouse and PC will not interfere with my DUTs.

PS: it is not just looking the datasheet up, an old iPad is just perfect for that.

« Last Edit: August 30, 2024, 12:29:40 pm by Zucca »
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 

Offline 3roomlab

  • Frequent Contributor
  • **
  • Posts: 852
  • Country: 00
Re: EE Bench PC, what OS? Suggestions?
« Reply #1 on: August 30, 2024, 12:54:53 pm »
have you tried vm like virtualbox?
it installs the windows OS inside your ubuntu under vm
give it a try to see if it fits your use case
 

Online themadhippy

  • Super Contributor
  • ***
  • Posts: 2973
  • Country: gb
Re: EE Bench PC, what OS? Suggestions?
« Reply #2 on: August 30, 2024, 01:02:21 pm »
Also maybe see  if it plays nicely with wine
 

Online RAPo

  • Frequent Contributor
  • **
  • Posts: 787
  • Country: nl
Re: EE Bench PC, what OS? Suggestions?
« Reply #3 on: August 30, 2024, 01:20:04 pm »
I have a zima board with linux os/server, attached with Crucial P3 2TB M.2 PCIe Gen3 NVMe Internal SSD and an own monitor.

The zima board  is controlled via RDP connection using MobaXterm and also doubles up as a proxmox server.
 

Offline ZuccaTopic starter

  • Supporter
  • ****
  • Posts: 4584
  • Country: it
  • EE meid in Itali
Re: EE Bench PC, what OS? Suggestions?
« Reply #4 on: August 30, 2024, 02:39:46 pm »
have you tried vm like virtualbox?

I will try to install windows LTCS on a Linux VM.
I hope it is not asking for problems, when I have to upgrade FW, the PC needs to be stable... don't wanna brick devices.

Also how a USB3 Picoscope will deal with a Windows SW in a Linux VM?

I mean VM is perfect if you wanna stay in the SW circle... not so sure if you have to control HW from the VM...
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 

Offline ZuccaTopic starter

  • Supporter
  • ****
  • Posts: 4584
  • Country: it
  • EE meid in Itali
Re: EE Bench PC, what OS? Suggestions?
« Reply #5 on: August 30, 2024, 02:42:11 pm »
I have a zima board with linux os/server, attached with Crucial P3 2TB M.2 PCIe Gen3 NVMe Internal SSD and an own monitor.

better than a Raspi for sure... for what do you use the zima board in your bench?
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 

Online RAPo

  • Frequent Contributor
  • **
  • Posts: 787
  • Country: nl
Re: EE Bench PC, what OS? Suggestions?
« Reply #6 on: August 30, 2024, 02:54:18 pm »
I use it for data collection/storage and simulation functionalities.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6856
  • Country: fi
    • My home page and email address
Re: EE Bench PC, what OS? Suggestions?
« Reply #7 on: August 30, 2024, 04:42:32 pm »
You can use USB passthrough (so that a specific USB device shows up in the client VM), or install a separate PCIe USB controller card (one fast enough and well supported on both Linux and Windows) on your computer, and use PCIe passthrough so that the client VM (and its own drivers) directly accesses the controller.  PCIe passthrough does require the motherboard, processor, and chipset support virtualization extensions (Intel VT or AMD-V), so check your BIOS settings.
 

Offline tatel

  • Frequent Contributor
  • **
  • Posts: 576
  • Country: es
Re: EE Bench PC, what OS? Suggestions?
« Reply #8 on: August 30, 2024, 05:05:13 pm »
I'd rather prefer to install Debian better than Ubuntu any day of the week. To make money, Ubuntu needs to somehow differentiate from Debian, which is the original from which the copy is made. And, main reason to differentiate, is for Canonical to make money from Ubuntu. I've have been bitten by that crematistic policy at least once.  Debian does have a Social Contract; they pledge to avoid crematistics and to look for quality and user easy life instead. They give you alternatives or at least plenty of time, like a couple of years, to adapt to any changes. Don't expect almost any other linux distro to do that, even if most of them also are of Debian descent.

Many people that aren't professional programmers but know how things are done create their own Debian packages and release them. So you can probably find real gems out there, ready to be installed. I don't think there's any other linux distro with so many packages ready to install.

Problem with Debian is, since they are so focused in stability, software is usually older than in Ubuntu, i.e, in Debian 12, which is the "stable" released version right now, you'll find KiCAD in version 6. If you want KiCAD 8, you need to install it backported from "testing"... or directly install "testing".

Another problem is, Debian doesn't install by default any "non-free" software. You can do it, but you have to activate that possibility manually. Since most firmware is not free, you'll find that your wifi card isn't working when you try to install Debian, because it needs non-free firmware to work. However it's easy enough to do your installs via Ethernet, then grep the start messages looking for "missing firmware" lines, activate "non-free" on APT package management, and install that firmware.

Debian 13, now in testing, has changed that policy, there's a "non-free-firmware" section activated by default, so these problem newcomers had with non-free firmware should be gone.

Last, but not least, Debian's APT software package management tool became the model followed by most other distros -RedHat included- after realizing their original tools weren't in the same league. Any newcomers should stick to it to avoid problems. Forgot to install anything from I-don't-know-from where; all you need is either already in Debian repositories to be installed with just an "apt install package-name" or you'll need more experience than you have right now.

With time and experience, you could use other sources too, but don't try that as a newcomer. AppImages can work, Docker also. The worse one is installing anything Python with pip. That almost guarantees you'll get in trouble sooner rather than later.

If you stick to that, you can just do a defaults install and be fine, trouble free for years. Debian documentation is plentiful and the fastest way to learn. Please have a look at these threads:

https://www.eevblog.com/forum/programming/linux-dependency-black-hole/msg5467894/#msg5467894 
https://www.eevblog.com/forum/rf-microwave/wsjt-x-on-pi/msg5465293/#msg5465293

The other linux distros worth to have a look at are RedHat/CentOS and Slackware IMO. RedHat does a lot of developing and their bussiness model is to charge you a fortune for technical support. CentOS follows RedHat, but it doesn't have any support I'm aware of. Slackware is the *original* linux distro and does not have any package management system -this is where the name Slackware comes from. It can be useful when you know what you are doing and need, say, a real light system on you device.

Now, for use as an EE bench system, you already learned that many devices have Windows-only firmware. You can use virtualbox; it has settings to connect to different peripherals out of the virtual machine. This means another learning curve however. Or you could have a dual-boot system and restart into the system you need at any moment. But, IMO, to have another machine for windows is the handiest thing to do. Usually we have more than a PC, and to have and old PC with, say, windows XP/7 and even perhaps another one with 10/11to be started if/when needed will probably be the most trouble-free way to go. Assuming you have the space in your workshop, of course

 
The following users thanked this post: nctnico, Zucca, BrokenYugo

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2896
  • Country: us
  • Not An Expert
Re: EE Bench PC, what OS? Suggestions?
« Reply #9 on: August 30, 2024, 06:22:22 pm »
I'm a linux Mint fan if I have to go that way... but..

Hardware design, and embedded programming specifically has TON of windows only tools (or stuff that says it's supported but barely works with linux/mac/virtual-machine).  If you want to work in this space I would say don't try to be an ideolog purist.  Just run windows and get your work done. 
 
The following users thanked this post: Zucca

Offline Infraviolet

  • Super Contributor
  • ***
  • Posts: 1152
  • Country: gb
Re: EE Bench PC, what OS? Suggestions?
« Reply #10 on: August 30, 2024, 07:23:00 pm »
I can give another vote for Linux Mint, it has a philosophy more grounded in long term stability than Ubuntu (one which it is based) does, and it works well with Wine for running some Windows programs under. But still, you might need a VM with Windows inside it for things that Wine can't handle.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6856
  • Country: fi
    • My home page and email address
Re: EE Bench PC, what OS? Suggestions?
« Reply #11 on: August 30, 2024, 08:34:07 pm »
Having Tux as my mascot and running Linux on my home machines for over a quarter of a century now, I'm sometimes taken for a zealot because I prefer open source.  Because of this, I feel I need to quote my own post from earlier today in a different thread:

There is absolutely nothing wrong in using proprietary tools for business or work, even if you are/were a staunch proponent of open source software/hardware.

What matters for paid work is your productivity, and the quality of the solutions.

The reason to go open source should always be practical, and not just "lower cost".  Avoiding vendor lock-in, and having the ability to maintain, fix, and modify the tools oneself or independently from any vendor, should be very close to the top of the list of reasons, or it will not work out well.

For hobby stuff and education, there are additional aspects, like the ability to learn as much as you care to about how things work, that make open source software and hardware useful and important.

Even for a hobby EE workstation, you do need to consider what kind of tools you need to enjoy your hobby to the fullest.
 
The following users thanked this post: Smokey, Zucca

Offline abeyer

  • Frequent Contributor
  • **
  • Posts: 370
  • Country: us
Re: EE Bench PC, what OS? Suggestions?
« Reply #12 on: August 30, 2024, 08:56:00 pm »
Agree with others who have expressed the same... despite using some *nix flavor as my primary machine for decades, I still find it useful to have an actual hardware windows machine available from time to time, particularly for electronics and fabrication purposes. I'm also quite happy with the current state of WSL2, so even working day to day on windows for my work machine is pretty comfortable, as my standard development environment script for linux will stand up almost flawlessly under it and let me do most of what I do in WSL while still having windows on bare metal there for what I need it for. (in that case, primary for the hardware certificate in the TPM, which I need for VPN access.)

Also, even if you don't need the LTSC channel, stepping up to an enterprise windows sku even just for personal use is well worth the hassle and cost, as it defaults off a lot of the user hostile anti-features that consumer windows ships with, and gives you access to configure some things via policy that can't be changed otherwise.
 

Offline ZuccaTopic starter

  • Supporter
  • ****
  • Posts: 4584
  • Country: it
  • EE meid in Itali
Re: EE Bench PC, what OS? Suggestions?
« Reply #13 on: September 02, 2024, 02:36:48 am »
Many thanks for the interesting discussion...

I think for my bench I will bend my knee to M$, installing retarded windows.

Also, even if you don't need the LTSC channel, stepping up to an enterprise windows sku even just for personal use is well worth the hassle and cost, as it defaults off a lot of the user hostile anti-features that consumer windows ships with, and gives you access to configure some things via policy that can't be changed otherwise.

this enterprise?

Quote
Installation Guidelines

    Plan ahead. Back up your files and settings before installing this evaluation.
    Upon installation, Windows will prompt you to activate. A product key is not required for this software.
    To use Windows 10 Enterprise, you must sign into your PC with a Microsoft account. The option to create a local account will be made available at the time of the final release.
    If you decide that you want to install Windows 10 Enterprise using one of the provided ISO files, you won't be able to uninstall it. In addition, after you install Windows 10 Enterprise, you won't be able to use the recovery partition on your PC to go back to your previous version of Windows. A clean installation of your former operating system will be required, and you will need to re-install all your programs and data.
    If you fail to activate this evaluation after installation, or if your evaluation period expires, the desktop background will turn black, you will see a persistent desktop notification indicating that the system is not genuine, and the PC will shut down every hour.

I will give it a shot... that's too funny!

Also I prefer to VNC into my Windows Box rather to have a VM...

PS: For my workstation hell no, no windows. I successfully installed ARCH Linux and it was a very educational process. I then realize I need more time to learn stuff than to work. I was considering EndevourOS, but thanks for your suggestions I will give Mint (Xfce!) a chance!

Thank you gang!
« Last Edit: September 02, 2024, 02:46:40 am by Zucca »
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 

Offline abeyer

  • Frequent Contributor
  • **
  • Posts: 370
  • Country: us
Re: EE Bench PC, what OS? Suggestions?
« Reply #14 on: September 02, 2024, 07:27:59 am »
this enterprise?

That looks like the eval, yeah... just be aware that the licensing and activation part requires going through an enterprise channel reseller, usually requires talking to a salesperson, has some minimums required, and they may balk at dealing with an individual or small orders at all. It's possible to do it... but as I said, it is extra hassle.
 

Offline ZuccaTopic starter

  • Supporter
  • ****
  • Posts: 4584
  • Country: it
  • EE meid in Itali
Re: EE Bench PC, what OS? Suggestions?
« Reply #15 on: September 03, 2024, 01:32:37 pm »
https://www.cdw.com/product/windows-10-enterprise-ltsc-2021-upgrade-license-1-license/6796773

but it looks like it is not that easy. Windows enterprise does not have a perpetual license anymore....
It's a messy move, I will stay out of it.
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 

Online paulca

  • Super Contributor
  • ***
  • Posts: 4247
  • Country: gb
Re: EE Bench PC, what OS? Suggestions?
« Reply #16 on: September 17, 2024, 09:00:42 am »
Both.  Windows + Linux.

I use Proxmox VME and have both a windows dev machines and a linux dev machine.

I have a 4 port USB hub on the electronics bench which goes to that Proxmox host.  The only thing you have to do is use the Proxmox UI to select which VM the USB port goes to.

I have used many USB serial adapters on both.  STM32 dongles on windows.  ESP32 JTag Programmer on both.

Probably the only thing I struggled with is that the VMs have trouble identifying devices in the same order at boot.  Just means you have to use the "Device ID" variants, not the likes of /dev/ttyUSB0

The advantage of this approach is that I have a dedicated Windows machine where all my STM32 and ESP32 IDEs and tools live.

The linux machine is more used for server side configuration than MCU/Electronics.  I prefer "KDE" over Gnome as I can't stand Macs.  However, last time I tried Eclipse based IDEs on Kbuntu, they fail misserably due to not finding some gnome extension lib socket.  Until that gets fixed, or I figure out how to reliably fix it, I'm stuck in Windows for IDEs.

The other advantage is that, when running, those VMs can be accessed from any PC in the house.  Bedroom, Livingroom office.  So... you can log back in from bed to see if the test completed or to just make that little change that woke you up.
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 
The following users thanked this post: Zucca

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6856
  • Country: fi
    • My home page and email address
Re: EE Bench PC, what OS? Suggestions?
« Reply #17 on: September 17, 2024, 11:25:42 am »
Probably the only thing I struggled with is that the VMs have trouble identifying devices in the same order at boot.  Just means you have to use the "Device ID" variants, not the likes of /dev/ttyUSB0
You mean under /dev/serial/by-id/?

Or, you could create udev rules to add symlink names, like /dev/ttyBlueDongle, and use those.  I do.

If the USB vendor id is VVVV and product ID is PPPP, start the ruleset with line
    ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", ENV{ID_MM_DEVICE_IGNORE}:="1", ENV{ID_MM_PORT_IGNORE}:="1", ENV{MTP_NO_PROBE}:="1"
to make modemmanager and libmtp to leave it alone.  If the values vary, you can use glob patterns (as used in e.g. Bash and sh for filename globbing).

Next, make the character and USB (/dev/bus/usb/bbb/ddd) accessible to a suitable group, say admordialup:
    KERNEL=="tty*", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", GROUP:="admordialup", MODE:="0660"
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", GROUP:="admordialup", MODE:="0660"
Mode 0660 corresponds to read and write access to owner user (root) and group (admordialup), and no access to others.

Finally, create a named symlink (/dev/ttyBlueDongle):
    KERNEL=="tty*", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", SYMLINK+="ttyBlueDongle"
If you have several dongles, you can use their USB serial number to distinguish between them, say
    KERNEL=="tty*", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", SYMLINK+="ttyBlueDongle-$attr{serial}"
or use the serial (S...) to match,
    KERNEL=="tty*", ATTRS{idVendor}=="VVVV", ATTRS{idProduct}=="PPPP", ATTRS{serial}=="S...", SYMLINK+="ttyTheOtherBlueDongle"

Save that file as say /etc/udev/rules.d/00-dongles.rules, tell udev to reload all rules (sudo udevadm control --reload), and then plug in the device, and you should see the symlink pointing to the tty device with correct group and access mode.  These symlinks are removed when the device is unplugged.  If you want to know what attributes you can use, run udevadm info -a /dev/ttyName when plugged in to see the full list.

In fact, a very similar rule is used to create the /dev/serial/by-id/ symlinks for non-terminal/pseudoterminal tty devices in the first place (likely /usr/lib/udev/rules.d/60-serial.rules).

Such symlinks have also the benefit that you can safely hardcode them in your scripts, as long as you document to yourself which scripts use which symlinks.  It's easier to edit the udev symlink rule than change the device name in a set of scripts, in my opinion, especially if you use the serial number as a filter and not in the symlink name, as for /dev/ttyTheOtherBlueDongle.

The reason I prefixed the example symlinks with tty is that some ancient silly programs and scripts expect serial port names to start with /dev/tty.  You shouldn't see any such on a Debian system, unless if you've inherited or trying out some old code or scripts.  Those silly ones don't like the /dev/serial/by-id/ symlinks either; they just do a prefix match on the given pathname.
 
The following users thanked this post: paulca

Online paulca

  • Super Contributor
  • ***
  • Posts: 4247
  • Country: gb
Re: EE Bench PC, what OS? Suggestions?
« Reply #18 on: September 17, 2024, 11:40:23 am »
I beat it a few times with a stick until it worked, then left it alone :)

The only one that delayed me in anyway was the Quad UART gizmo.  It spawns 4 serial ports, COMn... They are never the same IDs and half the time they are all setup wrong.  Everytime it's a fight.  This is windows though.

The challenge with the VME side is that once you plug the device in for the first time the host linux kernel sees it, u-dev rules run etc.  However, when you then go to the VM settings and "Add USB device.... forward complete port", it uses the HWID, not the kernel abstraction.  In fact once you forward it to the VM the local device is disappeared.

So it's more in seeing and understanding what is going on ... when it doesn't go smoothly.  You have to log in and dmesg/et.al on each layer to see what went wrong.

To help address this general problem (physical coupling to devices or ports) I moved most of my server side components that need USB (Zigbee etc.) into tiny little VMs all on their own.  So... should the physical device need to move, I can just move it's VM along with it.
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 

Offline ZuccaTopic starter

  • Supporter
  • ****
  • Posts: 4584
  • Country: it
  • EE meid in Itali
Re: EE Bench PC, what OS? Suggestions?
« Reply #19 on: September 17, 2024, 06:25:11 pm »
Thanks paluca and animal, interesting discussion.

So far I am an happy camper with Win10 Pro (pre)activated in my Lenovo box on my bench.
It will run a VNC server on it for remote access.

With all those cheap miniPC available on Ebay, a VM seems to me more a complication than a solution for what I need to do.

When I will need Linux on my bench I will (re)explore the options.
« Last Edit: September 17, 2024, 06:28:49 pm by Zucca »
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6856
  • Country: fi
    • My home page and email address
Re: EE Bench PC, what OS? Suggestions?
« Reply #20 on: September 17, 2024, 11:08:54 pm »
With all those cheap miniPC available on Ebay, a VM seems to me more a complication than a solution for what I need to do.
The one thing I really appreciate VMs for, is the ability to checkpoint the VM state.

Before I start anything iffy or new in a VM, I always checkpoint it.  That way, if I goof up, I can always basically instantaneously revert to that checkpointed state, and "undo" everything I did.  It affects the entire VM, including disk state and RAM.  As only subsequent changes are stored, and not a full copy of the VM state, such checkpoints don't usually take much disk space either.  I do keep the number of checkpoints per VM down, though, to keep the extra disk space use to a minimum.

That said, I do like using SBCs as modular hosts, instead of collecting everything on a single hardware machine and virtualizing or containerizing hosts on top of that.  I do tend to have an older backup machine at hand, in case my current workhorse gives up the magic smoke, too.  I just don't like single point failures becoming catastrophic problems...
 
The following users thanked this post: Zucca

Offline ZuccaTopic starter

  • Supporter
  • ****
  • Posts: 4584
  • Country: it
  • EE meid in Itali
Re: EE Bench PC, what OS? Suggestions?
« Reply #21 on: September 18, 2024, 03:47:24 am »
Sure, VM is THE PC SANDBOX by definition! VM is also very nice to try OS stuff out!
Docker concept is something also to consider, don't ask details I only understood the idea but never tried it out...

I try to save/backup the important files/projects not the disk images (or VM checkpoints), for my workhorse PCs.
They are designed to be stable and in the unlikely event (example CrowdStrike?) things goes tits up, they I will just reinstall the SW or/and OS.
Can't know what you don't love. St. Augustine
Can't love what you don't know. Zucca
 
The following users thanked this post: Nominal Animal

Offline BrokenYugo

  • Super Contributor
  • ***
  • Posts: 1214
  • Country: us
Re: EE Bench PC, what OS? Suggestions?
« Reply #22 on: September 18, 2024, 01:14:18 pm »
VM is one of those things I regret not getting into sooner, much less trouble than it sounds like, I went with VirtualBox since it seemed to be the most written about option.

Like if you can spec out and assemble a PC and then install an OS on it you're overqualified. IIRC the hardest part was having to reboot to get into the BIOS settings and enable virtualization.
 
The following users thanked this post: paulca, RAPo

Online paulca

  • Super Contributor
  • ***
  • Posts: 4247
  • Country: gb
Re: EE Bench PC, what OS? Suggestions?
« Reply #23 on: September 20, 2024, 05:07:43 pm »
Just don't jump in expecting to run games and CAD software.  Anything that needs a GPU (PCB Editors included) will struggle.

You "can" setup a GPU for this purpose, but it's probably out-of-scope here.
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf