How to Install the MySQL ODBC Driver on Ubuntu 16.04 or Linux Mint 18.x


# Download the ODBC driver:

Download ODBC driver for Ubuntu 16.04


# Extract:

tar -xvf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit.tar.gz

# Copy the driver to the ODBC folder:

sudo cp mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/

# Install:

sudo mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/;"

# Check:

sudo mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-64bit/bin/myodbc-installer -s -a -c2 -n "test" -t "DRIVER=MySQL;SERVER=;DATABASE=mysql;UID=root;PWD=password"

[Result should be “Success”]

# Download the 32-bit ODBC driver:

Download 32-bit ODBC driver for Ubuntu 16.04


# Extract:

tar -xvf mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-32bit.tar.gz

# Copy the driver to the ODBC folder:

sudo cp mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-32bit/lib/libmyodbc5* /usr/lib/i386-linux-gnu/odbc/

# Install:

sudo mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-32bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/i386-linux-gnu/odbc/;"

# Check:

sudo mysql-connector-odbc-5.3.10-linux-ubuntu16.04-x86-32bit/bin/myodbc-installer -s -a -c2 -n "test" -t "DRIVER=MySQL;SERVER=;DATABASE=mysql;UID=root;PWD=password"

[Result should be “Success”]


Connecting Xiaomi Redmi Note 3 on Linux (Mint)

First install Android tools:

sudo apt-get install android-tools-adb

Open file (create it if necessary):
/home/[your-username]/.android /adb_usb.ini

and add next line in it:


Open file:

and add next lines:

 # Xiaomi Redmi Note 3
 ATTR{idVendor}=="2717", ATTR{idProduct}=="ff68", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

Restart services:

sudo service udev restart

Now you should be able to see your phone’s storage when you connect it to your computer over USB cable.

GRUB shows Windows 7 instead of Windows 10

source: link

author: david6

After installing Windows 10, every time I get a kernel update or I run the update-grub2 it always shows Windows 7 instead of Windows 10. How do I fix this permanently?

The reason why it still shows Windows 7 instead of Windows 10 is that the file /usr/lib/os-probes/mounted/20microsoft does not contain the label for Windows 10, so during the os-prober detection of the OS it falls back to Windows 7.

To correct this, you need to make the following changes to the /usr/lib/os-probes/mounted/20microsoft file:

NOTE: Always make a backup of the file before modifying it!

if item_in_dir -q bootmgr "$2"; then
        # there might be different boot directories in different case as:
        # boot Boot BOOT
        for boot in $(item_in_dir boot "$2"); do
                bcd=$(item_in_dir bcd "$2/$boot")
                if [ -n "$bcd" ]; then
                        if grep -qs "W.i.n.d.o.w.s. .1.0" "$2/$boot/$bcd"; then
                                long="Windows 10 (loader)"
                        elif grep -qs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then
                                long="Windows 8 (loader)"
                        elif grep -qs "W.i.n.d.o.w.s. .7" "$2/$boot/$bcd"; then
                                long="Windows 7 (loader)"

the changes above are changing the line if grep -qs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then to elif grep -qs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then, and adding if grep -qs "W.i.n.d.o.w.s. .1.0" "$2/$boot/$bcd"; then and long="Windows 10 (loader)" above that line and saving it.

Once saved, then running os-prober now looks like this:

terrance@terrance-ubuntu:~$ sudo os-prober
[sudo] password for terrance: 
/dev/sdf1:Windows 10 (loader):Windows:chain

then running update-grub2 it will now make the updates to your /boot/grub/grub.cfgpermanent anytime you get a kernel update so it will show the correct version of Windows now (example below):

terrance@terrance-ubuntu:~$ sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.19.0-26-generic
Found initrd image: /boot/initrd.img-3.19.0-26-generic
Found linux image: /boot/vmlinuz-3.13.0-58-generic
Found initrd image: /boot/initrd.img-3.13.0-58-generic
Found linux image: /boot/vmlinuz-3.13.0-57-generic
Found initrd image: /boot/initrd.img-3.13.0-57-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 10 (loader) on /dev/sdf1

Hope this helps!

Install pngquant on Raspbian, Raspberry Pi

pngquant is a command-line utility and a library for lossy compression of PNG images. The conversion reduces file sizes significantly (often as much as 70%) and preserves full alpha transparency.

Install dependency, a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files:

apt-get install libpng-dev

Download source code:

git clone git://

Go to directory:

cd pngquant

Build it:


Install it system-wide:

sudo make install

More info:

Raspberry Pi GPIO Temp Controlled Fan


Author: HerrAusragend

Our aim:

We want to setp up an automatic, GPIO and temp controlled fan using a Raspberry Pi without additinal software. After the CPU Core temperature exceeds a specific temperature, the fan starts spinning.


  • Raspberry Pi (Model B+) (Buy)
  • Fan (4-Pin, 12V) inin this case from an old NVIDIA Graphicscard
  • Pinboard
  • GPIO Connector wires (3x) (Buy)
  • Transistor BC337-40 800mA (Buy)
  • Resistor 1 kΩ 0.5W (Buy)

