Thursday April 10, 2008 
James C. Liu's Weblog
A head case over 2 Antec cases
"Too many cases." That's what I thought when I walked into my garage. But I'd like to get more of the right cases.
My latest case obsessions
Last Friday, Fry's had a sale on the new Antec Minuet 350. Regularly, $90, they had them on sale for $70. I already went and checked out the Sunnyvale store. Only the older minuet 300 left. Maybe more coming. But Palo Alto store had two left and I bought them both. This is my new favourite case; this new Minuet 350 now includes a 80+ certified power-supply with active PFC. While efficiency isn't 80+% down below 60 Watts, it's still quite a bit better than lots of cheap power supplies bundled with a case. Plus, because of the efficiency, less waste heat means quieter and cooler PC. It's a low-profile desktop case that only takes low-pro add-on cards, and micro-ATX motherboards, but that's perfect for me, since I've got a lot of microATX and mini-ITX boards.

The sale on the minuet 350 looks like it ended Tuesday, but I would expect it to happen again in the next couple of months and I'm ready to buy a couple more. When I do the calculation on savings over just 1 year for a system I leave on all the time, a good rule is to price it at $2/Watt saved per year. I've put the same board into a cheap case/PSU before and typically have been surprised that the total system eats 75 watts. But in an efficient case/PSU, the total draw is just 50 watts. If I save 25Watts on average, that's $50/yr!. That pays for the difference in just one year over a cheaper case. Makes lots of economic sense to me.
For the folks who want a bigger box to hold full sized/full height option cards, a sale I'd look out for would be the Antel NSK-4480 and NSK-4480B. (Latter one is a black version of the same case). Both are quiet cases and come with an earthwatts 380 PSU, also 80+ certified. And I picked up 2 of these at Fry's in the last few months for just $49.99. Regularly, they're around $89.99, still a great deal, because you'll save money as well and enjoy lower noise.
What to do with the old cases?
I have quite a few cool-n-quiet cases still new-in-box and for a hoarder like me, it's a great feeling. But computer cases are a lot bigger than fishing tackle, so the shelf space they're occupying is very conspicuous and running out. As a volunteer teacher for a Grade 3 - 5 PC building class, I'm actually seriously thinking about giving away the computers at the end of the class. Only, while I do stock a lot of parts, I don't quite have 15 - 20 systems to give away twice a year. But the kids do always ask on the first day if they get to keep the computers. I'm just not sure what a 3rd grader is going to do with a Solaris box. Anyone out there want to help write a bunch of educational software or port EDU software to Solaris? April 10, 2008 10:25 AM PDT Permalink
Solaris on $50 ECS 945GCT-M Combo Special
An Awesome Combo If It's On Sale
A few months back, I saw a Fry's sale on a Motherboard/CPU combo that listed the ECS 945GCT-M motherboard with Celeron 430 retail processor for $59.99, limit 1 per person. I thought it was an awesome buy and so at lunch time, 2 of my colleagues and I headed out to Fry's and I convinced them to each purchase one and so I had 3 combos sitting in my office. The next week, the same ad appeared in the San Jose Mercury News, but this time the price on the combo was $49.99, so I couldn't help myself and my 2 buddies and I headed over again, and I got another 3 boards. Not only do the motherboards provide Intel ICH7 chipsets with LGA775 sockets and support Core2-Duo processors, the ad on the 2nd week, offered version 3 of the motherboard which have 1333 MHz Front Side Buses.
The Celeron 430 is also a great price/performer. At 35 Watts average TDP, it's got a Conroe-L based core and supports 64-bit processing. Plus at 1.8GHz, it's fairly speedy. The way I guage roughly how fast the system is going to behave is to watch the first bootup after a Solaris install, when the SMF plumbs the first 191 services. And in less time than I can walk over to the frige and grab a cold beverage, the system is at the login prompt.

All Devices Almost Hunky-Dory
We've been running Solaris Nevada on this since build 79 or so. At that time, the onboard Realtek 8101E NIC didn't work properly. And the HD audio codec wasn't recognized. But the onboard Intel 945GZ integrated graphics controller works just fine with Xorg. Plus the SATA and IDE ports work as expected. And the board offers 2 PCI-express x1 lane slots and a single PCI-express x16 slot. Gen1 of course. But what would you expect for $50 - including the CPU!
Recently, I installed Nevada b86 on the system. And behold, the Realtek 8101E NIC is now supported. Surprisingly, it's not supported under the Solaris rtls driver, even though this is a Fast Ethernet (10/100 Mbps) port. Instead, it's supported under the rge driver, which has traditionally supported the Realtek 8169 Gigabit PCI device. Thanks to Miles Xu in Beijing for notifying me about this. This new Realtek 8101E is connected off the PCI-express bus, and register-wise, looking at the BSD source code, it looks much more like the 8169 NIC than the older 8139-series.
At first, I suffered some hardware difficulties with one of these ECS motherboards I had loaned out to some colleagues, and so the NIC would not work properly. But with 5 spares, I was easily able to replace it and try it again. I'm not sure what caused the failure, but secretly, we're using this as test systems for PCI-express HBAs and GigE NICs during development. The thinking is that if it will run on a dirt cheap system, it should have fewer issues running on a premium box.
Adding HD Audio Support to the Solaris audiohd Driver
The only device not yet supported was the audio codec. The Solaris audiohd driver attempts to attach() but fails when it encounters the codec. I decided to see if I could hack support into the driver by simply adding the PCI vendor/devID into the driver. The first step is to identify the codec. The easiest way on Solaris is to simply run:
# dmesg | grep audiohd
You should see some error message such like:
Apr 8 18:02:14 gyoza audiosup: [ID 579887 kern.warning] WARNING: audiohd0: uns upported HD codec vid=0x83847682, sid=0x00000000, rev=0x0010360
This tells us that the codec vendor (0x8384) is SigmaTel, and the DevID=0x7682, according to a web search, seems to indicate this is a type of STAC92XX type of codec.
Source and header files for the Solaris audiohd driver can be found at www.opensolaris.org. You need to download the
After identifying the codec, I edited the
#define AUDIOHD_VID_STAC9200 0x83847690
On my ECS945GCT-M system, have an 0x83847682 device which the web indicated was a type of STAC92xx codec and so I added a new define like:
# define AUDIOHD_VID_STAC9200X 0x83847682
and then editing the
# make; make install
I ended up with an
To update and test the driver, I did the following:
# update_drv audiohd # modload ./amd64/audiohd # devfsadm
After looking inside the /dev/ filesystem and seeing if ./audio and ./audioctl were created:
# ls /dev/au*
I was able to play a few audio clips from /usr/demo/SOUND/sounds/.
When I get a non-working audio driver working, often the the Gnome desktop audio icon is still appear blanked out. The easiest way to cure this is to logout, and then login again without rebooting.
There are plans underway to improve audiohd and maybe integrate that with more popular audio technologies in the future. So hopefully, I won't need to do this every time. But it's not too hard or too big of a hassle since the Solaris source code is out there and easily available. And it was worth the small effort since I now have an excellent value system that plays video and music just fine.
April 09, 2008 05:32 PM PDT Permalink
OpenSolaris Community Innovation Awards Program
What? A chance to win big bucks
No, not some silly hunt big whitetail deer like you'd see on Outdoor Channel, but serious Moula - aka beaucoup deneiro - for slinging some code the runs on Solaris. It's the OpenSolaris Community Innovation Awards Contest.
I got sucked in by Jesse, Jim, Teresa, and Alta into this community advocacy project a few weeks back. Alta was the real culprit, though. She's reviewing this device driver white paper (part 1 of 3) that's going on Sun's BigAdmin someday soon, and then suddenly, with 80% of the HTML formatted she said there was this big pot of money and Sun was giving away $1Million. Now, if you're in the EU, or any other foreign country, you're probably yawning and mumbling..."WTF... no biggee, what's a $1Million USD worth these days anyway..."
But to make a long story short... Alta hinted this was a big project... aka...double speak meaning that she's probably holding my whitepaper hostage until we deploy. So I got interested and checked in on the conf call and got pulled into helping drive this contest; anything to speed this up, so eventually she'll get around to finishing the review and edits and putting it up on the web.
In short, the contest is only 1 part in 6 smaller contests. Each part, whether OpenSolaris, NetBeans, OpenOffice, or HPC, or Java, gets around $175K. Added together it's over $1M USD. Each group consults its own community and makes up the rules. Sun insists only primarily on contestants being individuals or teams of individuals (not companies) and that everyone signs the Sun's Contributor Agreement which binds all contributions to the CDDL open source licensing. Beyond that, each group makes up their own schemes for judging and payout. Sun's legal kicks in resources just to make sure the rules are legal and can be fulfilled in all the participating countries that are eligible.
For OpenSolaris, the Contest is seeking code and non-code entries that run on OpenSolaris, play on OpenSolaris, that advocate and help others use OpenSolaris... just about anything that's goodness earth-mother-apple-pie kinda stuff related to OpenSolaris. The prizes aren't bad. The team decided to break things up. $100K for the contest and $75K for undergrad university research. For the contest, top prize is around $30K I think, with 3 x $15K second level prizes, and 25 x $1K prizes. Which means if anyone is one of 29 contestants that actually submit anything, they could win some money. On the University Grant side, (which is opening soon), the prizes are anywhere from $1K - $5K and designed to fund a small research project or augment something bigger. The prizes are given out for proposals, and not actually the results, although winners who take money are obligated to give a final summary (short one) on their results.
The registration process
Due to shortage of web resources, I got picked to offer my time on nights and weekends to building the registration. We managed, after quite some hassle to obtain a solaris zone inside Sun's firewall, and stage the pages there. Eventually, Sun's IT team would assign the "Awards.OpenSolaris.org" domain to the Zone and we'd be live. Jim Grizansio gives me some credit for putting up the site. It was simply a bunch of jsps and servlets I've had for about 5 years which I developed for my school's PTA website nimitzpta.org. I created a simply flat file database which stores entries encrypted in separate files. That way, if the ISP isn't all that safe, at least the data is pretty useless to the hacker unless they have a strong Math and decompiler background and can figure out my storage system (which stripes part of the key remotely and is fetched at server startup). Anyway, I hope the interface isn't to geeky. The real designer for the UI, I found out, was Derek Cicero and possibly others. They helped with all the standard CSS stuff that would take me forever to format in stock HTML. Coding is easy. UI is hard.
Hopefully people won't balk at the UI. I apologize in advance. But give the contest a try. Registration isn't too difficult. I hope it's logical. Steps are the following:
- Go to awards.opensolaris.org and register on that system. It's separate from the main OpenSolaris.org site for a number of reasons which I won't explain here. But just register as a user.
- Next, if you have an idea for a contest entry, you can submit it and it will be stored along with your profile.
- You have a few options to select if you want others to see your private information or not, or if others can join or not. But as a community effort, even if you don't publish your name and contact info, the title and brief description of your submission are posted on the list.
- When you're ready, you can upload your wad. We support upto 10MB as wad of stuff. Standard tarballs are accepted (e.g. .zip, .tgz, .tar, etc.). If it's bigger than that, then you can submit a URL to us.
March 27, 2008 07:06 PM PDT Permalink
Part 2 - running Solaris on those new Intel Little Valley Motherboards
So Christmas was pretty cool. I ended up ordering myself a tonne of electronics gear on sale and it all arrived in the mail. But I've been spending most of my first few days running and testing the Intel Little Valley and Little Valley 2 systems and playing around with things like a 2GB CF Flash IDE drive and making a tiny server out of it and so on. I also answered a few questions posted by some readers.
Heat
Colleagues and some net folks found my email and asked if there was any concern with heat and using the various enclosures. My results can't be conclusive because this must be the darned coldest winter we've had in California in a while, so it isn't the middle of summer when it's supposed to be hot. Where's Global Warming when you need it?
My CPUs stay toasty at 45C on average for the D201GLY (vers 1) board and 47C on average for the D201GLY2. That's after prolonged running of some stress tests such as HCTS and the like and some of my own home grown ones. And I also have been running these systems for a week now and when I get back briefly during a reboot into BIOS, the health status reports consistent temps.
What might be worrisome is the temp of the Northbridge heat sink. That is a finger-burner (i.e. it's too hot to touch) and this appears to be true for both vers 1 and 2 of the boards, but I took a meat thermometer to the north bridge and it reached about 130F which is too hot to touch for most folks. But that's only about 54C, which is the surface. I figure the junction temp for the Northbridge is probably around 65 - 70C which is within operating limits of the system. And I haven't seen any instabilities in the systems after 3 days of stress and uptime for 14 days. The NB heatsink is -smaller- on the vers 1 board so the temp reported previously is the hottest I measured. I don't have long term failure data, but so far, it seems that with just one or two small case fans, there's enough movement of air to keep things cool, at least during winter.
Noise
Yes, I had questions about noise. The Casetronic Morex 2699R is louder because of the dual 40mm exhaust fans out the back. And for some reason, due to the bare metal shape of the Casetronic case, it acts somewhat as an echo chamber and amplifies the sound of the small 40mm fan on the vers 1 Little Valley board. Hence, for the price differential currently of the $66 retail boxed fanless Lil Valley 2 and the $60 retail boxed (w/ fan) Lil Valley 1, I'd go with the fanless vers 2 of the board.
As far as cases go, the iStar Storm S3 case is so quiet, I can barely hear it next to my head while lying down. The case fan control on the motherboard is quite effective and after running for many days, the none of the systems have thermal issues. Couple that with the fanless board and it may cost about $36 more for the system, but that's worth the quietness to me. Your mileage may vary. But my guess is that my fanless vers 2 plus iStar case comes in at idle at under 22 or 23 dB which is as quiet as the disk drive inside with a fluid dynamic bearing.
Power Usage
And here I though that the new Conroe-L core Celeron 220 on the Lil Valley 2 with reported 19 Watts TDP would really lower my power consumption. But Intel must be lying or it must be eaten up elsewhere in the chipset like for the two new SATA ports on the board that the first version didn't have. But in head to head tests, I was still using 28 - 37 Watts with a peak at startup and during some stress tests upto 45 Watts. Both systems were the same, and I swapped SATA for IDE and back. The IDE only saves like 1 Watt over SATA. In addition, I swapped out SATA for an IDE CF 2GB drive. It was the cheapest and slowest CF card I think Fry's had to offer ($14 no rebate - Adata 60x - at least reported as 60x). I maybe got 2 MB/sec out of that card on a large block read/1MB block write. But that A-Data card really bogged down on large numbers of small writes to the point where it took 1hr 50 minutes (most of Aliens vs. Predator movie on FX channel) to just load the first 106 limited boot services on my hacked-down 1GB opensolaris router flash archive image. That is -really- s-l-o-w.
Does the slot support 2GB DDR2 sticks?
Well, here's the prtconf output corroborated by the BIOS:
System Configuration: Sun Microsystems i86pc
Memory size: 2014 Megabytes
System Peripherals (Software Nodes):
i86pc
scsi_vhci, instance #0
ib, instance #0 (driver not attached)
isa, instance #0
i8042, instance #0
...
I also ran a number of apps and many apps going all at the same time. Well over 1 GB and it wasn't paging, so the SiS662 chipset must recognize the 2GB stick. And it was a cheap stick too. I bought it at eWiz.com for just $34 plus shipping and tax. They delivered it in just 1 day. Insane fulfillment. Don't these guys take a vacation? Not that I'm complaining. But you know how some folks swear by NewEgg? Well, once you eWiz... and BTW, they started carrying the Little Valley 2 retail box board too! And it's $1 cheaper than NewEgg! Anyway, memory link is here: http://www.ewiz.com/detail.php?name=T6UB2GC5 and the motherboard link is here: http://www.ewiz.com/detail.php?name=MB-201GLY2
Performance Benchmarks
I ran 3 types of typical CPU tests. Not graphics but just standard stuff I use my low power system. These were an MD5 checksum of a large file, LAME encoding of a bunch of WAV audio into MP3s, and using Java to auto-rescale a bunch of dig. pics I took in 7 mpixel for posting onto the web. I made sure I ran large enough problems to exceed 8MB of hard disk cache and used the same config where possible to replicate component I/O performance. I ran the Celeron 220 (vers 2) in 2 modes - 64-bit and 32-bit, the vers 1 board in just 32-bit (since that's all it's capable of, and then compared this to old Socket A generation of an AMD Geode NX1750 with DDR memory. Results are below.
AMD = 32-bit Solaris on 32-bit AMD Geode NX 1750 1.4GHz C220 = 64-bit Solaris on 64-bit Celeron 220 1.2GHz C215 = 32-bit Solaris on 32-bit Celeron 215 1.3GHz C220-32 = 32-bit Solaris on 64-bit Celeron 220 1.2GHz md5sum of 352MB file -------------------- timex md5sum s10_u1_x86_cd1.iso 09791c116eb2189a708f9a698e5e413d s10_u1_x86_cd1.iso run1 AMD C220 C215 C220-32 ---------------------------------------- real 6.56 5.40 4.96 4.95 user 2.01 2.12 2.00 2.10 sys 2.01 0.88 1.49 1.04 run2 AMD C220 C215 C220-32 ---------------------------------------- real 6.45 5.47 4.51 4.96 user 2.01 2.12 2.00 2.10 sys 2.00 0.89 1.34 1.04 run2 AMD C220 C215 C220-32 ---------------------------------------- real 6.44 5.47 4.65 4.93 user 2.01 2.12 2.00 2.10 sys 2.00 0.89 1.35 1.04 lame -h encoding to MP3 of 59MB WAV file ---------------------------------------- timex lame -h test.wav test.mp3 run1 AMD C220 C215 C220-32 ---------------------------------------- real 34.23 30.79 29.90 30.78 user 30.93 29.79 29.14 29.85 sys 0.75 0.33 0.51 0.52 run2 AMD C220 C215 C220-32 ---------------------------------------- real 34.60 30.45 29.91 30.59 user 30.86 29.77 29.16 29.85 sys 0.72 0.33 0.51 0.51 run3 AMD C220 C215 C220-32 ---------------------------------------- real 33.61 30.67 29.94 30.58 user 30.77 29.79 29.19 29.84 sys 0.72 0.33 0.52 0.52 Rescaling 15 5.1MPixel Images to 1024x768 ----------------------------------------- timex java ScaleImages test 1024 IMG_00*.JPG run1 AMD C220 C215 C220-32 ---------------------------------------- real 17.47 10.51 10.66 11.21 user 14.62 9.47 9.76 9.33 sys 1.07 0.53 0.59 0.66 run2 AMD C220 C215 C220-32 ---------------------------------------- real 17.80 10.38 10.62 10.35 user 14.54 9.47 9.73 9.46 sys 1.02 0.53 0.58 0.62 run3 AMD C220 C215 C220-32 ---------------------------------------- real 17.90 10.31 10.59 10.32 user 14.59 9.47 9.74 9.45 sys 1.02 0.52 0.59 0.62 ==========================================================================
The interesting thing is that in most cases, the total wall clock time seems dominated by I/O which seems worse on the Lil Valley 2 with SATA ports. But the new Celeron 220 w/Conroe-L core on the vers 2 board has much lower system time and comparable user time with the Celeron 215. The 64-bit mode, while I would expect a slight degradation in performance due to pushing more memory I/O, actually does okay and holds it's own against the 32-bit results and actually has lower system time where the Solaris kernel routines are involved. These results clearly show that the new Celeron 220 is a pretty kicking core, but how that impacts the disk I/O to slow down overall wall clock time (since I wasn't running anything else) is baffling. It's the same chipset isn't it? But the old AMD Geode NX1750 that had comparable power characteristics just can't keep up and gets left in the dust.
Other Thoughts
Funny thing about running in 64-bit was that the SiS Xorg graphics driver is extra sharp! Yes, no need to run Vesa module in Xorg like on the old vers 1. of the board.
And as for booting and running off CF flash memory, tried all sorts of settings on UFS - noatime, nologging, etc. It was slow. Boot time was well over 2 minutes reading from the A-Data "Speedy" CF from Fry's. I even turned off swap. For large files like a 5MB mp3, it could fly and write at a good 1 MB/sec. But writing lots of little files and updating SMF xml files by the hundreds took literally all night. Unless other CF cards have 1000X faster performance, I'll stick with a disk drive. I know there are some new Solid State Disks (SSDs) out there now. These have better durability against writes, but $3K for 64 - 128GB is a bit excessive. When they bundle 32GB of SSD with a Happy Meal at the drive thru, maybe I'll buy some. I also know there are folks like the Indiana Project at OpenSolaris.ORG that have bootable ROM images that run out of RAM. That might be something to look into for flash only boot, but I was hoping to able to at least cache my files locally without needing to run NFS all the time and just get old ATA/UDMA-33 performance.
December 27, 2007 06:39 PM PST Permalink
A holiday motherboard Special
Just in case folks wanted to go green for the holidays
in terms of our computing desktop, here's a -fanless- low-powered
Intel "Little Valley 2" motherboard that started selling on Monday
at NewEgg. Hopefully the link is still good - last time, they
ran out in less than 3 days on the Lil' Valley 1 version of the board.
I also noticed they posted a Retail Kit version for $2 more.
http://www.newegg.com/Product/Product.aspx?Item=N82E16813121326
The form factor is actually mini-ITX which is micro-ATX compatible but the whole mobo with soldered on CPU, graphics, networking, audio, is just 6.7 inches square. Price is just $65 and it listed today at newegg. This is $10 cheaper than the next closest competitor with stock on this item (mini-box.com).

Last time they had a sale, newegg sold out in 3 days or less on the Little Valley 1. This new board features a new Conroe-L-based Celeron 220 cpu that's even lower-power but supposedly faster than the version 1 of the board. Plus the new board has 2 SATA ports. Rest of the features include 1 IDE port, 1 DIMM slot (1GB DDR2 max), two sets USB pin headers + 2 usb onboard in the back, front panel audio header pins, PS/2 keyboard and mouse ports, 1 parallel, 1 serial port, and 1 PCI slot.
I purchased a new iStar storm 3 mini ITX tiny tower case with 80W high efficiency power supply. Newegg also has highly rated Wintec AMPO memory, 1GB DDR2 5300 dimms for $19 (w/ heat spreader!!!) and you may want to get the Samsung slim DVD burner which I've verified is truly ATAPI compliant. (not like that $38 cheapy APOS DW-ISD081 Dual Layer for $38 at pcdirect.com which didn't work properly for ATAPI compatibility, even with th pin 45/47 jumper hack).
URLs for case, dimm, and burner are:
http://www.newegg.com/Product/Product.aspx?Item=N82E16811165041
http://www.newegg.com/Product/Product.aspx?Item=N82E16820161675
http://www.newegg.com/Product/Product.aspx?Item=N82E16827151135
The case comes with adapters for small notebook disk drives. I'll be using a toshiba 120GB MK1246GSX notebook SATA disk, which is also on special.
http://www.newegg.com/Product/Product.aspx?Item=N82E16822149068
I have 2 systems running with the previous Lil' Valley 1 board w SXDE 1/08 b79 and swapped out the 40mm cpu fan with newer, quieter mini-Kaze 40mm fans. They each have 94+% efficiency DC power supply systems (like the one that comes with the iStar case). They run at 25 - 32 Watts on average. I'm hoping to shave a few more watts off the power envelope, get quieter and run faster.
Happy system building this holiday (while supplies last!)
December 13, 2007 01:43 PM PST Permalink
Rear brakes on my venerable truck
Thought I'd do a car blog to celebrate the near passing of my
truck at the 200k mile mark. Here's a saga about my last brake job...
I took my venerable truck (1992 Toyota w/ 22RE engine) a couple months ago to the mechanics shop locally to do my rear brakes. Usually, I get my ASE certified buddy to work on my truck. But he had the week off so they let a newbie do the work.
I wanted the near 200K mile car to get new bearing seals along with the rear brakes, which were now shot due to all the grease that had oozed out from the seals which had failed like 5k miles ago. I left the truck overnight, and after a number of days without it due to mailordering the parts and scheduling the work with a machine shop to press the new bearings and seals into the axle tube, I was able to pick up my truck.
The first thing I noticed when I got home was that the rear hand brake was loose. I parked on a slight incline and it was too loose to hold the truck. I hate having to go back to the shop to get them to fix something that we know they screwed up on. So I tried to adjust the tension in the cable under the car but still it was no good. I then talked to a fellow tech guy I have lunch with often at work. He's a pro who does all his own work at home. He explained that the drums on the rear have automatic tensioners. If I keep pulling the brake lever up and down, it auto-tightens and sets the tension. Just give it time and usage, he told me.
I waited 3 more days and spent time yanking the hand brake lever 20 times extra at every chance to park. It didn't tighten. It only loosened. I finally got fed up and jacked up the car myself and pulled the wheel and drum cover off. I disassembled the brake and nearly took my knuckles with it trying to free the main tension spring holding the shoes together. It was a lot harder than I recall when I did my first rear brake job on this truck almost 10 years ago. Either I was a lot weaker in the arms or something was different.
There was a star-cam screw that is about 5 inches long and sits in the saddle between the two shoes. On the outside, the tension spring holds the shoes together. On the inside, between the shoes, this screws acts like a yoke with a star cog that turns to adjust the yoke width and therefore spreads the shoes so they just press up, but not quite to the inside of the drum. After looking at the rotation of the screw (it was right hand thread on the driver side rear wheel), I realized that this couldn't be the correct yoke. For it to auto-tighten, this would have to be a left-hand thread.
I went over to the passenger side and disassembled that brake, and nearly broke my wrists trying to remove the tension spring. I finally got it off, and removed the star-screw-yoke and as predicted, it was left-hand-threaded. So I swapped the yokes, AND also, after looking at the position of the spring hooks, I swapped those as well.
Re-assembly was now MUCH easier. The springs went right back on with much better alignment and less tension. And I hopped into the driver's seat and with just a half-dozen pulls, the rear brake tightened up auto-magically.
I called the shop and told them about this to report their errors. I also emailed corporate offices for this chain with feedback. I got a canned thank you.
Lesson learned. Emersonian self-reliance wins out again. November 02, 2007 11:52 AM PDT Permalink
Tried version 0.6 of the ath wifi driver?
I was playing around with installing Nevada b75a last night on my Toshiba Satellite M115-S1064. Yepp, that's the $449 Fry's laptop I got sometime around last Christmas which I mentioned has funky wireless last week in my blog about the lower cost wifi cards.

Most everything works on this laptop, and at 6lbs and wide screen, it's not the lightest, but it one of the cheapest and gets the job done. A problem since the summit that had been bugging me was to check for the latest and greatest atheros wifi drivers. I was checking the MadWifi website recently and swore I saw a table that said the new PCIe Atheros 5006 wifi chip was now working fine on Linux. I was wondering if that update had trickled in during the last few months in a beta driver on the OpenSolaris.org site. I was still running an older b70b Nevada on the M115 so I last night, I finally got around to kicking off a fresh install which completed, but struck out on the wifi. But I recalled something one of the Beijing engineers said in an email recently, which mentioned that the OpenSolaris site gets driver updates much more frequently than Nevada or Solaris 10. So I went and checked. And since the end of August, almost 2 months ago, the Sun China Wifi team contributed ath v0.6. And after uninstalling (pkgrm SUNWatheros) on my b75a, I pkgadd'ed the new SUNWatheros v0.6 and magically, the new chip is recognized, plumbs, and hooks up with WEP onto my home 802.11 network. Thanks guys/gals!
So those drivers in the formal distros might be bundled months after the actual beta driver has been posted and downloadable from OpenSolaris.ORG. I'm not sure how Project Indiana will merge the conflicts between beta drivers that give early access, and the formal distros that meet higher quality standards. And to make things worse, if you run "strings ath | grep -i ver" on the atheros driver binary, the formal one that ships with Nevada b75a said version 1.3. But if you run the same command on the OpenSolaris contributed and unbundled driver, you get version 0.6.
But I'm certain there's quite a lot of overlap in the QA/Testing suites for drivers that get contributed to OpenSolaris versus the ones that get bundled into Nevada and later S10. But clearly, even the contributed beta drivers seem to have been tested with many of the same suites that the official versions go through. So it's worth a try to keep checking.
But kudos again the Sun China wifi driver team. Wow! It's working beautifully. I'm hooked in now and writing this blog from that laptop using my home wifi net complete with WEP key support.
Also the Toshiba M115-S1064 had issues with strange noises coming from the HD audio codec. I'm not sure, but maybe they this was due to some host signal processing or "soft codec" being used with the ATI SB450 chipset. It does have a compliant Intel HD Audio "azalea" controller. I tried hacking around the opensolaris audiohd source, but only made the noise worse and louder when playing anything.
But Open Sound System (OSS) came to the rescue again. I'll mention it again that OSS is from 4front Technologies (www.opensound.com) and they've been doing cross Platform audio on UNIX for years. In fact, Dev Mazumdar, the head of OSS attended the Open Solaris summit in Santa Cruz. And he was in Menlo Park yesteday at Sun. I thought he lived in SoCal. Maybe he's finding shelter from the brutal fires and smoke down there. (Hope folks are breathing okay down there - this is always a bad time of year down in SoCal when the Santa Ana winds kick up and the dry summer has turned all the spring growth into kindling).
But I digress. The OSS download for Solaris is free and just requires renewal every 6 months. And it plays nice audio as well for this laptop where the shipping audiohd driver doesn't play properly.
October 24, 2007 09:27 AM PDT Permalink
When websites lose customers
Losing Me in a Flash
Had a great morning today, and will be getting $392 in a check coming in the mail real soon.
Why?
Well, I cancelled my Citicard Cash-back rewards credit card. Been a customer since 1998, and used to use their card quite often when shopping, online and offline. My wife and I never had any issues really, until about Fall of 2006.
Some time last year, Citicards.com, and only that affiliate of Citigroup, started putting some really annoying flash media content on their home page/login page. At first it was just -only- annoying. On IE, it might look okay, but on Mozilla/Firefox, the flash blocked a quarter to half the screen. We could still login and access our account to pay. But in the Spring of 2007, the web developers up'ed the ante. They created a "chase-me" popup flash bubble that whited-out the whole screen and put a single marketing bubble that advertised a 7.24% equity line of credit or something like that. My wife was still fond of her Linux system, but she couldn't close the bubble. She tried to click on the [x] and the bubble kept re-appearing somewhere else.
She was late paying that month because we waited until the last day, and she forgot about the glitch and by the time, a few days later, that she told me about the browser problem, we were past due. I was able to login using Solaris Nevada with latest Firefox and it successfully negotiated the Flash bubbles and shut them down. And I made a quick payment for the entire card balance on line and told my wife to stop shopping for now with the card, since with most cards, they charge a late fee plus 2 months interest on the balance. So I called and told the customer service folks about the technical issue to discuss the possible late charges and interest charges. And because this was February/March, and the billing month was short, they gave me a 5 day reprieve and so I didn't pay any penalties or interest. Still, the hassle of having to make the phone call was irritating. Just to be sure, I used the online contact form (in Solaris Nevada) and wrote to them about the issue.
A month later, when all was good, we decided to use the card again. And again, the next month, when my wife was trying to pay the bills online, we couldn't get access. Again, I had to login from work and pay the bill. I wrote Citibank via their email/webform again and explained this situation, but this time, I threatened plainly that I would cancel the card and go away. I was/am a 1998 customer, excluded by a company because of foolish use of non-compliant content.
My wife and I put the cards away and stopped using them. It just so happened that I picked up a Capital One rewards offer in the mail that week, and decided to go online, and sign up. It was relatively easy and I got my new card in just a week or so. My wife got her card a few days after mine. And we've had no issues paying bills online. Solaris or Linux. We stopped using the Citicard and took it out of our wallet and left it at home.
The lack of activity on the Citibank card spurred Citibank to send me a notice. They sent new cards too, with the wireless PayPass chip inside to replace the old ones and sent us a little marketing brochure listing all the benefits of using the Citicard Master-Card. I did activate it thinking I might eventually use their card again.
This morning, in my regular routine of changing my online banking passwords and userIDs (which I do a couple times a year), I logged back into the Citicards.com site, and was greeted with a white blank screen. It was Flash. I checked and I have the latest Firefox and have the latest Flash available for Solaris x86 and yet, I had a blank white screen with nothing to click. I tried to turn off Javascript at first and was able to nullify the Flash load and login, but then got redirected to a page where their system said their site requires Javascript to run. I can understand if their site needs cookies, and I've designed cryptographic cookies that run cross browser (and implement a fully encrypted database with encrypted cookies with my kids' elementary school PTA website - which I'm webIT volunteer). But to mandate the use of JavaScript as well as Flash... well... I thought I could be smart and simply disable the plugin.
To disable it, I just moved the Flash plugin files from the /usr/lib/firefox/plugins directory to a temporary location and restarted the browser. After that, I was able to login and do my change my password and userID. But the thought came to me that my wife wouldn't know what the heck was wrong. This wasn't something she could do, and neither Solaris nor Linux would help her now. And we're now cut over primarily to Solaris. She hasn't booted Linux in quite a few months.
So I called Citicards Customer Support to cancel the card permanently. They were friendly. I talked with a "specialist" who made me some offers to extend my cash-back-reward to 5% for a year if I stayed with them. I said simply that I couldn't take the hassle of not being able to pay bills online because their web developers weren't testing and supporting other Operating Systems and browsers. Afterall, I had contacted them before on multiple occasions and told them exactly what the technical problem was. And seriously, I've designed a lot of web applications and done lots of cross-platform coding in my days and it doesn't take more work. It just takes awareness and not to fall into the trap of automated webtools that generate platform specific webcode.
Anyway, the agent finally relented in the marketing pitch and promised to send me a check for my remaining cash back reward for $392. Not bad. I wasn't aware I had that much remaining. That's a lot of online orders over the last year or so. I told him if his developers ever got their priorities straight and fixed the site, I'd come back. That was a promise. And their main site, Citibank.com, AmericanExpress.com, and Citimortgage.COM are all fine. Even their affiliate site, HomeDepot's AccountOnline.COM are fine. Those sites do use some flash here and there, but it's not overbearing or buggy on any platform I've used, including older Mozilla 1.7.x. So it can be done.
For now, if someone asks: What's in my wallet? Short answer: Capital One. I just went blazing through 45 seconds and paid my balance in full for last months shopping. Wow. Way too much fishing tackle and Fry's Electronics stuff. The only web feature I might want want from them is a masking feature that let's me obfuscate a merchant name with some other phrase - e.g. "Fry's Electronics" -> becomes "Hardware Electronic Education Materials," or "Cabela's Outdoor Outfitters" -> becomes "Recreational Outdoors Non-profit Endowment Foundation." October 16, 2007 10:31 AM PDT Permalink
pre-OpenSolaris-Summit Santa Cruz Wharf Fishing
Got up early this Saturday morning to head south to attend the OpenSolaris Summit. It's being hosted at the UC Santa Cruz campus during this weekend which is a change over traditional schedules and venues that would eat into normal office time during the work week. Plus, it's a chance for Sun and a number of prominent OpenSolaris community members to talk about a the future of OpenSolaris.
The UCSC campus isn't very far from the Santa Cruz Wharf. One of my proposed sessions was to do some fishing. And this would be open to all participants since there is no license needed on public saltwater piers in California. My target was to get there around 6:30am and then move out along the pier towards the end to wet a line or two until about 8:30am when we'd need to head over to the campus to start the conference.
And from the picture above, it wasn't all skunk. We did catch a large variety of fish - Jack smelt, kingfish, staghorn sculpin, and shiner perch. I'm seriously thinking, as I sit in the conference about more fishing later this evening.
Topics Discussed Today
The Summit will cover today a State of the Nation for OpenSolaris and specifically, the Project called 'Indiana.' This is a proposal to produce a branded Solaris version that is based on Nevada but completely open source and has improved packaging, install, and support for more types of x86/x64 systems.
So far, there hasn't been any all out fighting one might expect in Open Source debate. On the contrary, we've covered a lot of packaging and installation concepts. Some are borrowed from ideas and concepts used in Linux already or other open source. The primary goals are to make packaging more intuitive, higher performance, and easier to use.
I can't say I disagree with any of the ideas. I'm sure they have value. But I also can't help but think that there are major issues with the missing application that clearly hinder adoption more (or lack thereof of those apps hinders adoption). But install/update and packaging are, in general, a lower priority for me. I don't believe that people are constantly updating their OS, especially in Solaris. My impression is that people update OS as security requires and as their IT shops require them to do so. Otherwise, they run oblivious to updates.
And from working with software vendors, many decide on an OS version and stick with it and support it. For us to focus too much on install/update isn't the most optimal use of resources, IMO. But I might be swayed otherwise if a valid argument is made.
I guess I'll learn more as the afternoon goes on. October 13, 2007 03:47 PM PDT Permalink
Lower cost wifi solutions for Solaris x86
Airlink 101 - AWLC 4130 and AWLC3026
I picked up a few cheapy Airlink 101 AWLC 4130 cards recently at Fry's on sale. Cardbus cards for laptops with a PCMCIA slot. They were only $14 each, limit 2 per person. Unfortunately a 1 day sale only.
But these were plug and play with Solaris Nevada. The AWLC4130 is advertised as a "Super G" with Atheros chipset. And indeed, when we plug it in, the PCI DevID confirms it's a AR 5212/5213 series chipset, which has been supported by the Solaris 'ath' driver for quite a while.
I also decided to look in my spare parts bin and pull out some older AWLC3026 pc cards. These are regular 802.11G. Back about a year ago, I picked them up for $9 ea at Fry's as well. But there was no driver for the Marvell/Libertas chipset. But on a whim, I decided to check the OpenSolaris.ORG website and found the 'malo' driver.
It's currently provided as a source distribution only, but it compiled just great, and after just a couple of issues with rebooting correctly a couple of times, I was able to get the driver to load and function quite well and fairly stably.
Most laptops do come with WiFi today, but the chipset may not have any drivers yet, or use an NDIS wrapper type driver that isn't stable. I'm using the AWLC4130 now on my el cheapo Toshiba M115 laptop with still unsupported Atheros 5006 mini-pcie WiFi. Not a bad deal for just $14, or even better, $9 for the regular G version AWLC3026.
I know Airlink 101 makes quite a few regular PCI adapters that turn workstations into wifi workstations. I'm waiting for a sale now to get a few to find out their chipset as well. I've been searching for some low cost cards to refurbish cheap PCs to give away to needy families with kids attending my elementary school who don't have broadband today but would want to leverage free city wide wireless that is now available in our neighbourhood.
October 13, 2007 10:26 AM PDT Permalink
A great life remembered - Professor Virgil E. Schrock - Dept. of Nuclear Engineering - UC Berkeley
A Great Man - A Great Mentor
As a kid, you grow up thinking to yourself what you want to be when you get older. I never really had much preferences until high school. I was a pretty happy-go-lucky guy who, sometime around high school, wanted to really get into Applied Physics, like maybe Nuclear Engineering. Well, I was fortunate enough to get accepted into the Nuclear Engineering Undergraduate Program at the University of California at Berkeley, where I got a pretty interdisciplinary regimen of all the standard courses in Mechanical, Civil, Electrical, CompSci, and of course, Physics.
Around my junior year, I found a part time job up at Lawrence Berkeley National Lab. A great workout since I often biked up the hill to work and biked back over Grizzly Peak in the evenings to Orinda to commute back home. It was in the course of working up there, writing Data acquistion software for the VAX which was hooked up to the Bevalac Particle accelerator that I bumped into my undergraduate advisor who was working on Polymorphous Silicon and enhancing the photo-electric effects (i.e. researching how to make a cheaper, better solar panel).
He wouldn't become my graduate adviser, but he did introduce me to an undergraduate Nuclear Engineering design contest hosted by the American Nuclear Society. The challenge that year was to analyze the feasibility of consolidated spent fuel rods in fission power plants. Simply, many older nuclear power plants today, have been storing their spent fuel rods in large, deep pools on-site. Utility companies have been charging into their base rate a decommissioning cost which includes spent fuel processing and burial costs. The US Gov't has been remiss in it's obligations to find a spent fuel storage facility in the last 40 years, although we've come close to selecting Yucca Mountain Nevada as a site. (But due to certain political obstacles and an uneducated public - there's been much opposition to the storage facility).
This political dilemma actually got me interested in looking at spent fuel consolidation. The problem looked simple at first. Utility companies wanted to know if it was okay to remove the spacing guides on the fuel pins, then bundle them closer together and therefore get more storage room out of their existing storage pools. This could extend the storage pool capacity for another decade or even two decades at most plants.
Prof. Virgil Schrock volunteered to sponsor any UC Berkeley bid into this design contest. His speciality was Nuclear Thermal Hydraulics - i.e. a fancy term for Heat Transfer and Fluid Mechanics in Reactor systems. I got together with a couple of classmates and we decided to look at this problem. We were against some stiff competition from some other big name schools from around the country, and from the get-go, Prof. Schrock was a no-nonsense guy and a tough taskmaster. He never gave us answers. Only questions. And to answer those questions required a lot of research. But I was good at this. I was resourceful and quick. Still, it took the better of our last year at Cal and early part of my summer to finish up the thesis and submit it to the judges. It was during that senior year and early in my involvement just to scope out the problem that I really found love of research and problem solving. So I decided I wanted to go to grad school. Prof. Schrock must have seen some potential in me and he helped me file for a Dept. of Energy Nuclear Engineering and Health Physics Fellowship - A free ride to grad school with full stipend. Plus -More- money than an NSF Fellowship. But only 4 - 7 of these would be granted in the US a year.
I did win one of these, and then the offers from MIT, U. of Wisconsin, Georgia Tech, etc. came rolling in. I took a few trips east, unfortunately in January, during a bitterly code winter, and I recall my face freezing upon exposure when I stepped out of my rental car in Madison. I decided then that East Coast cold or hot/muggy weather wasn't for me. I was going to stay at Cal and do my graduate work with Schrock. And not having gone much deeper into Nuclear Thermal Hydrualics, I thought at least the next few years couldn't be all that bad.
That was an interesting last semester senior year. I had quite a few more discussions one-on-one with Prof. Schrock. He clearly became my mentor. Tough, disciplined, thorough to every technical argument. I was the young, bright kid who could grasp new technical concepts fast, but I lacked focus and dedication. I was an officer in one too many student societies, throwing BBQs weekly, sometimes, 3 times per week for fellow Engineering students. I was thinking how I could make a comfortable life for myself as a grad student working for Schrock and partying with my fellow students. Schrock had bigger plans for me - he wanted to challenge me mentally and bring out the potential of whom I could be so that whatever the task, I could meet it head on and do a good job.
Certainly, my own father, a Ph.D. in Biochemistry from UC Davis was no academic or technical slouch. But as a Dad, he really has had no choice. He had to love me for being his son. And I never really disappointed him. I met every standard a Dad could really set. And while he did teach me how to labour hard doing physical chores like tilling soil/farming, fixing my own bikes and cars, and simple home improvement - all in the heat of the summer, he never forced me to reach deep and work at my true mental potential. Well, all that would change now that I had officially hooked up with Prof. Schrock.
I remember around June of my last semester as an undergrad when we'd already walked at commencement and effectively graduated, that I was finishing up the submission for the design contest. My two classmates had bailed on me and either gotten jobs for the summer or were taking time off back at home. I was on my own and Schrock's technical perfection really made me question why the heck I was doing this. He was critical on every point of analysis. He forced me to apply my software skills to develop a computer simulation of time-dependent two-phase flow for freshly spent fuel rods which would radiate more heat early after removal from a power-reactor. It was painful to get up at 6am, commute in on BART, then not get home until late at night, sometimes on the last train, then work at home to verify the code against hand analysis. I never imagined I would survive living on 6 hours of sleep a night for the nearly a month of constant analytical work I had to do. And all the while, I still kept my part time jobs as a dishwasher and a bike-shop mechanic.
I came up with quite a few terms for Schrock at the time. "Hard nose" and "Slave driver" were the more polite ones. I even had doubts sometimes if I wanted a graduate adviser this tough. But at the end of 4 weeks of "finalizing", the submission was truly something I was proud of. Schrock had indeed been tough, but always supportive. His criticisms were back breaking, but always constructive. When I was ready to give up, he would give me the idea to pursue that would bring the work to the next level of analysis. Now, with the final package bundled and ready to ship off to the judges, I was more proud than any of the hand-made fishing rods I used to craft starting in high school. We submitted the simulation software, the written analysis and results that showed for at least a pool similar to the one at PG & E's Diablo Canyon facility, spent fuel rod consolidation was feasible. I actually believed it was on par with anything in the industry. It was on par with any graduate work as well. And I remembered that Schrock was also proud of our work.
Suffice it to say, that we kicked butt that year and took 1st place in the undergraduate category. I made the presentation in Washington, D.C. and received the award for our team. Professors from other schools were there and very impressed with our work. The comments I received were that it was impressive work, good enough to win the graduate student category perhaps. And what really impressed me was when they asked me who my research sponsor was. I told them: Virgil Schrock, not even thinking it was someone they would know. But they all said, "Ahh! You're one of Virgil's kids..." as if award-winning work was a standard output for anyone working with Schrock. I realized then that working with Prof. Schrock would mean working at a wholly new world-class level. It would be tough, but it was something that I wanted to know if I could complete.
I graduated in 1993 from UC Berkeley with a Ph.D. in Nuclear Engineering. I was so privileged to have had the opportunity to work with a man who, over the years, shaped me mentally and disciplined me as a scientist. For a man who contributed so greatly to the understanding of science starting more than 5 decades ago, retiring and becoming emeritus before the Internet really became widespread, I am amazed at the number of hits Google provides when searching his name. Working with Virgil Schrock and graduating with distinction from Berkeley opened many doors for me. I did a Post-Doc in Turbulent Convection and heat transfer at Tokyo Tech, then found easy employment as a consultant deploying Trading Floors and Derivative Risk Management Systems for Tokyo Stock Exchange members. It gave me the skills to then easily come back to work at Sun Microsystems and do what seems like a completely different job than the what my degree prepared me to do. The truth, however, is that I still apply the same academic skills, discipline and tenacity that Virgil Schrock instilled in me starting nearly 2 decades ago.
Because of Prof. Schrock, I learned as much as I could and more; I experienced scientific understanding as deeply as I could and more; and I was able to contribute to man's body of technical knowledge as much as I could and more. No person could have had a better guide in life than I did.
January 22, 1926 - October 1, 2007

Above: Picture taken of myself (left), Virgil Schrock (mid), and my Dad (right) at Graduate commencement at Berkeley 1993. I still remember my Dad dressing up in his robes as well to accompany me. Prof. Schrock has just changed out of his robes. It was warm that day. My Mom took the picture. Prof. Schrock is survived by his Wife, Mrs. Ginny Schrock, and two children and quie a few grand children. My own son and daughter (7 and 5 years old) still sleep with the stuffed beanie baby Felix Cat and the Baby Bunny that I think Mrs. Schrock picked out and sent us when they were born. October 12, 2007 12:47 PM PDT Permalink
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
Getting Solaris x86 Graphics, NIC and Audio working on the ECS GeForce 6100SM-M
There was a recent sale at Fry's on CPU+ mobo combo. This was for an Athlon 64 x2 3800+ 65W AA processor retail kit with an ECS GeForce6100SM-M motherboard - all for $139 before tax. The motherboard is based on the nVidia MCP61 (nForce 405) chipset with socket 939, PCI-express x16 and x1 slots, DDR2 800 memory slots, the standard I/O for disks and floppy and USB, onboard nVidia GeForce 6100 graphics, built-in nVidia 10/100 Fast Ethernet and High-Def Audio with a ALC 660 Codec.
Getting Solaris to run well on this system wasn't the easiest thing. While GeForce 6100 is a supported graphics chip, the version on this board wasn't recognized by the bundled 'nv' driver which we collaborate closely with nVidia to get done with the most recently drop dated January 2007, just weeks ago. The on-board NIC was a strange device with what looked like a 10/100/1000 capable PHY part but a chip (pci10de,3ef) only capable of 10/100 Fast Ethernet speeds. And the audio was another hybrid of sorts that used the MCP61 HD Audio controller coupled with a Realtek ALC660 codec. The controller seems to function to the Intel HD Audio spec and therefore similar to all the other nVidia Azalia (codename for HD Audio) controller. But the codec was a cheaper version of 5.1 audio, as opposed to the standard 7.1 Surround Audio for most HD Audio Codecs (such as the ALC880, 882, 885, etc.). And as expected, the back audio I/O ports included only a single column of 3 jacks for Line In, Mic, and Line Out.
Using the VESA graphics driver with 16 bits.
The GeForce 6100 graphics wasn't suffering the usual errors and exit issues that'd I'd expect from a unsupported card. Instead, it was starting and the system thought it was starting, but my 20 inch flat panel was complaining that the signal was at a mode unsupported by the monitor and the monitor would blank at that point. To get the Graphics working, I examined the /var/log/Xorg.0.log file and found that the actual startup of graphics fell through the 'nv' driver due to errors caused by missing modules for GLX and, instead, loaded the VESA module. Even though the BIOS was set to share 64MB of memory with Graphics, I couldn't get the VESA driver to display the native 1600x1200 resolution of my 20 inch flat panel. The command line options are in the Xorg.0.log file but I had assumed everything was