Friday September 28, 2007 
James C. Liu's Weblog
Intel D201GLY mini-ITX - a Low Cost Solaris Solution
Another Low-Cost, Small-Footprint - Home/Office Computer
Last week, in the midsts of rambling on about the issues in SXDE 9/07, I briefly mentioned that I had an Intel D201GLY mini-ITX board. The board has been around probably for a while. I think their may have been some OEM marketed version available to volume system builders earlier. But probably sometime in the first half of 2007, the Intel D201GLY became available online for folks like me who buy retail.

Fig. 1 Intel D201GLY mini-ITX motherboard.
For such a small form factor board, the retail price seems to vary between $60 - $80, which is a bargain, if you consider that this is for motherboard with audio, video and LAN, plus on-board CPU. Even the older VIA Epia 800 first generation mini-ITX system boards still cost around $95 - $120 online. But this Intel board has a power efficient Celeron M 215 at 1.3GHz, a single DDR2 533 slot, single IDE pin header, 2 sets of USB headers, 1 set of internal front audio pin headers, but no SATA jacks. However, while the board looks clean and well built by Intel, the chipset is the SiS662/964L combination with Mirage 1 graphics and SiS900 10/100 Fast ethernet.
I've spent the last week twiddling at home during spare time trying different cases to put this board into as well as measuring power and getting Solaris to work well on this. Below, I go through some of the configurations and settings on how I got this to work.
Picking Out A Case
Mini-ITX motherboards will fit Flex-ATX, Micro-ATX, XPC and ATX cases in general. But the real attraction is to be able to stick the board into a small, very appealing case that makes people go, "Wow! a tiny computer!" when they see your computer. The only concern with this Intel board is that the heat sink and fan over the CPU (which is soldered on BGA packaging) is the height. It's about 1.8 - 1.9 inches tall if I lay the mobo on a flat surface. That's taller than 1U, so a rackmount case like a 1U 1/2 width, short depth box could work if I could find a 40mm replacement copper heat sink and thin 40x40x10mm fan. However, with no changes to the motherboard/heat sink/fan, the board does fit nicely into both the Casetronic 2677 and 2699R mini-ITX cases. There's just about 3 - 4mm of clearance under the case covers, and if heat is a worry, I can always drill holes in the top cover in the area just over the cpu/fan.
I like the 2699R case better because it has front panel USB and audio jacks, which are supported by the pin headers on the motherboard. The 2677 also is problematic; as an older model, its ATX extension cable isn't long enough to reach across to the rear of the board where the power pins are. An inexpensive ATX extension cable is required. The cases sells for around $65-$75 online and include a big external brick-style AC adapter (like for a laptop) and a 12VDC converter daughter-board that then provides a 20 pin ATX connector to the motherboard. The daughter-board power supply has a big advantage in that it can be about 94 - 96% efficient at converting 12VDC into usable system power. Typical power supplies inside PCs are less than 70% efficient at full power, and when the board only draws 25 watts, the P/S may actually be sucking 50Watts or double the power.

Fig. 2. Casetronic 2699R mini ITX chassis.
If the price is a bit high, then it's still possible to find some places that sell the Englight 7396AM1 for just $20 plus shipping. It's a very high quality case at a budget price and it's bigger, but still smaller than most mini Tower cases.
Drives and Cables
Both my picks for cases, the Casetronic 2699R and the Enlight 7396AM1 have support for just a slim optical drive, one floppy or USB multi-function card reader, and a 3.5 inch hard drive. The NEC/Sony Opti-arc 8X DVD burner is a low-cost slim drive which runs around $50 - $60 online. There are NEC/Sony and Samsung versions of the CDRW/DVD combo slim drive which work similarly for around $40 - $45. Whichever one you chose, you'll need to get a short adapter that connects the IDE slim optical drive modular jack to a standard 40 pin IDE plus power. The unfortunate thing that Intel didn't do was to put SATA drive support. It would have reduced cable and connector crowding, especially with the Casetronic case. In addition, the optical drive bay butts closely to the cpu heatsink/fan. There isn't much room for the slim drive, the adapter and the 40 pin cable so the adapter must be pretty low-profile. (Note: I bought a half dozen on eBay from some vendor in Hong Kong - service was good, but the adapters were poorly made and the pin headers stick out the reverse side of the PCB and it's possible that during the screw tightening, the pins can touch and short the back of the drive chassis and destroy the drive. I recommend some metal clippers or diagonal cutters to find and cut the protruding points down. I also recommend using a piece of masking on the back edge of the slim drive to protect it from shorting out.
The 3.5 inch hard disk is just a standard IDE drive. I can shave about 3 - 5 more watts by going to a 2.5 inch laptop drive. This requires a 44-pin to 40-pin IDE adapter for the conversion. The Casetronic 2699R has pre-drilled holes to mount a small 2.5 inch hard drive, while the Enlight case does not. But the latter is much larger and includes a disk tray with rubber grommets which provide shock support for the drive.
Note: The Sony/NEC Opti-arc DVD burner appears to be set, in firmware to IDE high - meaning it wants to be the primary device on any cable. Because the board only has a single 40 pin IDE header, this means the NEC/Sony must be the primary, and the hard disk must be a slave drive on the same cable. The simplest solution is to use the cable-select jumper setting on the hard drive and make sure it's the 2nd IDE plug stuck into the drive on the ribbon cable, and the first IDE plug is in the slim DVD drive. Otherwise, it may be hard for the system to discover which drive is primary and which is secondary.
Note 2: The Enlight case is for a MicroATX motherboard. The mini-ITX is quite a bit smaller still and the USB front panel connector cables, as well as the standard IDE ribbon cables are a bit too short to reach over from the front of the case or the hard drive to the motherboard socket. I solved this problem by ordering internal USB pin header extension cable. This adds about 10 - 12 inches of reach to connect the front panel USB.
Solaris SXDE 9/07 installation
Installation wasn't too bad, except for the Xorg noise and streaks on the screen. As I found out, the installer is using the sis Xorg module. It works for the prevous SiS 661 Northbridge, but not here on the SiS662. Luckily, others have run into this problem on Linux and the recommendation there was to switch from using the sis module to the Vesa module in Xorg. The way to do this is to simply run, in Nevada, the xorgcfg graphical configuration utility, edit the properties for the graphics card and choose "vesa' for the module, then logout and log back in.
# /usr/X11/bin/xorgcfg
The LAN uses Murayama's free SiS fast ethernet (sfe) driver. Installation was quick and painless because I keep a CDROM disk with most of the free drivers for Solaris on it. But we could have put this on a USB jump drive as well.
Note: The default with SXDE 9/07 is to use Network AutoMagic. To set a static address, you can use the GUI tool in the Gnome SysAdmin menu. But that doesn't work if nwam is managing the interface. So I run:
# svcadm disable network/physical:nwamThen I can use the graphical network configuration tool.
# svcadm enable network/physical:default
And with audio, the onboard SiS AC'97 chip (pci1039,7012) isn't supported by the default Solaris drivers. Here, I use Juergen Keil's free Solaris audio drivers. Interestingly, I tried to pkgadd the wad of packages, but the actual drivers refused to be copied over for some reason. Instead, I ended up rebuilding the packages from source and using a manual make reallyinstall inside each pkg directory and installing from the command line. I was able to confirm the install put the driver into /platform/i86pc/kernel/drv/audioi810. The post-install was a bit more problematic. It tries to run add_drv with a list of hardware pci-Device-IDs. Some collide with other existing and supported AC'97 devices. I manually edited the add_drv command inside the Makefile and was then able to add_drv for just the audioi810 module for just the SiS 7012 audio controller.
Power Consumption and Usability and Final Thoughts
With a few more of my standard software pkgs installed, then a cheap laser printer hooked up, and security, IPfilters, backup scripts and cron jobs to manage the system, the small box is making a nice home/office workstation. It's great for word processing, spread sheets, light dig cam editing, web browsing and email. My wife liked it immediately because it had the latest browser fixes to JavaScript that eliminate a funny popup 2nd Mortgage offer bubbles she was seeing when accessing several Citibank websites to pay our bills.
I like the fact that the system with the small Casetronic case, only draws from 26 - 33 Watts. It's got fairly good performance for rendering pictures and processing scaling operations and ripping MP3 audio. It's quite a bit faster than the older VIA c3 systems like my Epia 800 box. Also, Intel has implemented some nice features such as temperature sensitive voltage control on the case fan 3-pin power plug. So the case fan isn't always noisy. Only when the case gets hot, or briefly, it gets loud just for a second during a reboot.
Relative to the older Epia 800, which uses between 13 - 22 Watts, the Intel d201gly isn't quite as efficient. But it is much faster and gives the newer VIA c7/cn700 systems some competition. I've tested FlexATX form-factor PCChips v21G, and in an efficient enclosure with DC power supply, that c7 mobo averages 24 - 35 Watts and it still feels like it's a tad faster, and it should be since its c7 cpu is usually clocked faster at 1.5 GHz. But this Intel board is still fairly green and a bit quieter for those folks who want Intel build quality. For my wife and I, we feel like we're splurging, using double the power.
Note: The same Intel d201gly board stuck inside the Enlight case with conventional TFX12V power supply draws 49 - 62 Watts! The difference is completely due to the inefficiency in the power supply. I've priced a small solid-state 80Watt tiny ATX DC power supply with AC brick-style adapter. A conversion kit may cost between $40 - $80 and this would put a 94% or better efficiency DC power supply into the same box. But could save about $40/yr in electricity if left on 24 hrs/day so it'll pay for itself in a year or two and reduce power consumption further.
Total cost was: $75 mobo + $80 case p/s + $40 hdd + $55 dvdrw + $39 1GBDDR2 + $15 cables = $304.
September 28, 2007 08:37 PM PDT Permalink
SXDE 9/07 Installfest and the Work Around
Release of SXDE 9/07 Edition is Immiment
Last week, I wrote about all the gory details about my recent salmon fishing trip up north in BC. I think I mentioned that I had also managed to bring along the latest Solaris Developer Express Release (SXDE 9/07) to upgrade a few machines while I was up there. In this edition of my blog, I thought it might be instructive to note some things I had to do with some platforms to get it working - not only for public consumption, but so that I'd remember what to check for in the next few revs of Nevada to see if those things changed.
Background on SXDE 9/07
For those of you who download and get Nevada regularly, this section is old stuff. But I find it instructive to give a broad picture, As I've seen it from the inside - on where SXDE came from. As far as I can recall, the existing SXDE release evolved from the original Solaris Express program. It's still basically the same thing, just re-branded Nevada (aka Solaris 11, aka Solaris Next, aka Open Solaris -sorta). The older Solaris Express was a roughly monthly or bi-monthly snapshot of stable bits for Solaris Nevada which is the next version of Solaris that is in development. Because of a typical 2-week build cycle for Nevada, the older Solaris Express was basically the most stable of each group of 3 - 4 builds that our volume developer program folks would push out for public download.
The SXDE rebranding did two things. First, it stretched out the interval to every 3 - 4 months for a developer release, which was more reasonable than every 6 - 8 weeks, since that's hardly enough time to evaluate the release itself and test compile a bunch of apps. The second thing SXDE did was to bundle developer tools installation into a new installation script that saves the end user from yet registering and downloading another wad of stuff with the compilers, NetBeans and all the other Sun Studio Tools.
Recently, some folks may have heard about Project Indiana - aka the new "Open Solaris." I'm stealing the "OpenSolaris" moniker in this blog just for the time being and I interchange it with Nevada - Solaris 11. But I should qualify for readers that the official "Open Solaris" will change and evolve as a new distribution under Project Indiana. The program is being run by in the Community and headed up by new Sun employee, and Former Debian Linux Guy, Ian Murdock. It's great to have Ian as the new project Team for "Open Solaris." His leadership in the Linux community in the early days gives him a perspective on the needs and wants of Linux users that many Enterprise Solaris Management folks don't have. I'm sure there are other blogs and message boards that Ian can personally respond about Project Indiana. But expect him to change and shape what is OpenSolaris now and take it to a more desirable place for endusers and developers alike. Also expect to have avenues of participation that can change the way Solaris gets distributed. This may be an opportunity to take a look-see at OpenSolaris.ORG.
Getting back to this next release of SXDE 9/07, we will find that it adds a few more features, fixes more bugs, and comes with a nice looking new GUI installer. It is based on Solaris Nevada build 70, but has undergone two more interations (build 70a and then finally build 70b) before getting the full product team endorsement to release.
InstallFest Imperative
Internally, before we release any version of Solaris, upper management likes to encourage all software engineers to download the pre-release bits and test it on presumably our own hardware. As part of our jobs, we already do quite a bit of sanity testing before the bits go out for every build. But being the engineers we are, most of us don't actually do the normal install that the regular users out there would use. Nope. We do the Big-Friggin' Update (aka BFU, aka Bonwick-Faulkner Update, aka Blindingly Fast Update). BFU is a process that basically flashes and clobbers the bits onto your running system (with some other cool technical details omitted) in just a few minutes.
Usually, BFUs are fast and friendly and before we know it, we've upgraded a system, making it ready for more Solaris development. And because we use BFU's, we probably don't do as much work on testing the actual installer our customers use and we avoid a lot of the idiosyncracies that exist only in the installer. So why not make this a standard? Well, BFUs aren't pretty when they don't complete safely or cleanly. Any good Solaris sysadmin worth his/her salt should be able to figure out how to recover. But for most users, this is probably an unexceptable risk/burden and so we do recommend using the actual installer, even though we don't use it ourselves. Just suffice it to say to, "Do as we say, not as we [Solaris engineering] do."
Upper Management aren't blind to this irony. Appropriately, they've tried to put their feet down and insisted that all internal engineers actually do an installation from optical media and file any bugs on the upcoming SXDE versions and fill out a feedback form. But this is high-tech corporate America. Management putting its foot down doesn't mean much in terms of threats; the stick simply doesn't work. Instead, they dangled a carrot of possible raffle for prizes to internal employees who complete an install and then fill out a survey. The carrot has been neither a sure-catch carrot (i.e. not everyone wins in a raffle), nor was it a fat carrot (i.e. the prizes weren't very expensive either). While I would have appreciated a new Sony TX-series ultra-portable notebook as a grand prize, the product team was giving away old junk, like an old Java tote-bag, or a whimpy 1XL tshirt from last year's trade show or maybe a baseball cap was all. Unbelievably, despite the dearth of good prizes, I found myself caught up in the Jackpot-Fever of the raffle even though I only fit 3XLT Tshirts!
For the first SXDE, I was announced the internal winner of the Most-Installfest-Submissions award. No gifts even got distributed (at least I never received any), except maybe I got a laser printable certificate in my emailbox, which I had to print out myself. Yeah, it's sort of hokey - but times are tough, and I'd rather keep the stock up from the days when it was just $3/share. But it shouldn't have been much of a surprise to folks that I would have the most. I have the most cheap x86 boxes of any engineer I know, except maybe for Brian Dowdy (i.e. think of us as "Hardware-Hos"). so, for this second* SXDE Installfest, I again came out on top with Most-submissions. (* We did have plans to do a second SXDE around the Nevada b64 timeframe, but decided to wait until b70.)
This time around, I did get some prizes. Like two XL Tshirts. I don't fit, but maybe in 10 years, my son will grow big enough, unless his younger sister out-eats and outgrows him. I also received a rich, corinthian leather notepad/portfolio thingy (say that with Ricardo Montalban's accent) which holds some paper and pens. I'm not sure what I would do with this since most everything I write these days goes through a keyboard. I didn't even use it to take notes on the installation issues I discovered. But if they gave me that tiny/mini Sony TX-series 2.7 lbs subnotebook w/ 2GB memory and 32GB of boot flash... maybe I'd double my efforts!
Installation Idiosyncratic
With any new version of Solaris, there's a debate as to whether to upgrade or do a fresh install. My testing philosophy is simply. I have spare disks around. For testing, I yank out the mission critical data, set that aside, stick a new disk inside probably with Solaris already on there, and then a) upgrade when I can, then b) after successful or unsuccessful upgrade, I reinstall from scratch.
Upgrade or Fresh Install?
For those folks that have done upgrades before, we know there are two major problems with upgrades. A) Not all things get upgraded. Some packages aren't removed and some files aren't replaced. Some new stuff doesn't get installed. There are ways to find out internally what the upgrade will clobber and add, but in essence, it gets complicated to find out what should have been upgraded but didn't. The only way to be safe is to do a fresh install. The other big problem is that B) the Upgrade is very slow. The installation console claims it may take 2 hrs or longer, but in reality, unless you have a honkingly-fast-storage and processor, the upgrade install takes as much as 6 hours or more to complete. Especially if you're trying to upgrade an older system. Typically, I can do a fresh install in just 40 minutes or less.
The solution I've come up with is to simply put all my data on partition slices which I'll preserve. Then do a fresh install on the root (/) slices. This helps save quite a bit of configuration and reinstallation of apps. In other words, I put most stuff on the /export and /opt slices and only clobber the root (/). The only problem though is that SXDE needs to clobber the devtools in /opt, and it clobbers the package tracking for all the extra value freeware I've added, so we can't really use the packaging mechanism to remove a package any longer. To re-install and configure all that stuff takes time again. I live with this solution since I don't usually remove freeware packages, and many I compile from scratch and don't install by pkgadd(1M). But this might be a dilemma for some. In which case, the upgrade path might be better. Regardless, I recommend keeping home-directory data on a separate slice and to preserve it.
This new SXDE presents some issues with upgrade or fresh install that folks should be aware of. A) the new GUI makes it easy to install from scratch, but before you realize you've clicked all the buttons, you may have skipped the steps needed to preserve partitions on your disk. If you'd like to take more time, and not use the new Dwarf Caiman installer, you may want to simply use the older installer (i.e. option 2: Solaris Express). B) The new SXDE installation has issues with older disk slicing and number and may not be able to upgrade you. This was supposedly fixed in build 70b, but you may still encounter this issue that the disk partitioning can't be upgraded and the GUI may only allow you to do a fresh install with fresh partitioning that will wipe your disk. The unsavoury solution is to rsync your data to another disk somewhere, do a fresh install, then rsync back. I have about 25 GB of data for myself and my wife at home. It takes about 1 episode of Stargate SG-1 to move that data off the install disk. This is still faster than doing an upgrade, and I've got scripts that restore my data and some server and network configuration too. Another option is to stick 2 disks in the box and mount it later. But I don't like the extra cost of 7Watts to power another drive. A single drive, and better yet, a single notebook drive, is what I prefer on my home system for improved acoustics and thermal power dissipation. Not to mention, I pay less for electricity with my systems always on.
Graphics Not Working for VIA Unichrome/CastleRock
SXDE and Solaris in general use Xorg. We're following the distro fairly closely these days and that's added support for more and more graphics adapters. But it's also dropped support. One area of support is for the older VIA CastleRock/Unichrome (CLE266 chipset and prior generations) onboard graphics. When I tell people internally that I actually use the onboard graphics, some scoff at me. They suggest I actually blow another 20+ Watts and get a cheap ATI Radeon S7000 or nVidia card (some which suck another 50+Watts by themselves). And maybe that would work. But there is a bug filed against this problem internally for VIA embedded graphics. I used to have a workaround for the VIA unichrome issue, which was to take the buggy S10u1 SUNWgraphics-ddx package and unbundle it, and just extract out the via_drv.so file and copy it into /usr/X11/lib/modules/drives/ and clobber the existing module. This worked through Nevada build60-something. But since build 63 or 65, that no longer has ABI compatibility. I now get core dumps. This is true even with S10 8/07. Luckily, there are cheap VIA c7/cn700 chipset boards these days that have Unichrome Pro graphics which are supported extremely well. I can't say that about the SiS Mirage graphics. I have an older SiS 741 chipset with Mirage graphics which worked okay with Xorg, around Nevada build 55 time frame (SXDE 1), but with the latest Xorg, the pixel quality at native resolution is really blurry, and on my Intel D201GLY mini-ITX board, the graphics are unusable beyond 800x600 pixels. However, with Fedora Core Linux and Windows, they've seemed to have solved both the VIA and SiS graphics issue in their version of X distro. My solution for now, is that these are relegated for headless/server use and not for home use. But for SXDE2, the GUI installer requires the graphics. Otherwise, you're back to booting option 2 - the old Solaris Express installer, which will fail or be unacceptable, at which time, I'd recommend just installing using the text console.
Network Automagic
Many of us have been trying the new NWAM (NetWork Auto-Magic) feature. It's controlled through the SMF. You svcadm disable network/physical:default and enable the network/physical:nwam. This works well, I hear, from a number of folks. They all pretty much have a single primary ethernet wired interface and it's on a laptop that uses DHCP. This is where NWAM works now. But it seems like since build 60-something of Nevada, the folks support the standard DHCP for ethernet interfaces have fixed some long standing bugs. For years now, many of us inside guys have been complaining and filing RFEs against the ifconfig(1M) command in Solaris. Simply, it was moronic to ignore the standard DHCP fields for DNS under most conditions. Instead, we focused on getting DHCP to work inside our Sun-centric NIS environment. DHCP would work most of the time and plumb /etc/resolv.conf file and alter the /etc/nsswitch.conf files under the right NIS network conditions. But for some reason, it would rarely work when doing DHCP over a standard connection. Well, since b60-something, this appears to have been fixed. I'm not sure if the NWAM guys had a hand in this, but thanks to whomever. There are some outstanding issues still when it's a WiFi interface. For some reason, it may be a GUI interaction with the free inetmenu application folks are using and download from OpenSolaris.ORG. Not sure. But it used to work and plumb the routes on WiFi connections, but it may not with SXDE. If it isn't working, I've usually helped many folks get up and running for a session by a) check the routing using netstat -rn and seeing if there is a defaultroute. Next, I check to see if the /etc/nsswitch.conf file has hosts: and ipnodes: using the DNS nameserver. There should be a "dns" following "files" in the nsswitch.conf file. If not, you should be able to append to those lines and get it working. Please file a bug at the SXDE community site.
VIA c3 Panic on Shmem pagesize and re-init()
Okay, for those of you who love VIA c3 and enjoy running servers at 13 Watts total power with Solaris, well, better stick to S10 update 4 (8/07) or Nevada b65 and prior. We put something in around the b68 or b69 timeframe that I think, does some kind of dynamic shared memory page size and inquires with the system to set this. If I recall the bug report, the VIA c3 doesn't support this, so it panics. This was supposedly fixed and putback into build 72 of Nevada, but it seems to only work for newer Nehemiah based systems. If I run the latest SXDE on Samuel or Ezra cores, the panic is now fixed, but the init() crashes on fatal signal 9 and restarts a gazillion times for my epia 800 system. I've added comments to the internal bug about this where they claim b72 had the fix and I tried it and it was still no go. But hopefully, it won't be long before we have that available. But for your SXDE users with older Epia systems with VIA c3/non Nehemiah, please refrain from upgrading.
Older Intel 815 graphics - Newer ICH9 945 Graphics
I've tested SXDE on both an older Compaq box with 1GHz P3 and embedded 815 graphics. I used to have to stick an nVidia Riva TNT graphics board in there. (I got a half dozen of these older 16 and 32 MB AGP 2X cards, some low-pro for some AMD Geode bookpc systems I have) for just $5 from Compuvest.com. But they do add to the power profile of the box. So I try to remove the card and see if it works. Amazingly, it appears to now work with Intel 815 graphics, and I can save another 6 -10 watts steady state. I haven't tested the 815 graphics support on the older Intel OEM D815EEA and D815EEA2 boards, which I have a small stash of from other boxes, although, I did try around b69 time frame at it was still broken.
I have some older Intel Bearlake test systems for the ICH9 chipsets that have onboard 945 graphics as well, and SXDE works flawlessly. I have some older Dell 2001FP LCD monitors that can't handle true 60Hz refresh at 1600x1200 24-bit. I've either had to lower the bit depth to 16-bit or lower the resolution to non-native. The latest SXDE is pretty good and syncs up to 50Hz refresh at 24-bit native. This collaboration with Intel is going great as we're seeing more and more support for native Intel chipsets on our platforms.
Network Settings/IPfilters/IPSEC Upgrade from S10 and early Nevada
If you run SXDE1 (build 55b) or Solaris 10 update 4 (August/07) and you upgrade to SXDE 9/07, there is a pretty high change, if you were running IPSEC security, like Punchin, or you were using IPFilters, that the upgrade will hose your settings. Two things have changed. The IKE (internet Key Encryption) service as set by SMF requires a few configuration changes. If you were using IPSEC Punchin, which we use internally at Sun for tele-commuting access into Sun's internel networks, like I'm doing now, then this requires a bunch of changes. Most of the installation handles it for you, but the PunchIn packages we use must be upgraded to v 2.x and the certs need some upgrading to the latest. I had to pkgrm the old SUNWpunchin and affiliate certificate pkgs and reinstall the new ones. Before uninstalling, it's useful to run a /usr/local/bin/client_backup to back up the local certs. Luckily, the new service supports the older legacy backup, so a client_restore against the older certificate backup, will re-install and sync the keys up correctly. I usually test the punchin again, and if everything is kosher, I run client_backup again and save the new format of the cert-wad-of-stuff.
One issue folks may have with upgrading from S10 u4 or early is that for some reason, the /etc/ipf/pfil.ap file gets blown away sometimes. And without the presence of this file, the new SXDE gives all sorts of SMF start-up errors. They're basically harmless, but if you're like me and run your machines both for local access and for tunneled access, I run IPFilters and TCP Wrappers on all systems, even my laptop. The SMF warnings are disconcerting and even more worrisome if your filters aren't active. It's like streaking around in public inviting any evil spirit to give you an STD. Anyway, the simply solution is to login to some other Solaris box and copy over the /etc/ipf/pfil.ap file and reconfigure for your interface and reboot. The nasty messages go away, and hopefully, your ipfilters will report they are up and enabled, and your log file (if you log attempts at incursion) should show you that packets are being denied access.
Oh, and one more cool utility in SXDE 9/07 is the latest Network setting GUI in the administration tools for the Gnome Desktop. The only problem is that it doesn't properly set the /etc/nsswitch.conf file either. So no DNS, even though the GUI has a DNS server tab. Solution is the hand-edit the /etc/nsswitch.conf file again and put in dns for hosts: and ipnodes: then it should work.
Post Install - Post Login Setup
If rev'ving from an old version of Nevada or S10 and the home directory hasn't changed, the first time a user logs in, SXDE will actually spend a good minute perusing all the gnome files and what not and try to re-instate the old Gnome config you had, with the latest SXDE version of Gnome. Clearly, if you were using S10 Mozilla, and now you've got stuff in Firefox, that won't carry over quite correctly. Thurderbird will try to import settings over. But overall, the process can take upwards of 2 minutes while the screen sits there black and there's a small progress bar thingy that swings back and forth and doesn't actually tell you what the progress is. But I have yet to have the process fail. It can just take a hell of a long time - long enough to maybe go take a coffee or bathroom break, head into the garage to get a sledge-hammer, comeback, think about taking a sledge hammer to the machine. But don't do it. It will complete and hopefully, you'll be a more patient person for it. The next login isn't too bad. Of course, if you're on a QUAD core box with two sockets, this probably will never be a problem, since either, it'll happen very quickly, or you'll be running headless as a server anyways. But if you're like me and run older, slower, low-power boxes, then it can be a test of patience.
Brother HL-2040 Printer Installation
In SXDE 1, I had to do all sorts of tricks and installed CUPS freeware to finally getting printing to work. This was really disappointing because I saw that killer sale for the Brother HL-2040 again for $59 after rebate and couldn't help myself. I had my buddy buy one also for a grand total of 3 laser printers. 22 ppm monochrome, with a 1500 page cartidge is, well, dirt cheap.
Not with SXDE 9/07. I have finally retired the last Linux print server/internal backup server box in my house. I have one last box to retire and Linux will no longer run anything internally. That;s because I took the USB cable out of my laser printer, plugged it in, and while logged into Gnome, I got a pop-up notifying me that the printer was up and available and enabled. I opened the browser, went to a home page, and sent out a print job. Seconds later, the printer just works. This is now working with the USB subsystems for VIA, Intel, SiS and nVidia MCP chipsets on all my systems. Only issue is that I heard there's a Parallel port bug that prevents the OS from seeing any ECP/EPP ports. That's being addressed, maybe in b74 timeframe. But that's one old printer if you're still using Parallel. Even my old Epson 880 has USB. But it just ran out of ink, so I haven't tested it on Solaris. I'm just stoked that my Brother Laser printer is finally working and it does so transparently. So props to the Solaris printing folks upstairs for all their hard work. I still need to test my battery of Epson printers, but that will come in due spare time.
I sure there are lots more things open to improvement. I'll continue to re-install the next versions and keep testing. I'm still not quite over trauma of the 700+MB requirement for Solaris graphical install. But with memory and motherboards so cheap, I'm having a good retail therapy shopping for more hardware. Only what do I do with the old stuff? Everytime I look at my pile of old stuff, it's hard to say goodbye to some good friends that have served me well, and could still handle lots of tasks. I'd like to donate the stuff maybe, or perhaps try to work on a custom distro with small footprint and installer that uses less than 250MBs and uses XFCE or something like that. Or maybe in the future, that might be a goal of the new OpenSolaris distribution.
September 21, 2007 12:33 PM PDT Permalink
Awesome BC Salmon Fishing
It's been a while since I had time and inclination to blog. But it's a relatively quiet Friday, so I thought I'd share some fishing stories from my fishing exploits last month up near Vancouver, British Columbia.
During the end of July and first half of August, in the midst of a couple of major bug escalations on some NIC drivers, I took 3 weeks off and headed up the B.C. to do my annual salmon fishing pilgrimage. Of course, my excuse was that I had to take the kids during this time period since they have school the rest of the year, so it's now or not until next year. In reality, the timing of the trip could have been a few weeks shifted either way. I chose those particular weeks due to a culmination of research gathered over the last 7 years on the annual salmon run. Specifically, the end of July and first half of August are when the fishing heats up and salmon can be caught from shore - which is just a 30 second walk from our home up there.
I've always debated internally whether this was good practice - to take work along on a vacation. Some folks like to unplug completely. Others prefer to always stay connected. I'm more of the latter kind of person, since the work really doesn't go away. It just piles up while we're gone and I'd rather return to work and hit the ground running rather than spending yet another week dequeuing the hoards of emails and requests I've gotten while I was out. I also love my job - tinkering with hardware and software - and to get paid for it is a bonus. And secretly, I use long vacations like this sort of to test the possibility of working remotely for extended periods, not that I'd ask my manager about right away.