These hyperlinks are just recommended. You can use similar parts.

Helpful Links:


rpi circuit diagram
Circuit diagram


We connect Pin 4 (5V out) directly to the fan.
Pin 6 (Ground) will be connected over the Transistor with the 2nd fan wire.

To activate the Transistor, we need a low volatage, which we gain by Pin 3 (GPIO2). The GPIO Pins have a standard voltage of 3.3V. We reduce this by inserting the Resistor.


If we now switch on Pin 3 (GPIO2), the fan should start to spinn.

Enable GPIO2: (root)

echo "2">/sys/class/gpio/export
echo "out">/sys/class/gpio/gpio2/direction

Switch on GPIO Pin / Fan (root)

echo "1">/sys/class/gpio/gpio2/value

Switch off GPIO Pin / Fan (root)

echo "0">/sys/class/gpio/gpio2/value

Set up autmoatic temp control

In the following, we will set up the fan so that it starts after reaching a special temperature.

We log into the Raspberry Pi as root.


The Raspberry Pi autmoaticly checks the core temperature throught the built-in control panel.
If the temperature exceeds a certain value, the fan will start.
As long as the temp doesn’t fall below our value, the fan will not stop.

apt-get update && apt-get upgrade
apt-get install nano

Now we locate our directory of the script…

mkdir /home/fan
cd /home/fan

…and create our script.


Copy the following content into the script: (Use right mouse button to paste)

timestamp() {
	date +"%Y-%m-%d %T"


TEMP=`vcgencmd measure_temp | cut -c6,7`
STATUS=`cat /sys/class/gpio/gpio2/value`
echo `timestamp` "  Info:    Temperature: $TEMP"	>>$LOGDIR
if [ $TEMP -ge $VALUE ] && [ $STATUS -eq 0 ]
	echo `timestamp` "  Warning: Fan started."	>>$LOGDIR
	echo "1">/sys/class/gpio/gpio2/value
elif [ $TEMP -le $VALUE ]  && [ $STATUS -eq 1 ]
	echo `timestamp` "  Warning: Fan stopped."	>>$LOGDIR
	echo "0">/sys/class/gpio/gpio2/value

To change the value, you have to edit line 6.

To let the script run in background, we need cronjob.

crontab -e

and paste the following content:

* * * * * /home/fan/./

(repalce with your path)

Install Xfce 4.12 in Ubuntu using a PPA

Source:, by

Although probably not recommended just yet (early doors and all that) the Xubuntu Development PPA contains pre-release builds of Xfce 4.12 for Ubuntu 14.04 LTS and 14.10 users to install from at their own risk.

Add the Xubuntu Dev PPA to Ubuntu’s Software Sources using a Terminal and the following commands (assuming the Xfce desktop is already installed):

sudo add-apt-repository ppa:xubuntu-dev/xfce-4.12
sudo apt-get update && sudo apt-get dist-upgrade

To remove the PPA and downgrade to the version of PPA in the main Ubuntu repos/other installed PPAs the ‘ppa-purge’ utility should be installed and used:

sudo apt-get install ppa-purge
sudo ppa-purge ppa:xubuntu-dev/xfce-4.12

Overclocking Raspberry Pi: Set scaling_governor on Raspbian boot

If you are trying to overclock your Raspberry, but CPU keeps running at same frequency, there may be a reason in aggressive scaling_governor set to “powersave”.

Check your scaling_governor:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

If the result is


its probably the reason why your overclocking in /boot/config.txt file is not working.

You can see the list of available scaling governors using next command:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance

Let do some tests.

Check the current frequency:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

The result is probably “700000”, which is default CPU frequency.

Lets make processor bussy and check its result:

for i in {1..10000} ; do set X 1; done && cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

The result is probably “700000” again.

Change the scaling governor:

su -c "echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"

Check your scaling_governor:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

The result should be


Lets test it again:

for i in {1..10000} ; do set X 1; done && cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

Now, the result should be “800000”.

To change scaling_governor on boot, edit /etc/rc.local file:

sudo nano /etc/rc.local

Add next line, so file looks like:

echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
exit 0


sudo reboot

After reboot, test if scaling_governor is set to “ondemand”:
(Note: Wait few minutes before you issue next command. There is a delay before new scaling_governor is applied.)

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

The result should be:


By default, CPU threshold is set to 95.

You can check it using:

cat /sys/devices/system/cpu/cpufreq/ondemand/up_threshold

So, a threshold is set to 95. It means CPU speed will rise when CPU utilisation is 95%.

You can set this value to a lower percentage. It means CPU will be clocked higher when CPU utilisation is lower.
For example if you want to speed up your CPU at 60%, add next line to /etc/rc.local file.

echo 60 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
%d bloggers like this: