Chủ Nhật, ngày 16 tháng 11 năm 2014

How To View Passwords For Wi-Fi Access Points Saved On Your Android Device

How To View Passwords For Wi-Fi Access Points Saved On Your Android Device

With multiple Wi-Fi access points saved on your Android device, it is quite normal to forget the security key to a certain network. This article presents a small, handy work-around for the rare instance where you need to view a forgotten password. For instance, your friend needs to connect to the Wi-Fi network you’re currently using on your Android device, he or she asks you for the security key but you just can’t remember it. What do you do? Read on after the jump to find out.
Albeit through a counter-intuitive way, the app can help you with finding passwords of your Wi-Fi access points, old or new. This method requires your device to have root access. If it doesn’t, type “rootdevicename” in the search bar above to gain root access on your device using one of our own guides, or you may simply take a look at our comprehensive compilation of Android root guides to see if your device is listed there or not, and if it is, how to gain root access on it.

Also, you’ll need a file explorer that gives you read access to root-level documents. Root Explorer and Super Manager (Professional Edition) includes said feature.
  • Navigate to the root directory /data/misc/wifi. If your file explorer opens the SD card (/mnt/sdcard) directory by default, press back twice to open the root directory, then navigate to the mentioned path.
  • Open the document wpa_supplicant.conf. If you’re using Root Explorer, simply tap the file to open it in a text viewer or hold it (long tap) to open its context menu and select View as text to do the same.
  • From within said file, you can view all your saved Wi-Fi access points along with their passwords. Look under the SSID (Access Point Name) of the Wi-Fi network whose password you need to view. The password is written within quotes in the line that says psk=”password”.
Directory opened using Root Explorerwpa_supplicant
As evident by the screenshot above, once you open said conf file, you’ll be able to sneak peek into almost every access point that ever got registered with your Android. All you need to do is lookup for the required access point, note down the password displayed under it, key it in the password field, and you’re good to go. The above method has successfully been tested on HTC Desire Z (running CM7). Hopefully, we shall soon be introduced to an app that has the propensity to automatically fetch APs from said file, complete with passwords and other relevant settings, and tie them to the present APs with the same titles. Till then, manual route is the best route!

Thứ Sáu, ngày 07 tháng 11 năm 2014


Press Power + Volumn Up 10 second to go to fastboot mode

D:\AndroidSDKSlim\android-sdk-windows\platform-tools>fastboot.exe boot cm-11.0-XNPH38R-bacon-boot-debuggable.img
downloading 'boot.img'...
OKAY [  0.218s]
OKAY [  0.016s]
finished. total time: 0.250s

D:\AndroidSDKSlim\android-sdk-windows\platform-tools>fastboot.exe update
target reported max download size of 536870912 bytes
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
Bootloader Version...:
Baseband Version.....:
Serial Number........: 23e82349
checking product...
OKAY [  0.000s]
sending 'boot' (5578 KB)...
OKAY [  1.874s]
writing 'boot'...
OKAY [  0.128s]
sending 'recovery' (7510 KB)...
OKAY [  0.889s]
writing 'recovery'...
OKAY [  0.172s]
erasing 'system'...
OKAY [  0.265s]
sending sparse 'system' (524228 KB)...
OKAY [ 22.292s]
writing 'system'...
OKAY [ 28.105s]
sending sparse 'system' (277057 KB)...
OKAY [ 11.965s]
writing 'system'...
OKAY [ 11.615s]

finished. total time: 77.554s

Thứ Hai, ngày 20 tháng 10 năm 2014

SpagoBI Installation

The new SpagoBI (version 3.6.0) – Installation instructions and Troubleshooting (link)

SpagoBI released their new version i.e. 3.6.0 with more enhancements and bug fixes on Oct 22 last month. This tool is becoming more popular worldwide now, and user will get the new version more attractive and stronger from the last version. You can get the release notes at , which will help you to know the changes and enhancements done in this version.
Easy way to install from windows installer
  1. Download “” from
  2. Extract the zip file in your preferred location and run the setup file i.e. SpagoBI.exe.
  3. Follow the setup instructions to complete the installations.
  4. Login into the server at http://localhost:8080/SpagoBI/ with biadmin / biadmin and play with the examples. This installation will work with HSQL and it has examples for different reporting engines.
Notes: After you install SpagoBI with sample data, you can configure it to work with external database. Please find mysql configuration steps in sections below.
Manual installation on Windows/Linux from All-In-One package:
  1. Download “” from
  2. Extract the zip file in your preferred location and run the startup fileWindows: run the batch file i.e. /bin/SpagoBIStartup.bat (You should have admin permission or, run the cmd through administrator)Linux: run ./ from inside /bin folder (Run it from sudo command or, root account)
  3. Login into the server at http://localhost:8080/SpagoBI/ with biadmin/biadmin and play with the examples.
Notes: After you install SpagoBI with sample data, you can configure it to work with external database. Please find mysql configuration steps in sections below.
Configure external database MySQL:
  1. Install SpagoBI Metadata DB (MySQL)
    1. Install MySQL 5.1 or, later.
    2. Download “mysql-dbscript-3.6.0” from
    3. Create a mysql database named “spagobi” and import the schema from .sql file downloaded above with following command:
      mysql –u –p  spagobi < MySQL_create.sql
      mysql –u c –p  spagobi < MySQL_create_quartz_schema.sql
  2. Configure data sources
    • Open /conf/server.xml and add a new Data Source, fragment of XML under tags,
This is the Connection poll for SpagoBI metadata.
    • We can add more data sources for each data warehouse we have.
    • Comment all previous data sources which were present for HSQL.
    • Make sure the context information for data sources defined above are embedded in /webapps/SpagoBI\META-INF /context.xml. You can insert this xml in server.xml if you prefer.

  1. Configure DBMS Type
    • We must configure DBMS type used by SpagoBI under \webapps\SpagoBI\WEB-INF\classes\hibernate.cfg.xml
    • Then we would need to configure hibernate dialect for JBPM workflow engine: look at file /webapps/SpagoBI/WEB-INF/classes/jbpm.cfg.xml, there is a reference to JBPM hibernate file:

May be you read jbpm.hibernate.cfg.hsql.xml instead of jbpm.hibernate.cfg.xml,           jbpm.hibernate.cfg.hsql.xml is the hibernate file suitable for HSQLDB; if you are not using HSQLDB change resource.hibernate.cfg.xml property to jbpm.hibernate.cfg.xml.
    • Then, edit /webapps/SpagoBI/WEB-INF/classes/jbpm.hibernate.cfg.xml and change the following as according to your database server.
    • At last you have to configure Quartz scheduler engine: edit /webapps/SpagoBI/WEB-INF/classes/ you will read something like:
# job store delegate class -
# Hsqldb delegate class
# Mysql/Ingres delegate class
# Postgres delegate class
# Oracle delegate class
Uncomment the job store delegate class suitable to your database server and comment all others.
  1. Database schema configuration
When creating SpagoBI metadata tables, they should be put into the default schema of the JDBC connection’s user.  In case this is not possible, you should edit hibernate.cfg.xml adding the following line:

– modify SpagoBI/WEB-INF/classes/jbpm.hibernate.cfg.xml adding the following line:

                Notes: you can skip this step.
  1. Restart the SpagoBI server, login into the server at http://localhost:8080/SpagoBI/ with biadmin / biadmin. This installation will work with MySQL , meta data.
Upgrade from older version to new version (Simple Upgrade):
  1. Stop the SpagoBI Server.
  2. Remove or, move (for backup purpose) your current SpagoBI installation folder.
  3. Install the latest version you want to install, through steps in section “Easy way to install from windows installer” or, “Manual installation on Windows/Linux from All-In-One package”.
  4. Download the upgrade script for MySQL from .
    Notes: Make sure you have downloaded the required version of script.
  5. Run the db script downloaded above and the upgrade is done.
  6. Start the SpagoBI server, login into the server at http://localhost:8080/SpagoBI/ with biadmin / biadmin. This installation will work with MySQL  upgrade version meta data.
Notes: This upgrade works well in case you have not done any personalization changes in installation files of older version.
Troubleshoot/Help for the issue I came across during installation: 
  1. Very first error we got was “Address already in use” as the shutdown port 8005 was already being used on the system. Changed the port to 7005 in server.xml (located under conf folder) and it worked.
  2. We came across another issue where everything were perfect but we were not able to see the login screen and it was showing an error as follows:
[main] 28 Dec 2011 09:13:46,072 ERROR it.eng.spagobi.commons.SingletonConfigCache.:36 – The table sbi_config is EMPTY
[main] 28 Dec 2011 09:13:46,074 ERROR it.eng.spagobi.commons.SingletonConfigCache.get:53 – The property ‘SPAGOBI.DATE-FORMAT-SERVER.format’ doens’t have any value assigned, check SBI_CONFIG table
[main] 28 Dec 2011 09:13:46,074 ERROR it.eng.spagobi.commons.SingletonConfigCache.get:53 – The property ‘SPAGOBI.TIMESTAMP-FORMAT.format’ doens’t have any value assigned, check SBI_CONFIG table
[main] 28 Dec 2011 09:13:48,272 ERROR it.eng.spagobi.commons.initializers.metadata.MetadataInitializer.init:
163 – Error while initializing metadata
We explored the forums and different channels and came to know that this is a bug logged into Jira and they have uploaded a patch to be downloaded at
We downloaded the patch and extracted it into ……./webapps/SpagoBI/WEB-INF/classes, the server is working fine now.
3. While working with linux, once unzipped the “All-in-one….”  Package and tried to start spagoBI server with the command, sudo sh, I got a access denied error. I used chmod command and gave all permission to the folder as follows:
          chmod 777 –R SpagoBI-DEMO-3.5 and it worked.

Enabling the server to communicate via TCP/IP

Enabling the server to communicate via TCP/IP

Most of the Linux distributions do not enable by default to accept TCP/IP connections from outside in their MySQL or Percona Server packages.
You can check it with netstat on a shell:
$ netstat -lnp | grep mysql
tcp         0        0* LISTEN 2480/mysqld
unix 2 [ ACC ] STREAM LISTENING 8101 2480/mysqld /tmp/mysql.sock
You should check two things:
  • there is a line starting with tcp (the server is indeed accepting TCP connections) and
  • the first address ( in this example) is different than (the bind address is not localhost’s).
In the first case, the first place to look is the my.cnf file. If you find the option skip-networking, comment it out or just delete it. Also check that if the variable bind_address is set, then it shouldn’t be set to localhost’s but to the host’s IP. Then restart the MySQL server and check it again with netstat. If the changes you did had no effect, then you should look at your distribution’s startup scripts (like rc.mysqld). You should comment out flags like --skip-networking and/or change the bind-address.
After you get the server listening to remote TCP connections properly, the last thing to do is checking that the port (3306 by default) is indeed open. Check your firewall configurations (iptables -L) and that you are allowing remote hosts on that port (in /etc/hosts.allow).
And we’re done! We have a MySQL server running which is able to communicate with the world through TCP/IP.

vi /usr/local/sbin/
/usr/local/sbin/ stop
/usr/local/sbin/ start

Thứ Tư, ngày 15 tháng 10 năm 2014

Firefox command-line arguments to set and control start page

Jasonwryan gave you what is probably the best solution. If you reall want to change the default home page (not simply start with a specific page, but change what page the Home button loads), you will need to edit your user's config file.
For firefox, the preferences are stored in
The RANDOM_STRING is different for each user profile. The default home page is saved as:
user_pref("browser.startup.homepage", "");
So, to change the homepage to from the command line you could do:
sed -i.bak '
 s#\(\"browser\.startup\.homepage\", \"\)http:.*"#\1\"#
' $HOME/.mozilla/firefox/*.default/prefs.js

Thứ Tư, ngày 17 tháng 9 năm 2014

MySQL: Reset Lost Root Password from UBUNTU (linux) environment

MySQL: Reset Lost Root Password

Here is a quick Step-by-Step “how to” which helps restoring MySQL root password that was lost/forgotten.
It happens to everybody, especially if several distributed (different) systems are maintained, where the password is not the same. Here is what needs to be done to restore it:
Step 1: Stop MySQL daemon if it is currently running
Depending on the operating system MySQL is installed on, the daemon can be checked/stopped differently. Here is an example on how to do it in Unix-like systems.
[ NOTE ]: You might need to run it as a Unix System superuser (root) - depending on 
          how the system is configured, and what permissions your Unix account is granted)
Here is how to stop/kill the existing mysql daemon, in case it is running:
      ps -ef | grep mysql      - checks if mysql/mysqld is one of the running processes.
      pkill mysqld             - kills the daemon, if it is running.
Note: if pkill (’process kill’) is not on a particular Unix system, use kill -9 ‘pid’, where ‘pid’ corresponds to processes that were found with ps -ef | grep mysql
Step 2: Run MySQL safe daemon with skipping grant tables
      mysqld_safe --skip-grant-tables &
Step 3: Login to MySQL as root with no password
      mysql -u root mysql
Step 4: Run UPDATE query to reset the root password
In MySQL command line prompt issue the following two commands:
      UPDATE user SET password=PASSWORD("ualue=42") WHERE user="root";
“ualue=42” is a common password for “The Hitchhiker’s Guide to the Galaxy” people which reads “Ultimate Answer to Life, the Universe, and Everything=42“
Step 5: Stop MySQL safe daemon
Follow the first two steps, but this time kill (pkill) “mysqld_safe” instead of “mysqld”
Step 6: Start MySQL daemon
Depending on the operating system (Unix-like examples):
      /etc/rc.d/rc.mysql start
      /etc/init.d/mysql start
      /etc/rc.5/mysql start
etc.. check existing MySQL configuration
Step 7: Root password is reset and ready to use
Password is reset. Privileges are flushed. Start MySQL and login as root with the password set in step 4:
      mysql -u root -p mysql
Note: sometimes (most of the time) ‘root user’ privileges are required for the system (OS) in order to stop/start processes

Thứ Năm, ngày 04 tháng 9 năm 2014

[How-To] Connect an Android device using MTP in Ubuntu 14.04 LTS

  1. After much looking around I was never able to find a how-to guide(or should I say the ones that did never worked)on how to connect my android tablet/phone to Ubuntu for file transfers, sure there's other means of doing it wireless via your LAN, but truth be told MTP and Ubuntu don't exactly see eye to eye and as such I hope the following guide I put together saves someone a lot of time and effort. This was performed on Ubuntu 14.04 LTS

    STEP 1
    Firstly we're going to need to install some of the common MTP apps that will be needed. Open up a terminal and type the following two lines one after the other.

    sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9
    sudo apt-get dist-upgrade
    STEP 2
    Then we're going to amend the fuse.conf file. FUSE is an application that aims to provide a secure method for non privileged users to create and mount their own file system implementations. This option overrides the security measure restricting file access to the user mounting the file system. So all users (including root) can access the files. This option is by default only allowed to root, but this restriction can be removed with a change to the aforementioned fuse.conf file as follows:

    At the terminal type

    sudo nano /etc/fuse.conf
    We want to remove the # from the below line of code for user_allow_other, like so...

    #/etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE)
    #Set the maximum number of FUSE mounts allowed to non-root users.
    #The default is 1000.
    #mount_max = 1000
    # Allow non-root users to specify the allow_other or allow_root mount options.

    Now save the file by pressing Ctrl+x, press Y and then Enter.

    STEP 3

    We now need to set up some rules for our device that we plan on connecting, but before we do that we need to find out both the vendor and product id

    Connect your device via an available usb port and from terminal enter

    This should bring up an output similar to the following

    Bus 002 Device 003: ID 0fce:01b1 Sony Ericsson Mobile Communications AB 
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 006: ID 0461:4d65 Primax Electronics, Ltd 
    Bus 001 Device 005: ID 0846:9020 NetGear, Inc. WNA3100(v1) Wireless-N 300 [Broadcom BCM43231]
    You need to look for your device, in this instance my Sony Tablet is at the top of the list, the vendor id is 0fce and product id is 01b1

    STEP 4
    We're then going to amend the mtp udev rules as follows, from a terminal type

    sudo nano /lib/udev/rules.d/69-mtp.rules
    Then add the below line of code

    # Sony Xperia Z2 Tablet
    ATTR{idVendor}=="0fce", ATTR{idProduct}=="01b1", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
    Remember what you're changing here is the device name next to the #, this can be whatever you want, the # comments out the code, but for clarity and reference later I would choose the name of your tablet/phone and also the vendor id and product id, they should match what was seen when you issued the lsusb command earlier.

    Once done, save the file.

    STEP 5
    The next step would also be to add a line of code to the 51 android rules file, again from a terminal type

    sudo nano /etc/udev/rules.d/51-android.rules
    Then add the following line of code

    ATTR{idVendor}=="0fce", ATTR{idProduct}=="01b1", MODE=”0666"
    Remember what I have highlighted in red needs to be changed to your device product id and vendor id.

    Once that is done and the file is saved, remove any usb device currently connected and issue the following commands

    STEP 6

    sudo service udev restart
    Then save any other remaining work you may have open and reboot the system.

    STEP 7
    sudo reboot
    Once rebooted you should now be able to plug your Android device in(making sure the screen is unlocked) and VIOLA!!(or at least I hope) You will now be able to transfer data to/from your Android device via the much quicker and much more reliable MTP

    All feedback gladly welcome, would like to know if this has worked for this others too.
    Last edited by jdarby1983; May 28th, 2014 at 10:04 PM.