Enthusiasm never stops


The Super Micro IPMI Console + Java are killing me

I don’t know if it’s Java or the Super Micro IPMI developers to blame, or both. One thing is for sure – I rarely need it, but almost each time I want to use the server-critical “Console Redirection” feature on our Super Micro servers, there is some problem with the Java applet. Thus I’m not able to access the remote console of the server quickly, which in turn gets me real headache.

Today, it’s the “Launch Console” button doing absolutely nothing on my Kubuntu desktop – no errors, no action after clicking it, no nothing. I (always) have a “backup option” – a Windows 7 virtual machine running on my desktop, as Java tends to work better for me on Windows (cross-platform, eh?). Same problem on the Windows too. As I’m a real paranoid about having a backup, I have a backup of the “backup option” – X over VNC, running on
some not-so-bleeding-edge Linux machines, in order to have a “stable” Java installation there. Though the Java failed on them today as well, as they are running Debian “lenny”, which seems to be having the latest Java version 1.6.20 too.

Well… sorry Java applets + Super Micro IPMI, you really disappoint me! :-/

27/Mar/2012: Resolution: Use the IPMIView application which does not rely on web browsers. Tested with Java Version 6 Update 31 (build 1.6.0_31) on Windows 7. Note that IPMIView does not provide a KVM console for older versions of the Super Micro IPMI devices — the good news is that those devices work well within a web browser. πŸ™‚

The (ugly) fix is to downgrade your Java to 1.6.19 (and disable automatic Java updates):

Update #1: I downgraded to Java 1.6.19 on my Windows 7 by:

  1. Uninstalling the Java 1.6.20 JRE update.
  2. Installing the Java 1.6.19 JRE update which I downloaded from the “Archive: Java[tm] Technology Products Download” page.
  3. Being able to get this working only with Chrome. Firefox and IE 8 failed to work.

Update #2: Linux doesn’t seem to be having any problems. Firefox 3.6.3 on Ubuntu and Gentoo with Sun Java 1.6.20 works fine.

Update #3: If you upgrade the IPMI firmware to version 2.02, the Windows problem is fixed.

Here is some debug info from the Debian “lenny” Iceweasel browser, the only one which issued an error:

Unable to launch ATEN Java iKVM Viewer.
An error occurred while launching/running the application.

Title: ATEN Java iKVM Viewer
Vendor: ATEN
Category: Download Error

