Shortcut URL:http://2.u.is/.0b68vw

Quicklinks:

MobileRead Wiki - PRST1 Rooting and Tweaks

PRST1 Rooting and Tweaks

From MobileRead
Jump to: navigation, search

This page is meant to collect info regarding rooting & modding the Sony PRS T1.

For discussions, check out Sony Reader Forum and Sony Reader Dev Corner.

Contents

Advertisement

[edit] Rooting

The minimal-root.zip contains many apps, some of them might be left out if desired to make the root set even more minimalistic. To achieve this, simply delete unwanted apk files from sdcard\updates\data\app and remove related lines from sdcard\tmp\checksums.

It has also been observed that some apps get installed with wrong access rights, making them unstable. This is due to the data files contained in sdcard\updates\data being simply copied to the T1 during rooting which gives makes them belong to root user.

I might help to delete theses files before rooting or to delete these files later on the T1 via RootExplorer and reinstall related apks.

Completely formatting the READER partition using the eReader's builtin format function (See settings) might solve issues where the update package is not being recognized or the update simply isn't started.

[edit] Procedure

Windows:


Linux/Mac:

Now, the READER partition should have "PRS t1.package" file, "tmp", and "update" folders.

It's still possible: link.

[edit] Western Flavor

[edit] Russification

  1. Install Minimal Root Package
  2. Install Russification Package

[edit] Japanese Flavor

[edit] Open Questions

[edit] Changing Android menus from White-on-Black to Black-on-White

AFAIK this cannot be changed on Android per default. There is an app supposed to tweak menu colors, but it doesn't work on the T1: MetaMorph.

[edit] Moving Apps to sdcard

The official way does not seem to work yet. See here for a workaround.

[edit] Troubleshooting

A bunch of trouble shooting hints can be found in Cyanogenmod Wiki.

[edit] How To get logs

If you encounter troubleshooting when using the rooted device, log messages will help you to understand what happened.

On Android you can obtain logs by running "logcat" in command line. One way to do that is by opening the "Terminal Emulator" app (included in the minimal-root package). From there you can visualize the logs directly on the screen by typing:

logcat

or you can write the logs in a text file called log.txt:

logcat > /sdcard/log.txt

With the second option the file will be found on the root of the reader when you explore it with your computer. If you want to put the file somewhere else you may have to be in super-user mode (type "su" first).

[edit] Apps are Force-Closed or Loose Settings - Broken File Permissions

This is mostly related to broken UIDs, see forum link.

It seems to happen when pressing reset button or when the device crashes.

According to Cyanogenmod Wiki, there is a shell script, that can be run from terminal or via ADB to fix this:

su
fix_permissions

A possible source for the script is XDA-Developers.

ATTENTION: the script needs a working busybox environment. The one that comes with minimal root set does not seem to work (v1.14). You may update it with BusyBox Installer. Busybox v1.19.3 seems to work.

The best thing is to put a call to fix_permissions to /system/etc/install_recovery.sh:

#!/system/bin/sh

sh /system/bin/fix_permissions -l 2>&1 > /data/fix_permissions.log

This will prevent this issue in most cases.


Also, there is a dedicated app in the market which - opposed to the shell script - does not fix system apps: Fix Permissions

As a last resort, if the T1 boots up, but no launcher is accessible, the app can be invoked via ADB:

adb am start -a android.intend.action.MAIN -n com.stericson.permissionfix/.PermissionFix

[edit] Firmware Upgrade via Linux

Sony delivers upgrade tools for win and mac only. However, if you are a Linux user, you still can do the upgrade, as described here.

[edit] Recovering a bricked device

If your reader does not start up properly any more or is irresponsive and completey stuck, this is, what you can try.
It will take a micro-SD card and access to it from your computer.

  1. Make sure, the battery is charged well (if you are in doubt, give it a full charge)
  2. Shut down the reader completely (not only sleep mode). If you can't do this by normal means, press RESET + POWER and hold a few seconds. The reader should freeze and not respond any more.
  3. Download this zip-file. Copy the folder "OS Firmware" to the root directory of your micro SD card and insert the card into the reader.
  4. Press and hold HOME and MENU. Start the reader with the power button.
  5. Wait until the progress bar in the "Opening book" page has reached the right side (about 20 seconds). Release buttons. From now on there should be no more visible activity except for the constant blinking of the orange light (within the power button).
  6. If the reader does not restart properly after 10-15 minutes by itself (but the progress bar is empty again), press RESET, then POWER.


Troubleshooting:
If you see the circling arrows in step 5, the reader did not pick up the package and the update failed. This can have several reasons:

[edit] Factory Reset

Is documented here

[edit] Getting out of Demo Mode

[edit] Proper Charging

According to [1], charging with wall charger will signifficantly increase battery life compared to charging via USB/Laptop...

The more charging current the charger provides, the better. Don't panic, the reader will control charging current by itself. For instance, the Sony PRSA-AC1A charger is rated 2A.

A generic 5V 1A USB power supply may be used, but the USB data pins (the two central ones) have to be shorted for the T1 to recognize it as a charger and begin to recharge itself

But don't use any Apple chargers on the T1, they have non-standard circuitry that prevents the reader from recognizing it as a charger! [2]

For a list of compatible and non-compatible chargers see PRST1_Compatible_wall_chargers. Feel free to add your charger(s).

[edit] Battery Gauge Recalibration

If you experience short battery life after a rooting / firmware upgrade, it might become necessary to recalibrate the battery meter.

  1. Connect charger
  2. Use Root Explorer to delete /data/system/batterystats.bin
  3. Power off and let the unit charge over night

From now on, the battery will be re-calibrated... may take 2 or 3 charge cycles...

In general it is better to flash the T1 with a fully charged battery only.

[edit] Home button function after rooted? Wrong choice

http://www.mobileread.com/forums/showthread.php?t=160909


[edit] Tried to add an account under settings and now everything is crashing..

It basically goes on like this: http://www.mobileread.com/forums/showthread.php?t=161320

And the short answer to shoot the trouble is simple - use the restoration package and reroot afterwards

[edit] "Cannot connect to this WiFi network because the security method for this network is not supported"

This occurs when using the notification panel wifi settings app to connect to EAP protected hotspots. Follow the instruction to root your T1 and then use the original android settings app to configure the wifi connection.

[edit] Tweaks for Non-Rooted Devices

[edit] Enable the use of built-in fonts

If your reader refuses to show the built-in fonts, you can do the following (DRM-free books only):

If your book contains embedded fonts, this will obviously disable the use of those. (Original thread)

[edit] Reference built-in and external fonts from ePUB contained CSS or xhtml files

Reasons to do this:

To reference fonts not embedded in an ePUB file from its CSS or xhtml files using @font-face rule, its src attribute value must be one of:

For example (to attach the four built-in Amasis font styles to serif default font-family):

