OYO
This page has been visited 268643 times.
Information collected about OYO E-Book Reader
Please be aware that this article is currently mainly written from the thalia point of view. You should therefore take care when applying it to a bol reader, as it is currently unknown what happens if you flash a bol.de-OYO with an thalia.de-OYO firmware.
If you like to contribute, you can change or extend this pages. You'll always find an "Edit" button on top of each page.
( or just click HERE )
We already had some automated spammers here on this page.
That's why editing this pages requires a password. It's still open to everyone. The Password is simply oyouser
I just hope this password helps to lock out stupid machines, that spam by running simple scripts.
You also can leave comments if you like. See comments box at the end of this page.
More in-depth information can be found about the
- OYO Boot process : boot process
- Setting up a build environment : OYO build environment
- Building OYO linux kernel : OYO Kernel building
- Recovering from a failed firmware upgrade
- Collected hardware/system information (mostly be reverse engineering the sources provided by asus and thalia): OYO system information
If you like - you can view this pages in brown green orange blue
Thank's to everyone who has contributed to this wiki.
I - and all the other oyo users - really appreciate it.
On this page... (hide)
- 1. Original Firmware
- 1.1 Howto get and use OYO Sourcecodes of original firmware
- 1.2 Howto get shell access
- 1.3 Howto set your own password
- 1.4 Howto run a SSH server
- 1.5 Howto run a telnet server
- 1.6 Howto run a FTP server
- 1.7 Howto get the root filesystem
- 1.8 Rescue filesystem
- 1.9 Other software that comes with the original firmware
- 1.10 -->QEngineer
- 2. Non - OYO Software
- 3. Boot process
- 4. Hardware
- 4.1 Chips
- 4.2 Display
- 4.3 Inside OYO
- 5. OYO's internet usage
- 6. Some Findings and Tips
- 7. Similar models
- 8. Links
- 9. Questions & Answers ( Put your Questions here. If you know an Answer, please reply here )
- 9.1 Q: How to start GUI applications.
- 9.2 Q: How can I join a WLan which uses login/password for authentification (like the usual german "UNI-WLan-Netz") ?
- 9.3 Q: Has anyone tried to flash a oyo from the French retailer chapitre.com with the Thalia firmware?
- 9.4 Q: Is it possible to replace fonts used by QBookApp? I've added some fonts (Libertine and few other Free fonts) but they dont appear on font change dialog in ePub. I found also that there are much more font types in this folder than available from GUI. Is the font list compile into QBookApp? I understand that this is a piece of Closed source inside Oyo and we cannot change anything here.
- 10. Untested
- 11. Comments
1. Original Firmware
OYO runs a Linux system.
System report as
Linux Samsung 2.6.21.5-cfs-v19 #184 Mon Oct 18 00:21:49 CST 2010 armv5tejl unknown
Architecture of the oyo firmware is armel (ARM EABI http://wiki.debian.org/ArmEabiPort)
It should be noted that the OYO runes slightly different software for each shop that sold it. This is reflected in different version numbers.
| Component | bol.de | thalia.de | buch.de |
|---|---|---|---|
| Kernel | SG060B00S01009OYO | 20101018D | SG060B00S0100pOYO |
| ebook | 20101002D | 20101002D | 20101002D |
| Firmware | 1.0 R2342 | 1.0 R2150 | 1.0 R2342 |
1.1 Howto get and use OYO Sourcecodes of original firmware
You can find the original kernel and u-boot software on http://www.thalia.de/oyo_src/SG060B00_V009.tgz (fast mirror)
More in depth information :
- OYO Boot process : boot process
- Setting up a build environment : OYO build environment
- Building OYO linux kernel : OYO Kernel building
1.2 Howto get shell access
Getting a login prompt is pretty easy.
I used Ubuntu 10.10 for my tests. I also tried with an older Ubuntu version, but that didn't work.
OYO's serial console is a 'Netchip Technology, Inc. Linux-USB Serial Gadget' device.
We have to load a driver for the USB Serial Gadget.
- run 'sudo modprobe usbserial vendor=0x0525 product=0xa4a6' on your host.
Or:
- 'sudo modprobe usbserial vendor=0x0525 product=0xa4a5' - use lsusb to find out the product key.
Some Linux distributions have the usbserial driver built into the kernel (Fedora 16 has it this way) so performing the modprobe usbserial command won't give an error, but it also won't work to bind the vendor and product id to that driver. The effect will be that dmesg will show everything exept a message that says something like "the device is now available as /dev/ttyUSB0." If this is the case for you, you will have to edit the kernel parameters. Adding
usbserial.vendor=0x0525 usbserial.product=0xa4a6 to the kernel parameters when you boot will work in that case.
There are two way's to get a remote serial console.
Placing a special file on a SD-Card
Pressing a key combination while OYO boots
Nr 1 - the special file on SD-card
- Take a standard micro SD Card or simply connect your oyo as disk and put it there.
- Create a file named usbdebug in the root directory of the sdCard.
- Insert the sdCard into the OYO slot and reboot.
Nr 2 - pressing key's while OYO is booting.
( Oyo has released a software update. With this new software this function was removed)
( With the new software, you have to use the "the special file on SD-card" method to get serial console access)
- Switch OFF your OYO
- Connect your OYO to the computer with the USB cable
A large battery symbol will appear on the screen - Press Home and Back ( <-- ) together and hold them pressed
- Switch the Oyo ON
Ok, now your OYO should be booted up with a remote serial console
- After OYO boot's up, execute 'lsusb' on your host. You should see
Bus 001 Device 005: ID 0525:a4a6 Netchip Technology, Inc. Linux-USB Serial Gadget - run 'dmesg' on your host. You should see somethinmg like
[ 443.722208] usbcore: registered new interface driver usbserial
[ 443.722217] USB Serial support registered for generic
[ 443.722237] usbserial_generic 1-6:1.0: generic converter detected
[ 443.722314] usb 1-6: generic converter now attached to ttyUSB0
Now the OYO console is available as serial port 'ttyUSB0 - run a terminal program like minicom
- (or picocom with: sudo picocom --b 115200 --f n --p on --d 8 /dev/ttyUSB0)
- set port settings to ttyUSB0 ( or whatever 'dmesg' reported ), 115200 Baud, 8N1, no flow control
- press 'ENTER'
- Oyo login screen shows
Samsung SMDK Board on a armv5tejl
Samsung login: root
Password:SReader <ENTER>
WARNING: If the Oyo starts the screen-saver or enters the power-save-mode the usb-port is closed and the connection is down until reboot!!!
1.3 Howto set your own password
( This chapter is more or less obsolsete, since we meanwhile can login using the default root account. We still keep it, because it shows how to change the oyo image. ))
Getting a login prompt is not bad - but we need a user name and a password.
That's a bit complicated - but not too much. We need a computer ( I used Ubuntu ) and a Flashcard
There are two way's to set a password.
1.) Modifying /mnt/etc/passwd in the filesystem directly
2.) Having /mnt/etc/passwd modified by install script
===========================================================
1.) Modifying /mnt/etc/passwd in the filesystem directly
What we want to do, is to extract the root filesystem, add a new user to nmt/etc/passwd, and put the root filesystem back into it's tar archive. This modified Software will be flashed onto the OYO, and we have a new account for login.
- We have to get the OYO filesystem and software.
You can get the tarbal directly from http://server.meinoyo.com/update/thalia/oyofw.tar.bz2 (or an older version from http://server.meinoyo.com/downgrade/thalia/oyofw.tar.bz2)
Create a subdirectory and save the oyofw.tar.bz2 file.
- tar -jxvf oyofw.tar.bz2
- cd qdutil; cd upfw
- mkdir xxx
- cd xxx
- tar -xvf ../rootfs.tar
- gedit mnt/etc/passwd
- Add a line "test::0:0:root:/root:/bin/bash" at the end of this file
- Save the file
- tar -cvf ../rootfs.tar *
- cd ..
- rm -rf xxx
- cd ../..
Now copy qdutil and all it's subdirectories and files onto the CF card (or inside the Firmware folder in the internal memory).
On the CF card we should now have
/qdutil
/qdutil/upfw
/qdutil/upfw/rootfs.tar
/qdutil/upfw/SG060B00THA.bin
/qdutil/upfw/upfw_post_script.sh
from here continue at "--> Next steps are"
===========================================================
2.) Having /mnt/etc/passwd modified by install script
Add this lines to the end of upfw_post_script.sh
umount /dev/mmcblk0p1 mount -o rw,async,noatime /dev/mmcblk0p1 /mnt/mmc0p1 echo "devuser::0:0::/root:/bin/bash" >> /mnt/mmc0p1/mnt/etc/passwd umount /mnt/mmc0p1
( Thank's to user kju for his posting in e-Reader forum )
.
===========================================================
Next steps are
- Make sure OYO is switched OFF
- Insert the cf card
- Press --> and <-- Keys and keep them pressed.
- Switch your OYO ON
Oyo will show a message "Updating OS"
Follow instructions on the display.
When the software is updated, we have to switch the OYO off and on again (I had to enter Wlan pass again and enter my thalia account).
Now follow the steps above for login and shell access.
Your new login will be :
Username : test
There will be no password for this user. (or use "devuser" with no password if you used the second option above)
1.4 Howto run a SSH server
Using the serial console is a bit cumbersome since you need a USB cable and a terminal emulator. Using ssh is much more convenient. So while you have the rootfs unpacked (see above - after step "tar -xvf ../rootfs.tar"), you can add a tiny SSH server.
First we need to install the SSH server binaries into the rootfs, luckily we can use procompiled armel binaries from debian:
wget "http://ftp.us.debian.org/debian/pool/main/d/dropbear/dropbear_0.51-1_armel.deb"
dpkg-deb -x dropbear_0.51-1_armel.deb .
Next, we need to generate some SSH keys. I used Ubuntu 10.10 host system to do this (it is much quicker than doing it on the OYO itself):
sudo apt-get update
sudo apt-get install dropbear
This creates SSH keys which we will be using on the OYO. Hence, copy the generated /etc/dropbear to the appropriate place in the unpacked OYO rootfs (note that on each boot the OYO copies /mnt/etc/ to /etc):
sudo cp -r /etc/dropbear ./mnt/etc/
Finally we can tell the system to launch the SSH server on each boot:
echo "SS:2345:respawn:/usr/sbin/dropbear -F" >> ./mnt/etc/inittab
CAUTION: If you do this, then you should seriously consider to use a (secure) password, otherwise everyone will be able to login and be root on your device!
Now it is time to continue like described above (step "tar -cvf ../rootfs.tar"). After switching on your OYO and connecting to WLAN, you should now be able to connect via SSH to it.
Don't forget to uninstall dropbear from your host (apt-get remove dropbear) since it is no longer needed.
1.5 Howto run a telnet server
Using the serial console is a bit cumbersome since you need a USB cable and a terminal emulator. Using telnet is much more convenient.
OYO already comes with everthing needed to run a telnet server.
It uses good old inetd, with everything already configured. We just have to enable it.
The easiest was to start with is to simply start ineted. Connect to your OYO with the serial console ( as described above )
At the command prompt just type inetd and press enter.
[root@Samsung ~]# inetd [root@Samsung ~]#
Now turn on the WLAN - and you can telnet into your OYO from the host computer.
If you want to have telnetd enabled enabled every time the OYO starts, we have to start inetd when the system boots up.
cd /mnt/etc/rc.d/init.d echo '#!/bin/bash' > inetd echo "/usr/sbin/inetd" >> inetd chmod ugo+x inetd cd /mnt/etc/rc3.d ln -s ../init.d/inetd S57inetd
This is just a quick & dirty version of creating a startup script. If you already have installed e text editor, you should consider creating a 'real' startup script for inetd.
Second way is to edit /linuxrc file by adding telnet start with the same idea how usbdebug starts:
mount /dev/mmcblk1p1 /mnt/mmc1p1 if [ -f /mnt/mmc1p1/usbdebug ]; then echo "usbdebug" /usr/local/sbin/usbdebug.sh fi if [ -f /mnt/mmc1p1/telnet ]; then # echo "telnet" # inetd # fi # umount /mnt/mmc1p1
Than you can control if inetd is starting just by simply touching telnet file on the root directory of SD card.
CAUTION: If you do this, then you should seriously consider to use a (secure) password, otherwise everyone will be able to login
[#ftp]
1.6 Howto run a FTP server
First get telnet and most important inetd running as described here: http://www.fwma.de/pmwiki/pmwiki.php?n=Main.OYO#toc6
Download the oyo-bftpd package to your computer and extract it to sd-card.
Mount the sd card, login to your oyo and execute following commands:
cp /mnt/mmc1p2/oyo-bftpd/bftpd /usr/sbin/ftpd cp /mnt/mmc1p2/oyo-bftpd/bftpd.conf /etc/ cp /mnt/mmc1p2/oyo-bftpd/bftpd.conf /mnt/etc/
Then you should be able to use ftp on the oyo and login as anonymous requiring no password.
Unfortunatelly I was not yet able to find out, how to trigger book-rescan after you copied a new book to it. This requires a reboot.
1.7 Howto get the root filesystem
There are two way's to get a tarbal that contains the complete OYO filesystem.
1.) OYO Update
OYO has a 'Software update' function.
This software update loads a complete image onto the OYO.
After the update, you find rootfs.tar in the folder Firmware->qdutil->upfw
WARNING
After I made the software update, all my DRM encoded Books were unreadable.
OYO complains "License expired. Please purchase license extension in the internet"
2.) Direct from Website
You can get the tarbal directly from http://server.meinoyo.com/update/thalia/oyofw.tar.bz2 (or an older version from http://server.meinoyo.com/downgrade/thalia/oyofw.tar.bz2)
1.8 Rescue filesystem
The oyofw.tar.bz2 tarball also contains a bin image SG060B00THA.bin.
This image contains - a linux kernel, u-boot and a rescue fielsystem.
I could not find out when and how this rescue filesystem is used.
Could be used for flashing the new "main filesystem"
To extract the rescue filesystem :
- dd if=SG060B00THA.bin bs=1 skip=3362360 > rescuefs.gz
- gunzip rescuefs.gz
- sudo mount -o loop rescuefs /mnt
- ls /mnt
The file SG060B00THA.bin is protected by a CRC-Checksum in order to prevent corrupt images to be written to FLASH.
1.9 Other software that comes with the original firmware
besides the normal E-Book reader software, there are a few other programms installed.
1.10 -->QEngineer
QEnginer

