PRST1 Rooting and Tweaks

From MobileRead
Jump to: navigation, search

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

The list of working apps has moved to a dedicated page: PRST1_working_apps

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

For beginners there's a nice rooting guide on the forum that covers everything:

http://www.mobileread.com/forums/showpost.php?p=2147654&postcount=1

Contents

[edit] Rooting

For beginners there's a nice rooting guide on the forum that covers everything:

http://www.mobileread.com/forums/showpost.php?p=2147654&postcount=1

[edit] Rupor's Root Package

This is one the most recent and most feature-filled root package! It already contains russification, but non-russian users don't be afraid - it still contains all languages. (At present there seems to be no available link to the Sony updater that updates firmware to the 1.0.04.xx therefore users who use the Sony updater end up with 1.0.05.xx firmware. Users should note that this is only compatible with the development release of Rupor's software. Perhaps someone will post a working link to the Sony updater that updates to 1.0.04.xx soon)

Link for 1.0.04.xx exe https://rapidshare.com/#!download%7C982p2%7C2344851681%7CPRS-T1_Updater_1.0.04.12210.exe%7C108826%7C0%7C0

[edit] Boroda/Porkupan's Root Package

This one is the first root package that appeared on the forum.

[edit] Western Flavor

[edit] Russification

  1. Install Minimal Root Package
  2. Install Russification Package

[edit] Japanese Flavor

[edit] Rooting Procedure

A root package 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 makes them belong to root user.

It might help to delete these 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.

Also a good idea might be reformating the system partition in order to have more inodes, see trouble shooting section below. But this is for advanced users only!

[edit] Windows

  • do not install any official firmware upgrades (beyond certain version they may remove this possibility for rooting, future Reader versions might be pre-loaded with those upgrade-resistant firmware versions),
  • get access to a PC with a Windows operating system (preferably 32 bit),
  • download and unzip the rooting package of your choice (typically minimal-root.zip, for JP and RU versions see below),
  • because rooting can be undone if you don't like the results (the procedure is the same, only with restore-set.zip), download also the undo package and keep it,
  • connect your Sony Reader using USB cable to the PC and put it into the Data Transfer Mode (accept the button on the reader's screen),
  • wait until the battery is fully charged, with the icon showing 100% (although the whole rooting process lasts only a minute or so, the battery had better be full); also keep your PC laptop connected to the wall socket, rather than running on battery,
  • run the DOS utility flash_reader.bat on the PC,
  • make sure the auto-detected target USB disk is correct (the drive should be named READER),
  • wait until all copying is done, do not disconnect the USB cable,
  • it is really quick, reading this took longer:)

[edit] Linux/Mac

  • connect your T1
  • Download the package
  • Extract the package to your computer
  • Copy the folders inside "sdcard" and the "PRS-T1 Updater.package" file to the root of the READER partition. Don't copy the folders inside of "sdcard" to SD partition but READER partition.
  • Now, the READER partition should have "PRS-T1 Updater.package" file and "tmp", "updates" folders.
  • Shutdown the T1
  • Hold the Home and Menu buttons together and while holding them turn on your READER. Once the opening book screen comes on, release the buttons.
  • If it gets stuck on boot after 15 minutes, press the reset button.
  • Your T1 should be rooted.

Additional forum link

[edit] Open Questions

Is USB OTG functionality possible with the PRS-T1 and if not, what needs to be ported in order to enable this? i.e. Will external keyboards and mass storage devices work?

No, a comment in the file linux-2.6.35.3/drivers/usb/gadget/fsl_udc_core.c states, that the original firmware does not support USB OTG, see http://www.mobileread.com/forums/showthread.php?t=178248

OTG support seems to be available in kernel version 3.4.9. Has anyone been able to compile and boot a different kernel?

Partial answer: In this post http://www.mobileread.com/forums/showthread.php?p=2472765#post2472765 I describe how to recompile the stock kernel and how to place it into flash memory, so that the system will boot with a new kernel. In order to use an external USB keyboard, someone has to find out how to implement support for the USB host mode in the 2.6.35.3 stock kernel version.

[edit] Troubleshooting

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

[edit] Fix filesystem errors and bad blocks

  • You need statically built e2fsprogs binaries because the e2fsck included with the PRST1 does not support ext3/ext4. The ones from here seem to work: http://forum.xda-developers.com/attachment.php?attachmentid=1819847&d=1363793360 Especially, you will need e2fsck and badblocks.
  • Put these binaries onto internal sdcard first. Next, we will move them to the preload partition from where they can be executed. Mind that preload partion has to be mounted writeable via
mount -o remount,rw /dev/mmcblk2p8 /ebook/preload
  • In order to copy a file from internal sdcard to preload partition, you may use the cat command:
cat /mnt/sdcard/e2fsck >/ebook/preload/e2fsck
cat /mnt/sdcard/badblocks >/ebook/preload/badblocks
  • Finally, you have to make the binaries executable via
busybox chmod +x /ebook/preload/e2fsck
busybox chmod +x /ebook/preload/badblocks
  • Now, boot into recovery console as described |here
  • Mount the preload partition via
mkdir /tmp/x
mount /dev/mmcblk2p8 /tmp/x
  • Add the e2fsprogs binaries to the path via
export PATH=$PATH:/tmp/x
  • Now, you can fix filesystem errors via (2p9=data partition, 2p10=system partition)
e2fsck /dev/mmcblk2p9
e2fsck /dev/mmcblk2p10
  • You may also check for bad blocks and flag them as bad via
e2fsck -vc /dev/mmcblk2p9
e2fsck -vc /dev/mmcblk2p10
  • The dictionary partition may be broken, too!
e2fsck -vc /dev/mmcblk2p6
  • Remember: If bad blocks are found, files may have become unreadable. In this case, you have to re-copy these files to the device after the bad blocks scan!

[UPDATE] You can also start the check tool e2fsck directly from the internal card. Plug in the reader via USB to you computer and copy e2fsck to READER. Boot into recovery console as described |here. I would recommend using the putty tool (Windows) or minicom (Linux) because using the reader console is hell ;-)

  • Make a folder for the SD card
mkdir /tmp/sd
  • Mount the SD partition with
mount /dev/mmcblk0p1 /tmp/sd
cd /tmp/sd
  • Make e2fsck executable
busybox chmod +x e2fsck
  • repair/check devices
e2fsck -vc /dev/mmcblk2p9
e2fsck -vc /dev/mmcblk2p10
e2fsck -vc /dev/mmcblk2p6

This actually repaired my issue with dictionary freezes completely.

[edit] Fix hidden pastlog area

http://www.mobileread.com/forums/showpost.php?p=2181903&postcount=10

[edit] Rebuild packages.xml - fix permission errors

Some errors like dictionary not working, forced closes, "Unknown permission" errors, etc. may be related to a corrupted packages.xml file.

Fortunately this file can be recreated, but beware - it's a bit tricky and some "Unknown permission" errors in the log are harmless and won't ever go away because your reader doesn't have GPS, NFC, etc.

You need to have ADB working, recovery console and a working fixpermissions.sh:

Be sure to have USB debugging enabled before continuing!

At first we will delete packages.xml via recovery console:

cd /tmp
mkdir d
mount /dev/mmcblk2p9 d
cd d/system
mv packages.xml packages.xml.bak
cd /tmp
umount d
reboot

Now, your reader will restart and everything will be messed up :P Lot's of force closes, etc. But don't fear - this will be resolved via adb shell. If fix_permissions.sh is not in your path, you will have to modify these steps accordingly.

