Saturday, July 9, 2016

Fingerprint Sensor on Lenovo X240 Thinkpad on Ubuntu 14.04

OS: Ubuntu 14.04 64 bit LTS

The machine has a fingerprint reader from validity sensor:

$ lsusb
Bus 001 Device 011: ID 138a:0017 Validity Sensors, Inc. Fingerprint Reader


Option 1:

sudo add-apt-repository ppa:fingerprint/fingerprint-gui
sudo apt-get update
fingerprint-gui is little unstable and matching does not work all the time. 


Option 2: 

sudo add-apt-repository -y ppa:fingerprint/fprint
sudo apt-get update
sudo apt-get install libfprint0 fprint-demo libpam-fprintd gksu-polkit

You can test the sensor using fprint_demo and enroll your fingerprint using fprintd-enroll. 

Now you lock your screen using CTRL+ALT+L and try swiping your finger on the sensor when it glows green. 

Still you need to make couple of attempts to get a right scan and logging in one attempt. It takes several attempts to log in. 

You can also store multiple templates for the same finger using the labels for other fingers.

$ fprintd-enroll -f right-thumb
$ fprintd-enroll -f right-index-finger
$ fprintd-enroll -f right-middle-finger
$ fprintd-enroll -f right-ring-finger
$ fprintd-enroll -f right-little-finger

Another 5 templates can be stored for left hand labels.  Then try fprintd-verify

$ fprintd-verify
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: left-middle-finger
 - #1: right-ring-finger
 - #2: left-thumb
 - #3: right-little-finger
 - #4: right-thumb
 - #5: left-index-finger
 - #6: right-index-finger
 - #7: right-middle-finger
 - #8: left-little-finger
 - #9: left-ring-finger
Verify result: verify-match (done)

If you store the templates for index finger under all these labels, then the chances of match increases when you swipe your finger.

Update: 

In order to make it work with login manager, you need to configure the PAM as well.  Hence, you need to install libpam-fprintd package. This is as per the instructions available on this page.

$ sudo apt-get install libpam-fprintd


Now check the common-auth file. It should show something similar as shown below:

$ grep fprint /etc/pam.d/common-auth
auth [success=3 default=ignore] pam_fprintd.so timeout=10 # debug max_tries=5


Now run

$ fprintd-enroll

once you register your finger print. Just check this works for you

$ sudo apt-get update
Swipe your finger across the fingerprint reader

Or else, when you lock your screen with CTRL+ALT+L, it should ask you to swipe your finger. It works instantly with one swipe itself. 

Tuesday, December 30, 2014

Lenovo Thinkpad X240 Wifi Support for RealTek RTL8192EE on Ubuntu / Mint 17



Lenovo Thinkpad X240 comes with RealTek RTL8192EE chipset. Surprisingly the driver does not come built into Ubuntu 14.04 and earlier versions.  However this device is supported on Ubuntu 14.10 (Utopic Unicorn)

If you are using earlier version of Ubuntu or Linux Mint 17, the following instructions may help you


The bug is reported on Launchpad and some workarounds have been suggested:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1239578


