What's new
  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Intel SS4200-E Lives Again

Thanks, but.... I had considered that this might be the case so I tried building both the OMV and Debian bootable USBs on a Dell Optiplex Micro 7020. I built the installation USBs on a Windows 11 PC using Rufus and they ran just fine on the Optiplex. I removed all other storage from the Optiplex before I tried to install to a USB. The Installations they built aren't recognized as being bootable.
Its odd trying to get a computer to install an os to a usb in the first place. Why even bother?
Optiplex7020 is UEFI so I can see it not booting the MBR installation much less very few IDE style motherboards even booted from a usb which wasn't sorted out entirely in the field until 2005 and some motherboard manufacturers didn't even bother posting a bios update on it because CD ROMS were the choice of install media until around 2009. Unless you actually have USB Hard drive boot as an option its not going to try it. Much less you have to make sure the partition type (GPT vs MBR) is set up prior to it. Otherwise, its just going to format and install on the usb device as a MBR type which UEFI machines don't normally boot MBR and some can not be modified to do so.

But as far as trying to use all of the controller ports for the NAS and having a separate boot device, It would be easier to do that with a card than the USB. Because USB boot options are not the greatest on older hardware (if it works). What is your slot types available to you? Because its going to be easier to find a card that will boot a SSD drive on that machine than set up a usb boot system that may not be possible because of the bios.
 
Last edited:
I'm with you--hence why I created this thread in the first place to give these great units a second lease on life if someone has one.

You've got more experience than I do with linux so you can probably make it work how you want it to. One thing you could try is to use an older lga775 based Dell Optiplex and set everything up on that platform and then just remove the drive from the Dell and put it into the SS4200-E. I've found evidence that people were taking the original Intel OS image and turning the Dells into cheap NAS units so they're probably similar enough that this might work.

But something to consider is that you're working with an older system with very limited hardware capability with the ram restriction. I know a 2GB module works and there is probably a 4GB module out there that would work, but that's still very light on ram. Comparatively you could run a hypervisor on a more modern system to run NUT, TrueNAS and more, and even a system just a generation or two later can do that. (And NUT does allow running on a different system than the ups is connected to.) Then you can just use this in its original form as a straight backup. You could also enable NFS and connect to it that way vs smb/cifs.
This blog you referenced earlier says that the SS4200E uses an Intel 945GZ chipset. Intel's spec sheet says that the 82945GZ can only use 2GB, but that the 82945G can use 4GB. I recall that there were different flavors of this sever sold, and it's possible that different flavors came with different versions of the chipset. I didn't remove heat sinks to confirm which chipset my board is using. From my next post you'll see that (in my opinion) I've been rather successful with a 2GB DIMM, so I'm going to leave well enough along.
 
Before the power supply died I had always used this SS4200E with the OEM OS (EMC Retrospect) running on the OEM 256MB IDE DOM, and a 4-disk raid 5 array. I've learned over the years to keep my OS and data separate, and since I really wanted to stick with the 4-disk raid 5, I had to find somewhere to run an OS. Larger DOMS are rare, slow, and pricey, so I thought I should try the USB route. It turns out that the BIOS treats a bootable USB as a hard drive, and after I figured that out I was able to load up a copy of Ubuntu Server 24.01 LTS I had and install it to a USB thumb drive. Digilog gave me the clue I needed – no matter how I tried to build a bootable OVM USB on another machine, it always did GPT instead of MBR because that’s the only thing my OptiPlex will work with. Ubuntu worked differently because it let me specify MBR instead of GPT, but it still wouldn’t boot on the SS4200E even though it did boot on a NUC with the BIOS set to only use legacy. Bottom line, I had to connect a video card and do the install on the SS4200E itself.

So now I’ve got Ubuntu Server running from a USB drive and I tried to access the original raid array. No joy – whatever the OEM OS did Ubuntu recognized it a being used for raid, but it wouldn’t mount and try to use it. Wiped the disks, started over, it’s now fully functioning, and I’ve got a 4-disk raid 5 on HDDs that are separate from the OS. I even discovered a package called cockpit, which has a web-based GUI similar to what I think OMV would have provided.

After playing with it for several days I decided I didn’t like the performance I was getting from the USB. Boot times were rather long. Based on another clue from Digilog I started looking for a small PCIe-to-SATA card that I could fit in the SS42000E’s case without major surgery. I found something at the local computer parts store (search for SY-PEX40039), connected an old 240GB Corsair ForceGT SDD I wasn’t using, and gave it a try. I rebuilt the boot and OS on the SDD and things run so much faster! I fabricated some brackets and was able to mount both the card and the SSD inside the case. I still haven’t figured out how to get the serial console to work after Ubuntu Server boots up, but that’s not a problem with the SS4200E itself.

