Group: Hardware/Computers/e-readers/Kobo/Aura H2O Edition 2
(→main storage) |
(→main storage) |
||
Line 211: | Line 211: | ||
|- | |- | ||
| mmcblk0p1 | | mmcblk0p1 | ||
− | | | + | | 239.9M |
| rootfs | | rootfs | ||
| cat /proc/cmdline: root=/dev/mmcblk0p1 | | cat /proc/cmdline: root=/dev/mmcblk0p1 | ||
Line 221: | Line 221: | ||
|- | |- | ||
| mmcblk0p3 | | mmcblk0p3 | ||
− | | | + | | 6.7G |
| user data | | user data | ||
| mount: /dev/mmcblk0p3 on /mnt/onboard type vfat | | mount: /dev/mmcblk0p3 on /mnt/onboard type vfat |
Revision as of 11:21, 18 June 2018
External interfaces
USB
Several interfaces are exposed through USB:
- It's possible to make the device switch to fastboot during boot
- If the device is not registered, you can switch to mass-storage by selecting "no wifi" during the device boot.
Power button
Touchscreen
Internal interfaces
Serial/UART
Voltage | 3.3v |
Baudrate | 115200 |
Settings | 8N1 (the default almost everywhere) |
To get a shell you can login through the serial port with the user 'root':
(none) login: root [root@(none) ~]#
However once logged the console will probably freeze at some point. This is because the device has aggressive power management which makes the device goes into suspend.
To wake up the device, touching the screen is enough, however touching the screen all the time is not very convenient for development.
It seems to be an userspace application that makes the device goes into suspend. So we will overwrite /sys/power/state with a file that does nothing. We have ram filesystem mounted in /tmp, so we will use that to be saver (as it will not make permanent modifications):
[root@(none) ~]# mount [...] none on /tmp type tmpfs (rw,relatime,size=16384k) [...]
We can overwrite /sys/power/state like that:
[root@(none) ~]# touch /tmp/state [root@(none) ~]# mount -o bind /tmp/state /sys/power/state
This effectively prevent the device from going into suspend.
PCB
Here are the chips on the top of the PCB. Caevats:
- you need a big screen to view properly the markings as it will line-break with smaller screens
- The markings might contain errors as they are tiny and some letter/number could be mixed up
- I didn't disassemble it enough to see the bottom because the connectors seemed really fragile (they even had glue inside them) so if I do, I fear that I won't be able to put everything back in place. There might be some more chips on the bottom.
Usage | Location | Package | Markings | Driver(s) | Documentation |
---|---|---|---|---|---|
512M RAM | 168-Ball PoP-FBGA |
NANYA 1718 NT6TL 128M 32BQ-G0 7201166 AEP 3TW |
? | ||
? | ? |
SEC 737 BO41 KLM8616EME H56P4788D |
? | ||
System on a chip | ? (BGA) |
MCIMX6V7DVN10AB XAA 1739 TAIW HMAAXK |
Lots of drivers | ||
WiFi chip (and potentially other features) | ? |
REALTEK 8189PTY H857492 GH438 |
? | ||
? | ? |
RICOH AC5T619 1137 7409N1 |
|||
Power management integrated circuit (and potentially other features) | ? |
TPS 65185 T1 7AI CS6S G4 |
? | ||
On the display flex cable | ? |
TT21000 -48L0I 1725 B03 PRD627959 PHI □ C 041 |
? |
Pictures
Some pictures of the top PCB taken with a camera:
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_01.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_02.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_03.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_04.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_05.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_06.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_07.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_08.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_09.jpeg
- https://archive.org/details/kobo_aura_H2O_edition_2_pcb_10.jpeg
Software
Kobo software
Stock OS analysis
- The default OS forces the user to register or use some network services like Kobo, google, facebook, etc
Source code
Linux sources analysis
The sources have multiples boards selected:
CONFIG_MACH_MX6Q_ARM2=y CONFIG_MACH_MX6SL_ARM2=y CONFIG_MACH_MX6SL_EVK=y CONFIG_MACH_MX6SL_NTX=y # CONFIG_MACH_MX6Q_SABRELITE is not set CONFIG_MACH_MX6Q_SABRESD=y
However there is a gen_bootimg.sh with inside:
./mkbootimg --kernel arch/arm/boot/zImage --ramdisk uramdisk.img --base 0x80800000 --cmdline "console=ttymxc0,115200 init=/init androidboot.console=ttymxc0 max17135:pass=2, fbmem=6M video=mxcepdcfb:E060SCM,bpp=16 no_console_suspend" --board evk_6sl_eink -o boot.img
This seem to indicate that the file describing the e-reader hardware is arch/arm/mach-mx6/board-mx6sl_evk.c (along with arch/arm/mach-mx6/mx6sl_evk_pmic_pfuze100.c)
The source code of this file seem to be derived from a single board computer from Freescale/NXP, but it is odd as some features not present in this e-reader hardware aren't disabled at compilation time.
Firmwares
Since Linux and u-boot sources are available, the most interesting information (for RYF certification) to look for is if some peripherals require a non-free firmware. The most common places where firmwares can be used or required are:
- The WiFi/bluetooth driver
- The touchscreen driver
It might also be a good idea to double check that the e-paper display only needs some calibration data and doens't require any nonfree firmware
GPU
According to the linux compilation configuration the GPU is unused:
# # MXC Vivante GPU support # # CONFIG_MXC_GPU_VIV is not set
WiFi
The WiFi chip seem to use an out of tree driver:
CONFIG_WLAN=y # CONFIG_USB_ZD1201 is not set # CONFIG_WIFI_CONTROL_FUNC is not set # CONFIG_BCM4329 is not set # CONFIG_BCMDHD is not set # CONFIG_HOSTAP is not set
This will need a bit more research to get some confirmation on that
Boot logs
main storage
Here we have 3 partitions:
partition | size | function | source |
mmcblk0p1 | 239.9M | rootfs | cat /proc/cmdline: root=/dev/mmcblk0p1 |
mmcblk0p2 | |||
mmcblk0p3 | 6.7G | user data | mount: /dev/mmcblk0p3 on /mnt/onboard type vfat |
runtime informations
/proc/cmdline:
console=ttymxc0,115200 rootwait rw no_console_suspend hwcfg_p=0x9ffffe00 hwcfg_sz=110 waveform_p=0x9fdc8a00 waveform_sz=2323160 ntxfw_p=0x9fdc6400 ntxfw_sz=9474 mem=509M boot_port=0 rootfstype=ext4 root=/dev/mmcblk0p1 quiet