The picture above should provide a small clue that the fishing was a blast. And the scenery was gorgeous. I was fortunate to catch many species of fish. Notable were the rock sole, which are really tasty steamed, and fresh sea cucumbers, which are a Chinese delicacy when used in stews. But the real big catch were the salmon. And they run during a select time of the year. I'm now referring to the end of July and first of August when the first large schools of pink and chinook salmon moved in close to shore.
Our vacation home is on the edge of a salt water estuary, and the salmon come back annually and use these waters as their last feeding source. From May through October, schools of salmon migrate through the estuary and then up river to spawn. There are 5 species. Chinook, pink, coho, sockey and chum. There are millions of fish and over the summer months, many will stop briefly and then move past our shoreline. Some remain and spawn in our creek, waiting for the next big rain that will provide them sufficient water levels to migrate upstream to the waters from where they hatched. Once salmon enter freshwater, they stop eating. Many still hit a lure, but it's primarily for instintive or defensive reasons and not hunger. The end of July and first half of August signals the Pink salmon run. Most salmon live 3 - 5 years and then return to spawn. However, Pink salmon live only 2 years before returning. Due to accidents and rockslides on key rivers back in 1952 or some even numbered year in the 50's, most of the even-numbered-year Pink salmon were wiped out. 50 years later, due to conservation efforts and some human efforts to restore pink salmon runs, we now have some pink returning in even number years. But this is 2007, an odd-numbered year. And that meant some massive pink salmon runs.
I remember July 30th. The pinks had been showing up in small numbers since the 25th. But a massive slug of them arrived on July 29th right on queue the same as two years ago. They were abundant to catch, and I was releasing almost all of the fish, since the limit was just 2 pinks, in a total of 4 salmon bag limit per day of all species, with 8 fish total in possession at any time cumulative. On that Thursday evening, July 30th, the pinks settled in at high tide inside the cove adjacent to our homes. I walked out to the shore and sat down on a big log at 5pm . I met up with 3 other neighbours who had all decided to wet a line. The cove, which was less than 6 ft deep at high tide, was thick with jumping salmon. Many fish were in just 1 ft of water chasing food. And from 5 pm - 8:30 pm, I counted personally, 39 salmon caught, landed and released. Regulations required us to use barbless hooks, but these can be treble hooks which have 3 points. After the sixth fish, it was taking too long to release the fish, so I switched to a single-point Siwash-style hook. I did lose a few more fish due to the hook, but the salmon were everywhere. Most times, there were at least two of us that had fish on simultaneously. We even had 4 fish on briefly at the same time. Two of my neighbours - Larry and Mauritzio joined me on that big log that had washed onto shore in previous weeks during a high tide. As the tide moved in, the big log started to float up. I sensibly got off and moved back a little onto some rocks and kept hooking more fish. But Mo and Larry lost track of the time and remained on the log, hooking ever more salmon. We were all whooping and shouting out, "Fish On!" nonstop while the log slowly floated up and out to the middle of the cove with Mo and Larry still on the log.
Larry then went silent for quite a few minutes as he struggled to haul something in. After 12 minutes perched on one end of the floating log, a big black and silver flash surfaced and started jumping. It was a massive Chinook. As Larry tried to work it closer to the log, the fish suddenly turned around and started swimming toward him. The fish dove under, went behind and around, then jumped up and over the massive trunk of this log. Larry's line was now wrapped around and there was just too much friction on the line and move the fish. A break off was imminent. Larry instinctively opened the bail and let the line loose, preventing a break-off and so the salmon continued to struggle. Meanwhile, Larry looked over at Maurice who had brought a small landing net. Larry shouted over Maurice for help with landing his fish. Mo seemed clumsier than usual as he knelt down and tried to swat the net at the fish. It was beyond being bad technique. It almost seemed like a comical attempt to intentionally knock the fish off the hook. And as I watched thinking about Maurice's bad form, the fish appeared to have swam up to the log and rubbed its mouth against the trunk. One of the points of Larry's treble must have embedded itself into the log. Since the points were barbless, this must have allowed the big fish to twist and back off the hook. And POP! The fish was free. But it quietly laid on the surface of the water for a moment before it made a small splash and disappeared! "Ahhhhhhhhhh!!!" came the cries from both Mo and Larry and they looked dumbfounded first at the water then at each other. But that only lasted about 30 seconds before they were both casting again and hooking their next salmon. Eventually, another neighbour came out in a canoe and ferried each man, one at a time in two trips, back to shore.
My elbows were seriously injured by the onslaught of fish. Mind you, these weren't smally dinky trout. Even the smallest pinks are full fledged salmon weighing 4 lbs and upto 9lb with enough fight for a fish that can swim 100 miles up river to spawn. Occasionally, we would hook up with some chinook salmon which get much bigger. One fish stripped me of more than 70 yds of lin in about 7 seconds, and then headed into deep waters where it dove then cut the line cleanly probably on the sharp rocky ledge about 40 yards from shore. With such powerful fish, a typical fight lasted for at 3 - 5 minutes, and we were averaging about 1 fish every 3 casts with our metal lures. By the time the 20th fish had been caught and released, I switched rod types and tried to switch from right-arm holding the rod, left hand cranking, to left hand holding the rod and right hand cranking. It helped a little during that evening, but next morning, the tendons near boths elbows were paying a painful price.
The fishing was great for the kids too. Because the fish were that plentiful, it wasn't hard to head out, walk to the shoreline, make a couple of casts, hook the fish, then hand the rod over to my son or daughter to then fight and land the fish. And if they had a lapse in technique where they left slack in the line and the barbless hook fell out, well, not much of a problem. I would hook up soon after and give them a second chance and a third or a fourth, until they got too tired.
Speaking of kids, while we were up there, we invited the family of one of our son's classmates to stay over for the weekend and fish. Mark and Tracy have two boys, Jake and Kyle who both attend the same elementary school here in Sunnyvale. We've known them now, for about 2.5 yrs. Mark is an avid fishermen. He claims Tracy lets him head out on some pretty good fishing trips, like long range boats out of San Diego, or offshore tuna trips around the world. I'm not a big boat fishing guy, but that sounds like he's got a good arrangement. Tracy teaches at the school, and doesn't really fish much. But she's a Vancouver native with relatives still there. So she visits them often. Naturally, when I mentioned we'd have a great salmon run this year and we could just catch them from shore, they made plans to be up there around the same time and meet up to fish (well, at least Mark made arrangements with me via email).
The Friday afternoon that Mark arrived with the family, we were just on the way out the door to pick up my wife's sister at Vancouver airport (YVR). The sis-in-law was stopping by to visit from Alaska. The drive to YVR, by my guess, was going to take more than 2 hours due to weekend traffic and Highway 99 construction for the upcoming winter Olympics. So as I was leaving, I gave Mark a quick tour of the garage, the rods/reels and the tackle. I also showed him key shoreline fishing spots. Then we left them alone with a house key if they needed to get in or out.
We did successfully pickup my sis-in-law at YVR, but we decided on dinner first before heading back. It wasn't until after 8pm when we got home, after which time, Mark, Tracy and the boys were not to be found. It wasn't long before they came back and we found out that Mark and his 2 boys had gone out fishing just after we left. In just 1/2 an hour, he hooked and Jake landed a 12 lb Chinook, and he hooked and Kyle landed a 9 lb pink. They remained in an ice chest in the garage awaiting instructions from me on how to fillet them. At that point, I think Mark turned to me and said this was the best shore line fishing he's ever experienced. Then he turned back to Tracy with a grin and said, half seriously, that they should buy a place up here. Tracy responded, with a negative; they'd simply just come up and stay at our house, to which we all laughed.
Because of the all the folks with licenses and valid salmon stamps, I ended being able to keep quite a few salmon in the freezer. But that presented a problem because there wasn't room in our small frige/freezer. The solution was to head to the new Home Depot in Squamish and pick up a new chest freezer (aka "Trophy Case" in Alaska said my sis-in-law). But after accumulating that much salmon, I ended up getting buying a smoker as well, after which we bought a vacuum packing system for the smoked filets. I found out that our next door neighbour's wife, Yelena, makes salmon roe caviar that is just blanched in modestly hot brine, and separates out the eggs from the sack material using a badminton racquet.
It was tough coming back after that kind of vacation, but I had to save my arms. If I had stayed up there, I'd probably been needing surgery and multiple cortisone shots into my elbows. Even with all the swelling on the last day, I took some some Aleve in the morning and then headed out to fish. It wasn't more than 6 or 7 casts before I hooked a very nice chinook which I landed and released. Then not long after, I hooked and released 3 more pink salmon. I had to head back in after that to really save my arms. But before leaving, I was able to test install the new Solaris Developer Express release on 4 machines and provide feedback to the Nevada team. That wasn't painful at all. September 14, 2007 03:47 PM PDT Permalink


