It looks quiet boring on the inside, hiding away a MicroSPARC IIep CPU at 100 MHz and a quiet meager 8 MiB of RAM. Still, good enough to get the job done, and Sun Microsystems and later Oracle, sold over 500'000 of these units throughout it's product lifetime between 1999 and 2014. So today we're going to look into the SunRay Server, and it's client-side counterpart, the SunRay thin client. MR KNOW-IT-ALL: I think you are missing the stand for this unit. This is what it should look like! Indeed, and it's actually not the only part that I'm actually missing for this unit. Let's talk about legacy network technology.
I'm THE PHINTAGE COLLECTOR and these are my stories. Although I ran Sun servers for many years, somehow I never came by Sun's own thin client solution. As a fact, I don't even recall ever hearing about it. Compared to the global PC market, somewhat 500'000 shipped units of course looks very small. But then again, putting it into perspective of the global professional UNIX market, the number stacks up quiet well.
And despite it's meager specs, the suggested retail price for the standalone unit called for a whopping 2'699 USD. Said that, Sun eventually also offered integrated units with a display, like the SunRay 150, sporting a 1024x768 LCD flat panel display. And going by historic press releases, it seems like Sun did offer them at quiet attractive pricing along with those so-called workgroup bundles, calling 549 for the CRT version, and 1'299 for the flat-panel version. Unfortunately, I don't have any of those, but just the SunRay 1G.
The SunRay 1 and 1G were released in 1999, and differ by the supported display resolution. While I have found a source where I could get a SunRay 2, I must say that the design of the SunRay 1 appeals better to me. Maybe it was thought to be too playful and childish in appearance, why Sun went to the more straight and bulky design from the SunRay 2 onwards. Anyway, there's really not much to see inside the unit, so I'll be closing it up again.
As you see from the backside, it features a bunch of USB ports, one 10/100 Ethernet jack, a DVI port and two 3.5mm audio in/out receptables. What sets this one apart from later product iterations is that it has an all-integrated switching power supply. One can argue if that's better or worse than the external power bricks of later models. Of course, the latter are easier to replace if a power supply fails. Now, as mentioned before, I just could acquire the plain SunRay 1G unit, with no added peripherals, and the stand was also missing.
And I faired pretty bad a locating one on eBay at the time. Luckily, someone had taken the time to create a printable model. While it doesn't look anywhere close to the original stand, I though it's good enough as a functional replacement, and my sponsor for today, PCBWay agreed to produce it for me. Originally, I wanted to have it printed in resin, as that gives a much cleaner look.
But stupid me, I have overlooked the fact, that you need different specs for a resin print than for a PLA or ABS print. This model was designed for PLA or ABS, and features a more or less hollow structure, that's supposed to gain stability by the infill structure. As such, the walls are too thin, less than the recommended 1-2 mm, which makes it unsuit for resin printing. I would have needed to redesign the model to suit that purpose, which was simply too much work for me at the time. I wanted to focus on the SunRay functionality instead.
However, and this is what you see here in close-ups, there is some little print glitches. The entire structure was printed bottom-up. It's not uncommon to see any such deformation and glitches on the first layers that were printed. It get's partially better as the print progressed, howerer it remains wobbly throughout the steep structures. As an afterthought, I propably should have invested into redesigning the model for a resin print.
I have done many resin prints with PCBWay, and these always looked clean and perfect. ABS and PLA is really not the best material if you want a print asthetics, it's good for prototyping. Let's hope I come by the real stand at some point still. For now, it definitely serves it's purpose. Also, when looking at it from the front,
I doesn't look too bad at all, as the front face was very cleanly printed. Still, I don't think it qualifies for PCBWay's Project Design contests, which still runs to January 22nd. Submission time ends January 19th, so hurry up if you want to enroll your project to win attractive prizes.
At least I have now some solution for the missing stand, however I'm also missing the original Sun peripherals. No keyboard, no mouse, and also no display. But since it uses standard USB and DVI connectors, standard peripherals will work. To some extend at least, as I'm going to find out soon. And this is, what it looks like when powering up the SunRay 1G. It works, but shows just this bland screen, obviously indicating it didn't connect to any server yet.
Over the years, there had been many releases for the SunRay Server, with the most recent one being version 5, which is also available for Linux. But I have this 2002 SunFire v120 server running Solaris 9, so I'm gonna go with this one. I'll be using SunRay Server 2.0 to go along with this machine, as this matches closest for this period. While I was reading through all installation guides, I always came accross a section denoting for the Solaris release requirements. Even SunRay Server 2.0 declares it needs at a minimum Solaris 8 Update 7, or Solaris 9 Update 1. As I had installed vanilla Solaris 9, I surely have to upgrade.
Since I struggled last time with the defective internal CD-ROM drive, I have organized a replacement drive in the meantime. Maybe the perfect opportunity to briefly swap the drives. It's no big deal, as it just means disconnecting the backplane. This allows access to a small screw, which is securing the drive using this plastic retainer. Unmount it and attach it to the replacement drive. After fastening the retainer and plugging back the backplane, let's see if the system boots off the replacement drive.
That looks good, and what about mounting the CD-ROM on a running environment? Yup, that's perfect. Having done that, I'm ready now should I need to run a full upgrade. But first I try if I can get away with a local disk-to-disk install. For that purpose, I created some directories at /opt/install and transferred both the SunRay Server 2.0 packages, but also the Solaris 9 recommended patch cluster into it.
Then I extracted the archives, so I could run the install from there. Installing the Solaris 9 patch cluster should actually be sufficient, because that's what the manual says. To install that, I'll be rebooting the server into single user mode. The RPC comes with it's own installer script, which you simply invoke as ./install_cluster. It will take a long time to complete, in fact I let it run over the night and returned only the next day. I found some reports on failed installs MR KNOW-IT-ALL: Wonderful, yet another brick … For which I checked the referenced logfile. This told me that several
patches were skipped for unmet prerequisities, but that's fine. Once the machine was back up and runinng again, I headed over to /opt/install/ for the extracted SunRay Server 2.0 directory. Running the installer is a simple as firing up ./ut_install, which will get right into action. It will add one missing patch, but it's not complaining otherwise and run through the installation straight on. One reboot later, I was ready to perform the actual configuration. Because at this stage, the SunRay Server isn't configured to respond to network requests yet.
As by the install guide, there's basically two types of topologies that can be built. Either you run both the SunRay server and the thin clients on the same shared broadcast domain, or you build a dedicated network solely for the thin clients, and place the SunRay server in between two networks, making it dual-homed. And that's the topology that I'm going for. Why? Because the SunRay server runs both TFTP and DHCP servers, and thus may intefere with my existing network. So I was running the utadm to configure the second network interface eri1 to provide for the SunRay network connectivity. For the sake of simplicity, I'll be going with the default values.
But what's that? When I ran utconfig to perform the SunRay server configuration, it saw errors like this one: Could not connect to admin server? I suspected something right away … Can you guess it? Right, my main interface eri0 was configured via DHCP, and for obvious reasons, the SunRay server prefers a static IP address and a proper hostname configuration. So I quickly adapted it, which made the service startup errors disappear. As noted before, I wanted a dedicated network via the eri1 interface, therefore I added a separate switch, and plugged in both the SunFire V120 and the SunRay 1G. At first I was a bit scared, as nothing seemed to happen and the SunRay 1G just hang, but then eventually, it would show some activity as it found the SunRay server.
And this is definitely the Solaris graphical login screen, although something is definitely wrong with the display resolution! It's driving the TFT display with a default 640x480 resolution. But at least, it's using the virtual screen, so just by moving the mouse around the edge you get to see the hidden display area. Not the optimum thing, but at least a good first step. I'll see to fix this somehow. At least, I can login to the desktop, which loads GNOME, as this was my session default from my previous episode.
And there's no big deal to switching it from the login screen, so I'll head back to Solaris' Common Desktop Environment for now. Reading through to SunRay documentation, I found that the utset CLI command should help me to fix the resolution issue. I used the utset -l command to list all available resolutions, eventually then passing a 1280x1024 resolution to utset and hoping for it to switch over! And it did! Awesome! But as suspected, this change wouldn't be permanent, as after power-cycling the SunRay 1G I was back to 640x480. That seems impractical! Then I read further and found, that there's also a configuration popup, that one should be able to bring up by pressing the props key.
But, remember that I didn't have the original Sun peripherals, but just standard PC-style USB peripherals! There is no PROPS key on that one! Although the manual says, that one could use alternate hotkeys in combination with the BREAK key, I wasn't able to bring up the properties dialog. Ever. Period. You can invoke it from the CLI by running the utsettings command from the /opt/SUNWut/sbin directory. But as much as it allows setting the display resolution, it too won't persist it accross a power-cycle.
At least I found some clue here as to why the SunRay 1G keeps falling back to 640x480. As I'm using a monitor without a DVI input, I had to use this DVI-to-VGA adapter. But according to this statement here, the SunRay 1G defaults to 640x480 if it can't readout the display capabilities. And that obviously doesn't work in this particular combination.
Alright. Now that I know the root cause, I could simply switch to a DVI-capable display. But I think, there must be a way to force it to a higher default resolution anyway! Of course, I could run a shell script on login, to reapply the resolution. But that doesn't help when powering up the SunRay 1G, as at this point in time, no session was yet established. Maybe the SunRay web administration console can be of help here? You can reach this by browsing to http://localhost:1660. It requires the admin account and password, which was set earlier through the installation process.
The Web Interfaces provides a graphical representation to the many CLI utilities found in /opt/SUNWut/sbin, be it for changing the admins password, inspecting and dropping desktop sessions, configuring policies and more. However, no option in sight to override the screen resolution. But there must be a way. It turns out, I must use a CLI tool again, utresadm. And this one needs a quiet cryptic set of arguments, like a CID and a token.
The admin guide is a bit sparse on information, but I suspect this to be somehow related to the token and desktop IDs as shown here, which bear significant familiarity to a MAC address. Aaaaand …. it is a MAC address. Only with the smally but tiny different of not using the "pseudo" Prefix, as given from the sessions command, but using the IEEE prefix instead. As it accepted my command, I was then hoping for the best … Ha! Look at that …. That's absolutely awesome. It works for the forced resolution override. But I'm not here for playing games, here's some bonus! Remember in my first episode about the SunFire v120, how I stated the graphical installer for the software companion wasn't working via X11 forwarding? As I wanted to install some extra software, I gave it another try, and apparently it does work. So it's not like generally not working, but obviously just somehow borken via an SSH-forwarded X11 session. For whatever reason.
But I'm actually after something else. In my earlier episode about Internet Explorer on Solaris, I mentioned that Microsoft als did a release of Windows Media Player for Solaris. I couldn't showase case it back then, as the SunFire V120 doesn't have built-in audio hardware. But the SunRay 1G has, with connectors both on the front and on the back.
And according to my reading, it passes through it's internal soundcard to the SunRay server, so you can actually run audio application within the terminal. But, as it turned out, while I was able to start Windows Media Player on my original setup, It won't run any longer now. And that seems closely related to me deploying the Recommended Patch Cluster beforehands in order to install the SunRay server software. So without some further investigation, I won't be able to showcase this today.
But on a sidenode, remember me also mentioning that out of the various versions of Internet Exporer of UNIX, how one of the IE5 SP1 beta versions didn't work? Surpringly enough, this now starts up just fine. So while the patch cluster fixed obviously something for the IE5 SP1 beta, it borked Windows Media Player on the other hand. I will reinvestigate this. And until that's the case, I'll be using XMMS, which I came from installing off the Software Companion CD. In the XMMS settings, you'll find the audio output options, which points at the AUDIODEV variable.
This one in turns points to local audio card of the SunRay 1G. This sample is from the built-in speakers found on the SunRay 1G. Of course, that bears no comparison as when using an external speaker. But still, it works. So once you have it all up and running, thin clients are up to many office and productivity tasks, given you have enough processing power on the server side, and enough network bandwidth. And rumour has it, the Sun Ray server also does run on Linux, and there was even a Windows client for it.
Would that mean, I could hookup this Windows-based thin client to a Sun Ray server? We may see … What about you? Did you happen to work with the Sun Ray thin clients, and what was your experience with it? Let me know in the comments below. And don't forget, if you would like to support this channel, consider becoming a channel member. I'm THE PHINTAGE COLLECTOR, and this was my story for today.
Thanks for watching, and see you again next Sunday. NEXT on THE PHINTAGE COLLECTOR: While under Oracle's reign already, Sun Ray Server was also released for Linux. No easy task to install, but it's doable. Meanwhile, as I'm hunting after a SunRay 2, and some original Sun peripherals, I'll be exploring this german-produced Windows Terminal client and find myself playing around with Windows XP embedded.
And rumour has it, it's possible to integrate Windows Terminal services with the SunRay server.
2025-01-13 16:58