Archive for March, 2007

802.11n draft 2.0 passes the 75% hurdle

Monday, March 12th, 2007

Two months ago in London, the IEEE 802.11 working group sent out a new 802.11n draft out for a vote.

The ballot closed on Friday. I’m sitting in the opening plenary for this week’s IEEE 802.11 meeting in Orlando, and the results of the ballot have just been reported. The short of it is that draft 2.0 did receive a 75% supermajority. Due to the interest in the draft, Stuart Kerry, the 802.11 working group chair, announced that the 2.0 draft would be made available for sale by the IEEE.

For the curious, here are the facts:

  • 325 voters were eligible to participate in the ballot. 306 (94.2%) did. (There is a floor on the return ratio which must be met before a ballot result is followed.)
  • 231 voters approved of the draft, which at 83.4% handily surpassed the 75% threshold required to move forward. From this point on, the 802.11n draft will go through what’s called a “recirculation” ballot. Subsequent drafts will go back to the same set of voters from January as long the approval rate stays above 75%.
  • There were 46 votes (16.6%) not in favor of approving, and 28 abstensions (9.2%). Four votes were invalid and not counted.
  • There is likely to be some minor change to the draft going forward. It received 3,163 comments (including duplicates). The task group leadership did some basic comment processing, and reported that there are 1,441 unique editorial comments and 1,635 unique technical comments.

It’s not quite correct to say that the draft has “passed,” since it’s not yet moving on to the next stage of the IEEE process (called a “sponsor ballot”). However, it’s clear from the results that the draft is technically solid. While there may be some minor changes to the existing text before ratification, it seems almost certain that the major features have taken shape, especially since draft 2 is going to be used as the basis for Wi-Fi certification efforts.

Counting lessons from the California Secretary of State

Sunday, March 11th, 2007

On Thursday, I was at the San Francisco regional office of the California Secretary of State to file some paperwork. Even in this electronic world, there are still legal things actions that must be taken with original paperwork. To incorporate a non-profit business, the instructions on the web say that you need 4 copies of the articles and 2 originals. I dutifully showed up with six pieces of paper, at which point, the clerk explained to me that it’s four total copies, not four photocopies. (“Most people show up with too few copies. You’re one of the rare ones with too many,” she said.)

What was I incorporating? Well, that’s a secret that I have to keep for the time being, but I should be able to write more about soon. Stay tuned…

Google Mobile adds traffic (and crashes)

Sunday, March 11th, 2007

A couple of weeks ago, I fired up what used to be called Google Local for Mobile on my Nokia, and it dutifully informed me that the software had been updated. The new release, called Google Maps for Mobile, is a significant step up for me because it adds real-time traffic at the push of a button. When I was driving to an IEEE ad hoc meeting in San Jose, I used the traffic displays to dynamically re-route myself in response to traffic conditions.

It’s not all pleasant, though. The version that I downloaded on to the Motorola RAZR crashes the phone on a search. I can start up the application just fine, but just before a search completes, the screen goes blank and the phone reboots. I have to believe that this is a RAZR bug, rather than a Google bug, since the map program is implemented in Java, and the Java VM should protect the phone OS from anything bad in the application.

Y2K7 travel-related fun

Sunday, March 11th, 2007

I’m flying to Orlando for the IEEE today. Unfortunately, a cross-country trip burns the whole day on the airplane, so I had to catch a 7:40 am flight this morning. On Friday morning, American Airlines helpfully sent me this e-mail:

From: American Airlines [americanairlines@info.aa.com]
To: Matthew Gast

It’s that time of year again – time to set those clocks ahead an hour. And this year, Daylight-Saving Time arrives even earlier. So, after you pack your bags and review your itinerary Saturday night, don’t forget to “spring forward”. We don’t want you to miss your flight this Sunday.

While I’m pleased that they felt the need to notify me, e-mail is the wrong way to do it. My e-mail box overflows with spam and mailing lists, so there was no guarantee that the message would get to me.

“Unexpected” changes are one of the reasons I signed up for flight paging to my cell phone years ago. (American could learn a few lessons from United. United pages any flight with my frequently flier number, whereas on American, I need to manually create notifications for any flights after pulling them up on the American site.)

