Friday, December 30, 2011

Learning RHEL 6

Just a couple of days ago I found a new book of RHCE Certification Study Guide from Michael Jang, I have decided to learn what is new from the latest RHEL 6. This is the second book I read from Michael and is the third book I studied related to RHCE certification. Then I noticed the requirement for labs exercise from it: a computer which supports vmx or svm flags. There is no issue of my newest laptop, a Sony Vaio VPCF13UFX with 8GB RAM and a Transcend SATA 64GB SSD, except it runs Linux Mint 10...

I love how Linux Mint is pre-configured with all codec bundled and you can start watching video and listening music without hours of trouble-shooting. That is the reason I switched from Fedora 10 few years ago. In order to do the lab exercise, I need to put RHEL 6 on it meanwhile installing all the missing components such as Office Suite, multimedia program like mplayer and vlc. No doubt there is no match to the feature-rich OS like LM but at least I hope to get the system a bit closer to what I used to have.

Since there are posts available to get missing components working on RHEL 6, I added it here for my reference as well.
 

Repository
I have tried EPEL and RPM Fusion but eventually I pick RPMforge and Fedora 12 archive. Strictly speaking, F12 is no longer a repository but I learned that there are a lot of RPM were sourced and built from F12 (I might be wrong though). 

Fedora 12 Archive
You can find all Fedora's gpg-pubkey here.
Import the F12 gpg-pubkey with the following command. Later on any RPM downloaded from F12 archive will not issue warning during installation.
[root@vpcf1 ~]# rpm --import https://fedoraproject.org/static/57BBCCBA.txt 

RPMforge
Follow the instructions from their site.



Components
nVidia
Please refer to its instructions.

I hooked up a Samsung B2440MH monitor with HDMI from my Vaio as a secondary display. The monitor is stood vertically with 3D hardware accelerated. Unfortunately Desktop Effects never works on my secondary display with missing title bar and window handle. Same problem I had on LM 11 that's why I sticked to LM 10 as Compiz works on the primary and secondary display (a miracle!?). Below is my xorg.conf in case someone needs it:

[root@vpcf1 ~]# cat /etc/X11/xorg.conf
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 270.41.03  (buildd@litembilla)  Mon Apr 11 20:45:06 UTC 2011

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 270.41.03  (buildmeister@swio-display-x86-rhel47-07.nvidia.com)  Sat Apr  9 00:26:28 PDT 2011

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Sony Nvidia Default Flat Panel"
    HorizSync       28.0 - 33.4
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Samsung SMB2440MH"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 75.0
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 310M"
    Option         "ConnectedMonitor" "DFP-0"
    Option         "CustomEDID" "DFP-0: /proc/acpi/video/NGFX/LCD/EDID"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 310M"
    Option         "RandRRotation" "on"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "ConnectedMonitor" "DFP-0,DFP-1,CRT"
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "rotate" "ccw"
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0; DFP-1: 1920x1080_60_1 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
 


LibreOffice
Please refer to its instructions.

Adobe Flash 
Please refer to its instructions.

Transmission
Download the following RPM from F12 archive:
[root@vpcf1 ~]# rpm -ivh transmission-gtk-1.93-1.fc12.x86_64.rpm transmission-common-1.93-1.fc12.x86_64.rpm

Stardict
Download the following RPM from F12 archive:      
[root@vpcf1 ~]# rpm -ivh stardict-3.0.1-20.fc12.x86_64.rpm
[root@vpcf1 ~]# rpm -ivh stardict-dic-ja-2.4.2-6.fc12.noarch.rpm

Dropbox
Download it from here. Install it and follow the instructions. I need to comment out all the lines of /etc/yum.repos.d/dropbox.repo as it causes problem with yum update command:
[root@vpcf1 ~]# cat /etc/yum.repos.d/dropbox.repo
#[Dropbox]
#name=Dropbox Repository
#baseurl=http://linux.dropbox.com/fedora/$releasever/
#gpgkey=http://linux.dropbox.com/fedora/rpm-public-key.asc
 

mplayer
Almost trapped into the dependency hell here, but I managed to get it installed successfully.
Download freeglut from F12 archive to fix the dependency problem with libglut.so.3:
[root@vpcf1 ~]# rpm -ivh freeglut-2.6.0-0.2.rc1.fc12.x86_64.rpm
[root@vpcf1 ~]# yum install libcaca

Download cppunit from F12 archive to fix the dependency problem with libcppunit-1.12.so.1:
[root@vpcf1 ~]# rpm -ivh cppunit-1.12.1-3.fc12.x86_64.rpm
[root@vpcf1 ~]# yum install dirac
 

