iRiver H140 (iHP-140)

The iRiver H140 (previously known as the iHP-140) is basically an iPod clone. It's roughly the same size as the iPod (2.36" wide, 0.95" thick and 4.13" tall, weighs 6.5 ounces). In addition to a 40GB disk, it has an FM tuner, analog and digital line in and out, plays MP3, WAV, ASF, WMA and (most importantly) Ogg audio files. You can read text files on the screen and record directly to MP3 or WAV from the built-in microphone or line in.

Boxes and Manuals

It came in a plastic box, one of those that you need a chainsaw to open. I have not read the manual yet.

First Thoughts

This thing is tiny. It's much smaller than I thought it would be, really just the same size as the regular iPod.

I first upgraded the firmware to version 1.40 from the iRiver support site. The firmware update went very smoothly.

Features and Usability

The menu system seems to be pretty good. I should probably read the manual, but I can navigate and play files easily. Just fiddle with it for a few minutes and you'll figure it out. I'll say it's harder to use than an iPod, but not by much.

I have not used the recording features, so I can't comment on them.

File Formats

I've been using Ogg files for a while, so I have a bunch encoded with the pre-1.0 encoder. Not all these are playable.

1.0 beta 4 - does not work
1.0 rc2 - works sometimes, not other times
1.0 rc3 - works
1.0 - works always

Connectivity in Linux

This device supports the standard USB mass storage spec, so it "just works" under Linux. Hook it up, and if you're watching /var/log/messages you should see something like this:

Edit your /etc/fstab file and add a line like this:

That'll enable you to type "mount /iriver" and see the files like they were on any other disk. Copy files to it using cp or whatever file manager you like. If you have a local music archive, you could also use rsync to synchronize your files if you don't want to keep them only on the H140. Also, since it's a "regular" disk, you can put whatever kind of file you want on it and use it as a portable backup for.

I've basically had no problems. Copying lots of files to the dist does seem to take a huge amount of CPU time. The load on my machine goes up to 9 or 10 which seems a little excessive for shuffling bits around. My laptop has only a USB 1.1 connection, so I've been using a Belkin USB 2.0 CardBus card (PCMCIA or PC-Card).

Interoperability with Linux tools

If you want to use the built in quick browser to look for music based on album name, genre, etc, you need to build a file called iRivNavi.iDB and place it in the root directory of the device. There is a windows tool that can build this database, but who wants to use windows?

iRipDB is a command-line tool for Linux that can build the database. I had problems compiling and running the tool, however, except for the pre-compiled windows version, but that's no good. Luckily the author of that tool as published the database file's format specification so you can build your own tools.

I have written a tool in Java that can create database files from scratch by scanning the files on the device. Unfortunately it can't read MP3 files, but everyone should be using Ogg anyway ;-) The tool relies on the oggtst tool (part of the ogg tools distribution) to read metadata off the ogg files.

The tool can also be used to convert a rhythmbox library XML file into the format read by the device. So in this case, you can manage the files directly using rhythmbox and then convert the rhythmbox DB to the native format for use when it's disconnected from the PC. The previously mentioned problem with MP3 files is not a problem if you use rhythmbox.

To create a new database from scratch, assuming you have the device mounted as /iriver, run the following command:

This will find all the .ogg files under /iriver and write a database file called /iriver/iRivNavi.iDB.

To convert an existing rhythmbox library database, use the following:

Rhythmbox stores its library XML files in ~/.gnome/rhythmbox, and the filename may be different depending on the name of your library. If your library is called "iRiver" then the file will probably be called "iRiver-2.1.xml" or something like that. The third argument is the mount point for the device, and the last argument is where to write the database file.

To convert an existing rhythmbox playlist to an M3U file:

I've also included a perl script to run everything. Given the path to a rhythmbox database file and the mount point of the device, it will convert the rhythmbox database and then try to convert all rhythmbox playlists, placing them in a directory called "playlists" on the root of the device.

To run it, type this:

You can download the jar file or a source code jar file. To run it you will need JDK 1.3 or above. Type "java -version" to check.

I provide no warranty for the software, etc, etc, etc. Thanks go to the author of iRipDB, who figured out the database format.

Macally Syncbox

The Macally Syncbox is a little box that runs on three AAA batteries and copies things from one USB mass storage device to another. It's got two USB ports, one labelled "SOURCE" and another labelled "TARGET" and when you click the button it copies things. It only supports USB 1.1, so don't expect blazingly fast transfers.

Each time you copy the files, it creates a directory called "SyncNNN" each time. So, first it makes "Sync001" then it makes "Sync002" and so on.

So, the iHP-140 is a regular USB mass storage device, and so is a USB compact flash card reader (basically all USB card readers work). So, plug the card reader into the "SOURCE" port and the iHP-140 into the "TARGET" port, and click the button. You can archive all the photos on the card and reformat it. No schlepping the laptop along just so you can re-use a CF card when you're traveling.

I copied 256MB and 512MB from a 512MB Crucial Technologies CF card, here's what I found:

256MB is about 380 files ranging in size from 600 KB to 900 KB, all files are JPEG images. That ends up being about 364 KB per second, about 21.3 MB per minute.

All I can say is that this device "just works". Copies the files, no problem. It would be nice if it did USB 2.0, but oh well. The only problem is that the iRiver file browser doesn't even show you files at all that it can't read. So, it looks like it copied the directories but not the files when you use the built-in browser to look around. It would be nice if it just showed the filename and maybe the size.