su
fix_permissions.sh
for app in /data/app/*.apk; do pm install -r $app; done
fix_permissions.sh
reboot

For the app reinstall procedure, it may be necessary to follow PRST1_Rooting_and_Tweaks#Set_global_default_installation_target, because some apps default to install on SD card and without working apps2sd, app reinstall will fail.

Now, everything should be pretty again. If not... well... I'm afraid that you may need a factory reset...

[edit] Android PIN Lock Problem

First beware setting PIN Lock using standard Android settings, you are allowed to use 16 digits PIN, but the reader's unlocking screen only allows to enter 4. If you have already finished an unlock screen without any hope, you can find instruction on Sony PRS-T1 Lockscreen problem

[edit] Moving Apps to sdcard - make APPS2SD working

Have a look here...

[edit] Boot into Recovery Console

Many sections on this page assume you know how to remotely boot into the recovery console before typing commands. This is one of many ways to do it (here via basic telnet-style console on a PC linked to PRS-T1 via USB cable) with the PRS-T1.

In order to boot into recovery console, there has to be a recovery root file system on the reader that provides serial console access. If your reader is already rooted, you should not have to worry. But if you have a stock reader, you have to provide this file. There are 2 options - either put a special file in internal reader memory or use an external sd card with a recovery console image like rupor-rescue.7z. You just need to unzip it to a sd card and follow the steps below.

There is also a thread on this topic here: http://www.mobileread.com/forums/showthread.php?t=184577

On your computer, need a terminal emulator supporting serial port connections such as PuTTY (Windows) or minicom (Linux).

If all prerequisites are met, you can continue with entering recovery mode. There are 4 ways to achieve that. The first 3 work for rooted readers only:

  • Open preinstalled Test Mode app via launcher and press "Reboot (recovery)"
  • Via ADB shell or in Terminal Console app type "chgboot recovery && reboot"
  • On your windows computer, execute ebook_msc.exe name "PRS-T1" um recovery
  • Reboot the reader and press and hold Home + Menu buttons until opening book progress bar reaches 100%.

Now, the power light of the reader should flash orange and you can connect to recovery console:

  1. Connect USB cable to PRS-T1 and PC.
  2. In Windows, agree to install standard device driver. If it does not install automatically, update the unrecognized "Gadget Serial 2.4" device in Device Manager with linux-cdc-acm.inf
  1. Note the associated virtual COM port of the driver e.g. "COM10" (also visible in Device Manager), open PuTTY, switch to "Serial" connection type, and change name of "Serial line" to match COM port e.g. "COM10". Open the connection.
  2. In Linux, start minicom with option -s and set the serial device name (Serial port setup->Serial Device) according to the found one (see kernel messages with 'dmesg' command), most probably /dev/ttyACM0, turn echo off via Ctrl+A Z E
  3. Press enter -> Login prompt appears, type "root". The # prompt should appear. You can now remotely control the PRS-T1 e.g. in order to resize system partition as explained below.
  4. in order to leave recovery mode, just type "reboot" at the recovery console.

[edit] Remote Access Via Wifi (for debugging etc via SSH)

  1. Install a ssh client such as PuTTY (Windows) or ssh (Linux) on your PC or other device.
  2. Install a SSH server .apk on the PRS-T1 e.g. DroidSSHd
  3. Set up Private/Public Key files with the ssh client (e.g. Dropbear) and copy to PRS-T1
  4. Locate key file and load into DroidSSHd preferences
  5. Use IP address, Port and user name ("root" if rooted!) given by DroidSSHd and specify it to the ssh client.
  6. Open terminal console on PRS-T1 and enter "su" then "iptables -P INPUT ACCEPT"
  7. Open connection with ssh client, it will ask for username and any password set up in 3.
  8. Prompt appears - remote control is now possible.

[edit] No space left on system partition (number of inodes)

IMPORTANT: This section is not about freeing up more space for installing apps. Apps are installed in data partition per default. Only preinstalled system apps reside on the system partition.

If you need more space for installing apps, have a look here

If you don't know about inodes have a look here: http://www.linfo.org/inode.html

The number of inodes on the system partition (mmcblk2p10) is very limited (728 for firmware 1.0.04). Hence, it may say "no free space left on device" while there is plenty of free megabytes when you try to move apps from /data/apps to /system/apps for instance... A special candidate for this to occur is the busybox installer, which creates lots of symbolic links, each of which consumes an inode.

To check the number of remaining free inodes, run the Terminal Emulator shipped with the Minimal Root and type:

busybox df -i

The only solution to increase the number of inodes is to recreate the file system of the system partition. You'll need 150MB of free space on internal READER partition:

# Boot into recovery console and mount system and internal sd:
cd /tmp
mkdir sys
mkdir sd
mount /dev/mmcblk2p4 sd
mount /dev/mmcblk2p10 sys
# Backup files on system partition:
cd sys
tar -cvf /tmp/sd/system.tar .
# Reformat system partition:
cd /tmp
umount sys
mkfs.ext4 -m 0 -L system /dev/mmcblk2p10
# Restore files
mount /dev/mmcblk2p10 sys
cd sys
tar -xvf /tmp/sd/system.tar .
# Unmount and reboot
cd /tmp
umount sys
umount sd
reboot

[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).

You could greatly increase verbosity of the logs by entering following commands from terminal:

echo 1 >/sys/module/logger/parameters/mix_log_level_kernel
echo 1 >/sys/module/logger/parameters/mix_log_level_android

[edit] Apps wont install from Google market

Try unmounting SD card in Settings/SD card & phone storage/

[edit] Apps are Force-Closed or Lose 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 (both v1.14 and v1.17.4). 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 > /data/fix_permissions.log 2>&1

This will prevent this issue in most cases. It does not yet work perfect with links created by Link2SD though (tries to change permissions of links instead of files it points to).


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 (sd recovery, sd rescue)

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 Porkupan's SD rescue package for 1.01/1.02/1.03 firmware or uboot's SD rescue package for 1.04 firmware (Archived version from the Internet Archive). 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 before pressing POWER on the Reader and keep HOME and MENU pressed (this is crucial!)
  5. Wait until the progress bar in the “Opening book" page has reached the right side (about 20 seconds). The message will change to “Updating”. 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 became again and LED of micro sd slot does not flash anymore), press RESET, then POWER.
  7. Reader should now ask for initial settings. Also there should be a file on the internal sd named diag.log, that tells if rescue did complete.

[edit] Full backup on ExternalSD

Make sure that you have enough space on your external sdcard (about 1.8Gb). Write in your text editor this code and save in /sdcard/bk.sh on the PRST1

cd /dev/block
dd if=./mmcblk2p1 of=/extsd/mmcblk2p1.img
dd if=./mmcblk2p2 of=/extsd/mmcblk2p2.img
dd if=./mmcblk2p3 of=/extsd/mmcblk2p3.img
dd if=./mmcblk2p4 of=/extsd/mmcblk2p4.img
dd if=./mmcblk2p5 of=/extsd/mmcblk2p5.img
dd if=./mmcblk2p6 of=/extsd/mmcblk2p6.img
dd if=./mmcblk2p7 of=/extsd/mmcblk2p7.img
dd if=./mmcblk2p8 of=/extsd/mmcblk2p8.img
dd if=./mmcblk2p9 of=/extsd/mmcblk2p9.img
dd if=./mmcblk2p10 of=/extsd/mmcblk2p10.img

Now open the Terminal emulator app and do the script with root account

su
cd /sdcard
sh bk.sh

Your backup is stored in /extsd/mmcblk2p*


[edit] Full backup and restoration of the device

There is now an extension of above procedure which allows relatively simple full backup and restoration of device state from PC/MAC. Everything needed could be obtained form Russian site Google translation.

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:

  • You did not press Home + Menu long enough. Really wait, until the progress bar reaches the far right.
  • Your update package is damaged (e.g. due to a faulty download or copy procedure). "OS Firmware" contains a folder "files", inside this there is update.img, which is 314,6 MB.
  • The file system of the card is not accepted by the reader. In case of doubt reformat with a Linux box (using parted or gparted) to FAT32

[edit] Factory Reset

Official procedure is documented here

It will just format the data and the reader partition which can be done manually via recovery console as well:

mkfs.ext4 -L data -m 0 -j /dev/mmcblk2p9
mkdosfs -n READER -F 32 /dev/mmcblk2p4

[edit] Getting out of Demo Mode

  • Reset button and power button - hold. Reader switches off, but you won't notice this on the screen.
  • Power button to restart.
  • At the start screen press and hold the previous button (far left) and the return button (2nd from right) until 5-8 seconds after home screen comes up. (If you are in the ADW desktop tap Home icon and wait 8 sec.)

[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 (that's somewhat imprecise - that data pins connection has to be less than 200 Ohms, as specified by European Norm EN 62684, [2]; see also Reader lädt nicht). So better don't do outright shorting but use a proper resistor (e.g. 150 Ohms).

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! [3]

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. In general it is better to flash the T1 with a fully charged battery only.

The key is to make the device forget about all battery stats and have the battery stats re-calibrated with a freshly charged battery.

  1. Connect charger and charge to 100%
  2. Delete /data/system/batterystats.bin (e.g. via Root Explorer or BatteryCalibration App)
  3. On un-rooted readers you will have to enable ADB via Testmode app and run the following command: adb shell rm /data/system/batterystats.bin && reboot
  4. Press the reset button instantly after deleting batterystats.bin. This will prevent batterystats.bin from being recreated from data in stored RAM. If you miss this step, or simply power down the device instead of a true reset, batterystats.bin will be restored automatically by the system.

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

Alternatively you can use recovery console to delete batterystats.bin

[edit] Installing a custom battery

If your battery life has evaporated, or the battery is malfunctioning, it is possible to use another battery with it - noting that you will need to desolder the OEM battery and resolder the new one in its place.

The new battery will need to be a 3.7v lithium, and require (at least) three connections:

  • VDD / positive (Red)
  • GND / negative (Black)
  • Thermal / Temperature control (White)

The colours listed here are the colours of the wires on the original battery. Replacement batteries may have different colours.

The original battery is 3mm thick. I successfully used a 6mm battery, but it now has a noticeable bulge and the edges don't all clip as tight as they did.

The thermal control wire of another battery may be a different colour (eg. yellow). This is not an issue in itself, but it's worth noting that batteries don't all have the same type of thermal control.

If the replacement battery does not have a similar thermal control the device will not charge, but throw an error "Reader is currently experiencing extreme temperatures and is unable to charge". Andrea Gangemi discussed this issue on his wordpress site and found that with his battery the inclusion of a 60kOhm resistor allowed it to charge. I've tested with around 10kOhm and 20kOhm and it still wouldn't charge, but with 50kOhm it would. I finally soldered a 56kOhm metal resistor inline in it, and it appears to work fine. Testing the oem battery, at rest it had a resistivity of around 120kOhm.

If you replace the battery, you may consider resetting the battery stats, though that might be complex and could ruin the device you've just spent all this effort fixing.

[edit] Reset behaviour of Home button

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] Entering Testmode

Be carefull! You can destroy your reader with this app!!! Especially stay away from "Update Waveform" and "Write VCOM"!!!

Testmode app can be used to

Even on unrooted readers, the testmode app can be invoked. All you need is create an empty file on your reader drive or your SD card named rVPzp8O1j0m01oOq.crsZVu8crtmXGrc2

Now, the following key sequence should run the testmode app: right back left back

[edit] Modified Reader App

If you basically like the Reading application, but would like to be able to use fonts of your own choice (and have a clock shown during reading), you can install the Modified Reader by morkl. No rooting required.
For further information see here.

[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):

  • Import the book into calibre.
  • Go Preferences - Conversion / Common Options, find the tab Filter Style Information and check the box Fonts.
  • Now convert your book to epub once more (your original file will be kept, so you can always retrieve it).
  • Replace the file on your reader with the new one.

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:

  • Displaying bold and/or italics in an epub is completely unpredictable when using the standard select-a-font feature if you use anything other than 'Original'.
  • If you want to retain bold/italics in some (all???) Eastern European language, you would also need to add manual references to one of the 6 extra fonts (Amasis etc) as the 'Original' font does not contain many (any???) of the special accented characters.
  • Reading in Chinese (and maybe other languages) is only possible if you manually add the reference to a different internal font (e.g. DroidSansFallback) not 'Original' or any of the 6 extra fonts (Amasis etc).
  • note that Adobe Digital Edition (ADE), used to display ePUB ebooks on the PRS-T1, doesn't support right-to-left (RTL) text display hence languages like Hebrew or Arabic will always be badly displayed, whatever the font!

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:

  • url(res:///ebook/fonts/built-in-font-file-name.fontext) for one of the built-in fonts (see complete list below).
  • url(res:///ebook/fonts/../../mnt/sdcard/internalReaderMemRelativePath/yourfont.fontext) for a font stored on the Reader device (internal memory).
  • url(res:///ebook/fonts/../../mnt/extsd/sd-cardRelativePath/yourfont.fontext) for a font stored on the sd-card.

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:

  • AmasisMTW1G-Bold.otf
  • AmasisMTW1G-BoldItalic.otf
  • AmasisMTW1G-Italic.otf
  • AmasisMTW1G.otf
  • FrutigerNeueLTW1G-Bold.otf
  • FrutigerNeueLTW1G-BoldIt.otf
  • FrutigerNeueLTW1G-Italic.otf
  • FrutigerNeueLTW1G-Regular.otf
  • HelveticaMonospacedW1G-Bd.otf
  • HelveticaMonospacedW1G-BdIt.otf
  • HelveticaMonospacedW1G-It.otf
  • HelveticaMonospacedW1G-Rg.otf
  • PalatinoNovaW1G-Bold.otf
  • PalatinoNovaW1G-BoldItalic.otf
  • PalatinoNovaW1G-Italic.otf
  • PalatinoNovaW1G-Regular.otf
  • ReallyNo2LTW1G-Bold.otf
  • ReallyNo2LTW1G-BoldItalic.otf
  • ReallyNo2LTW1G-Italic.otf
  • ReallyNo2LTW1G-Regular.otf
  • UniversNextW1G-Bold.otf
  • UniversNextW1G-BoldItalic.otf
  • UniversNextW1G-Italic.otf
  • UniversNextW1G-Regular.otf

  • VerdanaW1G-Bold.otf
  • VerdanaW1G-BoldItalic.otf
  • VerdanaW1G-Italic.otf
  • VerdanaW1G.otf
  • SWNMTeb.ttc
  • Clockopia.ttf
  • DroidSans-Bold.ttf
  • DroidSans.ttf
  • DroidSansArabic.ttf
  • DroidSansFallback.ttf
  • DroidSansHebrew.ttf
  • DroidSansMono.ttf
  • DroidSansThai.ttf
  • DroidSerif-Bold.ttf
  • DroidSerif-BoldItalic.ttf
  • DroidSerif-Italic.ttf
  • DroidSerif-Regular.ttf
  • tt0003m_.ttf
  • tt0011m_.ttf
  • tt0419m_.ttf

SWNMTeb.ttc and DroidSansFallback.ttf contains Chinese glyphs.

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

  • You will need calibre to make this work. First, import your book into calibre, if it is not there yet. The book has to be DRM-free. No rooting necessary.
  • Make sure to save your font-files (both .ttf and .otf will work) in a folder fonts on the READER drive, shown to you, when the T1 is connected to your computer. If the folder is not there, just create it.
  • In calibre, convert the book of your choice to epub. If it is already epub, do it once more all the same. (The original epub file will be saved, so you can always retrieve it).
  • Go to the Look & Feel page in the conversion window and look for the Extra CSS tab. The following code is just an example. Before copying it into the Extra CSS tab, you absolutely have to adapt it to the filenames of your fonts, you saved to the reader before. Also adapt to serif, sans-serif, monospace, according to your font (although this is not mandatory).
@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; }
  • Transfer your book to the reader. It will be shown in your font, when selecting original. The other built-in fonts should still be working.
  • If you get no results, or the reader refuses even to show the built-in fonts (happens a lot with .azw files), try doing this procedure first, then convert once more as described above (make sure to uncheck the fonts box in the Filter Style Information tab on the second run).

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.

Obsolete since firmware version 1.0.04.12210, the preferred behavior of the homescreen can now be set directly in the settings: On home screen tap <Books> button. Tap on sort button (in upper right, <arrow down|AZ>). Select sort criteria. (Seems to work only sporadically.)

  • Get SQLiteSpy. Extract the contents of the zip archive
  • connect your T1
  • start SQLiteSpy.exe
  • go File - Open Database...
  • navigate to your "READER" drive, then go "\Sony_Reader\database", open books.db
  • copy the following code into the top right window of SQLiteSpy:
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
  • go Execute - Execute SQL
  • close and exit
  • if you are using an SD card, repeat the same with books.db on the card (even if no books are stored on the card).

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:

  • delete (both) database.db files, OR
  • if you want to remove it without having to rebuild the database, you can open books.db in SQLiteSpy and navigate to: main->Tables->books->Triggers->Right click 'recently_added_trigger'->Drop trigger,

[edit] Always show highlighted text in "All Notes"-list

When viewing the list of notes, the name of a highlighted text-note is usually the highlighted text itself. Though, if there is a memo (annotation) attached to it, the name is (the first part of) the memo itself (and the highlighted text isn't shown in the name).

To change this behavior in order to view the highlighted text, followed by a colon and the first part of the memo, one can recreate the view "markups" in the datebase "books".

  • first download and install sqlitespy
  • run sqlitespy and open the database \Sony_Reader\database\books.db
  • unfold the views
  • rightclick on the view "markups" and choose "show create statement"
  • click in the menu on "file" and choose "save sql as..." - save it as createOriginalViewMarkups.sql (this is your backup for if anything goes wrong)
  • click in the menu on "file" and choose "save sql as..." - save it as createAdaptedViewMarkups.sql (this will be the script we will change now)
  • look for the SECOND apearance of
 trim(a.name) name,

(you will find it after the first apearance of "UNION") and replace it with:

 case when trim(a.name) = trim(a.marked_text) 
  then a.name else trim(a.marked_text) ||': '|| trim(a.name) end name,
  • you can also copy/paste the whole of the changed script you find here below in replacement
  • save the scipt (file, save sql)
  • rightclick on the view "markups" and choose "drop view 'markups'" - this will delete the original view
  • run the saved script
  • exit sqlitespy
CREATE VIEW markups AS 
 SELECT a._id _id,a.content_id content_id,a.markup_type markup_type, a.added_date added_date, a.modified_date modified_date
  ,trim(a.name) name,a.page page,a.total_page total_page,a.file_path file1,null file2,b.file_name file_name
  ,b.title title,b.author author,b.kana_title kana_title,b.kana_author kana_author,b.periodical_name periodical_name
  ,b.publication_date publication_date,b.source_id source_id 
 FROM bookmark a JOIN books b ON b._id=a.content_id 
 UNION ALL 
 SELECT a._id _id,a.content_id content_id,a.markup_type markup_type,a.added_date added_date,a.modified_date modified_date,
  --trim(a.name) name, (this is commented out and replaced with the next two line:)
  case when trim(a.name) = trim(a.marked_text) 
   then a.name else trim(a.marked_text) ||': '|| trim(a.name) end name, 
  a.page page,a.total_page total_page,a.file_path file1,null file2,b.file_name file_name,b.title title
  ,b.author author,b.kana_title kana_title,b.kana_author kana_author,b.periodical_name periodical_name
  ,b.publication_date publication_date,b.source_id source_id 
 FROM annotation a JOIN books b ON b._id=a.content_id 
 UNION ALL 
 SELECT a._id _id,a.content_id content_id,a.markup_type markup_type,a.added_date added_date,a.modified_date modified_date
 ,trim(a.name) name,a.page page,a.total_page total_page,a.svg_file file1,a.thumbnail file2,b.file_name file_name
 ,b.title title,b.author author,b.kana_title kana_title,b.kana_author kana_author,b.periodical_name periodical_name
 ,b.publication_date publication_date,b.source_id source_id 
 FROM freehand a JOIN books b ON b._id=a.content_id;

Undo:

  • use the saved script createOriginalViewMarkups.sql (be sure you have it): drop the view "markups" and run the script to recreate the original view
  • or you can use the way we changed the view to tweak it and replace the added lines
 case when trim(a.name) = trim(a.marked_text) 
  then a.name else trim(a.marked_text) ||': '|| trim(a.name) end name,

with the original line

 trim(a.name) name,

[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:

  • Get SQLiteSpy. Extract the contents of the zip archive
  • connect your T1
  • start SQLiteSpy.exe
  • go File - Open Database...
  • navigate to your "READER" drive, then go "\Sony_Reader\database", open books.db
  • doubleclick on the annotations table
  • select the records you want.
  • And copy/paste them to excel...

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] Extract handwriting

Handwriting is saved as SVG file format in the READER \Sony_Reader\media\notepads folder. With USB connected, and data transfer mode on, you can copy these to your desktop using explorer, then rename them from *.note to *.svg, then open them with Internet Explorer. You can then print them out or screen capture them for sending via email.

[edit] Tweaks for Rooted Devices

[edit] Getting ADB to work

ADB is spelled Android Debug Bridge and comes in handy in many occasions. With ADB, can reboot into recovery console, access the device via root shell from your computer via USB, transfer files to system and data partition, install / uninstall packages, etc.

Per default, ADB is disabled on the T1.

(You can enable it via Testmode app after having installed it: PRST1_Rooting_and_Tweaks#Entering_Testmode.)

Follow these steps:

  1. Install one of these packages on the T1:
    1. Rupor's Apps2SD package
    2. Porkupan's enable-adb package
  2. Connect your T1 to your computer via USB, if "USB debugging connected" does not show up in notification area (tap on top black bar), you have to enable it in Android Settings -> Applications -> Development -> USB debugging

Now you have to install Android SDK on your computer and install the ADB USB driver: Install SDK from Google You only need "Android SDK Tools" and "Android SDK Platform Tools".

Next, make the ADB daemon recognize your T1 by adding the following line to adb_usb.ini:

0x054C

Be sure that the spelling is correct! 0x054c will not work!!!

The location of this file is %userprofile%\.android\adb_usb.ini (Windows) and ~/.Android/adb_usb.ini (Linux) respectively.

That's all for Linux. If you get ??????? no permissions, then you might need a few more steps as in this site. Windows needs additional steps:

At first, tweak the USB driver to recognize the T1:

  1. Open <android-sdk-install-path>\extras\google\usb_driver\android_winusb.inf in Notepad
  2. Add the following lines to both sections [Google.NTx86] and [Google.NTamd64]:
;Sony Reader
%CompositeAdbInterface% = USB_Install, USB\VID_054C&PID_05C2&MI_01

We will now install the Windows adb usb driver:

  1. Be sure the reader is connected to the PC, USB debugging is disabled and do not enter data transfer mode!
  2. In Windows Device Manager, look for a USB Mass Storage Device with Hardware ID USB\VID_054C&PID_05C2. The ID can be obtained via Properties / Details tab.
  3. Delete the device!
  4. On the T1 enable USB debugging. The computer will now recognize new devices and install drivers. There also will a Reader ADB device show up in Device Manager. If the computer does not ask for a new driver, manually update the driver of that new device via right click.

If ADB is working, you can test it via

adb devices 

If it does not show any devices, it may need a server restart:

adb kill-server

In Windows, the adb executable is located in <android-sdk-install-path>\platform-tools

For more info in ADB, have a look here https://developer.android.com/tools/help/adb.html

Additional links:

[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] Changing Android menus from White-on-Black to Black-on-White

There is a root package which does change default Android color scheme to Black-on-White - obtainable from Russian site Google translation. Some applications may need modification in order to properly support such change.

[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
  • (+) T1 Reader, Kindle . (-) T1 Browser, Cool Reader(10xPg)

or

key 105    SPACE SHIFT
key 106    SPACE

or

key 105    VOLUME_DOWN
key 106    VOLUME_UP
  • (+) Cool Reader, Kindle . (-) T1 Reader, T1 Browser

For more info on keymaps have a look here.

There is also an app that changes button behavior based on current application: http://www.mobileread.com/forums/showthread.php?t=187054

[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 ADB 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] Freeing up space for apps

[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).

Also you may consider moving apps from /data/app to /system/app and deleting some unneeded apps as described here. But beware that permissions can get corrupted and need to be fixed via fix_permissions.sh

[edit] APPS2SD: Make Android built-in feature work

Do not use this if you have Firmware 1.0.06 or 1.0.07: It will break Wlan and USB connectivity. If you do it, you have to use rescue image and reflash your firmware. I think the packages have to be adapted to new kernel? The following text was googletranslated from Russian Site:

The Apps2SD package makes it possible to use standard functionality of Android "Apps2SD" button, which allows to use the "Move to SD card" and "Move to Phone" in the Android System Settings.

[edit] Link2SD: Moving apps to external sd card

(Credits to nemo3146@lectoreselectronicos with English translation here)

This procedure can actually be viewed outdated as built-in app2sd should work now with the patch above. Link2SD is way more complicated and may result in strange misbehaviour / bugs.

  • Create a second ext3/ext4 PRIMARY partition into the external Micro SD card:
  • 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",...


  • Install "Link2SD v1.9.9" from:
  • 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


  • Run Link2SD application:
  • 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


  • Move applications to the Micro SD Card:
  • 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] Repartition internal storage

This will probably brick your device and make you spend a couple of days filled with swearing!

Nobody might be able to help you!

Two forum users already put their device into an unrecoverable state! So make sure you know what you're doing, before you actually do it.

If you are still willing to take that risk, there is a preliminary guide here: PRST1_Repartitioning_Guide

Windows: There is now a simple way to repartition device using Acronis Disk Director Home 11, putty and rupor's backup/rescue SD card Google translation.

Linux: There is an even more simple and pretty secure way under Linux, using gParted. No putty needed, no drivers needed. You may consider using a live CD such as FWUL if you don't have a running Linux yet.

  • Read Rupor's posts about backup and repartion to get a feeling.
  • boot into recovery mode and plug in your device.
  • check gParted for a device with lots of disks, similar to rupor's pictures.
  • mount system and data partition, back them up to a local folder.
  • don't format any partition. don't delete any partition.
  • resize and move the device's partitions as they fit to you - better stick on Rupor's recommendations. Only apply the changes if you are sure it is arranged correctly. Done. Unplug the device and reboot. After you are sure everything works better than before, you may delete the local backups.
  • No loss of data, no loss of settings.

[edit] Alternative homescreen: SonyPrsT1Home "New homescreen"

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

UserGuide: https://code.google.com/p/ebooklauncher/wiki/UserGuide

GoogleCode project page: https://code.google.com/p/ebooklauncher/

[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
  • non-oryginal wpa_supplicant stops eduroam working (EAP-PEAP, EAP-TTLS).

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] Faster eInk display update aka no-refresh mode

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:

  • Open the in-built browser and swipe the screen to scroll
  • Quickly tap the top bar and the scroll mode is kept until you use one of the Sony apps (Home screen, Reader).

You may also try norefreshenable application: http://www.mobileread.com/forums/showpost.php?p=1956700&postcount=33 . You can add it to BarShortcuts application to switch refresh on or off in notification bar.

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

There is also firmware, obtainable from Russian site Google translation which does introduce quick draw (no-refresh) mode in all Android ListViews, making scrolling settings more bearable.

[edit] Change System Fonts

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

[edit] Get UDP working

To get UDP working to sync your device with Calibre or to use SAMBA-Shares use root-Explorer go to root:\\system\etc\firewall.sh

The IP table of the firewall blocks all traffic initiated outside. Inside firewall.sh search for:

iptables -P INPUT DROP

and mark the line out with a # so it looks like this:

# iptables -P INPUT DROP

You can also follow PRS-T1 Samba Filesharing for Sony PRS T1 - MobileRead Forums [4]. Now we are able to direct sync our books with the Calibre Server (search for Calibre Sync in google market) use SAMBA-Shares or even can start a FTP-Server (via swiFTP for example).

[edit] Ebook Management and Conversion Tools

  • Scan to Ebook - converts a bunch of jpg images to Sony ebook format - with proper scaling and color reduction for grayscale epaper displays :D
  • Calibre - open source ebook conversion tool - simply the best!
  • Sony Reader App - needed for transfer of DRM ebooks
  • [5] - Convert webpages from within the webbrowser (uses JavaScript bookmarklet)

[edit] Android Apps

[edit] Working Apps

There is a dedicated working apps page here: PRST1_working_apps

[edit] Installation

Important Notes:

  • 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.
  • 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] Install via USB

  • copy the apk file to any directory on the T1 over the USB cable, then
  • open a file manager, navigate to the directory and tap the apk file. Install procedure will start. Note, that the directory, which is shown as READER on the PC can be found at /mnt/sdcard. Your actual SD card can be found at /mnt/extsd

[edit] Install via Web Browser

Use the built-in Web Browser to

  • email a copy of the app to yourself and then open the email on the T1, or
  • download the app from a website, or
  • get it in an app store, or

[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] 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 Gapps and download HDPI-Version of Google Apps for CyanogenMod 6 [LINK IS DEAD]. 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] Alternate 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] 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

Step 1: Free appr. 30 MB of internal storage space.

Step 2: Connect your Reader to your PC and chose Data Transfer Mode

Step 3: Copy the mantano-apk to your PRS T1

Step 4: Disconnect from PC

Step 5: Use your file manager (total commander/root explorer/...) to move the apk from the external/internal sd-card to the data partition/internal phone memory (e.g. ../data NOT ../mnt/sdcard)

Step 6: Connect your Reader to your PC and chose Data Transfer Mode

Step 7: Use your file manager (total commander/root explorer/...) to start the apk from your data partition


This makes the internal/external sd card invisible to the installer such that it might default to data partition.


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

[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

  • Included Homescreen App: When selecting more than 64 items for inclusion to a collection, the app will crash.
  • Latin Keyboard keeps crashing and a warning pops up every few seconds: Deactivate Latin Keyboard in the Keyboard and Language Settings menu and use Anysoft Keyboard instead. I had to download the recent version from the anysoft page because the version delivered with the minimal root kit kept crashing, too. Also You can repair it using Fix Permissions apps from google market [6]
  • Root Explorer does not show anything if started for the first time: Kill App and restart it. It did not display the permission needed menu the first time started.
  • Evernote - Evernote is an easy-to-use, free app that helps you remember everything across all of the devices you use. It was reported it was not working after the synchronization. UPDATE (2012/02/13): Installed and it works ok even after sync.
  • SD: You can create a bookmark by tapping the upper-right corner of the screen. The firmware is supposed to add the book mark to your Notes list so you can navigate to the bookmark. This feature works correctly with books stored on internal memory, but not on an SD card. I can create a bookmark, but I can't navigate to it. (link)
  • SD: You can create a new Collection for books using a menu on the T1. If you create one on an SD card for books that are stored there, they are not properly added to the Collection, making it useless. This feature works correctly with books located on internal memory. (link)
  • Acronis True Image software can make USB malfunction: devices renaming to READER/SETTING/???(sd-card) when selecting Data transfer mode on the PRS-T1 after connection not detected (link)
Personal tools
Namespaces

Variants
Actions
Navigation
MobileRead Networks
Toolbox