Group: Hardware/Computers/e-readers

From LibrePlanet
Jump to: navigation, search
(Good candidates)
m (GNUtoo moved page Group:Hardware/research/e-readers to Group:Hardware/Computers/e-readers: It's a computer type)
 
(170 intermediate revisions by 7 users not shown)
Line 1: Line 1:
== Rationale ==
+
= Rationale =
 
This page aims to document which existing ebook readers could become RYF certified without too much work.
 
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.
 
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 ==
 
== Hardware Requirements ==
 +
 
=== Basic requirements ===
 
=== Basic requirements ===
* No WiFi unless the Wifi chip works with free software.
 
 
* Free boot software or the ability to easily port one to the e-reader.
 
* Free boot software or the ability to easily port one to the e-reader.
** If the code is signed, the system on a chip should have hardware flaws to enable users to bypass it. Some old I.MX are affected by that.
 
** If there is no free software, enough documentation should be available as source code to enable porting an existing bootloader to it.
 
 
* Enough RAM to run free software operating systems.
 
* 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 hardware support work faster ====
+
=== 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.
 
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.
 
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.
Because of that it's better to pick a device that already has has much hardware supported upstream.
+
 
 +
 
 +
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 ===
 +
{| class="wikitable sortable"
 +
|----
 +
! 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 ===
 
=== Additional requirements ===
* 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
 
* CPU that is supported by FSDG distributions or the ability to support the CPU with very few maintenance cost.
 
  
=== Issues ===
+
{| class="wikitable sortable"
* 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.
+
! 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 ==
 
== Software ==
Line 29: Line 90:
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
|----
+
|-
 
! Distribution
 
! Distribution
 
! Architectures
 
! Architectures
 
! RAM Requirements
 
! RAM Requirements
 +
! work required to add a device
 
! Self hosting
 
! Self hosting
 
! FSDG compliant
 
! FSDG compliant
Line 38: Line 100:
 
| Parabola
 
| Parabola
 
|
 
|
* ARMv7 Hard Float
+
Packages:
* i686
+
* [https://www.parabola.nu/packages/?arch=armv7h ARMv7 Hard Float]
* x86_64
+
* [https://www.parabola.nu/packages/?arch=i686 i686]
 +
* [https://www.parabola.nu/packages/?arch=x86_64 x86_64]
 
| ? (low)
 
| ? (low)
 +
|
 +
* Add bootloader package
 
| Yes
 
| Yes
 
| Yes
 
| Yes
Line 47: Line 112:
 
| GuixSD
 
| GuixSD
 
|
 
|
* i686
+
Packages:
* x86_64
+
* [https://www.gnu.org/software/guix/manual/html_node/GNU-Distribution.html#GNU-Distribution i686]
* armv7?
+
* [https://www.gnu.org/software/guix/manual/html_node/GNU-Distribution.html#GNU-Distribution x86_64]
* probably other if compiled
+
* [https://www.gnu.org/software/guix/manual/html_node/GNU-Distribution.html#GNU-Distribution ARMv7 Hard Float]
 +
* [https://www.gnu.org/software/guix/manual/html_node/GNU-Distribution.html#GNU-Distribution aarch64]
 +
* [https://www.gnu.org/software/guix/manual/html_node/GNU-Distribution.html#GNU-Distribution mips64el]
 +
Requires (cross) compilation:
 +
* [https://www.gnu.org/software/guix/manual/html_node/Porting.html#Porting other architectures]
 
| ? (low)
 
| ? (low)
 +
|
 +
* Add bootloader package
 
| Yes
 
| Yes
 
| Yes
 
| Yes
Line 57: Line 128:
 
| LibreCMC
 
| LibreCMC
 
|
 
|
?
+
Packages:
 +
* [https://librecmc.org//librecmc/downloads/snapshots/latest/main/packages/ MIPS 24KC packages]
 +
Requires (cross) compilation:
 +
* [https://gogs.librecmc.org/libreCMC/libreCMC/src/v1.4/include/target.mk#L159 Other MIPS versions]
 +
* [https://gogs.librecmc.org/libreCMC/libreCMC/src/v1.4/include/target.mk#L172 i386]
 +
* [https://gogs.librecmc.org/libreCMC/libreCMC/src/v1.4/include/target.mk#L177 various ARM versions]
 +
* [https://gogs.librecmc.org/libreCMC/libreCMC/src/v1.4/include/target.mk#L199 PowerPC]
 +
* [https://gogs.librecmc.org/libreCMC/libreCMC/src/v1.4/include/target.mk#L206 SPARC]
 +
* [https://gogs.librecmc.org/libreCMC/libreCMC/src/v1.4/include/target.mk#L210 aarch64]
 +
* [https://gogs.librecmc.org/libreCMC/libreCMC/src/v1.4/include/target.mk#L215 arc]
 
| ? (lowest)
 
| ? (lowest)
 +
|
 +
* Add device target, bootloader and kernel configuration
 
| No
 
| No
 
| Yes
 
| Yes
Line 64: Line 146:
 
| Replicant
 
| Replicant
 
|
 
|
* ARMv7 (which extra requirements)
+
Requires (cross) compilation:
* Not about other architectures
+
* ARM (Which version? Which requirements?)
| several hundred of megs (High)
+
* Not sure about other architectures
 +
| [https://static.googleusercontent.com/media/source.android.com/en//compatibility/6.0/android-6.0-cdd.pdf 424M for Android 6.0] (High)
 +
|
 +
* Add device git repository, kernel, bootloader
 
| No
 
| No
 
| Yes
 
| Yes
Line 72: Line 157:
 
|}
 
|}
  
=== e-ink displays ===
+
=== Reader software ===
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.
+
* Off the shelf free software pdf readers (check RAM usage)
Available software:
+
* FBReader
* F-droid has a laucnher for e-ink displays
+
* 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 ==
=== Good candidates ===
+
=== 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
 +
{| 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 90: Line 231:
 
! SOC
 
! SOC
 
! RAM
 
! RAM
 +
! Display
 +
! Touchscreen
 
! developement facilities
 
! developement facilities
 
! source code
 
! source code
Line 96: Line 239:
 
! Issues
 
! Issues
 
! References
 
! 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
 +
| [http://www.iriver.com/opensource.html iRiver source code for Story HD Basic]:
 +
* [http://www.iriver.com/download/download_los.asp?filename=linux-2.6.35.3-basic.tar.bz2&filepath=story_hd_basic/ Linux-2.6.35.3]
 +
* Bootloader: [http://www.iriver.com/download/download_los.asp?filename=u-boot-2009.08.tar.bz2&filepath=story_hd_basic/ u-boot-2009.08]
 +
|
 +
* 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
 +
|
 +
* [http://www.iriver.com/opensource.html iRiver source code]
 +
* [https://web.archive.org/web/20120107225829/http://openinkpot.org/wiki/Device/StoryHD OpenInkpot wiki]
 
|-
 
|-
 
| ?
 
| ?
Line 101: Line 271:
 
| PRS-600
 
| PRS-600
 
| NXP (formerly freescale) I.MX31
 
| NXP (formerly freescale) I.MX31
| 128M
+
| 128MB
 +
| e-ink
 +
|
 
| ?
 
| ?
 
|
 
|
 
* Linux: [https://web.archive.org/web/20180324105924if_/http://oss.sony.net/Products/Linux/Audio/Download/PRS-600/linux-2.6.23_090626.tgz main sources] [https://web.archive.org/web/20180324110823if_/http://oss.sony.net/Products/Linux/Audio/Download/common/VAtAwLRdBVZPKxKt2mCnCw/linux-kernel-headers-2.6.13-1.src.rpm headers sources], [https://web.archive.org/web/20180324110533if_/http://oss.sony.net/Products/Linux/Audio/Download/PRS-600/modules_090626.tgz custom modules sources]
 
* Linux: [https://web.archive.org/web/20180324105924if_/http://oss.sony.net/Products/Linux/Audio/Download/PRS-600/linux-2.6.23_090626.tgz main sources] [https://web.archive.org/web/20180324110823if_/http://oss.sony.net/Products/Linux/Audio/Download/common/VAtAwLRdBVZPKxKt2mCnCw/linux-kernel-headers-2.6.13-1.src.rpm headers sources], [https://web.archive.org/web/20180324110533if_/http://oss.sony.net/Products/Linux/Audio/Download/PRS-600/modules_090626.tgz custom modules sources]
 
* [https://web.archive.org/web/20180324110728if_/http://oss.sony.net/Products/Linux/Audio/Download/PRS-600/nandboot_091022.tgz Custom bootloader sources]
 
* [https://web.archive.org/web/20180324110728if_/http://oss.sony.net/Products/Linux/Audio/Download/PRS-600/nandboot_091022.tgz Custom bootloader sources]
 +
* [https://web.archive.org/web/20120107225829/http://openinkpot.org/wiki/Device/PRS600 OpenInkpot wiki]
 
|  
 
|  
 
* Finish porting the I.MX31 to devicetree
 
* Finish porting the I.MX31 to devicetree
 
* Port the device hardware support code to devicetree
 
* Port the device hardware support code to devicetree
* TODO: Document here which drivers are upstream
+
* TODO: look if devices drivers are upstream
 
* Port the bootloader code to a standard bootloader (u-boot or Barebox)
 
* Port the bootloader code to a standard bootloader (u-boot or Barebox)
| Probably none
+
|
 +
* TODO: Display type
 +
* GPU?
 +
* Video decoding offload?
 
|
 
|
 
* Low ammount of RAM
 
* Low ammount of RAM
 
|  
 
|  
 
* [https://web.archive.org/web/20100328015549/http://www.sony.net:80/Products/Linux/Audio/PRS-600.html official source code]
 
* [https://web.archive.org/web/20100328015549/http://www.sony.net:80/Products/Linux/Audio/PRS-600.html official source code]
|-  
+
|-
| Story HD
+
| EB600
| iRiver
+
| colspan="2" |
| Story HD (Basic)
+
* Kobo eReader
| I.MX508
+
| Samsung S3C2440AL-40
| 128MB
+
| 32MB
| [http://www.iriver.com/opensource.html iRiver source code for Story HD Basic]:
+
| e-ink
* [http://www.iriver.com/download/download_los.asp?filename=linux-2.6.35.3-basic.tar.bz2&filepath=story_hd_basic/ Linux-2.6.35.3]
+
|
* Bootloader: [u-boot-2009.08]
+
|
 +
* Serial port pads known
 +
* JTAG pinout known
 +
| ?
 
|  
 
|  
* Upstream to the devicetree (fast)
+
* Port the S3C2440AL to the devicetree
 +
* Port the devices to the devicetree
 
* TODO: look if devices drivers are upstream
 
* TODO: look if devices drivers are upstream
* Port it to a bootloader (uboot or barebox)
+
* 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
 +
|
 +
* [https://web.archive.org/web/20111223054706/http://openinkpot.org:80/wiki/Device/EB600 OpenInkpot wiki page]
 +
* https://wiki.mobileread.com/wiki/Kobo_eReader_disassembled
 +
* https://minghuasweblog.files.wordpress.com/2011/07/kobo_board.jpg
 +
*
 +
|}
 +
 
 +
=== Bad candidates ===
 +
{| 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 -->
 +
| Amazon
 +
| Kindle Fire (first generation)
 +
| OMAP4430
 +
| 512M
 +
| Standard (Tablet)
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
* Incomplete support in upstream Linux
 +
* Unsigned bootloader, Supported in upstream u-boot
 +
|
 +
* Display driver
 +
* Peripherals devicetree hardware configuration
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
* Has WiFi
 +
* Has standard display and no free software GPU driver
 +
| <!-- References -->
 +
|-
 +
|}
 +
 
 +
=== 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 ====
 +
{| 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
 +
| eReader WiFi
 +
| NXP (formerly Freescale) i.MX357
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
|
 +
* Serial ports pins known
 +
* Can boot from SD
 +
|
 +
Source code available:
 +
* Linux 2.6.28
 +
* Redboot
 +
| <!-- Ammount of work required for upstreaming -->
 +
* Port to the devicetree
 +
* Port to a recent free software bootloader
 +
| <!-- Ammount of work for RYF -->
 +
* Deactivate WiFi
 +
|
 +
* Has WiFi
 +
* Has bluetooth?
 +
|
 +
* https://github.com/lgeek/okreader
 +
* https://github.com/lgeek/u-boot-okreader
 +
* https://github.com/lgeek/linux-okreader
 +
* https://en.wikipedia.org/wiki/Kobo_eReader
 +
|-
 +
| <!-- Board -->
 +
| Kobo
 +
| Wi-Fi
 +
| SOC: NXP (formerly Freescale) i.MX357
 +
| 128M
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E60610 (Touch B)
 +
| Kobo
 +
| Touch
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E50610
 +
| Kobo
 +
| Mini
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E606B0
 +
| Kobo
 +
| Glo
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E606F0B
 +
| Kobo
 +
| Aura 6"
 +
| NXP (formerly Freescale) i.MX507
 +
| 256M
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
|
 +
* u-boot
 +
| partial devicetree upstreamed,
 +
* TPS65185 PMIC
 +
* EKTF2132 touch controller
 +
* some kind of embedded controller
 +
* EPDC
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E606C0
 +
| Kobo
 +
| Aura HD
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E606G0
 +
| Kobo
 +
| Aura H2O
 +
| I.MX507
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E60Q90
 +
| Kobo
 +
| [[Kobo/glo HD|Glo HD]]
 +
| i.MX6 Solo
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E60Q90
 +
| Kobo
 +
| Touch 2.0
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E70Q00
 +
| Kobo
 +
| Aura One
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Netronix E60QL0
 +
| Kobo
 +
| Aura Edition 2
 +
| NXP i.MX6 SoloLite
 +
| <!-- RAM -->
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- 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 -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
|}
 +
 
 +
==== Booken ====
 +
{| 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 -->
 +
| Bookeen
 +
| Cybook Gen1
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| Probably not available: Proprietary OS
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| <!-- Board -->
 +
| Bookeen
 +
| Cybook Gen3
 +
| S3C2410 or S3C2440?
 +
| 16M or 32M?
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| ?
 +
| <!-- Ammount of work required for upstreaming -->
 +
|
 +
* No WiFi
 +
* No Bluetooth
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| <!-- Board -->
 +
| Bookeen
 +
| Cybook Opus
 +
| S3C2440
 +
| 32M
 +
| e-ink
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 
| ?
 
| ?
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
* No wireless
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| <!-- Board -->
 +
| Bookeen
 +
| Cybook Orizon
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| <!-- Board -->
 +
| Bookeen
 +
| Cybook Odyssey
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| <!-- Board-->
 +
| Bookeen
 +
| Cybook Muse
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| <!-- Board-->
 +
| Bookeen
 +
| Cybook Ocean
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| <!-- Board-->
 +
| Bookeen
 +
| Bookeen Saga
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
|}
 +
 +
==== Amazon ====
 +
 +
{| 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
 +
|-
 +
| Kindle
 +
| colspan="2" |
 +
* Amazon Kindle
 +
| SOC: PXA255
 +
| 64M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
|
 +
| No WiFi but has 3G
 +
| <!-- References -->
 +
|-
 +
|Kindle 2
 +
| colspan="2" |
 +
* Amazon Kindle 2
 +
| SOC: I.MX31
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| Linux 2.6.26
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| No WiFi but has 3G/CDMA
 +
| <!-- References -->
 +
|-
 +
|Kindle 3 Keyboard
 +
| colspan="2" |
 +
* Amazon Keyboard
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
|
 +
| WiFi or, WiFi and 3G
 +
| <!-- References -->
 +
|-
 +
|Kindle 4:
 +
| colspan="2" |
 +
* Amazon Kindle 4
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| Has WiFi
 +
| <!-- References -->
 +
|-
 +
| Kindle 4 Touch
 +
| Amazon
 +
| Kindle 4 Touch
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| WiFi or, WiFi and 3G
 +
| <!-- References -->
 +
|-
 +
| Kindle DX
 +
| colspan="2" |
 +
* Amazon Kindle DX
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 
|  
 
|  
* Low ammount of RAM
+
| Has 3G
 +
| <!-- References -->
 +
|-
 +
|}
 +
 
 +
==== Sony ====
 +
 
 +
{| 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
 +
|-
 
|
 
|
* [https://web.archive.org/web/20120107225829/http://openinkpot.org/wiki/Device/StoryHD OpenInkpot wiki]
+
| colspan="2" |
 +
* PocketBook Pro 912
 +
| Samsung <?> (arm)
 +
| 256M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| Has WiFi, Bluetooth, 3G
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| PRS-300
 +
| Sony
 +
| PRS-300
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| No WiFi?
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| PRS-500
 +
| Sony
 +
| PRS-500
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| PRS-505
 +
| Sony
 +
| PRS-505
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| PRS-700
 +
| Sony
 +
| PRS-700
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| PRS-900
 +
| Sony
 +
| PRS-900
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| Has 3G
 +
| <!-- References -->
 +
|-
 
|}
 
|}
  
=== Bad candidates ===
+
See also: https://elinux.org/EBR-1000EP
 +
 
 +
==== Other ====
 +
 
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|----
 
|----
Line 144: Line 987:
 
! SOC
 
! SOC
 
! RAM
 
! RAM
 +
! Display
 +
! Touchscreen
 
! developement facilities
 
! developement facilities
 
! source code
 
! source code
Line 156: Line 1,001:
 
| Samsung <?> (Arm9 400MHz)
 
| Samsung <?> (Arm9 400MHz)
 
| 128M
 
| 128M
 +
|
 +
| ?
 
|  
 
|  
 
| ?
 
| ?
Line 171: Line 1,018:
 
| I.MX31
 
| I.MX31
 
| 128M
 
| 128M
 +
|
 +
| ?
 
| ?
 
| ?
 
| ?
 
| ?
Line 179: Line 1,028:
 
|  
 
|  
 
* [https://web.archive.org/web/20120107225829/http://openinkpot.org/wiki/Device/Boox60 OpenInkpot wiki]
 
* [https://web.archive.org/web/20120107225829/http://openinkpot.org/wiki/Device/Boox60 OpenInkpot wiki]
 +
|-
 +
| Story HD
 +
| iRiver
 +
| Story HD (WiFi)
 +
| NXP (formerly Freescale) I.MX508
 +
| 128MB
 +
| e-ink
 +
| ?
 +
| ?
 +
| [http://www.iriver.com/opensource.html iRiver source code for Story HD WiFi]:
 +
* Linux
 +
* Bootloader?
 +
|
 +
|
 +
* TODO: Find how to deactivate the WiFi chip
 +
|
 +
* Has WiFi
 +
* Low ammount of RAM
 +
|
 +
* [http://www.iriver.com/opensource.html iRiver source code]
 +
* [https://web.archive.org/web/20120107225829/http://openinkpot.org/wiki/Device/StoryHD OpenInkpot wiki]
 +
|-
 +
| A9 series
 +
| Jinke
 +
| A9 series
 +
| Samsung <?> (Arm9 400MHz)
 +
| 128M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| ?
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
* Has WiFi
 +
| <!-- References -->
 +
|-
 +
| E60
 +
| Samsung
 +
| <!-- Product -->
 +
| S5PC100A66
 +
| 256M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
* Has WiFi
 +
* SoC bootloader signed?
 +
| <!-- References -->
 +
|-
 +
| <!-- Board -->
 +
| <!-- Vendor -->
 +
| PocketBook Pro 912
 +
| Samsung <?> (arm)
 +
| 256M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
* WiFi
 +
* Bluetooth
 +
* 3G
 +
| <!-- References -->
 +
|-
 +
| <!-- Board -->
 +
| iRiver
 +
| Cover Story
 +
| ?
 +
| ?
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
?
 +
| <!-- References -->
 +
|-
 +
|EB100
 +
|colspan="2" |
 +
* Explay TXT.BOOK (1st & 2nd revision)
 +
* eRead STAReBOOK (STK 101)
 +
* Ganaxa GeR2
 +
* Orsio b721
 +
* Orsio b721+
 +
* PocketBook 301
 +
* Foxit eSlick
 +
|
 +
|
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
|EB600
 +
|colspan="2" |
 +
* 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
 +
|
 +
|
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
|-
 +
| FLEPia
 +
| Fujitsu
 +
| FLEPia
 +
| <!-- SOC -->
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| G5
 +
| colspan="2" |
 +
* Sibrary G5
 +
* Boeye Technology E510
 +
* Digma e500
 +
* Ergo Book 0501R Black
 +
* Other
 +
| Samsung S3C2416
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| G6
 +
| colspan="2" |
 +
* Boeye Technology E600
 +
* Ergo Book 0603RK White
 +
* Qumo Libro
 +
* Qumo Libro II
 +
* Sibrary G6
 +
* Others
 +
| Samsung S3C2416
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
|-
 +
| G10
 +
| colspan="2" |
 +
* Boeye Technology E900
 +
* Digma q1000
 +
* Sibrary G10
 +
* Others
 +
| Samsung S3C2416
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| G51
 +
| colspan="2" |
 +
* Sibrary G51
 +
* Qumo Colibri
 +
* G-mini magicbook M5
 +
| Samsung S3C2416
 +
| <!-- RAM -->
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
|Iliad
 +
| colspan="2" |
 +
* ARINC eFlyBook: Has WiFi
 +
* HixBooks HixReader: Has WiFi
 +
* iRex iLiad: Has WiFi
 +
| PXA255
 +
| 64M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
|-
 +
| Qisda ES600 / ES900:
 +
| colspan="2" |
 +
* 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
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| Linux, u-boot
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
 +
|-
 +
| V3
 +
| colspan="2" |
 +
* 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
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
 +
|-
 +
| V3+
 +
|
 +
|
 +
| Samsung s3c2416
 +
| 64M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| V5
 +
| colspan="2" |
 +
* DZTep V5
 +
* Devo eVreader
 +
|
 +
| 32M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
|-
 +
| N520
 +
| colspan="2" |
 +
* Hanvon WISEreader N520
 +
| Ingenic JZ4740 (mips)
 +
| 64M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| N526
 +
| colspan="2" |
 +
* Hanvon WISEreader N526
 +
| Ingenic JZ4740 (mips)
 +
| 32M
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| <!-- Ammount of work for RYF -->
 +
| <!-- Issues -->
 +
| <!-- References -->
 +
|-
 +
| Nook 1st Edition
 +
| colspan="2" |
 +
* Barnes & Noble Nook
 +
| ?
 +
| ?
 +
| <!-- Display -->
 +
| <!-- Touchscreen -->
 +
| <!-- developement facilities -->
 +
| <!-- source code -->
 +
| <!-- Ammount of work required for upstreaming -->
 +
| Has WiFi, or WiFi and 3G
 +
| <!-- Issues -->
 +
| <!-- References -->
 
|-
 
|-
 
|}
 
|}
Line 184: Line 1,392:
 
== See also ==
 
== See also ==
 
* https://en.wikipedia.org/wiki/Comparison_of_e-readers
 
* https://en.wikipedia.org/wiki/Comparison_of_e-readers
 +
 +
= 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 [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 ===
 +
 +
See the [[Group:Hardware/Components/SOCs|Page on SOCs]] for more details.
 +
 +
{{featured resource|month=December|year=2019}}

Latest revision as of 16: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.