Group: Hardware/Computers/e-readers

From LibrePlanet
Jump to: navigation, search
(Being evaluated)
m (GNUtoo moved page Group:Hardware/research/e-readers to Group:Hardware/Computers/e-readers: It's a computer type)
 
(45 intermediate revisions by 7 users not shown)
Line 4: Line 4:
  
 
= RYF interpretation and resulting  hardware choices =
 
= RYF interpretation and resulting  hardware choices =
* If a hardware block is present but typically not used (for instance if a device has a GPU but doesn't use it because it uses an e-ink display which has a high latency) does it requires fully functional free software for it?
+
* Some e-readers contains hardware components that doesn't work with free software (like WiFi chips requiring a nonfree firmware). To prevent such components from getting into the way of the RYF compliance, such components can be disabled in hardware.
 +
* If a hardware block is present but typically not used (for instance if a device has a GPU but doesn't use it because it uses an e-ink display which has a high latency), it *may* not get into the way of RYF compliance, as it *probably* won't steers users towards nonfree software.
 +
== Questions ==
 +
For the I.MX GPU (vivante):
 +
* Is it required to have a free software driver for GPU when the device is meant to be used as an e-reader and has a high latency e-ink display?
 +
* If so, is the free software driver for the vivante GPU sufficently mature not to steer users towards non-free software ?
  
 
= Existing hardware =
 
= Existing hardware =
Line 61: Line 66:
 
! Requirement
 
! Requirement
 
! Rationale
 
! Rationale
 +
|-
 +
| Recent
 +
|
 +
* Easily available new and second hand.
 +
* Battery being new or still in good conditions
 
|-
 
|-
 
| More RAM is better
 
| More RAM is better
Line 69: Line 79:
 
|-
 
|-
 
| Stylus
 
| Stylus
| This enables to use most of the GNU/Linux applications and alleviate the need for custom software that works with buttons only.
+
| This enables to use most of the GNU/Linux applications and alleviate the need for custom software that works with buttons or capacitive touchscreens only.
 
|-
 
|-
 
| ARMv7 CPUs (x86 is probably not used on e-readers)
 
| ARMv7 CPUs (x86 is probably not used on e-readers)
Line 75: Line 85:
 
|-
 
|-
 
|}
 
|}
 
=== Issues ===
 
* Hardware availability: Older models are not manufactured anymore, and some vendors even went bankrupt.
 
* Batteries: Batteries might need to be changed. The availability and compatibility of replacements were not researched yet. We need your help to do it.
 
  
 
== Software ==
 
== Software ==
Line 150: Line 156:
 
|-
 
|-
 
|}
 
|}
 
=== e-ink displays ===
 
e-ink displays have a huge latency. I'm not sure if special software is needed to handle it or if Linux standard e-ink drivers are enough.
 
Available software:
 
* F-droid has a laucnher for e-ink displays
 
  
 
=== Reader software ===
 
=== Reader software ===
Line 160: Line 161:
 
* FBReader
 
* FBReader
 
* Calibre
 
* Calibre
 +
* KOReader
 +
 +
=== e-reader specific projects and distributions ===
 +
* https://fread.ink/
 +
* https://gitlab.com/yegortimoshenko/linux-clara
 +
* https://hackaday.com/2019/10/31/building-an-open-hardware-ebook-reader/
  
 
== Hardware ==
 
== Hardware ==
=== Devices ===
+
=== Warninig ===
==== Warninig ====
 
 
* Be sure to double check if the SOC is good with the SOC list on the bottom of the article
 
* Be sure to double check if the SOC is good with the SOC list on the bottom of the article
 
* The information might contains mistakes as:
 
* The information might contains mistakes as:
Line 170: Line 176:
 
** It was done really fast with a very tight deadline
 
** It was done really fast with a very tight deadline
  
==== Candidates without WiFi ====
+
Remove this warning when things has been reviewed by at least one other person than me.
 +
 
 +
=== Candidates with WiFi ===
 +
