Saturday, November 15, 2008

How green is too green?

It seems you can't pick up a computer or IT related magazine without having the word green somewhere on the cover - generally accompanied by an article about what vendor xyz is doing to increase the 'greenness' of their product or service or by what provider abc did with their data center to lower the carbon footprint. In general this is great. We get devices that suck less power, operating systems (like Vista) where sleep works better and interim power states save more power, a cleaner planet, etc. That's gotta be a good thing? Right?

That's where my concept of 'too green' comes in. I'm not talking about 32,255,7 although that is too green to. Just like how you can have wood that is 'too green' to burn right, you can have something that is just 'too green' for its own good and doesn't really work right. (In this sense, you can just about think of green in both the 'earth friendly' and 'new' terms and you come out about right - almost like a puppy dog; trying to please but not necessarily doing it right). In fact, that is the topic for this post - we'll call the example today:

Stupid notebook tricks - or the green that was too green.

Take a nice new notebook - say a Lenovo T400 series machine. A nice box certainly. And some of the things I mention here will reproduce on other machines like current HP ones. However, I have personal experience with some stupid T400 tricks, so I will call them out in particular.

Build your T400 with a nice corporate image of Vista Enterprise Edition, complete with the latest drivers in the driver store. Place it on a port replicator and connect it all up. Sign in to your favorite Instant Messaging program (we're still using Office Communicator 2005). Walk away for a meeting. When you come back, the screen is blank. Cool, that's green! Move the mouse to wake the screen up and you notice you are no longer signed into your IM program. If you look quickly enough you see the little 'network' icon in the system tray shows that you lost your network connection momentarily. Hmm. Time to check into that you say? So did I. Next, I set the screen to turn off after just 1 minute. Started up a ping from another machine so I could watch the responses (either ping -t or a custom tool). I also stuck a mirror behind the T400 port replicator so that I could see the indicator lights on the NIC connector. Sure enough, when the screen blanked the NIC lights went out for a second then back on. The PING application noticed - it showed a couple of failures before continuing. Move the mouse, and the lights go off again. The PING fails again, and then comes back.

Now try this same thing when you are undocked (maybe in a meeting using Netmeeting or something similar). In this configuration - undocked - you notice that when the screen blanks nothing changes. That's good, right? We stay connected. But, then you move the mouse to get your screen back and then it disconnects and reconnects. That's got to be the stupidest thing it could do. Leave the network running great while the screen is blank but when the user wants to do some work - let's shut it down and restart it. Did you notice you lost your Netmeeting?

After you start looking into this (I needed a couple of peers to help), you find it is some new 'green' built into the latest Intel networking chipsets and drivers. It only works on Vista, because it relies on being notified by the opeating system that the screen is blank. It's called ''System Idle Power Saving" or SIPS. You can read about it in this PDF from Intel. (It claims that it 'renegotiates' when the screen blanks and again when it comes back on - but you can test this and it only does that in the docked state: when undocked it only bothers when the screen comes back on.) Looking at the charts they provide, it shows that it could go from say 22 mA to 4 mA in certain scenarios. Sounds good until you realize you lose your network connection. What if you were on VPN? How about a WebEx or Netmeeting?

I checked the event log, and like the documentation says it does renegotiate to the slowest it can. When connected to my 1 Gbps hub, it renogotiated down to 10 Mbps. So, if I were to - for example - connect to my machine using Remote Desktop from home and attempt to build a new image and copy it to a network location it would do so at 10 Mbps (because the screen is still blank). That nice new 4.8 Gb Vista image copying at 10 Mbps? Epic Fail.

Now, to be fair - I haven't yet tested what happens when you are on VPN or NetMeeting. I do know that the Intel documentation claims to only do this if the network is idle. They don't seem to define what idle means to them. What it certainly does NOT mean is that 'there are no TCP connections' - because it definitely doesn't seem to care about that. It drops you. Hence the signed out IM program. It may have some arbitrary packet rate that it is figuring 'less than x per second means idle' or some such. Whatever it is doing to calculate idle, I'll call it 'Fail'. It's just too green.

Cue up Captain Kirk and Scotty:

Capt: Scotty, emergency beam out!
Scott: Captain, I canna do it; the transporter system's gone into power save mode. It'll take two minutes to get back ta full power if'n it doesn't blue screen.

You see? Too Green!

Monday, November 03, 2008

The case of the Irritating Ibex

This past weekend I decided it was time to do maintenance and updates on my test systems. Both the notebook and the desktop are setup dual boot with Ubuntu being one of the operating systems. Both were running 8.04 which had been upgraded from 7.10. The 7.10 -> 8.04 upgrade had gone flawlessly on the notebook, but on the desktop (after an over the network upgrade), Ubuntu decided that my wired Ethernet adapter did not exist. After RTFM'ing noob (searching the internet) I had resolved the problem. I figured this time it would have to be better.

(For those that don't know, Ubuntu's current practice is to name releases in alliteration with animal names. Hence the 8.04 release was "Hardy Heron" and the 8.10 is "Intrepid Ibex").

I started by reading the upgrade readme available here. It seemed that I was going to be OK going to 8.10, as my video card is an nVidia FX 5500 which is not on the list of cards for which support for 3D was mysteriously withdrawn. It claimed that my card would be upgraded to the 173 or 177 driver (whatever the hell that meant). So I started both the Desktop and the Notebook upgrading. There was a simple, well documented procedure to tell the 8.04 LTS version that it was OK to upgrade to a non-LTS new version, and they were off and running.

Painless, right? Ubuntu has a fairly well deserved reputation as being easy to install and working on a lot of platforms (as they are not obsessed with not shipping non-free binaries - hence they have a 3D driver for nVidia included). However, this upgrade was worse than the last one. It installed that new "173" driver for my nVidia card, then promptly told me that it wasn't working.


So, be sure that there is a supported nVidia GPU in the system. Check - I did that before installing. Duh! Like I would wait until after the install to check that. OK, next - ensure that the nVidia device files have been created properly. Great! We'll do that! Uhm, how do we do that? Now, I know that on Linux and Unix IO is almost always to a file but what the heck am I supposed to do to check that they were created correctly? Maybe this should offer to fix it for me? Oh, wait - they have a link to the nVidia Readme. Or not. Instead just a vague reference to consulting the nVidia Readme and not a link. Where is this mystical file? Wait, this was just a less snotty way of saying "RTFM noob" wasn't it?

Even worse, on my system I could not even read the dialog as it was positioned off to the left so far that half of it was not even on the screen and it could not be moved (sync problem - it would not sync properly to my 20" 1600x1200 panel). I had to use a different screen just to read the message. Once I clicked OK, it would then show me some options. One of them was something about fixing the problem and reconfiguring. Great! I figured I don't know enough to boot to a console and go edit xconfig.org or some shit, so I would let the GUI do it. That worked great if what I was looking for was a blank screen. However, I was figuring even the normal drab brown Ubuntu default desktop would be better than a blank screen.

I gave up, and decided to try a different video card (an nVidia 6800 GT I had laying around). After finding that the new card took more power than my supply would put out (yes, the power supply actually emitted an over current alarm - a loud screech!), and finding out that the only bandaids in the house were some Disney ones (I always get cut plugging and unplugging molex connectors), I put the old card back in. I figured - I will just update the Windows XP partition and give up for now and re-install Ubuntu from CD (which I had downloaded).

I had already set XP to "standard VGA" in preparation for swapping cards. Since I didn't really end up swapping I just updated XP to the latest driver for the 5500 FX from the nVidia site. That was easy, just run setup. I then thought, well - one last try for the current Ubuntu install. Wham! It came up correctly. No warning about video not working, checking for supported GPU's or running sudo someshit.conf. It's up!

About this time I decided to check the notebook. It had survived the update pretty well. It has no sound now, but otherwise it worked. In fact, it has "some sound". The Ubuntu "enter your ID" sound works, and so does the login sound. But no apps can play sounds. Flash can't, and even the audio configuration applet only plays beeps. I give up on that one for now.

I then wanted to compare round-tripping some docx and xlsx files through OpenOffice with the latest Ubuntu. Whups! 8.10 comes with the 2.4.x branch and not the new 3.0.x series. I went to go upgrade, but Ubuntu won't upgrade it until 9.04. So I thought, the Backports - that'll have it. Apparently I am too early for that. So I went hunting on the internet and found this. Read it and weep. Weep for the "setup.exe" that I downloaded and installed in moments on the Windows XP partition. Apparently to install this Deb package I need type about as much text on the command line as this blog. I think I'll just go play with Open Office on Windows, Ubuntu had sapped enough productivity already this last weekend.