I didn’t rely on my mobile phone this morning, and that’s good. American didn’t deliver my flight page at all for the first flight of the day. Curiously, they did deliver the notification for my second flight while I was in the air on the first one. Furthermore, T-Mobile’s automatic time update didn’t hit the phone’s clock until about 6:30 this morning, so it was also lagging by an hour.

My old-fashioned alarm clock came through again. As I was leaving the house, I noticed that my NTP-connected machines (Myth and Asterisk) had correctly updated their clocks, but the VCR that pulls the time signal from PBS had not.

Y2K7 fun in MythTV

Saturday, March 10th, 2007

I’m going to be away from my MythTV system for the IEEE 802.11 meeting in Orlando next week, so I had to update my MythTV system with the latest timezone fix. Getting the time zone data loaded correctly was just the start of the process, though.

After updating the time zone, I checked the recording schedule for the coming week, and noticed that everything was off by an hour. As an example, a repeat of House is airing on Monday at 8 pm. Immediately prior to the time zone update, everything was fine. When I checked on the recording schedule after the time zone update, everything had shifted one hour earlier. (House was “updated” to record at 7 pm, and when I clicked through to it in MythTV, it showed me what was actually airing at 7 pm.) To clear everything out, I had to reboot the system and run mythfilldatabase –refresh-all to reload all the data for the next two weeks. It appears that data was initially loaded into the database assuming the daylight time cutover of April 1 so that everything was off by an hour when the cutover data magically moved up to March 11. Fortunately, it was easy to fix by reloading all the data after the time zone rules were installed correctly.

Switching to the Air2PC HD-5000 capture cards for MythTV

Saturday, March 10th, 2007

When I built my first MythTV system, I used the pcHDTV HD-3000 card. I’ve since switched to the AirStar HD-5000 because the tuner is much better.

About six months before I built the MythTV system, I started with a Hughes HTL-HD set-top box. Back then, I could tell that the tuner in the HTL-HD was significantly better than the pcHDTV card. When I was struggling to get the pcHDTV card to lock up on a signal, the HTL-HD would give significantly better picture quality. Now, the situation is reversed. In almost all cases, the Air2PC card tuner performs significantly better than the HTL-HD tuner. It’s common for the Myth to lock up on a channel and receive a perfect picture while the HTL-HD struggles.

MythTV has a function in LiveTV playback that is supposed to report signal strength and quality (hit F7), but the function doesn’t work with the Air2PC driver. As a result, I can’t really conclude in a quantitative way how much “better” the Air2PC card is. I haven’t tested the pcHDTV HD-5500, but I would assume it is comparable to the Air2PC card. I believe they both use the same late-model LG tuner, though it’s hard to tell from the data sheets.

Timezones on Gentoo

Friday, March 9th, 2007

When I was in college, I had a subscription to the Wall Street Journal for one of my economics classes. For some reason, one of the ads that really struck me from that semester was an ad for ADP, the payroll processing company. It was a really small ad, about one inch wide by two inches high. There was a photo of the U.S. Capitol building, with the tagline “Every year, these guys come up with more reasons for you to hire us,” and the ADP logo at the bottom.

Network administrators are saying the same thing with the early shift to daylight time this year in the U.S. The shift is particularly noteworthy to me, since I need to get to the airport for a flight to the Orlando IEEE. Beyond that, while I’m gone, I want to ensure that my MythTV system starts recording at the right time.

Which, if I hadn’t been paying attention, it wouldn’t have:
myth# zdump -v /etc/localtime | grep 2007
/etc/localtime Sun Apr 1 09:59:59 2007 UTC = Sun Apr 1 01:59:59 2007 PST isdst=0
/etc/localtime Sun Apr 1 10:00:00 2007 UTC = Sun Apr 1 03:00:00 2007 PDT isdst=1
/etc/localtime Sun Oct 28 08:59:59 2007 UTC = Sun Oct 28 01:59:59 2007 PDT isdst=1
/etc/localtime Sun Oct 28 09:00:00 2007 UTC = Sun Oct 28 01:00:00 2007 PST isdst=0

