Group: Hardware/Computers/e-readers

From LibrePlanet
< Group:Hardware‎ | Computers
Revision as of 05:40, 13 April 2018 by GNUtoo2 (talk | contribs) (move e-ink display information in hardware components)
Jump to: navigation, search

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

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 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

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

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
Kobo Touch e-ink
Kobo Mini e-ink
Kobo Glo e-ink
Kobo Aura NXP (formerly Freescale) i.MX507 e-ink
  • u-boot
Kobo Aura HD e-ink
Kobo Aura H2O I.MX507 e-ink
Kobo Glo HD i.MX6 Solo e-ink
Kobo Touch 2.0 e-ink
Kobo Aura One e-ink
Kobo Aura Edition 2 NXP i.MX6 SoloLite e-ink

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

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.

System on a chip and associated companion chips

Vendor 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:

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)
very few missing drivers ? ?
Samsung
  • S3C2410
  • S3C2440
  • S3C2442
? ? No known issues Needs to be ported to the devicetree ? ?


This page was a featured resource in April 2018.