Wednesday, October 5, 2016

Install Kodi (Official Repository) on Raspberry Pi 3

After Raspbian Installation.

#Update Debian
sudo apt-get update
sudo apt-get upgrade

# Setup Wireless
# Edit Network interfaces
sudo vi /etc/network/interfaces

#add the following to the end of the interfaces file
auto wlan0
iface default inet dhcp

#Modify the following from the interfaces file
iface wlan0 inet dhcp 

# Edit wireless configuration
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

# Add the following:

network={
ssid="xxxx"
psk="xxxx"
}


# Install Kodi
sudo apt-get install kodi

# Allow Keyboard/Mouse from Kodi
sudo usermod -a -G input kodi

# Enable Kodi during startup
sudo vi /etc/default/kodi

# Edit the following config to enable Kodi during startup
# Set this to 1 to enable startup
ENABLED=1


#if you plan using more than 2TB external usb for your media, install NTFS-3G driver
sudo apt-get install ntfs-3g

# List UUIDs of connected drives
$ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 15 Oct  5 06:48 3698ef8e-f24cf61dfg1e -> ../../mmcblk0p2
lrwxrwxrwx 1 root root 10 Oct  5 06:48 55D8D96AD8D94ABC -> ../../sda1
lrwxrwxrwx 1 root root 15 Oct  5 06:48 70D7-EA1E -> ../../mmcblk0p1


# take note of the UUID (highlighted) and types of files supported
$sudo blkid
/dev/mmcblk0: PTUUID="3386e05a" PTTYPE="dos"
/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="
70D7-EA1E" TYPE="vfat" PARTUUID="3487e05a-01"
/dev/mmcblk0p2: UUID="
3698ef8e-f24cf61dfg1e" TYPE="ext4" PARTUUID="3487e05a-02"
/dev/sda1: LABEL="spikes-3tb-movies" UUID="55D8D96AD8D94ABC" TYPE="ntfs"


# Create a mount folder
$sudo mkdir /media/spikes-3tb-movies

# Backup file system table file
$sudo cp /etc/fstab /etc/fstab.bak

# Edit file system table file
$sudo vi /etc/fstab
# Add the following to the file system table entries (replace those highlighted)
UUID=55D8D96AD8D94ABC /media/spikes-3tb-movies ntfs nofail,noatime,auto,users,rw,uid=1000,gid=100,umask=0002 0 0


Tuesday, August 25, 2015

Step by Step Raspbian Installation on Raspberry Pi 2 using OS X Yosemite

Step by Step Raspbian (2015-05-05 Debian Wheezy) Installation on Raspberry Pi 2 Model B using OS X Yosemite


Download Raspbian
Download Raspbian image from Raspberry.org Downloads page

Verify downloaded Raspbian Image
Verify checksum of downloaded Raspbian image, it should match the SHA-1 from rasberrypi.org website. Open Terminal and execute openssl sha1 [path to image] command.

$ openssl sha1 2015-05-05-raspbian-wheezy.zip

SHA1(2015-05-05-raspbian-wheezy.zip)= cb799af077930ff7cbcfaa251b4c6e25b11483de




Extract image from the Raspbian ZIP file
Open Terminal, extract Raspbian image via unzip command

$ unzip 2015-05-05-raspbian-wheezy.zip
Archive:  2015-05-05-raspbian-wheezy.zip   
  inflating: 2015-05-05-raspbian-wheezy.img




Format microSD Card
1. Insert the MicroSD card into Standard SD Card adapter





















2. Insert the SD Card into the SD Card Slot of your OS X Machine. SD Card will be mounted automatically.
















3. Open Disk Utility, select the SD Card from the listed drives and click the Erase tab.  Define a name for the partition in the Name field. Erase SD Card using MS-DOS (FAT) Format by clicking the Erase.. button.

Determine the BSD Name