Download esound-libs and audiofile to fix the dependency problem with libesd.so.0:
[root@vpcf1 ~]# rpm -ivh esound-libs-0.2.41-3.fc12.x86_64.rpm audiofile-0.2.6-11.fc12.x86_64.rpm


Then install mplayer with yum install mplayer and its frontend smplayer, as well as mencoder.

Skype
After sorting out all the missing libraries, skype-2.2.0.35-fedora.i586.rpm started with core dump abort error (downloaded from Skype directly). The solution is to use an older 2.1 version through yum. Create /etc/yum.repo.d/skype.repo with the following lines:
[skype]
name=Skype Repository
baseurl=http://download.skype.com/linux/repos/fedora/updates/i586/
#gpgkey=http://www.skype.com/products/skype/linux/rpm-public-key.asc
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-skype
enabled=1
gpgcheck=0
 

Next, yum install skype
Finally, install the following RPM separately (using yum) which is required for skype:
glibc-2.12-1.47.el6.i686
alsa-lib-1.0.22-3.el6.i686
libXv-1.0.5-1.el6.i686
libXScrnSaver-1.2.0-1.el6.i686
qt-4.6.2-20.el6.i686
qt-x11-4.6.2-20.el6.i686


Let's yum does the job and pull other required RPM to your system. To satisfy all the dependencies more than 60 extra i686 RPM are installed!

PMS (PlayStation 3 Media Server)
The latest version is 1.50 build, you can download it from here.
I got 2 issues on RHEL 6.2 with it.

First, the following error msgs were logged:
Error loading libzen: Unable to load library 'zen': libzen.so: cannot open shared object file: No such file or directory  
Error loading MediaInfo library: Unable to load library 'mediainfo': libmediainfo.so: cannot open shared object file: No such file or directory
Download and install the libmediainfo0 and libzen0 from sourceforge.net for your platform (i.e. x86_64.RHEL_6)
[root@vpcf1 ~]# rpm -ivh libzen0-0.4.23-1.x86_64.RHEL_6.rpm
[root@vpcf1 ~]# rpm -ivh libmediainfo0-0.7.52-1.x86_64.RHEL_6.rpm


Second, my PlayStation 3 cannot see it. Just add port 5001 tcp in iptables and restart pms. Or simply disable iptables.




My system is running fine so far except when the lid is closed it logs me out!





 

Tuesday, November 8, 2011

How I got the 'Xperia Arc 0% Battery error'

First of all, this page does not contain any information on how to fix the issue of 0% battery of your Sony Ericsson Xperia Arc mobile phone. It is just for anyone who might want to root his/her Android cellular phone should pay extra attention. Being a Linux administrator like me might just too careless and look down the risk, i.e. re-install everything from scratch by flashing the handset to Android version 2.3.2, thought it is as simple as re-install a Linux OS on a laptop, oops!


Root Cause
As I have a type A personality, I like to start everything from a clean state, if possible. Since I did a few days of test run with Android version 2.3.4 (through OTA upgrade). I was very comfortable with it and started to flash my phone back to version 2.3.2 using flashtool, directly and... deadly. Do not try to downgrade your Android phone. It really kills your mobile phone! If you are interested to find out what it is all about, check this thread. Unfortunately, it is said that the only solution is to have a motherboard replacement at Sony Ericsson.

Technical reason to downgrade to version 2.3.2 is to gain root privilege by running Gingerbreak. I did that 2 times when version 2.3.3 was available couple months ago and did not encounter any issue. Of course, this is before the release of zergRush. With the release of zergRush, you can gain root privilege when your Android handset is version 2.3.4.


Other Findings
While I was desperate and flashed my Arc with different images, I did try the LT18i (i.e. Sony Ericsson Arc S) image and successfully installed on Arc. Since one of my friend argues Arc S and Arc both use an exactly same CPU and the 1.4GHz is just a software overclocking, it is proved the information is not correct, at least, in term of CPU benchmark. The figure from SetCPU did show the LT18i on my Arc has a 1024Hz CPU.

Again, if you were one of those 0% group user, please bring your phone to SE, don't waste time and hope that flashing other image would fix the 0% battery error.

It takes two days to have my motherboard replaced and I notice few issues are fixed:
- WiFi: My previous Arc keeps dropping Wifi connection at home randomly, other devices (3 laptops, PSP, Iconia Tab A100) are all fine somehow...
- File transfer connection via USB freezes my laptop: 50 percent chance of my laptop will hang when my Arc is connected to it.
- Volume: the replaced motherboard somehow boosts the sound volume (not because of xLOUD enhancement).