Deactivating the WiFi chip in hardware might be sufficent to make the devices RYF compliant
 +
{| class="wikitable sortable"
 +
|----
 +
! Board
 +
! Vendor
 +
! Product
 +
! SOC
 +
! RAM
 +
! Display
 +
! Touchscreen
 +
! developement facilities
 +
! source code
 +
! Ammount of work required for upstreaming
 +
! Ammount of work for RYF
 +
! Issues
 +
! References
 +
|-
 +
| <!-- Board -->
 +
| Kobo
 +
| [[Group:Hardware/Freest/e-readers/Aura_H2O_Edition_2|Aura H2O Edition 2]]
 +
| NXP i.MX6 SoloLite
 +
| <!-- RAM --> TODO
 +
| e-ink
 +
| Yes
 +
|
 +
* TODO: Find how to boot the bootloader through USB on this device (boot modes + software to use)
 +
* TODO: Find the serial port
 +
|
 +
* [https://github.com/kobolabs/Kobo-Reader/blob/master/hw/imx6sll-aurah2o2-aura/kernel.tar.bz2 linux 4.1.15]
 +
* [https://github.com/kobolabs/Kobo-Reader/blob/master/hw/imx6sll-aurah2o2-aura/bootloader.tar.bz2 u-boot 2016.03]
 +
| <!-- Ammount of work required for upstreaming --> TODO
 +
|
 +
* Find the WiFi chip vendor/product and find how to deactivate it.
 +
| <!-- Issues -->
 +
* See "i.MX6 SoloLite" in the SOC section at the bottom of the page
 +
* TODO: Look if the display requires firmwares
 +
* TODO: Look which peripherals requires a firmware
 +
| <!-- References -->
 +
|}
 +
 
 +
=== Candidates without WiFi ===
 
This list devices that:
 
This list devices that:
 
* can run free boot software, potentially with some work
 
* can run free boot software, potentially with some work
Line 271: Line 320:
 
|}
 
|}
  
==== Candidates with WiFi ====
+
=== Bad candidates ===
Deactivating the WiFi chip in hardware might be sufficent to make the devices RYF compliant
 
{| class="wikitable sortable"
 
|----
 
! Board
 
! Vendor
 
! Product
 
! SOC
 
! RAM
 
! Display
 
! Touchscreen
 
! developement facilities
 
! source code
 
! Ammount of work required for upstreaming
 
! Ammount of work for RYF
 
! Issues
 
! References
 
|-
 
| <!-- Board -->
 
| Kobo
 
| Aura H2O Edition 2
 
| NXP i.MX6 SoloLite
 
| <!-- RAM --> TODO
 
| e-ink
 
| Yes
 
| <!-- developement facilities --> TODO
 
|
 
* [https://github.com/kobolabs/Kobo-Reader/raw/master/hw/imx6sl-aurah2o/kernel.tar.bz2 linux 3.0.35]
 
* [https://github.com/kobolabs/Kobo-Reader/raw/master/hw/imx6sl-aurah2o/bootloader.tar.bz2 u-boot 2008.08]
 
| <!-- Ammount of work required for upstreaming --> TODO
 
|
 
* Find the WiFi chip vendor/product and find how to deactivate it.
 
| <!-- Issues -->
 
* See "i.MX6 SoloLite" in the SOC section at the bottom of the page
 
* TODO: Look if the display requires firmwares
 
* TODO: Look which peripherals requires a firmware
 
| <!-- References -->
 
|}
 
 
 
==== Bad candidates ====
 
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|----
 
|----
Line 349: Line 359:
 
|}
 
|}
  
==== Being evaluated ====
+
=== Being evaluated ===
===== TODO =====
+
==== TODO ====
 
TODO: Import from OpenInkpot:
 
TODO: Import from OpenInkpot:
 
* N510
 
* N510
Line 370: Line 380:
 
TODO: Also look at Freescale/NXP presentations to find ebook readers with I.MX(6)
 
TODO: Also look at Freescale/NXP presentations to find ebook readers with I.MX(6)
  
====== Kobo ======
+
==== Kobo ====
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|----
 
|----
Line 429: Line 439:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E60610 (Touch B)
 
| Kobo
 
| Kobo
 
| Touch
 
| Touch
Line 443: Line 453:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E50610
 
| Kobo
 
| Kobo
 
| Mini
 
| Mini
Line 457: Line 467:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E606B0
 
| Kobo
 
| Kobo
 
| Glo
 
| Glo
Line 471: Line 481:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E606F0B
 
| Kobo
 
| Kobo
| Aura
+
| Aura 6"
 
| NXP (formerly Freescale) i.MX507
 
| NXP (formerly Freescale) i.MX507
| <!-- RAM -->
+
| 256M
 
| e-ink
 
| e-ink
 
| <!-- Touchscreen -->
 
| <!-- Touchscreen -->
Line 481: Line 491:
 
|
 
|
 
* u-boot
 
* u-boot
| <!-- Ammount of work required for upstreaming -->
+
| partial devicetree upstreamed,
 +
* TPS65185 PMIC
 +
* EKTF2132 touch controller
 +
* some kind of embedded controller
 +
* EPDC
 
| <!-- Ammount of work for RYF -->
 
| <!-- Ammount of work for RYF -->
 
| <!-- Issues -->
 
| <!-- Issues -->
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E606C0
 
| Kobo
 
| Kobo
 
| Aura HD
 
| Aura HD
Line 500: Line 514:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E606G0
 
| Kobo
 
| Kobo
 
| Aura H2O
 
| Aura H2O
Line 514: Line 528:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E60Q90
 
| Kobo
 
| Kobo
| Glo HD
+
| [[Kobo/glo HD|Glo HD]]
 
| i.MX6 Solo
 
| i.MX6 Solo
 
| <!-- RAM -->
 
| <!-- RAM -->
Line 528: Line 542:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E60Q90
 
| Kobo
 
| Kobo
 
| Touch 2.0
 
| Touch 2.0
Line 542: Line 556:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E70Q00
 
| Kobo
 
| Kobo
 
| Aura One
 
| Aura One
Line 556: Line 570:
 
| <!-- References -->
 
| <!-- References -->
 
|-
 
|-
| <!-- Board -->
+
| Netronix E60QL0
 
| Kobo
 
| Kobo
 
| Aura Edition 2
 
| Aura Edition 2
Line 566: Line 580:
 
| <!-- source code -->
 
| <!-- source code -->
 
| <!-- Ammount of work required for upstreaming -->
 
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E60K02
 +
| Kobo
 +
| Clara HD
 +
| NXP i.MX6 SLL
 +
| 512M
 +
| e-ink
 +
| Yes
 +
|
 +
* serial port pins marked
 +
* internal uSD socket
 +
| <!-- source code -->
 +
| partial devicetree in 5.5, missing drivers
 +
  * CYTTSP5 Touchscreen
 +
  * TPS65185 PMIC
 +
  * EPDC
 +
  * RC5T619 PMIC:
 +
    * RTC (arrived in 5.7-rc1)
 +
    * ADC (arrived in 5.7-rc1)
 +
    * fuel gauge (battery voltage can be read though ADC)
 +
    * charger (gives some 350mA standard charge without driver)
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E60K02
 +
| Kobo
 +
| Tolino Shine 3
 +
| NXP i.MX6 SoloLite
 +
| 512M
 +
| e-ink
 +
| Yes
 +
|
 +
* serial port pins marked
 +
* internal uSD socket
 +
| <!-- source code -->
 +
| partial devicetree in 5.6, missing drivers:
 +
  * CYTTSP5 Touchscreen
 +
  * TPS65185 PMIC
 +
  * EPDC
 +
  * RC5T619 PMIC:
 +
    * RTC (since 5.7-rc1)
 +
    * ADC (since 5.7-rc1)
 +
    * fuel gauge (battery voltage can be read though ADC)
 +
    * charger (gives some 350mA standard charge without driver)
 
| <!-- Ammount of work for RYF -->
 
| <!-- Ammount of work for RYF -->
 
| <!-- Issues -->
 
| <!-- Issues -->
Line 572: Line 634:
 
|}
 
|}
  
===== Booken =====
+
==== Booken ====
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|----
 
|----
Line 706: Line 768:
 
|}
 
|}
  
===== Amazon =====
+
==== Amazon ====
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 810: Line 872:
 
|}
 
|}
  
===== Sony =====
+
==== Sony ====
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 914: Line 976:
 
|}
 
|}
  
===== Other =====
+
See also: https://elinux.org/EBR-1000EP
 +
 
 +
==== Other ====
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
Line 1,329: Line 1,393:
 
* https://en.wikipedia.org/wiki/Comparison_of_e-readers
 
* https://en.wikipedia.org/wiki/Comparison_of_e-readers
  
= Building hardware =
+
= Hardware components =
 +
This section has more details on the various chips and other components used in existing e-readers, or that could be used (or should not be used) to build an RYF compliant e-reader.
 +
 
 +
 
 
== Considerations ==
 
== Considerations ==
 
== Components ==
 
== Components ==
 +
 +
=== e-ink displays ===
 +
e-ink displays have a huge latency. I'm not sure if special software is needed to handle it or if Linux standard e-ink drivers are enough.
 +
Available software:
 +
* F-droid has a laucnher for e-ink displays
 +
 +
==== I.MX6 e-ink display controller ====
 +
In the imx_3.9.11_1.0.0_ga branch in [http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/ the linux-imx], in [http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/drivers/video/fbdev/mxc?h=imx_4.9.11_1.0.0_ga video/fbdev/mxc], both mxc_epdc_fb.c and mxc_epdc_v2_fb.c uses request_firmware functions, but they seem to be used to load some wavform (data to drive the display) into the display or display controller.
 +
 +
==== Documentation ====
 +
* https://elinux.org/images/2/25/E_paper_Displays.pdf
 +
* https://elinux.org/BeagleEPD
 +
* https://www.mobileread.com/forums/showthread.php?t=218927
 +
* http://essentialscrap.com/eink/Driving_E_Ink_Displays.pdf
 +
* https://elinux.org/RaspberryPi_Laptop : "Alternative components: E-ink [...] have been hacked to display video with a relatively fast refresh rate" => May contain information about waveforms
 +
 
=== System on a chip and associated companion chips ===
 
=== System on a chip and associated companion chips ===
  