Option 1 via Disk Utility. After erasing/formatting the SD Card, select the newly formatted/erased partition and click First Aid tab. Make sure the Show details is checked and then click Verify Disk button. Take note of the lines of text that appear and look for something like /dev/diskxx. Taken from the example below its ** /dev/rdisk2s1 .



Option 2 via Command line. Open Terminal, issue "df -h" command from the console. Take note of the SD device highlighted below e.g. /dev/disk2s1
 
$ df -h
 
Filesystem      Size   Used  Avail Capacity   iused    ifree %iused  Mounted on
/dev/disk1     465Gi  381Gi   83Gi    83% 100065414 21739407   82%   /
devfs          186Ki  186Ki    0Bi   100%       644        0  100%   /dev
map -hosts       0Bi    0Bi    0Bi   100%         0        0  100%   /net
map auto_home    0Bi    0Bi    0Bi   100%         0        0  100%   /home
/dev/disk2s1    15Gi  2.3Mi   15Gi     1%         0        0  100%   /Volumes/UNTITLED



Using the device name of the partition determine the raw device name for the entire disk, by omitting the final "s1" and replacing "disk" with "rdisk" e.g. the BSD for the /dev/disk2s1 is /dev/rdisk2


Unmount the SD Card partition
Open Terminal, unmount the SD card partition (NOTE: do not Eject) using diskutil unmount command

$ sudo diskutil unmount /dev/disk2s1
Password:*
 

Volume UNTITLED on disk2s1 unmounted


Write Raspbian image to SD Card
Open Terminal, issue the dd command to convert and copy image to raw device. Take note of the correct raw disk device name e.g /dev/disk2s1 => /dev/rdisk2, /dev/disk3s1 => /dev/rdisk3..

$ sudo dd bs=1m if=2015-05-05-raspbian-wheezy.img of=/dev/rdisk2
Password:
 

3125+0 records in
3125+0 records out
3276800000 bytes transferred in 252.814853 secs (12961264 bytes/sec)




Eject SD Card
After the dd command finishes, eject the SD Card

$ sudo diskutil eject /dev/disk2
Password:
 

Disk /dev/disk2 ejected


Install Raspbian
Insert SD card into Raspberry Pi, plug-in device and follow installation instructions.



Thursday, July 30, 2015

Install Nvidia drivers on Ubuntu 14.04 via Command Line

# Check graphics card
$ lspci -vnn | grep -i VGA -A 12
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device [1043:8416]
 
# update repository 
$ sudo add-apt-repository ppa:xorg-edgers/ppa -y
$ sudo apt-get update
 
# install the latest version
$ sudo apt-get install nvidia-current

Updating Crucial MX100 firmware installed on Macbook Unibody 13" (Late 2008) OS X

To find out which firmware revision your SSD is running, follow these steps in OSX:
  1. Click on the Apple menu
  2. Select "About This Mac", then "More Info..."
  3. Select "System Report..."
  4. In the Contents list, click on "Hardware" to expand the category
  5. Click on Serial-ATA (near the end of the Hardware category)
The drive attributes will be displayed on the pane on the right.  You will see the name of the drive i.e. Crucial CTXXXXXXX, the drive capacity etc.  The firmware version will show in the 'Revision' field.

Components:
1. Download Crucial firmware MU02 MX100_MU02_BOOTABLE_ALL_CAP.zip
2. USB flash drive (or SD card) to be formatted as a FAT32 volume.
3. Download GRUB-EFI bootloader files for 64bit EFI.


# Format USB
Using OS X Disk Utility, format the USB drive as FAT32 (MS-DOS).






# Extract the grubefiusb-0.03.zip



Transfer the following files to the USB:

* EFI/boot/unicode.pf2
* EFI/boot/bootx64.efi
* EFI/boot/grub.cfg

 (e.g EFI folder should be in root folder)

 # Extract the Crucial MX100_MU02_BOOTABLE_ALL_CAP.zip, and open the MX100_MU02_BOOTABLE_ALL_CAP.iso using Disk Mounter

Transfer the following foldes to the USB:

