
e60-open
Introduction
This project aims at creating an open-source firmware and enhancing the capabilities of the Samsung E60 eReader device.
The project started when we found a way to create a custom firmware for this device.
Then, we learned how to replace the original firmware by a custom firmware using the built-in upgrade procedure.
Eventually, we have now a way to recover safely a "bricked" E60 device, thanks to Samsung's official answer describing how to access the built-in recovery mode
So, here are our greatest achievements so far:
Custom Firmware
Using our FoxFirmware 2.1, it is now possible to:
* browse the Internet using a Wifi connection with a custom home page replacing the default book store page
* change the icons, thanks to the theme support
* add a boot sound
* get enhanced icons and translations
* play music using the command line using XMP
* launch custom Shell scripts once or at every boot
* connect to a command line Shell using either telnet
or SSH
* mount a TCP/IP network over USB
Hardware
Regarding the hardware: * we obtained invaluable information from the "service manual" and the slideshow found on one Samsung support website * we performed a complete E60 teardown (also here without pictures) * we analyzed most of the E60 electronic components and PCB * we found where to connect on the PCB to get a U-Boot bootloader/Linux serial console access
Software
As for the software:
* we found how to access the built-in U-Boot bootloader and how to test a kernel from it
* we found the way to access the interesting devices from Linux (including the display, the touchscreen ,the USB port, the LEDs and the keypad)
* we have access to the device system logs
* we know how to setup a toolchain to compile software for the E60
* using the Samsung provided instructions, we know how to rebuild and reinstall the Open Source part of the original firmware
* we know how to cross-compile a QtEmbedded toolchain, as this is the framework used by the device's main application software
* we know how to debug an executable on the E60 device using either gdb remote
or strace
TODO
Despite all the progress that has been done, there are still a lot of things to do in order to get a fully opened firmware for the Samsung E60 device:
* as of today, we still don't know how to replace the closed-source main QtEmbedded application, in charge of the user interaction, device management and eBook display (including the dreaded DRMs...)
* we also haven't succeeded yet to replace the obsolete 2.6.29.4 original kernel by a more modern Linux kernel that includes both the mainstream broadsheet
eInk display video driver and the Samsung E60 platform-specific patches
As it is today, this project is still a work in progress, and you are welcome to contribute to it!