zergRush
Here is the job log of zergRush:
vpcp115kg download # adb push zergRush /data/local/
536 KB/s (23052 bytes in 0.041s)
vpcp115kg download # adb shell
$ cd /data/local
$ ls
zergRush
tmp
$ chmod 755 zergRush
$ ls -l
-rwxr-xr-x shell    shell       23052 2011-10-21 19:50 zergRush
drwxrwx--x shell    shell             1980-01-06 08:00 tmp
$ ./zergRush

[**] Zerg rush - Android 2.2/2.3 local root
[**] (C) 2011 Revolutionary. All rights reserved.

[**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew.

[+] Found a GingerBread ! 0x00015118
[*] Scooting ...
[*] Sending 149 zerglings ...
[+] Zerglings found a way to enter ! 0x10
[+] Overseer found a path ! 0x000151e0
[*] Sending 149 zerglings ...
[+] Zerglings caused crash (good news): 0x2abcccc4 0x0054
[*] Researching Metabolic Boost ...
[+] Speedlings on the go ! 0x6fd256bd 0x6fd39847
[*] Popping 24 more zerglings
[*] Sending 173 zerglings ...

[+] Rush did it ! It's a GG, man !
[+] Killing ADB and restarting as root... enjoy!
vpcp115kg download # adb shell
# id
uid=0(root) gid=0(root)
# exit
vpcp115kg download #
vpcp115kg download # adb remount
remount succeeded
vpcp115kg download # adb push su /system/bin
613 KB/s (26324 bytes in 0.041s)
vpcp115kg download # adb push su /system/xbin
567 KB/s (26324 bytes in 0.045s)
vpcp115kg download # adb shell
# ls -l /system/bin/su
-rw-rw-rw- root     root        26324 2008-02-29 02:33 su
# chmod 4755 /system/bin/su
# ls -l /system/xbin/su
-rw-rw-rw- root     root        26324 2008-02-29 02:33 su
# chmod 4755 /system/xbin/su
#
 


Summary
Lesson Learned
Do not downgrade Android OS, it might apply to other brands too. Or read XDA and confirm the downgrade will not damage your phone.
Lesson Not Learned
I gained the root privilege two hours later after I had picked up my repaired phone from SE :>





   









































 

Monday, October 10, 2011

Acer Iconia A100 - Mount microSD card from Linux Mint 10 & 11

It doesn't seem AcerSync has anything to do with Linux. If you need to manage directories and files of both internal storage (/mnt/sdcard) and SD card (i.e. /mnt/external_sd) in your A100 from Linux Mint (or other Unbuntu respin), you can try the following:


Install mtpfs & mtp-tools
vpcp115kg ~ # apt-get install mtpfs mtp-tools
vpcp115kg ~ # mkdir /media/a100
vpcp115kg ~ # chmod 775 /media/a100



Mount the storage
Connect A100 to your computer with an USB cable, then
vpcp115kg ~ # date; mtpfs -o allow_other /media/a100; date
Sun Oct 10 20:22:29 HKT 2011
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option
Sun Oct 10 20:22:51 HKT 2011
vpcp115kg ~ # ls /media/a100
ビデオ             data       JustReader  Music          pulse           tmp
ビデオ             DCIM       Kobo        myalbum        Ringtones       wwwjdic
Alarms             Download   LOST.DIR    Notifications  SpeedSoftware   漫画
Android            dropbox    lost+found  Pictures       su              音楽
apkinstaller.temp  Evernote   Mikulu      Playlists      Summer Player
astrid             extracted  Movies      Podcasts       TitaniumBackup
vpcp115kg ~ #
 

Certainly you just need to enter the command mtpfs -o allow_other /media/a100
It takes about 30 seconds to mount the storage. You can now manipulate your files from Linux. Just like how you deal with other external media, same rule applies, unmount it before disconnect the USB cable.


Same file / directory name
As both internal storage and SD card are treated as a single transactional file system, directories and files from both locations are combined into a single mount point through mtpfs. If there is a folder called /xyz in both locations, the one from internal storage has preference over SD card. It is kind of odd but I can see the advantage of mtpfs over traditional block device: concurrent access is possible from the mount point and from the tablet.







Friday, September 23, 2011

Acer Iconia A100 - Recovery

As of this writing there is no any official ROM available for Acer Iconia A100. In case you turned it into a brick like I did, you can try the following to recover it.

Update (2011-10-19): There are few official ROMs posted in XDA. I have tried to recovery my A100 (Build version Acer_A100_1.014.08_COM_GEN1) without issue. Recommend to use this ROM instead.



Bare-bones Restore

ROM "Acer_A100_1.022.02_AAP_CUS4"
You can download it from this link (click "联通下载" or "电信下载"), the source is this URL.


This is a Chinese ROM and includes other locales, the majority of packages are version 3.2-1313484170. Please note this ROM does not include common Google packages (Market, MyApps, etc).

Extract the rar file and save the update.zip into the root of a microSD. Use the microSD to recover A100 (hold the volume up key and turn on the tablet, release the volume up key once it starts recovering).

Once it finishes, the tablet should come back to life, at least! Next, do a Tablet erase to have a clean start and establish WiFi connection.



Google Apps Pre-requisite 

System Dump
Download it from this link, the source is this URL.

Most of the packages are version 3.2-150265. Unzip it, we need the app folder, save the app folder to your preferred location in your PC (e.g. /a100/app)


Android SDK
Follow the instructions from android.com.
You need it to install packages. To make life a bit easier, append the following line to the $PATH environment variable in /root/.profile, if you use Linux:
PATH=$PATH:/opt/android-sdk-linux_x86/platform-tools/


Root
You already know how to do it, otherwise you wouldn't ruin your A100. Just follow this thread, then install Superuser and Root Explorer afterward.


Titanium Backup
Install Titanium Backup and take full backup of existing apps.



Packages Comparison

3.2-1313484170 (Acer_A100_1.022.02_AAP_CUS4) 3.2-150265 (System Dump - /app)
AcerAbout.apk AcerAbout.apk
AcerClockWidget.apk AcerClockWidget.apk
AcerDLNA.apk AcerDLNA.apk
AcerNetworkLocation.apk
AcerNidus.apk AcerNidus.apk
AcerOneTimeInit.apk AcerOneTimeInit.apk
AcerRegistration.apk AcerRegistration.apk
AcerSync.apk AcerSync.apk
AcerSyncHelper.apk AcerSyncHelper.apk
AdobeFlashPlayer.apk AdobeFlashPlayer.apk
AgendaWidget.apk AgendaWidget.apk
ApInAp.apk ApInAp.apk
ApplicationsProvider.apk ApplicationsProvider.apk
Aupeo.apk Aupeo.apk
Bluetooth.apk Bluetooth.apk

BooksTablet.apk
Browser.apk Browser.apk
Calculator.apk Calculator.apk

CalendarGoogle.apk
Calendar.apk
CalendarProvider.apk CalendarProvider.apk
Camera.apk Camera.apk
CertInstaller.apk CertInstaller.apk

ChromeBookmarksSyncAdapter.apk
Clearfi.apk Clearfi.apk
Contacts.apk Contacts.apk
ContactsProvider.apk ContactsProvider.apk
DTG.apk
DefaultContainerService.apk DefaultContainerService.apk
DeskClock.apk DeskClock.apk
DigitalClockWidget.apk DigitalClockWidget.apk
DownloadProvider.apk DownloadProvider.apk
DownloadProviderUi.apk DownloadProviderUi.apk
DrmProvider.apk DrmProvider.apk

DTG.apk
Email.apk Email.apk
Exchange.apk Exchange.apk
FDUpdater.apk FDUpdater.apk

Finsky.apk
FWupdateService.apk FWupdateService.apk
Gallery3D.apk

GalleryNew3DGoogle.apk


GameLoftStore.apk

Gmail.apk

GoogleBackupTransport.apk

GoogleCalendarSyncAdapter.apk

GoogleContactsSyncAdapter.apk

GoogleFeedback.apk

GoogleLoginService.apk

GooglePartnerSetup.apk

GoogleQuickSearchBox.apk

GoogleServicesFramework.apk
HTMLViewer.apk HTMLViewer.apk
LatinIME.apk

LatinImeGoogle.apk
Launcher2.apk Launcher2.apk

LinkToFacebook.apk
LiveWallpapersPicker.apk LiveWallpapersPicker.apk
LumiRead.apk
MagicSmokeWallpapers.apk MagicSmokeWallpapers.apk

Maps.apk

MarketUpdater.apk
MediaProvider.apk MediaProvider.apk

MediaUploader.apk
Music.apk

Music2.apk

MusicA.apk

MyLocationWidget.apk
nemoPlayer.apk nemoPlayer.apk

NetworkLocation.apk

OneTimeInitializer.apk
PackageInstaller.apk PackageInstaller.apk
Phone.apk Phone.apk
PicoTts.apk PicoTts.apk

Planner.apk
Provision.apk
QuickSearchBox.apk
Settings.apk Settings.apk
SettingsProvider.apk SettingsProvider.apk

SetupWizard.apk

SocialJogger.apk
Solitaire.apk Solitaire.apk
SoundRecorder.apk SoundRecorder.apk

Street.apk
SystemUI.apk SystemUI.apk

Talk.apk

TegraZone.apk
TelephonyProvider.apk TelephonyProvider.apk
TtsService.apk TtsService.apk
UserDictionaryProvider.apk UserDictionaryProvider.apk
VG_baidumobile.apk
VG_baidusearch.apk
VG_droidreader.apk
VG_gomarket.apk
VG_mapbar.apk
VG_mochi.apk
VG_qiyi.apk
VG_qq.apk
VG_qqlord.apk
VG_renren.apk
VG_sinanews.apk
VG_sinaweibo.apk
VG_sohu.apk
VG_straightflush.apk
VG_tudou.apk

Vending.apk

VideoEditorGoogle.apk

Videos.apk
VisualizationWallpapers.apk VisualizationWallpapers.apk
VoiceRecorder.apk VoiceRecorder.apk

VoiceSearch.apk

WeatherWidget.apk

xt9.apk

YouTubeTablet.apk

Package (Pink) - Packages removed
Package (Light Blue) - Packages installed
Package (Red) - Not able to install (incompatible?)


Cleaning Up
Before I started adding any packages, I did a clean up of bloatware and packages that I don't need through Titanium Backup. Refer to the left column of the table above (Packages in pink colour). Up to this point your A100 should be in a pretty good state (i.e. no any pop-up application errors).


Install Google Apps

Connect A100
Connect A100 to your computer with an USB cable. Make sure the settings below (Setting > Applications):
- USB debugging is enabled
- Unknown sources is allowed

From the SDK, confirm if it can communicate with your A100:
vpcp115kg ~ # adb kill-server
vpcp115kg ~ # adb start-server
vpcp115kg ~ # adb devices
List of devices attached
37c61xxxxxxxxxx device


RW /system

From the SDK, remount the A100 /system into rw mode:
vpcp115kg ~ # adb remount
remount failed: Operation not permitted

If it failed, try the following commands:
vpcp115kg ~ # adb shell
$ su -
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system/app
# exit
$ exit
vpcp115kg ~ #


Google Services

From the SDK, install the following apk:
vpcp115kg ~ # cd /a100/app

Install GoogleLoginService:
vpcp115kg ~ # adb install GoogleLoginService.apk

vpcp115kg ~ # adb push GoogleLoginService.apk /system/app
Install GoogleServicesFramework:
vpcp115kg ~ # adb install GoogleServicesFramework.apk
vpcp115kg ~ # adb push GoogleServicesFramework.apk /system/app
vpcp115kg ~ # adb reboot

Once rebooted, the Google Account option should be available under Settings > Account & sync > + Add account
Add your Google account and confirm the connection succeeds before continue.


Install GoogleCalendarSyncAdapter:
vpcp115kg ~ # adb install GoogleCalendarSyncAdapter.apk
vpcp115kg ~ # adb push GoogleCalendarSyncAdapter.apk /system/app
Install GoogleContactsSyncAdapter:
vpcp115kg ~ # adb install GoogleContactsSyncAdapter.apk
vpcp115kg ~ # adb push GoogleContactsSyncAdapter.apk /system/app
Install Gmail:
vpcp115kg ~ # adb install Gmail.apk
vpcp115kg ~ # adb push Gmail.apk /system/app

The options of Sync Calendar, Sync Contact and Sync Gmail should appear under Settings > Account & sync. Test the synchronisation before continue.
 
Install GoogleQuickSearchBox:
vpcp115kg ~ # adb install GoogleQuickSearchBox.apk
vpcp115kg ~ # adb push GoogleQuickSearchBox.apk /system/app
Install MarketUpdater:
vpcp115kg ~ # adb install MarketUpdater.apk
vpcp115kg ~ # adb push MarketUpdater.apk /system/app
Install Finsky (Market):
vpcp115kg ~ # adb install Finsky.apk
vpcp115kg ~ # adb push Finsky.apk /system/app
Install Vending:
vpcp115kg ~ # adb install Vending.apk
vpcp115kg ~ # adb push Vending.apk /system/app
Install YouTubeTablet:
vpcp115kg ~ # adb install YouTubeTablet.apk
Install Maps:
vpcp115kg ~ # adb install Maps.apk
Install Talk:
vpcp115kg ~ # adb install Talks.apk
Install Street:
vpcp115kg ~ # adb install Street.apk


Your tablet should now back to fully functional.