Category Archives: General

SD And Me

When I got my Eee PC last December, I was exposed to 2 computer things I had never dealt with before: wireless networking and SD memory (yeah, I’m behind the curve technologically; what of it?). The Eee PC — at least the 701 — is not outfitted with a great deal of storage, only 4 GB SSD. An easy way to expand the capacity is to add an SD card. I did my homework on the technology because I saw that there were varying prices among many brands. Plus, they all seemed to be rated using an “X” speed. It turns out that this speed is the same as for compact discs (X = 150 kilobytes/sec, the minimum speed needed to play an audio CD).

I settled on a 133X PNY brand 2GB SD card for my Eee PC. The Xandros-based OS recognized it right away and it seemed to work just fine… except for one minor detail– its write speed was mind-bogglingly slow, about 350 kilobytes/sec, so about 2.5X. The read speed was fine, though. I clocked it in the range of at least 120X. This colored my perception of SD cards for much of this year — really fast to read and ludicrously slow to write — and I mainly used the SD card for storing large multimedia samples and other data that didn’t need to change often. I wondered how SD could be so widely used with such an abysmal write speed. It seems to be quite popular with cameras. I decided maybe that’s why cameras pack absurd amounts of RAM– to cache pictures until they can finally be dumped to storage. I asked other people about their experiences with SD memory but no one had thought to profile the stuff. Maybe they were fine with the slow write speeds?

I just bought a new digital camera and a 150X Transcend brand 2GB SD card. I couldn’t get the card to work in my camera (though the piddly 32 MB card included with the camera works fine). Before I returned the card, I decided to try it in my Eee PC. It worked pretty handily in there, so I proceeded to copy the data off of the PNY card and onto the Transcend card so I can perhaps use the PNY card in the camera. Large files were being written to the Transcend card in no time and so I profiled it a little more carefully. I saw write speeds of over 7 MB/sec. Okay, so this card definitely gets to live in my Eee PC.

But do I really want to put this slow PNY card in my camera? I decided to try the PNY one last time in the Eee PC. Suddenly, I saw outrageously high (compared to before) write speeds on the PNY. What’s going on?

One thing has changed in the interim: I have moved from using the Xandros-based Eee PC Linux to using Ubuntu-Eee. The only explanation I have at this point based on the available data is that the original OS had a really substandard SD card driver.

What have I learned from this exercise? I don’t know, maybe that I shouldn’t have such low expectations. If anyone cares about my precise methodology:

 # create a file of random garbage that is roughly 768 MB large
 $ dd if=/dev/urandom of=randomfile bs=1024 count=768000
 # this Eee PC has 512 MB of RAM; the file will not be cached in RAM
 $ dd if=randomfile of=sdcard/randomfile

The SD cards are formatted with ext2. This methodology is a little different than the one I found on ossguy’s blog where he profiled by reading and writing raw sectors. He did an undeniably thorough job, though, testing 5 cards against 3 different interfaces.

Further Adventures In Geeky Plates

Another geeky license plate observed here in the San Francisco bay area: ‘DMACH5’. The best I can think of is direct memory access (DMA) channel #5. Or perhaps DMA controller H5. I can’t possibly come up with any kind of cosmic, or technological significance for DMA channel 5. But someone thought it was unique enough to slap on his Lexus.

Then I saw ‘EFG FTW’. At first I thought the driver was just enthusiastic about medical equipment. But I realized I was thinking of EKG. My best guess is that this driver is, or was, a member of a pro gaming group named EFGaming that was apparently based in the area. That makes more sense.

Mini Considerations

I’ve been using Linux for 10 years now. I have successfully installed many distributions on a wide variety of computer systems. Well, desktop boxes, to be specific. More recently, you may have heard of a new class of machines gaining popularity: the so-called subnotebook, a.k.a. netbook. I have an early Asus Eee PC specimen. I like it, but it could be better. You might think that it would be easily tweakable to fit my exact tastes. Let’s break that down a bit.

Things that the Eee PC’s default Xandros-influenced installation does very well:

  • drive the Eee PC’s 7-inch 800×480 display
  • drivers for its wifi
  • drivers for its ethernet
  • automounting of SD card
  • automounting of optical discs via external USB drive
  • drivers for its audio output
  • hooks for all of the Eee’s special function keys (volume, muting, wifi toggle, screen settings)
  • unobtrusive application to monitor battery level
  • proper suspend support (not that it’s really necessary since the unit boots and shuts down so quickly)

Things that the default installation does not do well:

  • package management (I think the latest Firefox available is 2.0.0.11 and forget about Firefox 3 series since the system doesn’t have a recent enough version of GTK); the default install has a selection of common software but it becomes difficult to deviate at all

It’s possible to add more URLs to the Debian-style package manager. But every time I do that, I eventually end up with a complete mess of conflicting software.

So there’s the possibility of installing your own OS. However, you run the very real risk of losing all of the benefits enumerated above. Many distros are trying to step up to the challenge, though. One of the first I heard about was eeebuntu, a customized version of the popular Ubuntu distribution. I tried it. It didn’t boot on my Eee 701. There is an eeedora distribution, based on the Fedora distro, that claims to have its act together and is a possible candidate. Then there’s Gentoo, which can certainly do anything that Linux is advertised to do. A favorite hacker’s distribution; a little searching turns up some easy 76-step (or so) guides to getting Gentoo to run on the Eee with some fraction of the above features eventually functional.

I was about to acquiesce and revert back to the stock Eee-Xandros when I learned about Ubuntu-Eee today, which is different than eeebuntu. Bottom line: Very nice. It’s based on Ubuntu 8.04.1 and has the solid package management that you would expect. The screen works at the proper resolution. The wireless works out of the box (not sure if the ethernet works). Automounting of sdcard is there. I was worried about lack of a battery meter until I unplugged the power– that’s when the battery meter showed up, along with a dialog that the power was disconnected. The brightness function keys even work. Not all the special function keys work correctly, though. The wireless toggle signals the wireless to be shut down but does not actually turn off the wireless as indicated by the Eee’s LED. And I can’t fix the wireless state without a reboot. And the volume up/down/mute keys are useless– audio is always on. Not even the volume slider on the panel UI does anything.

Still, this is better than I expected. I may still be able to get some use out of this Eee PC yet.

Very promising stuff, all around. There are also rumblings that Mandriva wants to work with netbook manufacturers to provide netbook-tailored distributions. This sounds like a good plan since most evidence seems to indicate that the manufacturers are good at hardware and not software, and are pushing these units out the door as fast as possible with little regard to end user experience. It would be nice if they would collaborate better with the people who know software. Otherwise, we will continue to read stories like the current crop making the rounds stating that few customers seem to be happy with the default Linux netbook experience.

Hero Of The Samples Archive

Check out compn’s project/goal, listed on his MultimediaWiki user page, which he affectionately refers to as the Sample Challenge:

  1. start with older files
  2. google the filename to see if it was posted to the mplayer/ffmpeg mailing list
  3. do a search at http://bugzilla.mplayerhq.hu and http://roundup.mplayerhq.hu to see if it was posted there
  4. if no text file exists, try playback using mplayer and ffplay
  5. move sample to appropriate place and create/modify bugreport or delete

For extra credit, write up a brief description in the MultimediaWiki with cursory findings.

Godspeed, compn.