@font-face {
  font-family: serif;
  font-weight: normal;
  font-style: normal;
  src: url(res:///ebook/fonts/AmasisMTW1G.otf);
}
@font-face {
  font-family: serif;
  font-weight: normal;
  font-style: italic;
  src: url(res:///ebook/fonts/AmasisMTW1G-Italic.otf);
}
@font-face {
  font-family: serif;
  font-weight: bold;
  font-style: normal;
  src: url(res:///ebook/fonts/AmasisMTW1G-Bold.otf);
}
@font-face {
  font-family: serif;
  font-weight: bold;
  font-style: italic;
  src: url(res:///ebook/fonts/AmasisMTW1G-BoldItalic.otf);
}

The built-in font files are:

SWNMTeb.ttc and DroidSansFallback.ttf contains Chinese glyphs.

[edit] Getting external fonts to work (easy way)

@font-face {font-family: sans-serif; font-weight: normal; font-style: normal; src: url(res:///ebook/fonts/../../mnt/sdcard/fonts/MyFont-Regular.ttf);}
@font-face {font-family: sans-serif; font-weight: normal; font-style: italic; src: url(res:///ebook/fonts/../../mnt/sdcard/fonts/MyFont-Italic.ttf);}
@font-face {font-family: sans-serif; font-weight: bold; font-style: normal; src: url(res:///ebook/fonts/../../mnt/sdcard/fonts/MyFont-Bold.ttf);}
@font-face {font-family: sans-serif; font-weight: bold; font-style: italic; src: url(res:///ebook/fonts/../../mnt/sdcard/fonts/MyFont-BoldItalic.ttf);}

body, div, p { font-family: sans-serif; }
.calibre { font-family: sans-serif; }

Original discussions are here and here.

[edit] Change homescreen to show "Recently Read" instead of "Recently Added"

With this fast, safe and simple hack, the three books shown in the middle of the homescreen Recently Added will not be the latest added books, but the latest read and added books. The following is a short summary of mobileread user Kolenka's hack (original thread).
You do not need to root your reader for this. This modification stays functional also after a sync with calibre.

Alas, this no longer works under firmware version 1.0.04.12210 and possibly some prior versions.

CREATE TRIGGER recently_opened_trigger AFTER UPDATE OF reading_time ON books
 BEGIN
 UPDATE books SET added_date = 0 WHERE _id = new._id;
 UPDATE books SET added_date = reading_time WHERE reading_time NOT NULL AND _id <> new._id;
 END

It is worth noting that this changes how this catagory performs, but does not change the name of it (still shown as Recently Added). If you want to change this to Recently Read you might be interested in the Modified Homescreen package.

Undo:

[edit] Extract Highlights from the Reader without usage of Sony Software

If you want to export your highlights from the reader, but don't want to use Sony's software (risk of duplication of bookmarks), you can do the following:

Or for a cleaner view, run sql command: SELECT file_name, page, name FROM markups; code source

Discussion

If you are not using Windows you may install the "SQLite Manager" extension for Firefox and export the annotations table to a csv file or even better use the sql command above.

[edit] Tweaks for Rooted Devices

[edit] Getting ADB to work

[edit] Create Sony Home Button on ADW Desktop

Just do the following on ADW Desktop:

  1. Long press on desktop
  2. Select "Custom Shortcut"
  3. Press "Pick your activity"
  4. Select "Activities"
  5. Scroll down to "Home" and select it to unfold available activities
  6. Select "HomePageActivity"
  7. Press "OK"

[edit] Getting TTS to work

TTS is already installed on your reader. Just download download PicoTTS data from here and extract everything to the root of the internal sdcard.

[edit] Remap Page Turn Buttons

Navigate to /system/usr/keylayout/ via Root Explorer, remount as R/W and map the keys 105 and 106 to whatever you like by appending the following lines to gpio-keys.kl:

key 105    DPAD_LEFT
key 106    DPAD_RIGHT

or

key 105    SPACE SHIFT
key 106    SPACE

or

key 105    VOLUME_DOWN
key 106    VOLUME_UP

For more info on keymaps have a look here.

[edit] Remove unwanted apk packages

There is a nice guide in Cyanogenmod Wiki on which packages can safely removed, etc...

For instance, the Bluetooth stuff can be savely removed on the T1.

Calendar seems to eat battery.

Threads on the forum on which apks can be removed:

[edit] Create Screenshot via USB / Dalvik Debug Monitor

With Dalvik Debug Monitor from Android SDK, you can make screenshots via USB. Just run ddms from the tools folder of the SDK, select your device and press Ctrl+S.

Note: You have to enable ABD on the T1.

(The result is garbled image looking like old TV noise screen due to a fact that Sony PRS-T1 buffer is not in a simple RGB565 format)

[edit] Resizing System Partition / freeing up space

The following text was googletranslated from Russian Site:

[edit] Easy Way

Remove non-critical parts in /data/app (for example, Wallpapers free up a meg and a half. You can completely remove them).

[edit] More Sophisticated Way

The filesystem of the system partition does not occupy all of the space reserved in partition table. The following steps will resize it to free up some megabytes:

This will dump system partition to T1 internal SD memory:

mkdir -p /tmp/system
mount /dev/mmcblk2p10 /tmp/system
mkdir -p /mnt/sd/my_test
mount /dev/mmcblk2p4 /mnt/sd/my_test
cd /tmp/system
tar -cvf /mnt/sd/my_test/system.tar .

Alternatively you could simply dump /dev/block/mmcblk2p10 with ebook_msc and unzip on your computer. It's faster.

Then on a normal Linux computer, create an empty image with increased size:

dd if=/dev/nul of=system.img bs=134217728 count=0 seek=1

Format it:

mkfs.ext4 -F system.img

Mount:

mount -o loop system.img new_system/

To restore the contents of the old system:

cd new_system/
tar -xvf %PATH_TO_SYSTEM.TAR_CREATED_PREVOUSLY%/system.tar
cd ..
umount new_system/

Now, copy the new system.img to the internal SD-Card and flash it from root terminal with:

mount /dev/mmcblk2p4 /mnt/sd
cd /mnt/sd/my_test
dd if=system.img of=/dev/mmcblk2p10 bs=1024 conv=notrunc

Maybe, a better idea would be flashing the new image via sd recovery...

[edit] Link2SD: Resizing Data Partition / enlarge storage for installing applications

(Credits to nemo3146@lectoreselectronicos with English translation here)

While we wait for a custom cooked ROM or a new Sony firmware capable to move or install applications to the Micro SD card, there is a completely harmless workaround that can be very useful:


  • It is suggested to create an ext3 partition, to differ from the Sony partitions (ext4 and cramfs)
  • 500 Mb should be enough!
  • final layout should look like
partition1: fat32 - data partition for storage of ebooks, etc. Will be unmounted on usb connect.
partition2: ext3 - link2sd partition, will not be unmounted on usb connect
  • Tip: You can use a linux box, a "gparted live" CD/USB, "MiniTool Partition Wizard Free", "EASEUS Partition Master",...


  • Ensure that "USB debug mode" option is enabled in "Settings" -> "Applications" -> "Development" (I'm not sure this is actually necessary. I disabled USB debug mode and it seems everything is working fine)
  • Power off the device (press and hold the power button until it is off) and then turn it on


  • Accept any message and answer the dialog
  1. Message: It won't find an "extra" ext partition in the "sdcard" (T1 internal memory)...
  2. Dialog: You have to choose the same kind of filesystem you used for the new partition (ext3/ext4).
  3. Message: Mounting "extsd" (the Micro SD card)...
  4. Message: Using a script...
  5. Message: Please, reboot the "phone"
  • Power off the device (press and hold the power button until it is off) and then turn it on


  • Run Link2SD again
  • Select any application installed by you
  • Use the "Create link" button to move it to the Micro SD card
  • Remember NOT TO USE the "Move to SD card" button (original android method broken in Sony firmware!)
  • In the second screen (what to move), you have to enable every possible option and press "OK"
Extra: (Optional)
  • To automatically link newly installed applications, you have to enable the "auto link" option in Link2SD
Notes:
  • In spite of using this method, every installation uses a bit of the finite internal memory, but far less amount than before!
  • Only remove the Micro SD card from T1 when it is completely powered down! It may break stuff otherwise.
  • When connected to computer via USB, only the first partition on the Micro SD card is unmounted and made available to the computer. The extra partition will be kept mounted by the T1, so nothing will break.
  • Linking some apps to sdext2 may break everything, e.g. ADWLauncher. So be carefull with apps being started at boot time!

[edit] Brick your device and spend a couple of days filled with swearing and pain by repartitioning everything

This the route is you gotta take, little Padawan: http://www.mobileread.com/forums/showpost.php?p=1932283&postcount=48

Be sure to read the whole thread! But remember that you may fail and nobody might be able to help you!

[edit] Alternative homescreen: SonyPrsT1Home "New homescreen"

Mobileread-thread with pictures: http://www.mobileread.com/forums/showthread.php?t=155911

UserGuide: http://code.google.com/p/sonyprst1home/wiki/UserGuide

GoogleCode project page: http://code.google.com/p/sonyprst1home/

[edit] Modified Homescreen package

If you are happy with the touch and feel of the stock homescreen, but would like a little bit of extra, you can follow this project here.

[edit] Adding app launcher as third page to the Sony homescreen

The original Sony homescreen contains a hidden app launcher (see here and here). There are two options to make it visible.

1. Change ro.build.type

You have to modify /system/build.prop (via Root Explorer, remount as R/W, "Open With"->"Text Editor"). Find the line

ro.build.type = user

and change the word "user" to something else, e.g.

ro.build.type = abcd

After a reboot your homescreen will consist of three instead of two pages.

2. Use modified EbookHome.apk

Alternatively you can use a modified EbookHome.apk, for example the one from rupor (info here and here) or from Morkl (info here). These packages do not only enable the app launcher, but contain additional improvements. See the respective homepages for details and installation instructions.

[edit] Getting the T1 to recognize ad-hoc networks (e.g. mobile hotspots)

(Credits to androidtablethacks.com for giving us the original procedure)

Some mobile hotspot applications (like JoikuSpot on Nokia Phones) create ad-hoc networks, which the T1 simply will not show in the list of available networks. To solve this problem:

  1. Put your T1 into 'USB Debugging Mode' by going to Settings -> Applications -> Development
  2. Download and unzip adhoctablets.zip to the root folder of your hard disk such as 'c:\adhoctablets'
  3. Copy the wpa_supplicant file to the root of the drive READER, while connected in data transfer mode
  4. Although various ADB clients have been included in 'adhoctablets.zip', ADB is not compulsory to complete this procedure. You can also use telnet, ssh or the T1 terminal to enter the given set of commands:
su
busybox mount -o rw,remount /dev/block/mmcblk2p10 /system
busybox cp /system/bin/wpa_supplicant /sdcard/wpa_supplicant.original
busybox cp /sdcard/wpa_supplicant /system/bin/wpa_supplicant
busybox chmod 755 /system/bin/wpa_supplicant
busybox chown system.wifi /data/misc/wifi/wpa_supplicant.conf
busybox sync
reboot

If something goes wrong, you can type the following to revert:

su
busybox mount -o rw,remount /dev/block/mmcblk2p10 /system
busybox cp /sdcard/wpa_supplicant.original /system/bin/wpa_supplicant
busybox chmod 755 /system/bin/wpa_supplicant
busybox chown system.wifi /data/misc/wifi/wpa_supplicant.conf
busybox sync
reboot

[edit] No refresh mode in every application

If, like me, you're bugged by the flashing while scrolling, there's a quick way of disabling refresh temporarily and make android apps scroll like the Sony browser:

More info at http://www.mobileread.com/forums/showthread.php?t=165376

[edit] Change System Fonts

If you want to change the system fonts the T1 is using, you can follow this guide.

[edit] Ebook Management and Conversion Tools

[edit] Android Apps

[edit] Installation

Be aware, that the installation of apk's might fail because the app simply isn't compatible.

Even if it installs, it might still crash or even make your T1 unusable.

[edit] Install via USB

[edit] Install via Web Browser

Use the build in Web Browser to

[edit] Install via Dropbox

... simply save the apk file to dropbox and open dropbox on T1 - either in web browser or via dropbox app ;)

[edit] Alternative sources for apk packages

There is more to android apps than Google's market offers up. Here are some places, you might find your package:

[edit] Working Apps

NOTE: Google apps and others that require Google Account permissions may require prior installation of GoogleServicesFramework.apk (available below as part of Android Market install procedure).

[edit] App Markets

[edit] Android Market Procedure

Download your preferred Android Market version:

  • Froyo from:
(Credits to juplagon@lectoreselectronicos)
  • Gingerbread from:
(Credits to Powers88@xda-developers)

Installation:

(Credits to juplagon@lectoreselectronicos)
  • Extract the downloaded package to your SD card
  • Install the two files by using a file manager (Root Explorer, ReLaunch,...)
  1. FIRST (of utmost importance), install "GoogleServicesFramework.apk"
  2. Then install "Vending.apk"
  • Ensure that "Background data" and "Auto-sync" options in "Settings" -> "Accounts & Sync" are enabled
  • Power off the device (press and hold the power button until it is off) and then turn it on
  • Ensure that WiFi is enabled and connected to a network
  • Run the Market application
Known problems:
  • Some applications refuse to download
  • Till now, the downloaded applications MUST be installed to the internal SD memory only. Selecting download location as 'SD Card' rather than 'Internal Memory' leads to "unsuccessful download" messages

[edit] Google Apps

Scroll down to the bottom of the CyanogenMod Wiki and download HDPI-Version of Google Apps for CyanogenMod 6. It contains the correct apk's for Froyo!

After unzipping the file, you can make Google Apps work on the T1. E.g. for Google Calendar, you just have to install GoogleCalendarSyncAdapter.apk.

If you want to know, what each contained apk is for, try google or have look at step 2B.

[edit] App Launchers / Task Switchers / Task Killers

[edit] System Tools

[edit] File Managers

[file-open-bug] Some filemanagers have trouble opening eBooks!!! As a result, the book is not opened, file manager windows stays active, but a spurious item is added to reader library with a 'Removing'-label.

[edit] General Reading Apps

[edit] PDF Readers

[edit] Comic Readers

[edit] Connected Reading Apps

[edit] Cloud Services, Social Media

[edit] Email, Webbrowsing, RSS

[edit] Office

[edit] Learning apps

[edit] Musicians Tools

[edit] Bible Reading Apps

[edit] Miscellaneous

[edit] Games

[edit] Apps needing confirmation

I collected these apps from the threads

[edit] Apps not working

[edit] Apps won't install - possible fixes

[edit] Delete Market and Download Manager Cache

Just go to Settings -> Applications -> Running Apps and clear the caches.

This might fix some installation issues.

[edit] Modify default installation target

Some apps like "Mantano Reader" could not be installed because the installation target points to: "preferExternal".

There are several choices to deal with that:

[edit] Mount internal sdcard to computer

This makes it invisible to the installer such that it might default to data partition.

If this doesn't help, you can try the following:

[edit] Set global default installation target

Set it to internal memory via

adb shell pm setInstallLocation 1

[edit] Modify installation target in APK file

Finally, as a last resort you can also modify the related apk:

The following tools are needed:

So what you need to do is decompile the apk with the apktool, modify the manifest.xml, compile it with the apk tool and sign the apk file with signapk.

Steps:

Decompile the apk file

   ./apktool d <target.apk>

Edit <target>/AndroidManifest.xml

Replace

   android:installLocation="preferExternal"

With

   android:installLocation="auto"

Build the new modified apk with apktool

   ./apktool b <target.apk>

Sign the apk with signapk for example

   java -jar signapk.jar -w testkey.x509.pem testkey.pk8 <target.apk> <target_signed.apk>

Now you can install target_signed.apk.

[edit] Known Bugs

Personal tools
Namespaces
Variants
Actions
Navigation
MobileRead Networks
Toolbox

Quicklinks: