或关于小故障等待我们的故事

PocketBook很赞我。 这是后苏联空间领域的市场领导者,在电子书领域,每个人都知道这家公司。 关于公司的产品,这里有很多讨人喜欢的帖子。 他们给我们漂亮的广告,赞美的颂歌。 让我们更深入地研究硬件和软件,并尝试还原旧的Pocketbook 515,并探究该公司产品的精髓。 好吧,让我们评估一下它们的真实性或不良性。 没有点缀。
我们要谈什么?
出于命运的考虑,我偶然发现了PocketBook 515电子书,将它与现代模型进行比较既古老又不合理,但我认为应该从中继承基本原理和问题。
我碰到了一位以前的女主人的书,因为那是马车,几乎无法使用。 症状如下:这本书打开了,载入了……。

就是这样,没有菜单,什么都没有。 不响应按钮。
我认为垃圾就是战争。 现在,我们将对其进行修复。 您需要观看YouTube。 他们建议的第一件事是还原固件。 关闭这本书,按住两个极限键并打开它(这是相同的马戏团草图,我会告诉你)。 好吧,我认为这很简单,我们在女士们中! 我努力
更新失败...然后,我了解到冒险开始了...
潘多拉魔盒或硬件填充
老实说,我一直很钦佩PocketBook,因为他们能够创造出很棒的设备,在市场上占据了一席之地。 我什至真的很想为他们工作,但由于地缘政治原因,他们没有带我去那里。 但是我没想到会用...奇怪的方式打开这样的盒子。
像往常一样,当您看到一项任务时,甚至看不到冰山一角,而是看到祖母弄皱的明信片。 当您倒入作品时,您看不到区域尽头,但为时已晚,退却了,您会想:我到底是什么? 这里完全一样。
看起来原因很简单:很可能是内存问题。 而且我从
帖子中的
评论中知道,在那里安装了sd卡,但无法解决dd-snitch的问题。 也就是说,您可以复制卡,但无法使用。 因此,我们正在等待一次有趣的冒险来恢复卡,并研究固件和可能的破解……但首先要注意的是。 首先,让我们看一下书,看看问题的所有根源。
打开这本书非常简单,只需遍历周围的所有卡片,我们就会看到此设备的肠腔。

照片与我们平常拿着本书时完全一样,面朝下打开。 我们看到了什么? 在未焊接的wifi模块的右上角。 而且,即使是闪烁的日志也告诉我们它可能是(上图中倒数第二行)。 为什么在没有触摸屏的书中使用wifi-我无法想象! 中央是一块大电池。 在她的左边是火车驶向银幕。 电池旁边显然是充电控制器。 右边是命运多memory的存储卡! 寿命最短的最便宜的。 但是我们会回到她身边。 缺乏时间,我们不会考虑任何小事情。 让我们看一下处理器,通常这个区域更大。

全志A13(做鬼脸)。 这是来自各种各样的Orange Pi及其同类的家庭。 我不全心全意地喜欢他,因为缺乏正常的文件记录,以及他们一次喝了很多血。 这是个人的厌恶,莫名其妙。 但是,PocketBook的创建者是非常出色的人,他们能够降低功耗,使其进入休眠状态并通常切断其中所有强大的功能,以使其尽可能长时间工作。 我很想看看这些模块的代码。 我们将详细讨论该代码。 但通常来说,该家族的用法是“直复符”(hi Yandex-column)。
处理器的左侧显然是UART行(请勿转到算命先生)。 我的手渴望在那里焊接,但要查看下载日志。 但是我的任务不是研究设备,而是修复它。 因此,我希望有一天我能听到它!
在处理器下方以一定角度焊接容量为2Gb的RAM芯片! 对于此类中等任务,这是很多事情。 但是从使用了这么多的ramf的事实来看,也许是这样。 更有趣的是,该芯片K4B2G1646Q-BCK0T00是DDR3 SDRAM,即 动态内存,需要定时存储信息(如果我输入错了,请纠正我)。 也就是说,即使在睡眠模式下(与SRAM相对),它也会消耗能量。 对于我来说,如何确保这本书的长期使用仍然是个谜。 也许答案是当切换到睡眠模式时,所有RAM都被扔掉了存储卡(或其差异)上吗? 我不知道,这是一个非常有趣的研究场所。
因此,一张存储卡。 我认为,即使是盲人,也会看到与卡相连的连接器下方有一个用于微电路的接触垫。 为什么将卡放在单独的插槽中,甚至用油漆标记它-我不清楚。 LiveJournal中的民意调查没有给出结果,很可能是这样,以至于中文在组装过程中无法猛击固件,但已经在此处进行了拼接。 另外,您可以插入一张测试卡来测试硬件,而不会浪费时间在刷新上。 这是唯一合理的解释。 为什么会有这么便宜的卡寿命数年-这是可以理解的-问题的代价。
展望未来,我要说的是,您需要立即用工业SD卡替换它,例如