PCIe_card.jpg
Corsair_SDD.jpg


I expect to keep this configuration for a while. I built some rsync scripts to pull the irreplaceable stuff from the Synology NAS (this is just a secondary backup). I’ll be using NUT to monitor UPS status over the network, shutdown as needed, and let my main UPS monitor/control unit issue a wakeonlan when the power is back and stable. Nothing fancy, no VMs, no other nice-to-have servers and/or services (they're running on the Synology), just a backup NAS without the original OS's obsolescence and limitations.
 
Thank you for the updates! Very well done! And now that you're on a different OS, the esata ports should also work if you wanted to expand the storage with an esata dock or tower. :)

And the ss4200-e lives on. :)
 
I still haven’t figured out how to get the serial console to work after Ubuntu Server boots up, but that’s not a problem with the SS4200E itself.
I figured you would need some help in that department.
connect a monitor and keyboard back on it and I will walk you through installing a management console.

I recommend webmin since its a well developed one that will let you look at files, perform system functions and setups as well as a terminal access.

So we start putting webmin's repository so we get the latest stable version:
Code:
curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sh webmin-setup-repo.sh
Then we install it
Code:
apt-get install webmin --install-recommends
after it installs, you can log into the system at
Code:
https://(ipaddress of Nas):10000

#(i.e. 192.168.0.55:10000)
Using root as the user name and password that was set as root. If you have issues, let me know.

☮️

Well done on the upgrades by the way.
 
Last edited:
I figured you would need some help in that department.
connect a monitor and keyboard back on it and I will walk you through installing a management console.
Do I really need to revert to using a graphics card to fix this? That would involve disconnecting a raid drive (all to be safe), moving the boot SSD to a native SATA port, disconnecting the PCIE-to-SATA adapter card, and then connecting the graphics card to the PCIe port. I'm ok with the need to do all of this if I ever need to reinstall the OS, and I don't feel the need to force the installation to use the console port. What I would like is to have console access via the serial port after Ubuntu is fully booted and running. Currently I only have network access, which works via Putty, the Terminal tool in Cockpit, and SSH from command prompt on my LAN. Is there a way to do this just from a networked SSH terminal session?
 
What I would like is to have console access via the serial port after Ubuntu is fully booted and running. Currently I only have network access, which works via Putty, the Terminal tool in Cockpit, and SSH from command prompt on my LAN. Is there a way to do this just from a networked SSH terminal session?
you can install webmin via ssh. I didn't know you downloaded that version that has ssh server loaded by default.

Serial terminal. Like a Wyse terminal?

say that the serial port is ttys0
This would be for tty terminal from serial port 0
Code:
stty -F /dev/ttyS0 9600 cs8 -parenb -cstopb -echo
Then if you want to make it be there after boot, we create a file as root, mark it as executable and place it in the /etc/init.d/ directory.
That file would look like:
Code:
#!/bin/bash
stty -F /dev/ttyS0 9600 cs8 -parenb -cstopb -echo

That is for a terminal after boot, or do you need to control grub so you can select memtest or other boot options? Because that would be different.
 
Last edited:
Serial terminal. Like a Wyse terminal?

say that the serial port is ttys0
This would be for tty terminal from serial port 0
Let's start with the fact that I haven't made any changes to /etc/init.d/ yet, so I can always reboot and start over from a known state.

Wyse, VT220, I'm actually using PuTTY on a Windows PC via a USB to RS232 dongle. The dongle and PuTTY work and are configured correctly - I can use it to access the BIOS. With the OEM OS all of the boot info went there, and I had a terminal session with a login prompt when the boot was finished. With Ubuntu Server the output stops around the time booting actually starts. I went ahead and shuffled drives so I could use the GUI and I can confirm that all boot output does go to the GUI. After boot the GUI presents a login prompt where I can log in and work in a teminal session, and the GUI receives console messages.

jim@ss4200e:~$ sudo cat /proc/tty/driver/serial
serinfo:1.0 driver revision:

0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 CTS|DSR|CD
1: uart:unknown port:000002F8 irq:3

.
.

31: uart:unknown port:00000000 irq:0

jim@ss4200e:~$ sudo dmesg | grep tty
[ 0.204832] printk: legacy console [tty0] enabled
[ 0.727068] 00:02: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 1.422587] tty ttyS5: hash matches


jim@ss4200e:~$ sudo stty -F /dev/ttyS0 115200 cs8 -parenb -cstopb -echo

<nothing>

I then try to connect via PuTTY and get the same nothing I've been getting. I'm either doing something wrong or I'm asking the wrong questions.

That is for a terminal after boot, or do you need to control grub so you can select memtest or other boot options? Because that would be different.
No, I'm not looking to control grub, or re-direct all of the boot info that's going to the default GUI, at this time. Maybe later, unless changing this now will fix my serial console issue. If it will fix the issue I've got to ask..... can I have the output go to both?

Ok, just before I posted all of the above I had a brain fart. Is there a difference between wanting a console on the serail port versus wanting a terminal session on the serial port? I started out just wanting a termional session, but after thinking about it full console support might be better.
 
Ok, just before I posted all of the above I had a brain fart. Is there a difference between wanting a console on the serail port versus wanting a terminal session on the serial port?
yes.
I think what you looking for is a console session instead. Which would be like having a keyboard and monitor connected.
The serial terminal statement did nothing because the interface was up and in serial terminal mode. Which I thought it was redundant since you have ssh capabilities.

So this would be three places that gets edit: kernel boot arguments, init file in /etc/inittab, and /etc/init/ttyS0.conf, but there are two methods to accomplish this. But it seems that you have some arguments in place as its already going into a mode, just not the correct type. Btw, hardware flow control does not work for this so if your client is having issues turn it off.

First I need to see what kernel boot parameters are loaded:

Code:
cat /proc/cmdline
 
jim@ss4200e:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.8.0-55-generic root=UUID=b426a16e-0b7a-4447-bb57-e6e023b02777 ro
If this helps....
jim@ss4200e:/$ sudo find |grep inittab
./usr/share/vim/vim91/syntax/inittab.vim
./usr/share/terminfo/a/ansi+inittabs

jim@ss4200e:/$ sudo find |grep ttyS0.conf

<nothing>

jim@ss4200e:/etc/default$ cat grub
# If you change this file, run 'update-grub' afterwards to update

# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start

#GRUB_INIT_TUNE="480 440 1"
 
ok. So upstart is what Ubuntu is using (this time)
Even though the older way looks like it still can be implemented.

edit /boot/grub/menu.lst by
Code:
nano  /boot/grub/menu.lst
and add this to the top of the file:
Code:
# Enable console output via the serial port. unit 0 is /dev/ttyS0, unit 1 is /dev/ttyS1...
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=1 serial console

and add
Code:
console=tty0 console=ttyS0,115200n8
to the kernel boot line so it will look like this:
Code:
/boot/vmlinuz-6.8.0-55-generic root=UUID=b426a16e-0b7a-4447-bb57-e6e023b02777 ro console=ttyS0,115200n8 console=tty0

Edit /etc/default/grub to look like this:

Code:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
 

# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

then update grub
Create a file called /etc/init/ttyS0.conf containing the following:
Code:
# ttyS0 - getty
#
# This watchdog service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[12345]
stop on runlevel [!12345]

respawn
exec /sbin/getty -L 115200 ttyS0 vt102

After all of this, you would simply reboot and tty1 console will output to serial and will be there until shutdown or reboot.

If you have problems, let me know since I did this from memory, but there should be guides online for this, even though all of this has been changed at least 20 times since the 90s so you have to look what method is used if you try to find a guide. Its probably better to bug me.
 
Take a look at Cockpit for remote admin...


Nice for remote admin, and includes support for KVM and Docker...
 
edit /boot/grub/menu.lst by
nano /boot/grub/menu.lst
I don't have that file
jim@ss4200e:~$ cd /
jim@ss4200e:/$ sudo find | grep menu.lst

<nothing>

Edited /etc/default/grub per your instructions, and added menu capability so I can get to recovery mode to fix any grub oops-es (learned that one the hard way)
jim@ss4200e:/$ cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update

# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
# GRUB_TIMEOUT_STYLE=hidden

GRUB_TIMEOUT_STYLE=menu
# GRUB_TIMEOUT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT=""
# GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"

# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal
# GRUB_TERMINAL=console

GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start

#GRUB_INIT_TUNE="480 440 1"

After update-grub and a reboot:
jim@ss4200e:/$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.8.0-55-generic root=UUID=b426a16e-0b7a-4447-bb57-e6e023b02777 ro console=tty0 console=ttyS0,115200n8


The PuTTY serial terminal session stayed up the entire time, and gave me a login prompt. *** This was the goal ***
The GUI stopped updating around 3.5 minutes after startup, but resumed several seconds after "shutdown -P 0"

Thank you sir, you, have solved my problem!
 
The PuTTY serial terminal session stayed up the entire time, and gave me a login prompt. *** This was the goal ***
The GUI stopped updating around 3.5 minutes after startup, but resumed several seconds after "shutdown -P 0"

Thank you sir, you, have solved my problem!

You're welcome.

If you want it all the time, add the file ttyS0.conf in /etc/init/ so the prompt stays alive and return system messages, but since you not really needing that, it doesn't matter if you just need it at those run levels. And you got ssh and if you installed it, webmin.
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Back
Top