{| class="wikitable sortable"
+
See the [[Group:Hardware/Components/SOCs|Page on SOCs]] for more details.
|-
+
 
! Vendor
+
{{featured resource|month=December|year=2019}}
! Product
 
! Minumum quantities
 
! Available until
 
! RYF issues
 
! Linux upstream status
 
! Bootloader upstream status
 
! Companion chips
 
|-
 
| NXP
 
| I.MX 25
 
| ?
 
| ?
 
| No known issues
 
| Mostly complete
 
| Mostly complete? (bareobx?, u-boot?)
 
| ?
 
|-
 
| NXP
 
| I.MX 50
 
| ?
 
| ?
 
|
 
Issues:
 
* GPU
 
* Video decoding offload
 
TODO:
 
* Does the SDMA driver works with in-rom code?
 
| Mostly complete
 
| Mostly complete? (bareobx?, u-boot?)
 
| ?
 
|-
 
| NXP
 
| I.MX 51
 
| ?
 
| ?
 
|
 
Issues:
 
* GPU
 
* Video decoding offload
 
Optional:
 
* [https://git.pengutronix.de/cgit/imx/sdma-firmware/tree/imx51.c SDMA firmware replaced?]
 
| Mostly complete
 
| Mostly complete? (bareobx?, u-boot?)
 
| ?
 
|-
 
| NXP
 
|
 
* i.MX6 Dual
 
* i.MX6 Quad
 
* i.MX6 DualPlus
 
* i.MX6 QuadPlus
 
| ?
 
| ?
 
|
 
Issues:
 
* GPU (WIP)
 
* Video encoding/decoding offload processor
 
Optional:
 
* SDMA should work with in-rom firmware
 
| Mostly complete
 
| Mostly complete? (bareobx?, u-boot?)
 
| ?
 
|-
 
| NXP
 
|
 
* i.MX6 i.MX6 SoloLite
 
* i.MX6 i.MX6 SoloX
 
| ?
 
| ?
 
|
 
Good:
 
* No video decoding/encoding offload processor
 
Issues:
 
* GPU (WIP)
 
Optional:
 
* SDMA should work with in-rom firmware
 
| Mostly complete
 
| Mostly complete? (bareobx?, u-boot?)
 
| ?
 
|-
 
| NXP
 
|
 
* I.MX6 UUL
 
* I.MX6 UltraLite
 
|
 
|
 
| Good:
 
* No GPU
 
* No video decoding/encoding offload processor
 
Optional:
 
* SDMA should work with in-rom firmware
 
| Good
 
| Good
 
| ?
 
|-
 
| Allwinner
 
| A20
 
| ?
 
| ?
 
|
 
* GPU (WIP)
 
* Video encoding/decoding offload processor (WIP)
 
| [https://linux-sunxi.org/Linux_mainlining_effort very few missing drivers]
 
| [https://linux-sunxi.org/Mainline_U-Boot ?]
 
| ?
 
|-
 
| Samsung
 
|
 
* S3C2410
 
* S3C2440
 
* S3C2442
 
| ?
 
| ?
 
| No known issues
 
| Needs to be ported to the devicetree
 
| ?
 
| ?
 
|-
 
|}
 

Latest revision as of 17:58, 14 March 2023

Rationale

This page aims to document which existing ebook readers could become RYF certified without too much work. This is to see what the pros and the cons of liberating an existing e-reader versus making one.

RYF interpretation and resulting hardware choices

  • Some e-readers contains hardware components that doesn't work with free software (like WiFi chips requiring a nonfree firmware). To prevent such components from getting into the way of the RYF compliance, such components can be disabled in hardware.
  • If a hardware block is present but typically not used (for instance if a device has a GPU but doesn't use it because it uses an e-ink display which has a high latency), it *may* not get into the way of RYF compliance, as it *probably* won't steers users towards nonfree software.

Questions

For the I.MX GPU (vivante):

  • Is it required to have a free software driver for GPU when the device is meant to be used as an e-reader and has a high latency e-ink display?
  • If so, is the free software driver for the vivante GPU sufficently mature not to steer users towards non-free software ?

Existing hardware

Hardware Requirements

Basic requirements

  • Free boot software or the ability to easily port one to the e-reader.
  • Enough RAM to run free software operating systems.
  • No cellphone network support
  • Good SOC and no crucial peripherals requiring nonfree firmware (else the peripheral will be disabled in hardware)
  • e-paper display

Requirements to do hardware support work faster

Since e-readers without WiFi or telephony network connection are old, the software they come with and the corresponding source code is also really old. To be able to use modern GNU/Linux or Android distribution on them, the source code needs to be used to add support for the device in recent hardware support software such as Linux or free software boot software like u-boot.


Software support that helps:

  • Most of the hardware of the device already supported by upstream projects (Linux and a free software bootloader).

Hardware features that helps:

  • Serial port that is easy to access
  • Booting the Bootloader from the USB or serial port
  • Ethernet (unlikely to be found on such devices)

Requirements that can be lifted

Requirement Rationale
The absence of WiFi/Bluetooth The chips could be disabled by soldering some of their pins or by removing them with a hot air gun.
unsigned bootloaders This requirements can be lifted on devices with the following System On a Chip, if they were made before July 2017:
  • NXP I.MX6 Quad
  • NXP I.MX6 QuadPlus
  • NXP I.MX6 Dual
  • NXP I.MX6 DualLite
  • NXP I.MX6 DualPlus
  • NXP I.MX6 Solo
  • NXP I.MX6 SoloX
  • NXP I.MX6 SoloLite
  • NXP I.MX6 UltraLite
  • NXP I.MX6 ULL
  • NXP I.MX53
  • NXP I.MX50
  • NXP VFxxx

This is because such chip contains a hardware security flaw enabling to execute your code nevertheless.

Additional requirements

Requirement Rationale
Recent
  • Easily available new and second hand.
  • Battery being new or still in good conditions
More RAM is better Devices with not enough RAM may not be able to use modern FSDG distributions. Creating a specific distribution for such devices would require someone to maintain it.
Touchscreen This enables to use most of the Android applications and alleviate the need for custom software that works with buttons only.
Stylus This enables to use most of the GNU/Linux applications and alleviate the need for custom software that works with buttons or capacitive touchscreens only.
ARMv7 CPUs (x86 is probably not used on e-readers) CPU that is supported by FSDG distributions or the ability to support the CPU with very few maintenance cost.

Software

Operating systems and distributions

Distribution Architectures RAM Requirements work required to add a device Self hosting FSDG compliant
Parabola

Packages:

? (low)
  • Add bootloader package
Yes Yes
GuixSD

Packages:

Requires (cross) compilation:

? (low)
  • Add bootloader package
Yes Yes
LibreCMC

Packages:

Requires (cross) compilation:

? (lowest)
  • Add device target, bootloader and kernel configuration
No Yes
Replicant

Requires (cross) compilation:

  • ARM (Which version? Which requirements?)
  • Not sure about other architectures
424M for Android 6.0 (High)
  • Add device git repository, kernel, bootloader
No Yes

Reader software

  • Off the shelf free software pdf readers (check RAM usage)
  • FBReader
  • Calibre
  • KOReader

e-reader specific projects and distributions

Hardware

Warninig

  • Be sure to double check if the SOC is good with the SOC list on the bottom of the article
  • The information might contains mistakes as:
    • It has been compiled by only one person (me)
    • It wasn't reviewed by someone else
    • It was done really fast with a very tight deadline

Remove this warning when things has been reviewed by at least one other person than me.

Candidates with WiFi

Deactivating the WiFi chip in hardware might be sufficent to make the devices RYF compliant

Board Vendor Product SOC RAM Display Touchscreen developement facilities source code Ammount of work required for upstreaming Ammount of work for RYF Issues References
Kobo Aura H2O Edition 2 NXP i.MX6 SoloLite TODO e-ink Yes
  • TODO: Find how to boot the bootloader through USB on this device (boot modes + software to use)
  • TODO: Find the serial port
TODO
  • Find the WiFi chip vendor/product and find how to deactivate it.
  • See "i.MX6 SoloLite" in the SOC section at the bottom of the page
  • TODO: Look if the display requires firmwares
  • TODO: Look which peripherals requires a firmware

Candidates without WiFi

This list devices that:

  • can run free boot software, potentially with some work
  • don't have WiFi (or have a WiFi chip that works with free software)
Board Vendor Product SOC RAM Display Touchscreen developement facilities source code Ammount of work required for upstreaming Ammount of work for RYF Issues References
Story HD iRiver Story HD (Basic) NXP (formerly Freescale) I.MX508 128MB e-ink
  • TODO: Find how to boot the bootloader through USB on this device (boot modes + software to use)
  • TODO: Find the serial port
iRiver source code for Story HD Basic:
  • Upstream to the devicetree (fast)
  • TODO: look if devices drivers are upstream
  • Port it to a bootloader (uboot or barebox)
  • TODO: Display type
  • GPU?
  • Video decoding offload?
  • Low ammount of RAM
? Sony PRS-600 NXP (formerly freescale) I.MX31 128MB e-ink ?
  • Finish porting the I.MX31 to devicetree
  • Port the device hardware support code to devicetree
  • TODO: look if devices drivers are upstream
  • Port the bootloader code to a standard bootloader (u-boot or Barebox)
  • TODO: Display type
  • GPU?
  • Video decoding offload?
  • Low ammount of RAM
EB600
  • Kobo eReader
Samsung S3C2440AL-40 32MB e-ink
  • Serial port pads known
  • JTAG pinout known
?
  • Port the S3C2440AL to the devicetree
  • Port the devices to the devicetree
  • TODO: look if devices drivers are upstream
  • Port it to a bootloader (uboot or barebox)?
  • TODO: Bluetooth is an AW-BT105, check if it works with free software
  • Very low ammount of RAM

Bad candidates

Board Vendor Product SOC RAM Display Touchscreen developement facilities source code Ammount of work required for upstreaming Ammount of work for RYF Issues References
Amazon Kindle Fire (first generation) OMAP4430 512M Standard (Tablet)
  • Incomplete support in upstream Linux
  • Unsigned bootloader, Supported in upstream u-boot
  • Display driver
  • Peripherals devicetree hardware configuration
  • Has WiFi
  • Has standard display and no free software GPU driver

Being evaluated

TODO

TODO: Import from OpenInkpot:

  • N510
  • N516
  • N518
  • Nook Color
  • Nook Simple Touch
  • Nook Tablet
  • SoriBOOK
  • Story
  • V2
  • V6
  • V8

TODO: (finish) importing the following brand from wikipedia.

  • Bebook
  • Cybook

TODO: Also look at Freescale/NXP presentations to find ebook readers with I.MX(6)

Kobo

Board Vendor Product SOC RAM Display Touchscreen developement facilities source code Ammount of work required for upstreaming Ammount of work for RYF Issues References
Kobo eReader WiFi NXP (formerly Freescale) i.MX357 e-ink
  • Serial ports pins known
  • Can boot from SD

Source code available:

  • Linux 2.6.28
  • Redboot
  • Port to the devicetree
  • Port to a recent free software bootloader
  • Deactivate WiFi
  • Has WiFi
  • Has bluetooth?
Kobo Wi-Fi SOC: NXP (formerly Freescale) i.MX357 128M e-ink
Netronix E60610 (Touch B) Kobo Touch e-ink
Netronix E50610 Kobo Mini e-ink
Netronix E606B0 Kobo Glo e-ink
Netronix E606F0B Kobo Aura 6" NXP (formerly Freescale) i.MX507 256M e-ink
  • u-boot
partial devicetree upstreamed,
  • TPS65185 PMIC
  • EKTF2132 touch controller
  • some kind of embedded controller
  • EPDC
Netronix E606C0 Kobo Aura HD e-ink
Netronix E606G0 Kobo Aura H2O I.MX507 e-ink
Netronix E60Q90 Kobo Glo HD i.MX6 Solo e-ink
Netronix E60Q90 Kobo Touch 2.0 e-ink
Netronix E70Q00 Kobo Aura One e-ink
Netronix E60QL0 Kobo Aura Edition 2 NXP i.MX6 SoloLite e-ink
Netronix E60K02 Kobo Clara HD NXP i.MX6 SLL 512M e-ink Yes
  • serial port pins marked
  • internal uSD socket
partial devicetree in 5.5, missing drivers
 * CYTTSP5 Touchscreen
 * TPS65185 PMIC
 * EPDC
 * RC5T619 PMIC:
   * RTC (arrived in 5.7-rc1)
   * ADC (arrived in 5.7-rc1)
   * fuel gauge (battery voltage can be read though ADC)
   * charger (gives some 350mA standard charge without driver)
Netronix E60K02 Kobo Tolino Shine 3 NXP i.MX6 SoloLite 512M e-ink Yes
  • serial port pins marked
  • internal uSD socket
partial devicetree in 5.6, missing drivers:
 * CYTTSP5 Touchscreen
 * TPS65185 PMIC
 * EPDC
 * RC5T619 PMIC:
   * RTC (since 5.7-rc1)
   * ADC (since 5.7-rc1)
   * fuel gauge (battery voltage can be read though ADC)
   * charger (gives some 350mA standard charge without driver)

Booken

Board Vendor Product SOC RAM Display Touchscreen developement facilities source code Ammount of work required for upstreaming Ammount of work for RYF Issues References
Bookeen Cybook Gen1 Probably not available: Proprietary OS
Bookeen Cybook Gen3 S3C2410 or S3C2440? 16M or 32M? e-ink ?
  • No WiFi
  • No Bluetooth
Bookeen Cybook Opus S3C2440 32M e-ink ?
  • No wireless
Bookeen Cybook Orizon
Bookeen Cybook Odyssey
Bookeen Cybook Muse
Bookeen Cybook Ocean
Bookeen Bookeen Saga

Amazon

Board Vendor Product SOC RAM Display Touchscreen developement facilities source code Ammount of work required for upstreaming Ammount of work for RYF Issues References
Kindle
  • Amazon Kindle
SOC: PXA255 64M No WiFi but has 3G
Kindle 2
  • Amazon Kindle 2
SOC: I.MX31 Linux 2.6.26 No WiFi but has 3G/CDMA
Kindle 3 Keyboard
  • Amazon Keyboard
WiFi or, WiFi and 3G
Kindle 4:
  • Amazon Kindle 4
Has WiFi
Kindle 4 Touch Amazon Kindle 4 Touch WiFi or, WiFi and 3G
Kindle DX
  • Amazon Kindle DX
Has 3G

Sony

Board Vendor Product SOC RAM Display Touchscreen developement facilities source code Ammount of work required for upstreaming Ammount of work for RYF Issues References
  • PocketBook Pro 912
Samsung <?> (arm) 256M Has WiFi, Bluetooth, 3G
PRS-300 Sony PRS-300 No WiFi?
PRS-500 Sony PRS-500
PRS-505 Sony PRS-505
PRS-700 Sony PRS-700
PRS-900 Sony PRS-900 Has 3G

See also: https://elinux.org/EBR-1000EP

Other

Board Vendor Product SOC RAM Display Touchscreen developement facilities source code Ammount of work required for upstreaming Ammount of work for RYF Issues References
A6 series
  • Jinke A6 series
Samsung <?> (Arm9 400MHz) 128M ? ? ? ?
  • Has WiFi
Boox 60
  • Onyx Boox 60
  • Wolder Boox
I.MX31 128M ? ? ? ? ?
  • Both devices have WiFi
Story HD iRiver Story HD (WiFi) NXP (formerly Freescale) I.MX508 128MB e-ink ? ? iRiver source code for Story HD WiFi:
  • Linux
  • Bootloader?
  • TODO: Find how to deactivate the WiFi chip
  • Has WiFi
  • Low ammount of RAM
A9 series Jinke A9 series Samsung <?> (Arm9 400MHz) 128M ?
  • Has WiFi
E60 Samsung S5PC100A66 256M
  • Has WiFi
  • SoC bootloader signed?
PocketBook Pro 912 Samsung <?> (arm) 256M
  • WiFi
  • Bluetooth
  • 3G
iRiver Cover Story ? ?

?

EB100
  • Explay TXT.BOOK (1st & 2nd revision)
  • eRead STAReBOOK (STK 101)
  • Ganaxa GeR2
  • Orsio b721
  • Orsio b721+
  • PocketBook 301
  • Foxit eSlick
EB600
  • Coolreaders Cool-er
  • DittoBook DittoBook
  • Elonex 600eb
  • Explay TXT.BOOK (version 3)
  • Foxit eSlick Reader(newer)
  • Kobo eReader
  • Kolporter Info SA eClicto
  • Merlin HYEG0109B
  • Orsio b731
  • PocketBook 301+
  • Ritmix RBK-500
  • ViewSonic VEB612
FLEPia Fujitsu FLEPia
G5
  • Sibrary G5
  • Boeye Technology E510
  • Digma e500
  • Ergo Book 0501R Black
  • Other
Samsung S3C2416
G6
  • Boeye Technology E600
  • Ergo Book 0603RK White
  • Qumo Libro
  • Qumo Libro II
  • Sibrary G6
  • Others
Samsung S3C2416
G10
  • Boeye Technology E900
  • Digma q1000
  • Sibrary G10
  • Others
Samsung S3C2416
G51
  • Sibrary G51
  • Qumo Colibri
  • G-mini magicbook M5
Samsung S3C2416
Iliad
  • ARINC eFlyBook: Has WiFi
  • HixBooks HixReader: Has WiFi
  • iRex iLiad: Has WiFi
PXA255 64M
Qisda ES600 / ES900:
  • Asus eeeReader DR-900: Has WiFi
  • Benq K60: Has WiFi
  • Bq Avant
  • Bq Avant XL
  • EGriver Touch
  • Icaruse Sense E650 and probably many more
  • Medion Oyo
  • Mr.Book ONext Touch & Read 001
  • Positivo Alfa
  • Promedia PO-541
  • Sagem Binder
  • Probably every eBook-Reader with Sipix display
Samsung S3C2416 128M Linux, u-boot
V3
  • Apollo XXI Apollo-Hanlin V3
  • Astak EZ Reader 6"
  • Central Book Services ECO Reader
  • DigiBook Digibook Reader
  • Endless Ideas BeBook (original)
  • Endless Ideas BeBook One (pre-2010)
  • Grammata Papyre 6.1 (First Edition)
  • Jinke Hanlin eReader V3
  • Koobe Koobe V3
  • lBook lBook V3
  • lBook lBook V3ext
  • lBook lBook V3new
  • Walkbook Walkbook
Samsung S3C2410AL-20 32M
V3+ Samsung s3c2416 64M
V5
  • DZTep V5
  • Devo eVreader
32M
N520
  • Hanvon WISEreader N520
Ingenic JZ4740 (mips) 64M
N526
  • Hanvon WISEreader N526
Ingenic JZ4740 (mips) 32M
Nook 1st Edition
  • Barnes & Noble Nook
? ? Has WiFi, or WiFi and 3G

See also

Hardware components

This section has more details on the various chips and other components used in existing e-readers, or that could be used (or should not be used) to build an RYF compliant e-reader.


Considerations

Components

e-ink displays

e-ink displays have a huge latency. I'm not sure if special software is needed to handle it or if Linux standard e-ink drivers are enough. Available software:

  • F-droid has a laucnher for e-ink displays

I.MX6 e-ink display controller

In the imx_3.9.11_1.0.0_ga branch in the linux-imx, in video/fbdev/mxc, both mxc_epdc_fb.c and mxc_epdc_v2_fb.c uses request_firmware functions, but they seem to be used to load some wavform (data to drive the display) into the display or display controller.

Documentation

System on a chip and associated companion chips

See the Page on SOCs for more details.

This page was a featured resource in December 2019.