Sound and Power settings in 'QEnginer'

2. Non - OYO Software
2.1 Writing and compiling your own Software
Of course we all want to compile our own software and run it on the OYO.
At first, we have to setup a build environment. Here is a page for this OYO Build environment
As a very first test, I just tried a programm, that I compiled a couple of weeks ago. It was ment to be running on my Mini2440. For the mini2440 I already got a builtroot envrionment with compiler and everything. So I just copied it onto the OYO -and voila, no problem. It worked immediately :-)
root@Samsung tmp]# ./i2cdetect -l
i2c-0 i2c
[root@Samsung tmp]# ./i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Here is a little "Hello World" example written in QT Embedded:

#include <QApplication>
#include <QPushButton>
int main(int argc, char** argv) {
QApplication app(argc, argv);
QPushButton btn("Hello World");
btn.setFont(QFont("PMN Caecilia LT", 240, QFont::Bold));
btn.show();
btn.showMaximized();
QObject::connect(&btn, SIGNAL(clicked()), &app, SLOT(quit()));
return app.exec();
}
I used the Qt Embedded SDK from the Angström distribution to cross-compile a Qt app from the desktiop System (Ubuntu 10.10).
A working crosscompiler for windows environments compiling working arm-code for the oyo can be found on https://support.codesourcery.com/GNUToolchain/release324. This is a minimal environment. It requires a lot of work to build qt or x but accessing the Display directly via /dev/fb0 should be possible. Work on this is still in progress.
And here is another example from Frank
I also used the Qt Embedded SDK from the Angström, but I didn't download a finished toolchain and crosscompiler. I used bitbake to have everything compiled locally. -> More information on howto setup everything are on the OYO Build environment pages.
2.2 Running software from debian
It is also possible to run software from debian. For example, if you would like to run the "nano" text editor:
Connect to the OYO. I used SSH (like described above)
Install the software. Since we don't have a full package manager (yet) it is a bit of manual work. Just copy & paste the following:
mount / -o remount,rw
wget "http://ftp.us.debian.org/debian/pool/main/n/nano/nano-tiny_2.0.7-5_armel.deb"
wget "http://ftp.us.debian.org/debian/pool/main/s/slang2/libslang2_2.1.3-3_armel.deb"
FILES=$(ls /root/*deb)
cd /
for NAME in $FILES ; do
ar -x "${NAME}"
tar zxf data.tar.gz
rm debian-binary data.tar.gz control.tar.gz
rm "${NAME}"
done
cd -
ln -sf /bin/nano-tiny /bin/nano
( sometimes ftp.us.debian.org is not available or too slow. You can also try ftp.de.debian.org )
2.3 More UNIX-Tools with the full-featured busybox-binary
I missed some unix-tools because the famous "busybox" is installed in a stripped-down-version on the Oyo. If you don`t know busybox - it is "The Swiss Army Knife of Embedded Linux", it has many common UNIX-tools combined in one executable. You access the tools by calling busybox with the tool-name as a parameter ("/bin/busybox ls") but normally links are used - look under /bin !
So if you need more tools you can use a full featured version of busybox (the installed has 209 tools compiled, the full version has 328 - but is nearly twice in size!).
You can get the file from http://www.busybox.net/downloads/binaries/1.17.2/busybox-armv5l.
Place the file on your SD-card, open a shell and copy it to /bin/busybox-1.17. Test the file by typing /bin/busybox-1.17 and you see a help-screen with a list of included tools.
It`s up to you to make yourself links to the desired additional tools, for example
ln -s /bin/busybox-1.17 /usr/sbin/httpd
to have the tiny httpd-webserver accessable under /usr/sbin.
Be careful to replace the installed busybox, making additional links is more secure i think and take care not to link the same tool twice!
2.4 Souce codes for Asus EEReader
Asus has released the sources for it's e-book reader. This sources include a lot of interesting software for OYO users.
See support.asus.com. Go to "Download" an select "Product EE Family -> EE Reader -> DR900"
It contains not only the kernel but also major parts of the system and even the sources for auofb.o and epaper.o
Even the QtEmbedded-Plugin for controling the E-Paper display with QT is included.
3. Boot process
More in-depth information about the boot process, u-boot, kernel messages etc. can be found in the boot process pages.
4. Hardware
4.1 Chips
Chips Mainboard :
| Manufacturer/ID | Chip | Description |
|---|---|---|
| CPU Samsung | S3C2416 (armv5tejl) | as reported in Terminal window |
| WLan MediaTek | MT5921 | |
| RAM | 128MB | according to /proc/meminfo |
| Realtec | ACL65624 | I2S/PCM interface audio codec |
| AAT | AAT1105A | Buck-Boost and Boost-PWM controller |
Chips on touch controler
| Manufacturer | Chip | Description |
|---|---|---|
| Pixcir | Tango S32 | General purpose capacitive sensor front end, with bidirectional serial interface (SPI) (2 pcs ) |
| Atmel | Atmega168P | Atmel Processor |
| N.A. | 12 Mhz X-Tal | Oscylator |
Kernel support:
| Component | Support | Comment |
|---|---|---|
| S3C2416 | native kernel support | including cpufreq support for frequency scaling |
| e-paper | ? | compiled into oyo kernel, so should be GPL, provides framebuffer device so should be able to support X11 |
| MT5921 | ? | modules in /usr/local/sbin/mt5921*.ko claim to be GPL so source should be made available |
| touch | ? | standard input device (mouse) in Oyo kernel |
4.2 Display
Display:
With fbset from debian you can retrieve some information about the display.
[root@Samsung ~]# fbset -i
mode "600x800-4"
# D: 2.065 MHz, H: 3.425 kHz, V: 4.265 Hz
geometry 600 800 600 800 16
timings 484209 1 1 1 1 1 1
rgba 5/11,6/5,5/0,0/0
endmode
Frame buffer device information:
Name : s3c_fb
Address : 0xc880e000
Size : 960000
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 0
YWrapStep : 0
LineLength : 1200
Accelerator : No
4.3 Inside OYO
In a german forum, a user posted some pictures of the pcb board. You can look at them at http://ownyo.de/
5. OYO's internet usage
Registration calls : https://server.meinoyo.com/ThaliaShopServlet/registratio/welcome.jsp
Update calls : http://server.meinoyo.com/ThaliaShopServlet/update/index.jsp?brand=
Downgrade calls: http://server.meinoyo.com/ThaliaShopServlet/update/index.jsp?brand=Thalia&downgrade=true
Shopcalls: http://server.meinoyo.com/ThaliaShopServlet/
The device appears to identify itself by the request header it sends.
My OYO sends
- Mozilla/5.0 (Linux; U; Android 2.1-update1; de-DE; OYO R2150) AppleWebKit/532.4 (KHTML, like Gecko) Version/4.6.3 Mobile Safari/532.4 DEVICEID/00:27:xx:xx:xx:xx
where OYO R2150 is the software version installed and DEVICEID/00:27:xx:xx:xx:xx contains the mac id.
6. Some Findings and Tips
6.1 OYO Registration
Unfortunately may OYO seems to have a newer version of QBookApp which does not use the QBookApp.ini anymore.
To bypass the mandatory Thalia registration you now have to copy /rwdata/usersettings.db to the card and edit it on your Desktop PC with SQLite database browser by setting the entries "Force registration" to "false" and the "Can Exit Forced Registration" to "true".
Then copy it back to the /rwdata/.
Take care to have the right file permissions after copying.
After that procedure the OYO does not want to register any more ;-)
6.2 Editor
There is a editor on the system. The famous "vi(m)". Have a look for the general use of this thing, or you may get lost with it ;-)
6.3 Your Own Bookmarks
(it is possible that you need to make your root-fs writeable: mount / -o remount,rw)
[root@Samsung ~]# cd /usr/local/qisda/etc/ [root@Samsung etc]# nano index.html
(or use vi)
Just add a new line at the end of the file like:
<a href="http://www.fwma.de">Franks Wiki</a>
6.4 More Bookmarks
If you need more (and in my eyes nicer) bookmarks you can edit the style in index.html. As an example here is my version of the style-section:
...
<style type="text/css">
p {
text-align: left;
font: 22px PMN Caecilia LT, Arial, Helvetica, Tahoma, sans-serif;
}
a {
color: #000;
text-decoration: none;
display: inline-block;
width: 128px;
height: 64px;
margin: 4px;
text-align: center;
line-height: 64px;
background: url(button.png) no-repeat top left;
font-size: 22px;
}
</style>
...
6.5 Boot time options triggered by holding keys while booting
Booting the oyo while pressing a specific combination of keys can start the oyo in a special mode (one was used above to start the serial console).
OYO has released a new software version. This new software version also changes some of this functions. Differences are marked with (Old) or (New)
Here is a systematic list of boot options:
| Hold Keys | Boot Mode |
|---|---|
| (Old )home + back page + usb connected | Normal boot but starts serial usb |
| (New) home + back page + usb connected | Starts QEngineer instead of normal OYO desktop |
| home + forward page | Touchscreen calibration mode |
| back page + forward page | OS update from SD card |
6.6 Hardware restart
If your oyo becomes unresponsive/has crashed, you can force a reboot by pressing the hardware reset button on the back panel for some time, followed by pressing the power button.
6.7 Customizing QBookApp
QBookApp is the application that gets started by default when you boot the oyo. QBookApp displays the main screen with the library, webshop, settings and extras links. QBookApp is a generic application and is the same for all the oyos sold in different countries, yet it looks and behaves differently for each retailer. Most ot the customization settings for QBookApp are stored in the file '/rwdata/settings/QBookApp.ini' (or 'usr/local/qisda/etc/QBookApp.default.ini' in the firmware's rootfs).
By playing with this file, you can for example remove the webshop icon from the oyo's start page or skip the mandatory first-time registration at Thalia:
6.8 More about QBookApp - Replace it without Update
If you have your Oyo customized (shell-access + users, bookmarks, telnet etc.) it maybe not a good idea for you to make the firmware-update because all your changes will be gone. On the other hand for example the improved speed for page-turning is worth to have a look...
So why not only change the application?
First you have to extract the oyofw.tar.bz2-file (as described above in the section how to set a password) and find the QBookApp under ~/qdutil/upfw/xxx/usr/local/qisda/bin/QBookApp.
Copy this file to your SD-Card (or into the main memory), open a shell on the Oyo and overwrite the existing QBookApp under /usr/local/qisda/bin/ with the new one (make a backup of the old!)
After a reboot the Oyo indicates the firmware as 1.0 R2818, up to now i don`t have any negative side-effects in daily use and all my changes remained active!
UPDATE: Also the newest firmware-update (1.0 R4758) can be installed like that. There is a new file (ini_setvalue.sh) in the directory, I also copied it to /usr/local/qisda/bin/ and after a reboot my oyo started without problems.
7. Similar models
It seems the oyo is only one of more than 20 quite similar reader models. It eems that in /qdutil/em/configuration.ini most of these models are listed by their model-number
| Model number | Device | Firmware | Sources |
|---|---|---|---|
| QD060B00 | |||
| QD060B00_N1E | Mr.Book ONext Touch & Read 001 | available | |
| ST060B00 | Booq Avant, Promedia-PO541 | ||
| ST060B00_IS | |||
| SH060B00 | |||
| SH060B00_LD | |||
| PV060B00 | Positivo Alfa | available | |
| PV060B00_P2B | |||
| PV060B02 | |||
| PD060B00 | |||
| BQ060B00 | BenQ K60 | available | |
| BQ060B00_YG | |||
| BK060B00 | |||
| SG060B00 | Oyo | available | available |
| SG060B01 | presumably Sagem Binder (according to Oyo kernel sources) - Fnacbook firmware is SG060B01S01100000 | available | |
| QD090B00_NEW | |||
| QD090B00_OLD | |||
| AS090B601 | |||
| AS090B602 | |||
| AS090B603 | |||
| AS090B604 |
Devices that are probably in there:
8. Links
- OYO in France http://chapitreoyo.adaptive-navigation.com/ (firmware: http://chapitreoyo.adaptive-navigation.com/update/oyofw.tar.bz2)
- A device similar to OYO. This page has a firmware download. Looks as if it's pretty much the same thing. (http://www.booqreaders.com/en/product_Avant DEAD-LINK??) new link:
- http://www.bqreaders.com/de/produkte/avant.html or the english site:
- http://www.bqreaders.com/gb/products/avant.html
- Also the Sagem Binder / FnacBook seems to be closely related to the Oyo: http://www.fnac.com/Guides/High-Tech/fnacbook/default.asp
- A blog in german language. Has information about "OYO Internals" http://outsidethewalledgarden.sntech.de/
- A OYO-forum in german language http://www.e-reader-forum.de/ebook-reader/board48-oyo/
- Threads bei Mikrocontroller.net:
- The BenQ K60 or the Qisda QD060B00 / ES600 / EQ-600 seem to be candidates for the original design:
- An open source linux distribution for e-ink ereaders: http://openinkpot.org. Does not support the oyo (yet)
- Mailing list for OYO Kernel hacks http://lists.gnuzifer.de/mailman/listinfo/oyo-hack
- Gitorious repository for OYO Kernel hacks http://gitorious.org/oyo-hack
9. Questions & Answers ( Put your Questions here. If you know an Answer, please reply here )
9.1 Q: How to start GUI applications.
How is it possible to start those GUI applications, like QEngineer? I can connect by ssh to my oyo, but of course, when I start an application there, it will run in my session (or it will not run, if it produces any graphical output). By the way: Thanks for the work of all of you guys!
- A: GUI applications like QEngineer need quite a few environment variables set propperly. There is a script, that sets them.
To start QEngineer, try
[root@oyo ~]# /qdutil/em/start /qdutil/em/QEngineer
/qdutil/em/start is the start script.
/qdutil/em/QEngineer is the application you want to start.
BUT !!! You can't have running both. You can not run QEngineer while the normal Desktop (QBookApp) is active. Touch screen inputs would go to both programms and the system would be totally confused.
You first have to kill QBookApp. But since QBookApp is restartet automatically when it's killed, you also have to kill linuxrc.
[root@oyo ~]# ps 795 root [kjournald] 817 root /bin/sh /linuxrc 111 root -bash 226 root /usr/sbin/telnetd 2283 root ./QBookApp -qws 2383 root [mtk_wland]
Here in this example you have to kill 817 ( linuxrc ) and 2283 (QBookApp)
[root@oyo ~]# kill 817 [root@oyo ~]# kill 2283
after that you can start QEngineer
[root@oyo ~]# /qdutil/em/start /qdutil/em/QEngineer
9.2 Q: How can I join a WLan which uses login/password for authentification (like the usual german "UNI-WLan-Netz") ?
My WLan at work is based on user/password-login and up to now it is impossible for me to connect with my Oyo because it only asks for one parameter - in my private WLan it is enough to enter the network-key and the connection is established to open a terminal incoming from the pc-side or to visit the book-shop outgoing from the Oyo-side. Any idea?
- A: And put the answer here.
9.3 Q: Has anyone tried to flash a oyo from the French retailer chapitre.com with the Thalia firmware?
I have an oyo purchased at chapitre.com and as far as I can see it looks and behaves exactly as the Thalia oyo. Same hardware, same method for getting the USB console. Same kernel but different ebook and firmware versions. I would like to flash it with the Thalia firmware but would like some reassurance that I am not going to brick it :-)
- A: Yes, the oyo from chapitre.com can be flashed with the Thalia firmware (at least 2 users have done that successfully). It is however unknown whether you can flash it back with a different retailer's firmware later on.
- Update: Thalia apparently maintains a database of mac addresses to the oyos it has distributed and won't let a oyo with a non-recognized mac address proceed to the main reader screen. To force QBookApp to skip the mandatory registration at Thalia.de, gain root access to your oyo using one of the methods listed above and edit the file /rwdata/settings/QBookApp.ini (using vi for example). Find the configuration block for [thalia] and replace the line:
requires_upfront_registration=true
with:
requires_upfront_registration=
9.4 Q: Is it possible to replace fonts used by QBookApp? I've added some fonts (Libertine and few other Free fonts) but they dont appear on font change dialog in ePub. I found also that there are much more font types in this folder than available from GUI. Is the font list compile into QBookApp? I understand that this is a piece of Closed source inside Oyo and we cannot change anything here.
10. Untested
Here are some "thoughts" and "work in progress"
Alltogehter -> things that might work or might be true, but that also might be totaly wrong :-)
Storage
Raw Flash device
| /dev/mtdblock4 | /mnt/storage | yaffs |
Block Devices
| /dev/mmcblk0p2 | /mnt/mmc0p2 | vfat moviNAND |
| /dev/mmcblk0p3 | /rwdata | |
| /dev/mmcblk0p4 | /mnt/mmc0p4 | ext3 4th moviNand |
on the fnacbook version mmc0p4 contains the files downloaded when browsing on the internet (downloaded epubs are in a "DownloadBooks" subdirectory)
External SD Card
| /dev/mmcblk1p1 | /mnt/mmc1p1 | SD Card first partition |
11. Comments