One solution (see #38) is to download the OEM driver from the following link:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1239578/+attachment/4057550/+files/rtl_92ce_92se_92de_8723ae_88ee_8723be_92ee_linux_mac80211_0017.1016v2.2013.tar.gz

You can also download it from here:

http://netbook-remix.archive.canonical.com/updates/pool/public/o/oem-wireless-rtl-92ce-92se-92de-8723ae-88ee-8723be-92ee-dkms/

or from here (local link)

https://drive.google.com/file/d/0B1WmoEhM2mFOeEo5X2RCdm9RZVU/view?usp=sharing

unzip it .... compile it ... and insert it ... "make" should work  ...

Insert the module by using the following command:

$ sudo modprobe rtl8192ee
$ lsmod | grep rtl8192

Probably you need to reboot. Just try some of the following commands to configure your wifi:

$ sudo iwconfig
$ sudo lshw -C Network
$ sudo iwlist wlan0 scan
$ nm-tool

One problem that people have reported about this driver is that it drops connection every now and then. You need to reboot just to get it working again. This is really annoying. A workaround that works for me is to run the following command:

$ sudo killall NetworkManager

this kills and then restarts the network manager and it connects to the wifi again.



Monday, October 27, 2014

Installing ROS Indigo on Mint 17

Mint 17 is based on Ubuntu trusty and hence you can follow the instruction given below to install ROS-Indigo:

http://answers.ros.org/question/190177/how-to-install-ros-indigo-in-ubuntu-1404-trusty-64-bit/

However, you need to make slight change in the name of repository to be added to your sources.list. The summary of instruction is as follows:


$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirror.umd.edu/packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list' 

$ wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add - 

$ sudo apt-get update 
$ sudo apt-get install ros-indigo-desktop-full

Basically replace $DISTRIB_CODENAME by 'trusty'. It is because the $DISTRIB_CODENAME for mint 17 is 'qiana' for which its 404 error. 




Sunday, October 26, 2014

APT-GET behind Proxy Server, BADSIG GPG Error or Mergelist problem


All these problems are related with your proxy settings.  I could not solve them either.  In this post, I am trying to collect all the solutions that have been suggested by others:

Common Error:

W: GPG error: http://archive.ubuntu.com trusty Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key

The usual solution that works for me sometimes is as follows:

$ sudo rm -rf /var/lib/apt/lists/*
$ sudo apt-get update or
$ sudo apt-get update -o Acquire::BrokenProxy=True

You can ignore warnings and gpg errors. However, attempting to obtain the key does not work for me.


$ sudo apt-key adv --keyserver-options http-proxy=http://login:password@proxy.server.com:8080/ --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.eXfoRdf3Dx --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver-options http-proxy=http://xxxxx:yyyyy@proxy.server.com:8080/ --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
gpg: requesting key 437D05B5 from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error

Many have suggested to use the following command. This does not help either.

$ sudo apt-get update -o Acquire::BrokenProxy=True -o Acquire::http::No-Cache=True


Note that these problems do not arise if you are directly connected to the internet.

Tuesday, April 22, 2014

Installing Lotus Notes 9 on Ubuntu 14.04 64-bit LTS




The basics steps of installation are provided here. Basically, it is necessary to have i386 compatible libraries in order to install Lotus notes 9 on a 64-bit machine.

On Ubuntu 14.04 64-bit LTS, ia32-libs is not available. The support has been removed since 13.10. I used the instructions provided here to install ia32-libs. The steps are re-produced here for the sake of the convenience:

  1. Install Synaptic from terminal window
  2. sudo apt-get install synaptic
  3. Launch synaptic and goto “settings > Repositories”
  4. click “other software > add”
  5. insert this line in the box "deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse"
  6. click ok and close synaptic
  7. in terminal “sudo apt-get update”
  8. in terminal “sudo apt-get install ia32-libs”

After that install the remaining i386 libraries

$ sudo apt-get update; sudo apt-get install ia32-libs libgnomeprint2.2-0:i386 libgnomeprintui2.2-0:i386 libbonobo2-0:i386 libbonoboui2-0:i386 libgconf2-4:i386 libgnome-desktop-2-17:i386 libgnomevfs2-bin:i386 libgnomeui-0:i386 libjpeg62:i386 libpam0g:i386 libxkbfile1:i386 ttf-xfree86-nonfree t1-xfree86-nonfree -y


While re-building the ibm-notes-9.0.i586 package, remove "libcupsys2" from its dependency list in the control file apart from those mentioned  previously on the above link. In other words, remove the following packages from the "Pre-Depends" line:

gdb, coreutils, unzip, bash, procps, grep, sed, libcupsys2

and rebuild the ibm-notes-9.0-i586.deb package.

$ sudo dpkg-deb -b ibm-notes-9.0.i586/


Now install the debian packages as shown below:

sudo dpkg -i ibm-notes-9.0.i586.deb
sudo dpkg -i ibm-cae-9.0.i586.deb
sudo dpkg -i ibm-feedreader-9.0.i586.deb
 
sudo dpkg -i ibm-activities-9.0.i586.deb
sudo dpkg -i ibm-sametime-9.0.i586.deb
sudo dpkg -i ibm-opensocial-9.0.i586.deb


I get dependency error while installing  'sametime' package. It is related to "iproute".

So I remove it from the control file within ibm-sametime-9.0.i586/DEBIAN and rebuild the package.

Now Lotus notes works perfectly without any problem.

Monday, March 17, 2014

Strikethrough in LibreOffice


Tools > Customize > Toolbars ==> Formatting; and then – Add (button) – Add Commands – Category: Format – Command: Strikethrough

Tuesday, January 21, 2014

Java JRE Webex Firefox Ubuntu 64 bit



I will talk about how to get your Java plugin working on Firefox on Ubuntu. It is also about getting your webex working on Firefox.

First you install oracle-java7-installer using apt-get. You can search on Google for this. Anyway, I am putting it here for your convenience.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
 
You can check Java version using the following command:
 
$ java -version 
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) 
 

You can also check if the Java version is working or not from this site. This is the latest Java version available at this point of time for java which I installed recently. From time to time, the new versions come up and your Java applications stop working for one reason to another. In the paragraph below, I will now discuss about installing a new version Java plugin for Firefox

Download the latest version of JRE from this site. Download the Linux64 version of the package. The downloaded package has a name like "jre-7u51-linux-x64.tar.gz". Now create a folder /usr/java/ and copy this file into it. Extract the tarball inside this folder. You will have something like this:

$ cd /usr/java/
$ sudo tar -xzvf  jre-7u51-linux-x64.tar.gz
$ ls 
jre1.7.0_51

You can remove the tar-ball if you want. Now we need to create a link to a specific library "libnpjp2.so" present in this folder to a place where Firefox can find it.

$ cd /usr/lib/mozilla/plugins
$ ln -s /usr/java/jre1.7.0_51/lib/amd64/libnpjp2.so libnpjp2.so

You can rename the already existing link so that you can restore it in case the new version creates problem for you.  Now you can restart your firefox and test if your java application is working.


This new version of Java (version 1.7.0_51) leads to security permission error for many sites. So, you need to add exceptions to these sites. It can be done by accessing the Java Control Panel. Press ALT+F2 and type "ControlPanel" to access Oracle java 7 Plugin Control Panel. Go to the Security tab and Click on " Edit Site List" under "Exception Site List" section. Here you add the site which is giving error regarding security permissions.  Add the sites and click OK and close the panel.

Now try opening the website having the application (for instance Webex). It should work without any problem this time. 


For running java plugin on Firefox, you do not need to install Oracle-Java-installer or JDK installer. You only need the java run-time (jre) package that you can download from the official Java homepage.  You can run the ControlPanel directly from command line: 

$ /usr/java/jre1.7.0_51/bin/ControlPanel



Sometimes it is necessary to set the default java version to the downloaded JRE package in case you have multiple Java versions installed on your system. For instance,   I get following output for java version: 

$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu1)

OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)


Then I download jre-8u25-linux-x64.tar.gz package from Oracle website and extract it inside a folder "/usr/java/".


$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jre1.8.0_25/bin/java" 1

$ sudo update-alternatives --set java /usr/java/jre1.8.0_25/bin/java

$ sudo update-alternatives --config java

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
* 1            /usr/java/jre1.8.0_25/bin/java                   1         manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode

Press enter to keep the current choice[*], or type selection number: 

Now check the default java version using the following:

$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

As you can, the default java version is set to the JRE package installed separately as explained above.