10-03-2011, 11:47 AM | #16 | |
Member
Posts: 24
Karma: 1302
Join Date: Jun 2011
Device: Kobo Touch
|
Quote:
The best for you is probably to create or to find a tool to encapsulate text files into epub. That should not be so difficult because EPUB is nothing else than a ZIP archive containing simple XML and HTML files. A quick search on Google gave me that one http://uread.superfection.com/txt2epub.html but there are probably several more out there. |
|
10-04-2011, 05:02 AM | #17 |
Connoisseur
Posts: 71
Karma: 18140
Join Date: Jul 2011
Device: PRS-T1&KOBOTOUCH
|
Thank you Stef70, I had given up to render txt directly by KOBO.
I think I know too less things about linux. |
Advert | |
|
10-06-2011, 08:18 AM | #18 |
Member
Posts: 24
Karma: 1302
Join Date: Jun 2011
Device: Kobo Touch
|
Linux Kernel sources are now available
I just noticed that Kobolab was recently updated with the full sources or the Kobo Touch linux kernel:
https://github.com/kobolabs/Kobo-Rea....6.35.3.tar.gz The web interface refuses to provide the file (too large) so the only way I found to get the kernel sources was to download the whole git repository with git clone https://github.com/kobolabs/Kobo-Reader.git A very interesting part is the e-ink screen driver in ./cls/drivers/video/mxc/* and ./cls/include/linux/mxc*.h Documentation can be found in the iMX50 developper toolkit on the Freescale web site. (You may have to register first for free) http://www.freescale.com/webapp/sps/...?code=IMX50_SW The chapter 14 "Electrophoretic Display Controller (EPDC) Frame Buffer Driver" in the file mx50_linux.pdf describes the Linux system calls (ioctl) needed to program the e-ink screen (how to refresh,....). Apart from the refresh problem, the e-ink screen is just a regular linux framebuffer. Search google for the numerous tutorials about linux framebuffer programming. A few months ago, I successfully wrote a small C program to draw boxes on the screen. Unfortunately, I mistakenly remove the whole directory containing the sources and I am too busy right now to redo it :-( To compile, I used the ARMEL cross compiler packages on Ubuntu (see gcc-arm-linux-gnueabi, libc6-dev-armel-cross, ...). Use the file include/linux/mxcfb.h from the kobolab linux kernel to program the ioctl() for the e-ink display. Compiling a simple "hello world" program (with output on the console) was surprisingly simple. it is probably best to compile with the -static option in order to avoid mismatches in the dynamic libraries. Yo may also have to specify an option to compile for a compatible ARM processor (see /proc/cpuinfo) The touchscreen and the 'numerous buttons' of the KT can be read via some /dev/input devices so everything needed to write new KT applications is now available. |
10-08-2011, 11:52 AM | #19 |
Member
Posts: 18
Karma: 120
Join Date: Sep 2011
Location: Edmonton, AB
Device: Kobo Touch
|
stef70: Cool thanks for a heads up on that, I might use that information at some point.
xuyn2003: I believe the graphical application replaces all strange characters with question marks. Probably some regex. I wonder if it would be possible to patch the application so it doesn't filter out characters, but that may lead to messed up looking characters if the character encoding isn't utf-8. Maybe you could manually add the files to a database with encoding information. What I'll probably be doing the next time I feel like messing with the device is manually editing the database files. Here's some notes I've made on the databases. Code:
# INSERT INTO "content" VALUES('file:///mnt/onboard/sd/strings-fickel.epub#(0)','902','application/epub+zip','file:///mnt/onboard/sd/strings-fickel.epub','Unknown',NULL,'Unknown','',NULL,NULL,NULL,'',NULL,'false',NULL,'true',NULL,0,0,NULL,0,736635860,0,'2011-10-01T13:57:04','adobe_user',NULL,0,0,0,NULL,-1,1,NULL,NULL,NULL); # INSERT INTO "content" VALUES('file:///mnt/onboard/sd/strings-fickel.epub','901','application/epub+zip',NULL,NULL,'file____mnt_onboard_sd_strings-fickel_epub','Unknown','Unknown',NULL,NULL,NULL,NULL,NULL,'false',NULL,'true',NULL,0,0,1,0,3787336,0,'2011-10-01T13:57:04','adobe_user',NULL,NULL,NULL,0,0,-1,1,NULL,'en_CA',''); % sqlite3 -header -line /home/foo/KoboReader.sqlite 'select * from "content" where ContentID = "file:///mnt/onboard/sd/strings-test.epub";' ContentID = file:///mnt/onboard/sd/strings-test.epub ContentType = 901 MimeType = application/epub+zip BookID = BookTitle = ImageId = file____mnt_onboard_sd_strings-fickel_epub Title = Unknown Attribution = Unknown Description = DateCreated = ShortCoverKey = adobe_location = Publisher = IsEncrypted = false DateLastRead = FirstTimeReading = true ChapterIDBookmarked = ParagraphBookmarked = 0 BookmarkWordOffset = 0 NumShortcovers = 1 VolumeIndex = 0 ___NumPages = 3787336 ReadStatus = 0 ___SyncTime = 2011-10-01T13:57:04 ___UserID = adobe_user PublicationId = ___FileOffset = ___FileSize = ___PercentRead = 0 ___ExpirationStatus = 0 FavouritesIndex = -1 Accessibility = 1 ContentURL = Language = en_CA BookshelfTags = % sqlite3 -header -line /home/foo/KoboReader.sqlite 'select * from "content" where ContentID = "file:///mnt/onboard/sd/strings-test.epub#(0)";' ContentID = file:///mnt/onboard/sd/strings-test.epub#(0) ContentType = 902 MimeType = application/epub+zip BookID = file:///mnt/onboard/sd/strings-fickel.epub BookTitle = Unknown ImageId = Title = Unknown Attribution = Description = DateCreated = ShortCoverKey = adobe_location = Publisher = IsEncrypted = false DateLastRead = FirstTimeReading = true ChapterIDBookmarked = ParagraphBookmarked = 0 BookmarkWordOffset = 0 NumShortcovers = VolumeIndex = 0 ___NumPages = 736635860 ReadStatus = 0 ___SyncTime = 2011-10-01T13:57:04 ___UserID = adobe_user PublicationId = ___FileOffset = 0 ___FileSize = 0 ___PercentRead = 0 ___ExpirationStatus = FavouritesIndex = -1 Accessibility = 1 ContentURL = Language = BookshelfTags = sqlite3 /tmp/KoboReader.sqlite < sql-commands.txt ebook-convert /home/foo/unsorted/links.txt /home/foo/onboard/links.epub Also note the last command ebook-convert which came with calibre as a command line program which you could use to convert chinese txt to epub possibly, then copy the epub over to the kobo with wifi, then modify the database so it sees the newly added epub. Not sure what the numpages value is exactly, anyone have info in that? 3787336 does not look like a number of pages. Also I believe the epub was 2 or 3 pages long in this database. Last edited by CdnBloodlust; 10-08-2011 at 11:57 AM. |
10-10-2011, 10:24 PM | #20 | |
Connoisseur
Posts: 71
Karma: 18140
Join Date: Jul 2011
Device: PRS-T1&KOBOTOUCH
|
Quote:
I think that is not the graphical application, but a special program which kobo used to render txt files replaced the characters. Because the chinese file name can be rendered correctly in the book list, ???? are only appear in the content of txt files. |
|
Advert | |
|
10-11-2011, 08:25 AM | #21 |
Junior Member
Posts: 4
Karma: 10
Join Date: Oct 2011
Device: Kobo
|
Telnet connection refused
Hey all, I followed the simple instructions to gain telnet access to the kobo touch, and it's clear that something is happening since I get an immediate "connection refused" but am still unable to get to the step where I am asked for a password.
I factory reset, grabbed the KoboRoot.tgz, made the modifications as specified (though noted that with firmware 9.11 there is no inittab file I had to create it), rebooted, finished the upgrade, then copied the modified KoboRoot.tgz to the device, it "upgraded" a second time, then tried to make the telnet connection (verified I was hitting the right MAC address) and boom "connection refused" Are the instructions the same for 9.11 or has something changed? I feel like a loser can't even get past the first step, but I've triple checked and at least as far as following the instructions goes I've followed them to a T and so am stumped. Thanks for the help! -Boba |
10-11-2011, 09:44 AM | #22 |
Member
Posts: 18
Karma: 120
Join Date: Sep 2011
Location: Edmonton, AB
Device: Kobo Touch
|
BobaHoTep: Had the same problem not sure if they're exactly the same but look for post #7 at the bottom of that post. Also make sure the kobo is connected to the internet on wifi by opening the browser or something. You should be able to nmap the telnet port and get a response too when you get it working.
Code:
% nmap -n -p23 192.168.0.158 Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-11 07:50 MDT Interesting ports on 192.168.0.158: PORT STATE SERVICE 23/tcp open telnet Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds % Code:
nmap -n -p telnet 192.168.0.158 Last edited by CdnBloodlust; 10-11-2011 at 09:56 AM. |
10-11-2011, 09:58 PM | #23 |
Junior Member
Posts: 4
Karma: 10
Join Date: Oct 2011
Device: Kobo
|
Still having trouble just getting telnet/ftp access
Thanks Cdn, if you still have the patience I'm still having problems. This is driving me nuts, I do stuff harder than this everyday, but I'm still unable to get your instructions to work.
The directory structure I'm working with is KoboRoot/etc And when I compress before copying back to /Volumes/KOBOeReader/.kobo the command I use is tar czf KoboRoot.tgz ./KoboRoot Here's the content of each of my files inittab: ::sysinit:/etc/init.d/rcS ::respawn:/sbin/getty -L ttymxc0 115200 vt100 ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r ::restart:/sbin/init ::sysinit:/etc/init.d/rcS2 ::respawn:/usr/sbin/inetd -f /etc/inetd.conf inetd.conf 23 stream tcp nowait root /bin/busybox telnetd -i 21 stream tcp nowait root /bin/busybox ftpd -w -S / rcS2 <yes I know your instructions said to put this in rcS, but since I can't even get ftp to work I assume I'm doing something else wrong first> #!/bin/sh mkdir -p /dev/pts mount -t devpts devpts /dev/pts rcS #!/bin/sh mount -o remount,noatime,nodiratime /dev/mmcblk0p1 / PLATFORM=freescale if [ `dd if=/dev/mmcblk0 bs=512 skip=1024 count=1 | grep -c "HW CONFIG"` == 1 ]; then PLATFORM=ntx508 fi if [ $PLATFORM == freescale ]; then if [ ! -s /lib/firmware/imx/epdc_E60_V220.fw ]; then mkdir -p /lib/firmware/imx dd if=/dev/mmcblk0 bs=512K skip=10 count=1 | zcat > /lib/firmware/imx/epdc_E60_V220.fw sync fi fi PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib: runlevel=S prevlevel=N umask 022 export PATH runlevel prevlevel for i in /proc /dev /root /tmp /sys /mnt/sd /mnt/onboard /mnt/user /var/lib /var/log /var/run /lib/modules/`uname -r`; do [ ! -d $i ] && mkdir -p $i done; /bin/mount -t proc none /proc /bin/mount -t tmpfs none -o size=10240k /tmp /bin/mount -t tmpfs none /dev /bin/mount -t tmpfs none -o size=16k /var/log /bin/mount -t tmpfs none -o size=128k /var/run /bin/mount -t sysfs none -o size=500k /sys mkfifo /tmp/nickel-hardware-status rm -rf /etc/udev/rules.d/70-persistent-net.rules echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug /sbin/udevd -d /sbin/udevadm control --env=STARTUP=1 /sbin/udevadm trigger /sbin/udevadm settle --timeout=2 /sbin/udevadm control --env=STARTUP= ( usleep 400000; /etc/init.d/on-animator.sh ) & dosfsck -a -w /dev/mmcblk0p3 mount -t vfat -o iocharset=utf8 /dev/mmcblk0p3 /mnt/onboard rm -rf /mnt/onboard/fsck* rm -rf /mnt/onboard/FSCK* echo -n 8192 > /proc/sys/vm/min_free_kbytes if [ ! -e /mnt/onboard/.kobo ]; then mkdir -p /mnt/onboard/.kobo tar zxf /usr/local/Kobo/db.tgz -C /mnt/onboard sync echo "Decompressed database" fi if [ -e /mnt/onboard/.kobo/Kobo.tgz ]; then zcat /mnt/onboard/.kobo/Kobo.tgz > /dev/null && tar zxf /mnt/onboard/.kobo/Kobo.tgz -C /usr/local/Kobo/ rm /mnt/onboard/.kobo/Kobo.tgz echo "Done upgrading..." fi if [ -e /mnt/onboard/.kobo/KoboRoot.tgz ]; then killall on-animator.sh zcat /etc/images/ghostbuster.raw.gz | /usr/local/Kobo/pickel showpic /etc/init.d/update-animator.sh & zcat /mnt/onboard/.kobo/KoboRoot.tgz > /dev/null && tar zxf /mnt/onboard/.kobo/KoboRoot.tgz -C / if [ -e /mnt/onboard/.kobo/upgrade ]; then /etc/init.d/upgrade-wifi.sh rm -rf /mnt/onboard/.kobo/upgrade fi rm /mnt/onboard/.kobo/KoboRoot.tgz killall update-animator.sh echo "Done upgrading..." zcat /etc/images/ghostbuster.raw.gz | /usr/local/Kobo/pickel showpic zcat /etc/images/reboot.raw.gz | /usr/local/Kobo/pickel showpic sync reboot fi ( /usr/local/Kobo/pickel disable.rtc.alarm if [ ! -e /etc/wpa_supplicant/wpa_supplicant.conf ]; then cp /etc/wpa_supplicant/wpa_supplicant.conf.template /etc/wpa_supplicant/wpa_supplicant.conf fi echo 1 > /sys/devices/platform/mxc_dvfs_core.0/enable /sbin/hwclock -s -u ) & INTERFACE=wlan0 WIFI_MODULE=ar6000 if [ $PLATFORM == ntx508 ]; then INTERFACE=eth0 WIFI_MODULE=dhd fi export INTERFACE export WIFI_MODULE export QWS_MOUSE_PROTO="tslib_nocal:/dev/input/event1" export QWS_KEYBOARD=imx508kbd:/dev/input/event0 export QWS_DISPLAY=Transformed:imx508:Rot90 export NICKEL_HOME=/mnt/onboard/.kobo export LD_LIBRARY_PATH=/usr/local/Kobo export WIFI_MODULE_PATH=/drivers/$PLATFORM/wifi/$WIFI_MODULE.ko export LANG=en_US.UTF-8 export UBOOT_MMC=/etc/u-boot/$PLATFORM/u-boot.mmc export UBOOT_RECOVERY=/etc/u-boot/$PLATFORM/u-boot.recovery /usr/local/Kobo/nickel -qws & ( if [ -e /dev/mmcblk1p1 ]; then ACTION=add DEVNAME=/dev/mmcblk1p1 /usr/local/Kobo/udev/sd fi ) & |
10-11-2011, 10:25 PM | #24 |
Junior Member
Posts: 4
Karma: 10
Join Date: Oct 2011
Device: Kobo
|
One more thing, I went and added the following to rcS
/mnt/onboard/run.sh & And in the run.sh a dead simple echo "test" > /mnt/onboard/TEST.txt and even this doesn't do anything. I am able to trigger the upgrade and reboot when I cp KoboRoot.tgz /Volumes/KOBOeReader/.kobo But after that none of my content seems to execute. This really isn't hard, so I'm mystified. Have you guys all tried this with 1.9.11? Thanks! |
10-12-2011, 07:51 PM | #25 |
Nameless Being
|
I have done bits and pieces with 1.9.11. I was able to get run.sh to work, and had it dump all sorts of information to a file. That, of course, is the most important step since a working run.sh file lets you make and verify changes. Here's what I did:
Factory reset. Manual update to 1.9.11. Extracted etc/rcS from KoboRoot.tgz. Added the line for run.sh, just before nickle. Created a new KoboRoot.tgz with just etc/rcS. Copied the new KoboRoot.tgz file to .kobo. Created a run.sh file with the line echo "I'm working!" >> /mnt/onboard/log.txt. Copied the run.sh file to the root directory of the Kobo. Cycled the power on the Kobo so that it updates. Verified that log.txt exists. |
10-12-2011, 11:09 PM | #26 |
Member
Posts: 18
Karma: 120
Join Date: Sep 2011
Location: Edmonton, AB
Device: Kobo Touch
|
BobaHoTep:
I think the problem you're having is the way you're creating the archive. Open the archive in some viewer like file-roller and verify the first directory should be "etc" or maybe ".". If it's KoboRoot and not etc then you need to cd KoboRoot then "tar czf KoboRoot.tgz .". I'm not sure that last code with tar command is 100% correct but it looks right. If that doesn't help then this is what my files look like... my setup was like this append the the very bottom of rcS the mkdir and mount for pts rcS2 doesn't exist here's my inittab Code:
# This is run first except when booting in single-user mode. . ::sysinit:/etc/init.d/rcS ::respawn:/sbin/getty -L ttymxc0 115200 vt100 ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r ::restart:/sbin/init # ::sysinit:/etc/init.d/rcS2 ::respawn:/usr/sbin/inetd -f /etc/inetd.conf Note 2: If you update you will probably lose ftp and telnet. I can't say for sure but I updated and lost both and had to redo the koboroot archive thing again to get it back. You can update even by just pressing the sync button it checks for updates. Last edited by CdnBloodlust; 10-12-2011 at 11:17 PM. |
10-13-2011, 01:17 AM | #27 |
Nameless Being
|
On Note 2:
I am guessing that you would only have to replace /etc/rcS after an update, since the other edited files don't seem to be modified in the update process (at least thus far). |
10-13-2011, 07:13 AM | #28 |
Junior Member
Posts: 4
Karma: 10
Join Date: Oct 2011
Device: Kobo
|
Cdn, thanks it does seem to be the fact that I was tar-ing up the whole KoboRoot directory instead of just patching just the etc directory. Not sure why that would have mattered, but sure enough it resolves the problem - I'm in! Much thanks, now hopefully I can start contributing meaningfully...
|
10-13-2011, 02:06 PM | #29 | |
Member
Posts: 18
Karma: 120
Join Date: Sep 2011
Location: Edmonton, AB
Device: Kobo Touch
|
Quote:
|
|
12-04-2011, 12:02 PM | #30 |
Junior Member
Posts: 8
Karma: 1268
Join Date: Dec 2011
Device: kobo touch
|
I'm having problems telnetting into the kobo touch.
The run.sh script works nicely, and the inetd.conf file gets loaded: If I comment out the line Code:
23 stream tcp nowait root /bin/busybox telnetd -i Code:
$ telnet 192.168.1.6 Trying 192.168.1.6... telnet: Unable to connect to remote host: Connection refused Code:
$ telnet 192.168.1.6 Trying 192.168.1.6... Connected to 192.168.1.6. Escape character is '^]'. Connection closed by foreign host. |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Touch Hacking or Rooting the new nook simple touch reader | scottgun | Barnes & Noble NOOK | 99 | 12-10-2011 12:12 AM |
Kindle 3, Nook Simple Touch, Kobo Touch and Libra Pro Touch | jbcohen | Which one should I buy? | 4 | 06-18-2011 07:58 PM |
Own (and love) a PRS505: Is the Nook Touch or Kobo Touch right for me? | rahulm | Which one should I buy? | 8 | 06-10-2011 01:51 PM |
Pre-ordering Nook Simple Touch or Kobo Touch? | SilentDuck | Which one should I buy? | 27 | 05-29-2011 05:27 PM |
Any tips on hacking Kobo formatting???? | kae | Kobo Reader | 5 | 03-29-2011 10:26 AM |