确实,在您所有的树莓上,为了避免出现问题,值得切换到此类卡片。 它们并不昂贵,不会冒可靠性的危险。
总的来说,我很清楚需要更换卡。 并且必须有一些替换程序。
简而言之,硬件非常有趣,好奇本书的各个节点的驱动程序是如何实现的,我很乐意与开发人员联系以了解更多信息。 最有趣的是使用内存以及如何实现睡眠模式。 但是硬件就是可见的。 最奇怪的是软件中正在发生什么! 那么软件呢? 让我们看看卡的内容。
在我们的地图上是什么?
通常,解析卡中的内容可能会产生单独的文章。 因此,如果您对那里的内容不太感兴趣,可以放心地转到另一部分。
该地图包括9个部分!

其中1、2、7、8、9和10已安装(第4个未安装)。

/媒体/ dlinyj / Pocket515上的/ dev / sdd1部分
这是将书连接到计算机时看到的同一部分。 对于我们来说,这里没有什么特别之处。
部分/开发/ sdd2于/媒体/ dlinyj /卷
它包含一个内核和主引导配置,以及一张
low_pwr.bmp低电压图片,这是一个扩展名为bmp的常规文件。 像,充电。

目前尚不清楚为什么内核映像位于根目录(bImage文件)中,而另一个位于linux文件夹中

假设一个在充电时加载,另一个在完全运行时加载。 linux文件夹具有更大的文件大小。
linux文件夹是最有趣的。 bImage是内核映像。 cramfs.img-ramfs的映像,用于恢复模式(恢复开始时我们看到的内容)。 尽管在深入研究的过程中,似乎其中包含了非常重要的内容。 无论如何,没人会读这个废话,你可以写任何废话。 特罗洛洛 * .ini文件-下载设置。
linux.bmp文件无法由编辑器打开,并且大小为35,290字节,狗知道它是什么。 其中有用的文件是linux.ini等。 我将举一个第一个例子。
[global]
commandline = console=ttyS0,115200 root=/dev/mmcblk0p7 init=/init loglevel=1 rootwait
[segment]
img_name = c:\linux\bImage
img_size = 0x800000
img_base = 0x40008000
[script_info]
script_base = 0x43000000
script_size = 0x10000
[logo_info]
logo_name = c:\linux\linux.bmp
logo_show = 1
, .. , bmp- , - . recovery.ini . , .
[global]
commandline = console=ttyS0,115200 root=/dev/ram0 init=/linuxrc loglevel=8 initrd=0x41000000,8M rootfstype=cramfs ramdisk=8192 rootwait
....
[segment]
img_name = c:\linux\cramfs.img
img_size = 0x800000
img_base = 0x41000000
/dev/sdd10 on /media/dlinyj/Compressed type cramfs
ramfs. rootfs, .

/bin, busybox. , . sbin reboot. , , ( ), . , gpio
#!/bin/sh
/sbin/insmod /lib/modules/gpio_driver.ko
gpiotool -G H -O 0 -P 0
gpiotool -G H -O 0 -P 1
gpiotool -G H -O 0 -P 2
gpiotool -G H -O 0 -P 3
gpiotool -G H -O 0 -P 4
gpiotool -G H -O 0 -P 5
../bin/busybox reboot
, gpio sysfs.
— /etc/ /lib/modules. , :
epdc.ko — — — .
gpio_driver.ko — gpio
GPL , . .
/etc/ . .
device.sh — . fstab :
...
/ebrmain/cramfs.img /ebrmain/cramfs auto defaults,loop 0 0
...
. . . , . , cramfs recovery. .. , , .
, .
/dev/sdd9 on /media/dlinyj/13351b4c-2ff0-46dd-9d4a-b2a1bed7cf99
. .
sudo ls -1a /media/dlinyj/13351b4c-2ff0-46dd-9d4a-b2a1bed7cf99
.
..
explorer-2.tar
.freezestatus
.hashsum_1
lost+found
man2wall.txt
pbpk
runonce
.
explorer-2.tar :

. . .
man2wall.txt — , :
sudo cat /media/dlinyj/13351b4c-2ff0-46dd-9d4a-b2a1bed7cf99/man2wall.txt
/mnt/ext1/ PocketBook.pdf
—
.freezestatus — - , .
4pda .
, root.
drwxrwx--- 2 systemd-resolve systemd-timesync 1024 27 2014 pbpk
drwxrwxrwx 2 systemd-resolve systemd-timesync 1024 27 2014 runonce
- .
/dev/sdd8 on /media/dlinyj/41931a84-c18c-407a-b9a1-9a08dfe5a7ae
. , , , . , , . , , :
/media/dlinyj/41931a84-c18c-407a-b9a1-9a08dfe5a7ae $ ls -la
96642
drwxr-xr-x 14 root root 1024 7 2014 .
drwxr-x---+ 6 root root 4096 21 16:09 ..
drwxr-xr-x 2 root root 2048 7 2014 bin
drwxr-xr-x 3 root root 1024 7 2014 config
drwxr-xr-x 2 root root 1024 7 2014 cramfs
-rw-r--r-- 1 root root 62660608 7 2014 cramfs.img
-rw-r--r-- 1 root root 22 7 2014 .def_id
drwxr-xr-x 3 root root 2048 7 2014 fonts
-rw-r--r-- 1 root root 4858 7 2014 fsimage.md5
-rw-r--r-- 1 root root 35871876 7 2014 fsimage.tar.gz
drwxr-xr-x 3 root root 1024 7 2014 language
drwxr-xr-x 5 root root 4096 7 2014 lib
drwxr-xr-x 2 root root 1024 7 2014 license
drwxr-xr-x 2 root root 1024 7 2014 logo
drwx------ 2 root root 12288 7 2014 lost+found
lrwxrwxrwx 1 root root 15 7 2014 pocketbook -> bin/monitor.app
drwxr-xr-x 12 root root 1024 7 2014 share
drwxr-xr-x 2 root root 1024 7 2014 themes
-rw-r--r-- 1 root root 12 7 2014 .version
drwxr-xr-x 3 root root 1024 7 2014 widgets
, , , . , /bin /ebrmain/cramfs/bin./. , cramfs.img ramfs, (, !!!).

/lib . , cramfs .
4pda, -.
…
monitor.app, 8, cramfs.img (sde8/cramfs.img/bin/monitor.app).
monitor.app , sde8 pocketbook, /sde8/bin/monitor.app, , , , monitor.app, cramfs.img.
…
fsimage.tar.gz . . , . . , share
ls -1 share/
alsa
antiword
book_store.bmp
book_store_Titelive.bmp
explorer-2
FBReader
fonts
icons
locale
man2wall.sh
obreeysync
player.cfg
s2pb
ssl
wifi-files-fix.sh
zlibrary
zoneinfo.lst
zoneinfo.tar.gz
, wifi , . , !
: ! , . , , ! ! , - ?
. GNU?
- - ,
. , , :). , Linux, , Sony. , , , , . , Linux GNU, , Pocketbook : , userspace? ,
license-violation@gnu.org. , PocketBook, ? :
!
PocketBook 515. , Linux. GNU General Public License, , . , , ( ) ? PocketBook 515.
PocketBook 515. .
( ) habr.com.
, , PocketBook , .
, !
.
Linux. Linux, 515, : github.com/pocketbook/Platform_A13
!
,
! ! , , , -, ( ), - - .
: libc, . , . .… .
.
. , , , GNU GPL. , rootfs busybox


glibc, . , .
, . , . , ?
? , , , git- userspace, .
, !
.
R&D , busybox glibc , :
busybox.net/downloads ( 1.26.2)
www.gnu.org/software/libc ( 2.50.3)
,
, , .
PocketBook 515
( ) PocketBook 626 626+. , . .
, . , . PocketBook. , 4pda. ,
(. ), , .
…
, 1000 , , .
- , . 450 .
…
III. :
1) .
2) (, vcom waveform), . yadi.sk/d/ur92mMug3SPVHh, ED050SC3 ED050SC5.
3) SDSN .
…
IV. , — 3 .
:
- . , , . , PocketBook ( ), . , , .
- , , .
- , (, ).
- - (SDSN), . , , .
, , - , , , , . , , , . , :
, ! - ! .
4pda. , , PocketBook 626, .
. , .
, , . .
, , , :
- .
- (- ).
- MBR-, ( ) ( hex-, ).
- SDSN ( ).
- .freezestatus, .
- .
- ...
- ???
- PROFIT!!!
, SDSN ( ) . . . /sys ( root). . , , Raspberry Pi! - Raspberry Pi Zero. , HDMI, USB-, . .

, serial. :
find /sys –name “serial” , SD- . home .
, , ! , ! ! , ,… , . …

… . , -. , -. ( ).
, , !- . :
- . , , . , .
- , , , . . .
- SD- – - . - SD-, - . , , , . !
- , . , , rootfs ramfs, — . , , . – .
- . , , ? , . ( ) , , . , .
- . , . , : , TrustZone -. , , , . , , «» . , , . (, ;) )
, , , . , . , .
, « ». .
, - , .
P.S. PocketBook , !