kobo Touch のシリアルピンがわかったので、USBシリアルをつなげてログインしてみました。
使ったのは秋月のFT232RLモジュールです。1.8Vから5VまでのUARTを繋げられるので便利です。
ICクリップを使ってこんな感じで引き出して・・・
kobo TouchからUARTを引き出す
FT232RLにつなげます。
FT232RLに接続
kobo Touch のJ5と FT232RL モジュールは以下のようにつなぎます。
Kobo J5 FT232RL
1 VCC
2 TX ----- 5 RX
3 RX ----- 1 TX
4 GND ----- 24 GND
電源OFFから起動した時のログは以下のようになりました。
U-Boot 2009.08-dirty-svn (12 13 2011 - 16:52:29)
CPU: Freescale i.MX50 family 1.1V at 800 MHz
mx50 pll1: 800MHz
mx50 pll2: 400MHz
mx50 pll3: 216MHz
ipg clock : 66666666Hz
ipg per clock : 66666666Hz
uart clock : 24000000Hz
ahb clock : 133333333Hz
axi_a clock : 400000000Hz
axi_b clock : 200000000Hz
weim_clock : 100000000Hz
ddr clock : 200000000Hz
esdhc1 clock : 80000000Hz
esdhc2 clock : 80000000Hz
esdhc3 clock : 80000000Hz
esdhc4 clock : 80000000Hz
Board: MX50 RDP board
Boot Reason: [POR]
Boot Device: SD
I2C: ready
DRAM: 256 MB
MMC: FSL_ESDHC: 0, FSL_ESDHC: 1
In: serial
Out: serial
Err: serial
MMC read: dev # 0, block # 1023, count 1 partition # 0 …
1 blocks read: OK
MMC read: dev # 0, block # 1024, count 1 partition # 0 …
1 blocks read: OK
[only 1 key]
0 keys,0x00,0x00
0 keys,0x00,0x00
0 keys,0x00,0x00
0 keys,0x00,0x00
ram p=70000000,size=268435456
MMC read: dev # 0, block # 1023, count 1 partition # 0 …
1 blocks read: OK
MMC read: dev # 0, block # 1024, count 1 partition # 0 …
1 blocks read: OK
MMC read: dev # 0, block # 18431, count 1 partition # 0 …
1 blocks read: OK
MMC read: dev # 0, block # 14335, count 1 partition # 0 …
1 blocks read: OK
MMC read: dev # 0, block # 14336, count 1979 partition # 0 …
1979 blocks read: OK
Kernel RAM visiable size=255M->255M
Hit any key to stop autoboot: 0
MMC read: dev # 0, block # 2047, count 1 partition # 0 …
1 blocks read: OK
cmd=mmc read 0 0x778205a0 0x7ff 0x1
no kernel image signature !
cmd=mmc read 0 0x70800000 0x800 0x1800
MMC read: dev # 0, block # 2048, count 6144 partition # 0 …
6144 blocks read: OK
## Booting kernel from Legacy Image at 70800000 …
Image Name: Linux-2.6.35.3-850-gbc67621+
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1904568 Bytes = 1.8 MB
Load Address: 70008000
Entry Point: 70008000
Loading Kernel Image … OK
OK
Starting kernel …
Uncompressing Linux… done, booting the kernel.
epdc_init_sequence(994) : epd_power_on request fail !
1+0 records in
1+0 records out
512 bytes (512B) copied, 0.002350 seconds, 212.8KB/s
cannot open /dev/null
dosfsck 3.0.6, 04 Oct 2009, FAT32, LFN
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
494:9c/00, 495:e2/00, 496:48/00, 497:42/00, 498:2a/00, 499:dc/00, 500:b3/00
, 501:7b/00, 502:4b/00, 503:25/00, 504:a0/00, 505:b1/00, 506:65/00
, 507:43/00, 508:ed/00, 509:52/00
Not automatically fixing this.
/dev/mmcblk0p3: 299 files, 3579/348630 clusters
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
(none) login: Screen resolution is.. 600 x 800
> ApplicationBase: loading locale: “:/translations/trans_ja_JP”
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
> WebSyncScheduler: scheduleTimer: No need to schedule a sync
loadPlugin: loaded plugin for QFontEngine
Loading iType.. YES
> FTE Startup stage: 0. Language selection…
> FTE Startup stage: 1. Select setup type…
> FTE Startup stage: 2. Changelog…
> FTE Startup stage: 3. Auxillary notifications…
> Warning: You haven’t called pageView yet: “5(Settings*Set%20View%20Type*List)”
> Warning: Why are you deselecting an unselectable textheader?
> Warning: Why are you deselecting an unselectable textheader?
static QList Repository::retrieve(QString, QString, const QMap&, const QList&, int, int, const QString&) [with T = ShelfContent] Falling back to db
> Warning: You haven’t called pageView yet: “5(Settings*Set%20View%20Type*List)”
> FSCheckThread: dbMalformed: false fsCorrupted: false
loadPlugin: loaded plugin for QRasterPaintEngine
(none) login:
(none) login:
(none) login: sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
Object::connect: No such slot KepubBookReader::displayTitlePage()
Object::connect: (sender name: ‘ReadingView’)
Object::connect: No such signal KepubBookReader::showFooter()
Object::connect: (receiver name: ‘ReadingView’)
Object::connect: No such signal KepubBookReader::hideFooter()
Object::connect: (receiver name: ‘ReadingView’)
Object::connect: No such signal KepubBookReader::openFooterMenu()
Object::connect: (receiver name: ‘ReadingView’)
Object::connect: No such signal KepubBookReader::closeFooterMenu()
Object::connect: (receiver name: ‘ReadingView’)
Object::connect: No such slot KepubBookReader::footerMenuClosed()
Object::connect: (sender name: ‘ReadingView’)
Object::connect: No such slot KepubBookReader::footerMenuOpened()
Object::connect: (sender name: ‘ReadingView’)
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
loadPlugin: loaded plugin for QRawFont
(none) login: sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
(none) login:
(none) login: sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
sh: you need to specify whom to kill
(none) login:
(none) login:
(none) login:
(none) login:
(none) login:
(none) login:
root 、パスワード無しでログインできます。
ただ、数秒触らないとすぐにサスペンド(?)してしまいます。頻繁にサスペンドできるのはE-ink端末ならではですね。 そりゃ電池ももつわけだ。
ryoさんのブログによると、killall nickel で nickel プロセスを止めると、このスリープも止まるそうです。
これで色々いじれる環境が整いました。