* boot
* cde

 (e.g boot folder should be in root folder)

# Reboot the machine with the customize USB (Press and hold Option key at boot time)


Tuesday, June 30, 2015

Raspberry Pi Auto reconnect Wi-fi

# create script
sudo vi /opt/wifiReconnect.sh

#!/bin/bash

   if /sbin/ifconfig wlan0 | grep -q "inet addr:" ; then
    exit 0
   else
      logger -t $0 "Wifi connection down! Attempting reconnection.."
      /sbin/ifdown --force wlan0
      /sbin/ifup wlan0
   fi






# Make script executable
sudo chmod +x /opt/wifiReconnect.sh

# Add as cron and monitor every 5 mins
*/5 * * * * /opt/wifiReconnect.sh >> /var/log/syslog 2>&1

Sunday, June 28, 2015

Optimizations Raspberry Pi

# Remove wolfram-engine (around 460MB space)
sudo apt-get remove wolfram-engine

# Disable Man indexing
sudo vi  /etc/cron.weekly/man-db
exit 0 # add this in first line

sudo vi  /etc/cron.daily/man-db
exit 0 # add this in first line

# Remove temporary hw-clock
sudo vi /etc/cron.hourly/fake-hwclock
exit 0 # add this in first line

# Add tmpfs in fstab
tmpfs    /var/tmp    tmpfs    defaults,noatime,nosuid,size=30m    0 0
tmpfs    /var/log    tmpfs    defaults,noatime,nosuid,mode=0755,size=50m    0 0
tmpfs    /var/run    tmpfs    defaults,noatime,nosuid,mode=0755,size=2m    0 0
tmpfs    /var/lib/sudo    tmpfs    defaults,noatime,nosuid,mode=0755,size=2m    0 0
tmpfs    /var/spool/mqueue    tmpfs    defaults,noatime,nosuid,mode=0700,gid=12,size=30m    0 0
tmpfs    /tmp    tmpfs    defaults,noatime,nosuid,mode=1777,size=30m    0 0

# for motion capture (optional)
tmpfs  /mnt/motion_tmpfs  tmpfs   defaults,noatime,size=120M,mode=0777 0 0 


# Combine /tmp and /var/tmp
cd /var
sudo rmdir tmp
sudo ln -s /tmp .


Thursday, June 25, 2015

Raspberry Pi Camera Module Error mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)

# raspistill -v

raspistill Camera App v1.3.8

Width 2592, Height 1944, quality 85, filename (null)
Time delay 5000, Raw no
Thumbnail enabled Yes, width 64, height 48, quality 35
Link to latest frame enabled  no
Full resolution preview No
Capture method : Single capture

Preview Yes, Full screen Yes
Preview window 0,0,1024,768
Opacity 255
Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)
mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)
mmal: Failed to create camera component
mmal: main: Failed to create camera component
mmal: Camera is not detected. Please check carefully the camera module is installed correctly


# Option 1
# Make sure 15pin Flexi Flat Cable (FFC) is correctly plug into the CSI port of Raspberry
# Blue tape should be facing the USB/Ethernet Ports
# Silver-side of the tape should be facing the HDMI port (or away from from the USB/Ethernet Ports)

# Option 2
# Try re seat the micro-connector from the camera module (the yellow cable connector with label P5V04A SUNNY) to the camera board PCB by pressing it against the board.

# raspistill -v

raspistill Camera App v1.3.8

Width 2592, Height 1944, quality 85, filename (null)
Time delay 5000, Raw no
Thumbnail enabled Yes, width 64, height 48, quality 35
Link to latest frame enabled  no
Full resolution preview No
Capture method : Single capture

Preview Yes, Full screen Yes
Preview window 0,0,1024,768
Opacity 255
Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
Camera component done
Encoder component done
Starting component connection stage
Connecting camera preview port to video render.
Connecting camera stills port to encoder input port
Closing down
Close down completed, all components disconnected, disabled and destroyed