Unable to load resource: (https://%IP%/iKVM.jar,×0)

Wrapped Exception: java.io.IOException: HTTP response 404.

At the same time, the Java test page works fine. The version on the Debian “lenny” “sun-java6-jre” package is “6-20-01lenny1” (Java JRE 1.6.20).

The same problem is re-produced on:

  • Windows 7, running Java 1.6.20, under IE 8, Firefox 3.6.3 and Chrome 5.0.375.99.
  • Kubuntu Lucid, running OpenJDK 6 build b18, under Firefox 3.6.3.

The Firmware Revision of the IPMI interface on the X8DTL motherboard is 01.29, dated 2010-01-06. It’s not the latest one, but surely not a very old one. After all, you can’t reboot your production servers for every IPMI firmware release…

Anyway, I try not to write articles with negative attitude, but this time I just couldn’t resist.
Java, Java, Java… πŸ™‚


2G GPRS vs. 3G UMTS connection battery usage on mobile phones

Very often I hear the statement – don’t leave your phone registered to the UMTS (3G) or GPRS (2G) network, as this will decrease its battery life and you’ll need to charge it more often.

Today I decided to bust this myth and also to compare if UMTS (3G) uses more battery power than the slower GPRS (2G) transfer standard.

The theoretical speeds of the GSM standards in question follow:
GPRS (2G) – up to 114 kbps (~14 Kbytes/s)
UMTS (3G) – up to 2 Mbps (~250 Kbytes/s)

The following was tested with a Nokia 5800 XpressMusic via a Bluetooth connection to a computer. The Bluetooth connection itself uses some power but my measurements show that its usage is about 0.15W, so we will consider it negligible for our benchmarks.
The power usage was measured using Nokia Energy Profiler.

So here are the end results about power usage in different scenarios:

  • 0.40W – no connections at all.
  • 0.40W – no Bluetooth connection, just registered to 2G or 3G network.
  • 0.52W – Bluetooth and 2G or 3G connections established, but connections are idle.
  • 1.27W – 8 Kbytes/s (64 kbps) download via 2G.
  • 1.69W – 65 Kbytes/s (520 kbps) download via 3G.
  • 1.73W – 120 Kbytes/s (960 kbps) download via 3G directly from mobile phone, no Bluetooth. If we add the Bluetooth power usage, this would sum to up to 1.90W.

The myth is busted: Leaving your phone registered to the 2G or 3G network shouldn’t drain up your battery faster, if you make no traffic to the 2G or 3G network.
Update: Maybe I spoke too early. As “varnav” commented below, the 3G mode may make your talk time 2+ times less. At least that’s what the technical specifications of iPhone show. I haven’t tested this but I doubt it that Apple haven’t, so they are probably right, at least for their iPhone models. πŸ™‚
Conclusion: You should use 3G if you are about to make data transfers and probably it is better to turn it off after that. Nokia 5800 has an option to enable the 2G/3G data connection only when data is about to be transferred, and this is what I currently use as settings.

Let’s analyze if 2G or 3G uses more power if you start making data transfers. First impression is that 3G uses more power. However its transfer speed is much greater, so the overall Watts usage for the same downloaded size will be smaller, which makes 3G more efficient and thus less power consuming in practice.

Here is an example to illustrate the above statement. Let’s assume that we want to download 1000 Kbytes:

  • 2G: 1000 Kbytes at download speed 8 Kbytes/s will take 125 seconds. At the power usage of 1.27W this will take about 159 Watts-seconds (125 seconds * 1.27 Watts).
  • 3G: 1000 Kbytes at download speed 65 Kbytes/s will take 15 seconds. At the power usage of 1.69W this will take 26 Watts-seconds (15 seconds * 1.69 Watts).

Therefore, using 3G the consumption has decreased to 16.3%! Yes, in this case 3G would use six times less energy from the phone battery, if we downloaded the same amount of data using 2G, at maximum speeds.

One interesting power usage pattern by 3G is that when you stop the data transfer, the power usage doesn’t drop immediately to the full idle state. Instead, about 0.80W is drained for about 30 seconds, and then the connection is put in total idle state. Review the power usage images below, in order to get a better idea of what I mean. Even if we add up these 24 Watts-seconds (30 seconds * 0.80 Watts) to the above calculations, 3G would still use 318% less energy.

Leave a comment

AVR programmer using Bifferboard as a GPIO hardware interface

If you don’t have time to read on, here are the solutions which I’m aware of:

…read on if you are interested in the story of the above solutions and how they came to the world.

The open-source community is very strange by its nature. Motivating people to work for free is not a straightforward task, as you’ll see from the following story.

I needed an AVR programmer as I’m switching from Microchip to Atmel AVR microcontrollers, because their toolchain is free and open-source. And they also match the price and features of Microchip in general, at least for my needs. I didn’t want to buy any hardware programmers, as I already had the Bifferboard which supports GPIO.

So I decided to code an AVR programmer in Perl myself, for fun and education, and because the C code of avrdude seems too unclean and lacks documentation. That’s how biffavrprog was “born” and I offered it to the Bifferboard mailing list. You can review the thread about it.

You’ll notice that shortly after that, like about an hour later, I was criticized about why I re-implemented it all in Perl from scratch. Many valid arguments were mentioned, I explained my reasons too, but the most important lesson here is that… After a day, Radoslav Kolev developed a patch for avrdude, later on Biff made it faster, and in the end I managed to get the community involved in something of which they were only thinking doing “some day”.

An interesting way to inspire the open-source community… πŸ™‚


Review of the Super Micro BMC IPMI card for the X8DTL motherboards

This review applies for the BMC IPMI card which is installed on the following Super Micro X8DTL Xeon motherboards:

A colleague and I tested this on a X8DTL-iF motherboard using the latest IPMI firmware for “IPMI_8DTL”, revision 1.29.

My overall opinion about this IPMI software is that it doesn’t cover the stability and functional expectations for a mission-critial management interface. The previous AOC-SIM1U(+) IPMI cards for the Super Micro X7DVL-E motherboard were much, much better and usable.

So here a list with the issues, and possible workarounds for them:

  • The “Launch Console” button of the “Console Redirection” feature does nothing under Java 1.6.20 on Windows.
    Resolution: Review the other article about Super Micro IPMI Console + Java.
  • They do not use compression for the video traffic, or it’s very weak!!! For the Debian install menu @4 FPS you need about 13 MBit/s bandwidth for a single KVM console. If you are not on a LAN with the IPMI device, prepare for noticeable lag. If you are administering the IPMI device overseas, you are in trouble… Tested on Linux, Windows and Mac.
    Partial resolution: In the remote console Java applet, navigate to Options -> Preferences -> Display, and then select “Low Color (Lighter Traffic)”. This makes the traffic noticeably less. This was reported by zImage.
  • The CTRL and/or ALT keys sometimes remain pressed down, even if you haven’t used them. If you are in a Debian installer menu, this will get you quite a lot of trouble. If you are on the LILO console, you may think that the keyboard doesn’t work at all.
    Resolution: Press CTRL and then ALT shortly on your keyboard.
  • We managed to break the VNC port of the KVM console just by trying to connect to it with a VNC client on port 5900. Beware if you are exposing your IPMI device on a public IP address.
    Resolution: Re-power the whole server to fix the IPMI device. Set up ACLs for the network access to your IPMI devices. Update: As Simon commented below, you can reset the IPMI device via the web interface: Maintenance -> Unit Reset. This won’t reboot your server.
  • If you leave the network KVM console opened idle on Windows, it suddenly disconnects.
  • Changing the zoom options for the KVM console renders the screen unusable.
  • Some keys repeat even if you are on a LAN. This happens not very often though.
  • There is a slight lag for the keyboard response, even on a LAN.
  • The web interface is full of AJAX scripts. This makes it unusable on Safari. They are trying to impress System Administrators with AJAX on the mission-critical management interfaces?? Furthermore, the AJAX error-handling is terrible – if there is a connection problem and you initiated some action, the AJAX happily returns “Configuration saved”, and actually nothing gets done… Nevertheless, the web interface works in general.
  • Too much JavaScript – you cannot submit forms by hitting Enter.
    Resolution: You need to click on the “Submit” button or navigate to it via TAB and then press Enter.
  • The firmware update from 1.02 to 1.29 erased the previous IPMI config. The firmware flashing process was done via the web interface of the IPMI card.
    Resolution: First upgrade firmware, then configure the IPMI IP and other settings.
  • While configuring the IPMI via BIOS with a locally attached keyboard and monitor, there is a noticeable lag while you type.

It’s worth mentioning that the ideas they tried to implement are good – they have screen capturing feature and all the other IPMI features we had in the previous releases. Only the implementation is weak.

The OS’es we tested with are:

  • Kubuntu Karmic 32bit, Java 6.
  • Mac OS X Leopard 10.5, Java 5.
  • Windows Vista Home Premium SP1 32bit, Java 6.

So in general, this new IPMI software is a big disappointment and makes me very insecure if I can depend on this management device in a critical moment. It does work somehow, but this is not what I expect from a production-ready product.

Mar/14: I contacted Super Micro Support at their official email address (support@Supermicro.com) but got no reply. The reason I wrote them was to attract their attention to the reported bugs, and asked them if they want me to not disclose them for a while.
Mar/15: I contacted their European Support Team (support@supermicro.nl), as my colleagues advised because they are more responsible. Here is what they replied: “I have forwarded your mail to our software engineer and PM to check it. We will get back to you later“.
Later in March: They didn’t write me back any more but have released several new firmwares since then – v1.31 03/09 and v1.34 04/07. Here are the changelogs (you have to click “show source” to see them), I haven’t tried the newest firmware yet:

ATEN Firmware v1.34 04/07:
1. Fix "can't read power from ME" (ipmitool xxx raw 0x30 0xe2 00 00)
2. Fix X8SIT HDD Smart Error string spacing: Disk0 Smart failure (issue# 22816). X8SIU: Set NMI output to low when power fail.
2. H8DGU: Set GPIO34 output to low when firmware initializes (for APML, requested by hardware)
3. H8SGL, H8DGG & H8DGT: Set GPIO34 output to high when firmware initializes (for APML, requested by hardware)
4. X8DTN+(boardID 0x060f), X8DTU-LN4F+(boardID 0x060c), X8DTU-6TF(boardID 0x060d): Modify CPU temperature to display as low/medium/high (issue #22721); Modify DDR TM2 and upper threshold to 65 degrees. (issue #22795)
1. X7SPA: Add sensor +3.3VSB and VBAT to sync with BIOS sensor items (issue# 20992)
2. X7SPA, X8DTN+, H8SGL, H8DGU, H8DGG, H8DGT: Add deassertion event for chassis intrusion (issue# 22250)
3. Modify power supply status to use GPIO for X8DTN+ (issue# 22490)

ATEN Firmware v1.31 03/15:
1. Add X8DTU-6TF sensor reading (new board)
2. H8DGU & H8SGL: Fix CPU temperature does not change (issue# 20868 & 22477)
3. Fix the issue iKVM record video and screen capture does not work under MAC OS.
4. Fix the issue preferences cannot be saved in full screen mode under MAC OS.
5. Fix the issue Japanese web is no longer working.

ATEN Firmware v1.31 03/09:
1. H8DGU & H8SGL: Fix CPU temperature does not change (issue# 20868 & 22477)
2. Fix the issue iKVM record video and screen capture does not work under MAC OS.
3. Fix the issue preferences cannot be saved in full screen mode under MAC OS.
4. Fix the issue Japanese web is no longer working.

ATEN Firmware v1.30 02/26:
1. X8SIT: Add NMI out when power fail
2. H8DGT: Add hardware monitor
3. H8DGG: Add fan control according to GPU1 and GPU2 temperature

ATEN Firmware v1.30 02/17:
1. H8DGG-QF: Add GPU temp reading and maximum fan control
2. X8DTL: Modify DIMM temp upper threshold to 85,90,95

ATEN Firmware v1.30 02/12:
1. Fix 'not able to login after flashing firmware until clear cache and reopen browser'
2. Modify IPMB to fix BMC fails during AC on/off stress test
3. Fix H8DGG sensors and H8SGL chassis intrusion
4. Fix SSL certificate issue (for X8SIL customer)

ATEN Firmware v1.29 02/05:
1. Modify H8SGL and H8DGU sensor threshold: +1.1V, CPU DIMM, and Chassis Intrusion (IssueID=21765). Please reset IPMI to 'Factory Default' on Maintenance webpage after flashing firmware.
2. Fix system shows 'BMC fails' on X8DTL (IssueID=21861)

ATEN Firmware v1.29 02/02:
1. Java KVM supports MAC OS (require java 1.6 update14+ plugin) (Please clear the cache and reopen your browser if you're not able to login after flashing firmware)
2. Support recording video as a standard video format

1 Comment

Super Micro chassis rails by Repon rock!

I just wanted to share my excitement about the new Super Micro chassis. I’m very pleased with how the rails of the SC835 and the SC846 cases are extremely easily mounted. By the way, the rails were made by Repon, at least this is what the logo on the rails says.

It’s nothing revolutionary, and Dell chassis are having this for a longer time I think, but Super Micro caught up and kept me a very happy customer of theirs. Actually the company I work for is a customer of theirs, I’m just a System Administrator who happens to be installing a whole bunch of new Super Micro servers.

Bottom line is that the new rails mount in the rack without the usage of any tools or rack bolts/nuts. You can mount them with your bare hands. What’s the big deal with this? You spend almost no time in mounting the rails. Good work Super Micro, and Repon!

The mounting process follows in images. Sorry for the bad photo quality.