After wasting a good number of hours this weekend attempting to get my SunRay connected to the SunRay failover group at work I decided to give it another shot.
I decided to ignore vmware, ignore Solaris Nevada installed natively and focus on what I am familiar with: Ubuntu (actually, I’d have preferred FreeBSD for either ipfw, ipf or pf: anything beats Linux’ iptables).
The primary ingredient in getting a SunRay unit connected to a server is DHCP. I decided to bring my laptop into the foray as a test utility. After much messing with iptables I finally figured out how to set my machine as a NAT router, routing packets between eth0 (my physical network interface, connected back-to-back with my laptop (which had the wireless card disconnected!)).
Once I could successfully ping the SunRay server from my laptop, I switched my focus to the SunRay unit, and the specific DHCP config. This turned out to be easier than I had expected. Last Thursday Chris Gerhard suggested I follow links on his blog to find a list of all of the required DHCP options to get things working… this I did, and at this point I ended up at Think Thin’s Sun blog, where I was fortunate to find the two main options: XDispMgr and TFTPsrvN.
These two options are used to communicate the IP address of the SunRay display server and firmware TFTP server to the SunRay unit. Without these two options set, you’ll receive the plenty frustrating “22 B” error code.
These two options are all very well and good, but when the blog entry covers both the Microsoft and Sun DHCP servers specifically, it’s easy to feel left out when you’re using the ISC DHCP server on Linux. More hunting and I found the following dhcpd.conf options:
option space SunRay;
option SunRay.AuthSrvr code 21 = ip-address;
option SunRay.AuthSrvr YOUR-SUNRAY-IP-HERE;
option SunRay.FWSrvr code 31 = ip-address;
option SunRay.FWSrvr YOUR-SUNRAY-IP-HERE;
I configured the two values with the IP address of our primary SunRay server: ebusy. Restart the DHCP server and the SunRay unit practically sprung into life… a few of the ordinary establishing connection OSD pictures followed by the never-before-so-beautiful “Welcome to ebusy” login prompt!
By now, I truly knew that all was good with the world… insert Sun badge and boom! The desktop I had been using for my day-to-day tasks at work a mere hour earlier!
And now, for some truly beautiful shots of the magic at play:

That’s the SunRay unit with my badge in the slot… of course I could use any other SunRay card, but that wouldn’t allow me to attach to the session I have associated with the card.

That’s my desk, here the left monitor is my regular desktop Ubuntu installation, but the right monitor is being driven by the SunRay and shows my work session. My laptop is uninvolved at this point, but is kept on so I can charge my mobile :)
The whole SunRay@Home experience is very good… of course it’s not as snappy as work, but it is absolutely usable; the main slowdowns are when switching virtual desktops, minimising/maximising lots of large windows and the initial card insert.
I’m not going to attach my DHCP server config file as it is quite specific to my setup, as is the Linux iptables stuff. If you do want to know more, feel free to drop me a line, or leave a comment and I will probably let you know the specifics.