The MythTV system was built in 2005. Fortunately, all I needed to do was get the new timezone data files with an emerge timezone-data, and I was back in business:

myth# zdump -v /etc/localtime | grep 2007
/etc/localtime Sun Mar 11 09:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 PST isdst=0
/etc/localtime Sun Mar 11 10:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 PDT isdst=1
/etc/localtime Sun Nov 4 08:59:59 2007 UTC = Sun Nov 4 01:59:59 2007 PDT isdst=1
/etc/localtime Sun Nov 4 09:00:00 2007 UTC = Sun Nov 4 01:00:00 2007 PST isdst=0

I’d rather just get rid of daylight time. In addition to the fun caused by changing software every time there’s a rule change (though I like the “Y2K7″ label), some studies indicate that increased air conditioning usage negates the energy-saving effects from reduced lighting, leading to a slight energy cost.

Automake version mismatch breaks a Gentoo ebuild

Sunday, March 4th, 2007

I was working on one of my Gentoo systems over the weekend, and there was a point at which I needed to merge the GNU TLS package. On my first attempt, the package installation seemed to be going along OK, but the package died. The only hint was a message about the version of automake that I had installed, versus what the package was built with.

>>> Emerging (1 of 15) net-libs/gnutls-1.4.4-r1 to /
* gnutls-1.4.4.tar.bz2 MD5 ; – ) … [ ok ]
* gnutls-1.4.4.tar.bz2 RMD160 ; – ) … [ ok ]
* gnutls-1.4.4.tar.bz2 SHA1 ; – ) … [ ok ]
* gnutls-1.4.4.tar.bz2 SHA256 ; – ) … [ ok ]
* gnutls-1.4.4.tar.bz2 size ; – ) … [ ok ]
* checking ebuild checksums ; – ) … [ ok ]
* checking auxfile checksums ; – ) … [ ok ]
* checking miscfile checksums ; – ) … [ ok ]
* checking gnutls-1.4.4.tar.bz2 ; – ) … [ ok ]
>>> Unpacking source…
>>> Unpacking gnutls-1.4.4.tar.bz2 to /var/tmp/portage/gnutls-1.4.4-r1/work
* Applying gnutls-1.4.4-selflink.patch … [ ok ]
* Running elibtoolize in: gnutls-1.4.4
* Applying portage-1.5.10.patch …
* Applying max_cmd_len-1.5.20.patch …
* Applying sed-1.5.6.patch …
* Automake used for the package (1.9.6) differs from
* the installed version (1.9.5).

Once I upgraded automake, the package installed fine. Clearly, I need to talk to my sysadmin about keeping the build environment up to date!

Streaming video to a taxi (or, maybe Slingboxes might be useful to me after all)

Sunday, March 4th, 2007

Ryan McIntyre wrote about watching TV from a taxi on the way to the airport. (Parenthetically, I’ll note that Dulles is possibly my least favorite airport. I grew up in Chicago, so O’Hare was the formative airport of my youth. Let’s face it, I have really low standards for airports. Dulles is just bad.)

I’ve always been intrigued by the idea of a Slingbox, though I haven’t felt the need to run out and buy one. My TV is captured with a MythTV system, so I have full access to the recordings I make with it. I can either get a full-resolution video stream right away, or transcode videos down to a reasonable size for transport (a process which looks more attractive after my recent upgrade). The choice that I make tends to depend on how much video I need; when I was traveling throughout Asia in 2005, I tended to wait for the 300 MB/hour video so I could carry a huge amount with me on the plane. If I just want something to occupy my train ride between home and the office, I’ll take the uncompressed version.

The dependence of the Slingbox on a network connection has kept it from being useful to me, since my travels involve lots of airplane time, where there is no wireless WAN coverage, or international destinations, where the data roaming charges are far too high to spend the money on video transfer. With this sort of a usage, though, I can understand why it might be cool to have one. Transcoding takes a bunch of CPU time before the compressed video is prepared. Generally, when I want to pick up the transcoded video, I’m traveling internationally, so it’s not particularly onerous to wait the couple of hours it takes to prepare. However, if I were to travel to places that have smaller time-zone shifts, I might want the video faster than I could get it transcoded down to a small size.

I’m not ready to race out and buy one. My international travels keep me firmly entrenched in the GSM world, where the mobile data rates are a bit lower than the systems that are widely deployed in the U.S., and in any case, the charge for a high-speed mobile data link would result in a monster roaming charge.

I wonder how much longer this type of application will be possible. Though they are easier to add users to, and far easier to be in motion while connected to, wireless networks can be harder to expand in terms of capacity. The temptation with any shared last-hop type network is to sell as many subscriptions as possible, and to figure out the minimum required service level by managing the subscriber churn rate. I doubt that very few people will drop the service over a data rate that “only” reaches 400 kbps and is useful for everything but streaming video.

Another note: this type of story is why I have spent much of my career as what I affectionately describe as a “network plumber.” If you build the pipes, people always figure out how to use them.

Upgrading nuvexport to version 0.4

Sunday, March 4th, 2007

This weekend, I decided to update nuvexport from version 0.3, the version that I’d used back in December 2005, when I first wrote about it for Linux Journal.

As part of that process, I’m reminded how much I love package systems. When I first attempted to install it, Gentoo’s Portage system told me about all that I was missing. It told me that I needed to modify my transcode support:

* media-video/transcode is missing mjpeg support. Please add
* ‘mjpeg’ to your USE flags, and re-emerge media-video/transcode.

!!! ERROR: media-tv/nuvexport-0.4_p20061203 failed.
Call stack:
ebuild.sh, line 1562: Called dyn_setup
ebuild.sh, line 665: Called pkg_setup
nuvexport-0.4_p20061203.ebuild, line 30: Called die

!!! transcode needs mjpeg support
!!! If you need support, post the topmost build error, and the call stack if relevant.

Rebuilding transcode with USE=”mjpeg mpeg mp3 jpeg a52 xml” emerge transcode ook care of that problem, and I was on my way.

Next up, the old version of ffmpeg that I’d installed was no longer any good:
* media-video/ffmpeg is missing necessary support. Please add
* ‘aac encode threads xvid’ to your USE flags, and re-emerge
* media-video/ffmpeg.

!!! ERROR: media-tv/nuvexport-0.4_p20061203 failed.
Call stack:
ebuild.sh, line 1562: Called dyn_setup
ebuild.sh, line 665: Called pkg_setup
nuvexport-0.4_p20061203.ebuild, line 37: Called die

!!! ffmpeg needs USE=’aac encode threads xvid’
!!! If you need support, post the topmost build error, and the call stack if relevant.

The new ffmpeg that emerge wanted to bring in was far newer, too. I’d had lots of problems with the existing version of mpeg, and had been using mencoder instead since installation. ffmpeg would run fine, but on anything greater than a half hour program, the mythtranscode process would grow until it had consumed 85% of the system memory and swapping would grind the system to a halt. That was too bad, since ffmpeg is much faster than mencoder. I’ve since upgraded MythTV, so I had hopes that I could use ffmpeg. To make emerge happy, I ran the command USE=”3dnow aac encode threads xvid flac” emerge ffmpeg.

With the previous version, there were a few points that I had to discover and work into my current practice (use mencoder instead of ffmpeg, don’t use the cutlist). With the new version, many of the bugs have been fixed. A few notes on the new version:

  • It’s possible to export even hour-long HDTV programs with ffmpeg. The bug in mythtranscode that resulted in its monster memory consumption has been fixed. That’s great, because ffmpeg is so much faster than mencoder. mencoder would require about six hours to export a 720p program to XviD; two-pass encoding with ffmpeg takes only three and a half.
  • ffmpeg also provides great file size benefits. The two-pass XviD encoding increases quality in addition to reducing file size. On my first try, a one-pass hour-long 720p program turned out as an 881 MB file. Two-pass encoding of the same video stream looks even better, and it’s only 485 MB to boot! (Video transcoding options were identical.)
  • Using the cutlist works. With the previous version, any time I tried to use the cutlist, the transcoding programs would bomb out right after starting. Now, when I use the MythTV cutlist, everything works fine. It saves time because I don’t need to compute heavily on the commercials, and the resulting file is a bit smaller. Once I enabled the cutlist, that 485 MB hour-long program became 347 MB.