KOReader on Kobo
Another e-cycled device Martin?
So I found an old Kobo Glo in a charity shop for 10 recently and was not too sure what to do with it. The intention was to read more, but…
So I found an old Kobo Glo in a charity shop for 10 recently and was not too sure what to do with it. The intention was to read more, but…
- How does the e-reader ecosystem work?
- How does it work for me?
- What fun things can I do with it?
I was aware of Calibre and ebook management software already. I planned to utilise this and manage my personal library but this project quickly became so much more than just obtaining a tablet with an eInk screen!
Getting to a usable state
Unfortunately the device appeared to be locked to the account of the previous owner. This wasn't an issue, but there was no books I wanted to read and I didn't want their personal details. I factory reset the device which left me at the setup screen.
As with all devices like this, the online set up requires an account. Unfortunately, which took some time to debug, I realised that the software version I was on was causing the WiFi connection to fail. There was no error as such just a timeout when connecting to WiFi. I tried hot-spotting and also setup a 2.5g guest network in the case this device needed it.
Nothing was working
From some research online I realised this had a lot to do with the version software that was on the Kobo. It was around 2.5 version whereas the latest is 4.38 (at time of writing). See the link for available software updates.
The steps for upgrading:
How to sideload an upgrade onto a Kobo eReader:
- Download
Kobo-update-<release number>-.zipfrom one of the links below for your specific Kobo eReader model.- Important: If there are multiple names listed, double check your Kobo and match the serial number. X means the character can be different.
- Connect your Kobo eReader device to your computer using its USB cable and your computer will recognise its as a new drive.
- Locate the Kobo#-update.zip file on your computer, then right click and Extract all ( Windows ) or double click (Mac) to unzip its contents,
revealing an "upgrade" folder,
KoboRoots.tgzfile, andmanifest.md5sumfile. - Drag and drop the unzipped contents into the device's
.Kobodirectory (you will need to set show hidden "folders" on your computer) - Safely eject your Kobo eReader device from your computer.
Bypassing user login
Just to be clear the only reason this was necessary was to fix the connect to WiFi option. I don't condone jailbreaking/hacking devices unless absolutely necessary but it is a lot of fun and you will always learn new things.
What we're going to do in this instance is remove the user/id entry in the sqlite database that is stopping us from using the device.
The steps below are what worked for me, the end result was to get the device into a usable state, update the software/firmware, and get KOReader on there.
- Choose 'computer setup' option
Attach to computer and the device should auto mount to
/mnt/$USER/KOBOReaderor something like that. A good way to check is using a file browser and find the device location, right click, and choose the 'open in Terminal' option.cd /mnt/$USER/KOBOReader/.kobo/ sqlite3 KoboReader.sqlite
You'll then be on the sqlite command prompt. From here you can do the following:
INSERT INTO user(UserID,UserKey,___DeviceID) VALUES('1','','N905C');
Eject and restart ereader.
After this when you should be able to bypass the setup steps and see the home screen.
KOReader Software
So having the device back to factory settings and loading pdf's and ebooks via Calibre felt ok but…
- Where is the customisation and user control I knew from using Linux?
I distro hopped continuously until finding Nixos, and that became my go to, but I still flit around trying new desktop environments when interesting ones pop up in sub-reddits, or are recommended by friends. What draws me to Linux is the strong community and focus on customisation.
My curiosity is what powers me day-to-day and if I have a device, regardless of the architecture, I always think:
- 'how can I make this more my own?'
- 'how can I imprint myself on this device?'
KOReader scratches this itch.
From the homepage:
KOReader is a document viewer for E Ink devices.
This description is a painful understatement of the capabilities and powerful extras (plugins and patches) that the software provides.
I used the install instructions to get KOReader, KFMon and Nickelmenu on the device. The instructions are straight forward for the shell scripted install. Within a few seconds the script was finished and the device rebooted. A new option on the settings bar appeared for Nickelmenu and I chose 'launch KOReader' and I was in.
The first thing I noticed was the interface was really clean, intuitive and easy on the eyes. No adverts, no book suggestions, this is what I needed.
From here I went through my smallish library of books checking out the different file formats (according to the KOReader homepage:
supported fileformats include EPUB, PDF, DjVu, XPS, CBT, CBZ, FB2, PDB, TXT, HTML, RTF, CHM, DOC, MOBI and ZIP files).
What do I like about KOReader?
I've put my fingerprint on the device. I've created a space that's free of the proprietary bloat, ads and other junk that ships with these devices.
In addition to these wins I also gained some neat unexpected bonuses:
- SSH and connection over wifi (file sharing)
- Atom/RSS reader (not sure if this is available on Kobo base software) but this is neat!
- Wallabag sync
Where next?
With my new found love for ereaders and KOReader I plan to read more books. I have a collection of books I've been trying to finish, also plenty of technical books on the back burner that, with this new format, should enable me to read more regularly and efficiently.
On top of the ereader features KOReader also provides a RSS/Atom feed manager, ssh session and a TERMINAL EMULATOR!
I would also like to explore the community maintained plugins and patches for added customisation. Some people have made their UX look so fancy. One of the top results on search is this one from sebdelsol for rounded corners, badges and progress status icons on the home screen and other tweaks and visual improvements that are always appreciated.
All the magic appears to be a combination of shell scripts and lua, both of which I have a bit of experience with.
So who knows, maybe I'll be putting together my own neat plugin?