Updating my WikiReader - a tale of 7-Zip

19 October 2010, 21:41

I recently bought a WikiReader and as I am about to visit Shanghai I am keen to load up the Chinese Wikipedia. WikiReader also offers English Wiktionary and English Wikiquote, and no less than 13 other language editions of Wikipedia.

WikiReader takes microSDHC cards and they are freaking tiny. My WikiReader came with a 4Gb card and to fit multiple wikis on you would need more space than that, so at least 8Gb. I also needed a card reader to be able to put data on the card (my camera only takes regular SD cards and I don’t have a smartphone yet…). JB Hifi has a card reader for $25 (Soniq QMU62RB) and Officeworks has a 8Gb microSDHC card for $35. The 16Gb card is $75 which is pretty amazing when you remember the original price of this device is $100.

So plugging in my original 4Gb card, I find it looks like this:

The root directory.

The “enpedia” subdirectory.

The WikiReader runs on Forth. According to a page on the GitHub site, *.bmf files are fonts, *.elf are executables and *.4th *.4mu are “Forth related”.

OK, so now to creating my own update. I downloaded all the files I wanted from the update page and then went about unzipping them. This wasn’t as straight-forward as I would have liked, as I am not very familiar with 7-zip and it seems its Linux tools are not as good as tar.

To get 7z, on Ubuntu you need to install p7zip-full. Initially I was misled into installing just p7zip, which provides a utility called p7zip. However p7zip is, uh, low on utility:

brianna@brianna-desktop:~$ p7zip -h
Usage: /usr/bin/p7zip [-d] [-h|--help] [file]

    -h print this help
    -d decompress file

For one thing it just wilfully destroys any directory structure the zip might have had. It also freaks out about “multi-volume archives”, which is apparently what five files called enpedia-20100622.7z.001, enpedia-20100622.7z.002, enpedia-20100622.7z.003, enpedia-20100622.7z.004 and enpedia-20100622.7z.005 constitute. This seems to be a known bug.

brianna@brianna-desktop:~$ p7zip -d testzhpedia-20100612.7z.001 
/usr/bin/p7zip: testzhpedia-20100612.7z.001: unknown suffix -- ignored

I initially got around this by renaming my *.7z.001 to just be *.7z. This seemed to work, except for the enpedia ones.

Note, 7z doesn’t have a problem:

brianna@brianna-desktop:~$ 7z x testzhpedia-20100612.7z.001 

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=en_AU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: testzhpedia-20100612.7z.001
Everything is Ok

Folders: 1
Files: 42
Size:       471599864
Compressed: 462147500

See? The moral of the story is, p7zip is a waste of time.

When I did get 7z, I still had a problem, in that I could unzip the .001 file, but it wouldn’t touch the others, complaining Error: Can not open file as archive even if I renamed them to just *.7z. Then I got the idea that I should cat them all together, and the resulting file would be a valid *.7z that I could unzip. I think this is what I did, and I think it worked. However afterwards I wrote to the WikiReader support address and briefly explained the process I’d taken, and they replied

There’s no need to pull out the big cat gun :) Just install 7-zip and extract the first (*.7z.001) file and 7-zip will handle the rest.

Seems kinda magic to me… I don’t know if this is some standard feature of compression programs I’ve never run into before, or just a special trick 7-zip has. Can anyone shed some light there?

Anyway whatever I seemed to work because I put my card back in my WikiReader and… voila!

Before you type anything in the search, you can touch a “globe” icon to come to this screen, and then pick what project you want to search in. The two Chinese lines refer to different input methods.

The WikiReader is probably even better for reading Chinese than for English, because Chinese is more compact. Note the arrow in the top right – when you touch it, it shows/hides links to this same article in other languages on your WikiReader. They have preserved interwiki links! Bless their cotton socks. <3




Subscribe to comments on this post: rss / atom

Commenting is closed for this article.