Archive for the ‘Linux’ Category

Arduino IDE on 64bit openSUSE

Monday, April 21st, 2008

Arduino BoardArduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It’s an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board.

Unfortunately the serial port communication driver (RXTX) which comes with the arduino download is not 64 bit compatible. I will describe here how I successfully compiled & installed the driver to get the Arduino IDE running on a 64 bit openSUSE installation. Most of the instructions should be pretty straight forward to be replicated on an other rpm based distribution. For ubuntu/debain based distributions, you can find the instructions provided by Tero Karvinen useful.

Packages Required for Arduino IDE

The following packages are required to run the Arduino IDE:

  • java-1_5_0-sun
  • cross-avr-gcc
  • cross-avr-binutils
  • avr-libc

Linux USB Serial Converter Driver

Besides the above software, you will also need a compatible kernel. This means version 2.6.x or at least 2.4.30. For example, it needs USB serial support with the FTDI driver. After connecting an Arduino board to your computer via an AB USB cable, it should load the ftdi modules automatically. Ensure ftdi_sio and usbserial modules are loaded by executing:

lsmod | grep ftdi

It should return output similar to whats shown below:

ftdi_sio               54280  0
usbserial              52688  1 ftdi_sio
usbcore               156456  6 ftdi_sio,usbserial,usbhid,ohci_hcd,ehci_hcd

If not, as root, run:

modprobe ftdi_sio

If there are no errors from the above command, then the module is loaded successfully.

System Requirements

The Arduino IDE is java based and RXTX [2] is a native java library providing serial and parallel communication for the Java Development Toolkit. The RXTX lib uses lock files by default. So Before you use lock files you need to do one of two things:

  1. Be the root or uucp user on your machine whenever you use rxtx
  2. Or add the specific user that needs to use rxtx to the group uucp. (preferred)

Add your user account to the uucp group by going to yast2 > Security and Users > User Management. Once you have added yourself to the group, you will need to restart your session to make it affective. Once you are in the new session, verify that your account belongs to the uucp group by executing “groups” on the shell. It should give return you a list of groups your account belongs to.

(more…)

openSUSE “Packaging Day II”

Saturday, March 15th, 2008

openSUSe Build Service logoEver had problems finding a package for your favorite application for your favorite distro? Are you an application developer or project contributor, and want to learn how to provide binary packages for all the popular distros (including openSUSE) automatically?

Using the openSUSE Build Service, you can provide software packages for most popular Linux distros using one single service. Rather than maintaining separate systems to build packages, you can take advantage of the openSUSE Build Service and let it do most of the work.

To learn how to leverage the build service, join the openSUSE community on April 4th and 5th on IRC to hone your package building skills. The Packaging Days II event will be held on Freenode at #opensuse-buildservice. Community members will be standing by to provide support and answer questions about using the build service and creating packages.

Find out more about the Packaging Days II event at: http://en.opensuse.org/Packaging/Packaging_Day

Importing TV shows into Mythtv

Sunday, February 24th, 2008

mythtvI have been using the popular open source multimedia programme called mythtv for a while now. Apart from recording my favourite TV shows, I also utilise the various modules like mythmusic, mythnews, mythvideo and mythweb. Though you can use mythvideo to view videos which are not tv recordings, there are no specific modules which can import a show into mythtv.

But wait, just when you think its not possible to import a show into the mythtv recordings, there is a way to do so. There is a perl script called “myth.rebuilddatabase.pl” which comes with the mythtv-doc package of mythtv. Usually the “myth.rebuilddatabase.pl” script resides at “/usr/share/doc/packages/mythtv-doc/contrib/” folder. Else, If you are on an rpm based system you can look for its path with the following command:

rpm -qal "myth*" | grep "\.pl"

This should return all the available perl scripts which are distributed with mythtv. Now to use the script, we need make a copy of the script to your home folder and configure it. Edit the file and update the relevant mysql mythtv database connection details. Now copy the tv show files which you want to import, into your mythtv recordings folder.
(more…)

Automate SSH logins with RSA/DSA keys

Monday, December 10th, 2007

Automated Shell LoginOften when you are administrating remote Linux servers, you tend to login to the servers via your favorite shell. And every time when you login you are prompted for a user name + password to authenticate your session. This gets a bit tedious if you have many passwords to remember for different logins. This is were ssh keys can be used to save you from typing your credentials for every ssh login you execute. Once you have setup your SSH key, you are just one step away from making your life a whole lot easier.

I have put together a shell script which saves me the trouble of remembering various combinations of user names + passwords. It looks something like this: cat ~/.ssh/id_dsa.pub | ssh jeffery@example.com "(mkdir .ssh&>/dev/null; chmod 700 .ssh && cat - >> .ssh/authorized_keys ) && chmod 600 .ssh/authorized_keys" (more…)

qBittorrent v1.0.0 Release

Sunday, October 28th, 2007

qBittorrent v1.0.0 ReleaseqBittorrent is a Bittorrent client using C++ / libtorrent and a Qt4 Graphical User Interface. Its been under heavy development for a full year now and finally its maturing into one of the best torrent clients out there. I am the Project Consultant + Packager of the application for my distro of choice: openSUSE. Packages for other distributions are available (qBittorrent Downloads) and a Windows port is coming soon.

Packages for openSUSE 10.2 and 10.3 can be obtained from my openSUSE build farm account at : home:jefferyfernandez. If you encounter any bugs in the package or the application itself, please report them at: qBittorrent Bug-tracker. Happy torrenting :)

qBittorrent Home: http://www.qbittorrent.org

Could not find the OpenSUSE installation CD

Tuesday, October 2nd, 2007

OpenSUSE DVD ROMIf you have a Core 2 Duo/Quad capable motherboard and are getting an error message about the OpenSUSE installer not being able to find the CD/DVD after you have already booted from it, the problem is likely with your IDE controller. In some modern motherboards, the parallel ATA controller has been taken out of the chipset and moved to a third-party drive controller. That third party driver is produced by JMicron, and this problem most famously occurs in the Asus P5B motherboard, though other brands and models can be affected as well. In my case it was the Gigabyte GA-P35-DQ6 board.

Onboard SATA/IDE Ctrl Mode

First, it will help to do a quick work around in your BIOS. Press the Del, F1, or F2 key to get into your system BIOS just after powering it on. Proceed to the “Integrated Peripherals” section. Under “Onboard SATA/IDE Ctrl Mode”, set it to AHCI mode, then save and exit the BIOS setup utility. The Advanced Host Controller Interface (AHCI) is an interface specification that allows the storage driver to enable advanced Serial ATA features such as Native Command Queuing and hot plug. Here is a list of Intel chipsets that support AHCI.
(more…)

Escaping SSH shell from dropped network connections

Friday, September 21st, 2007

If you have ever been SSH’ed into a server when your network connection drops, you would have noticed that your shell terminal is completely locked up, you can’t even CTRL+C to get out of it. If you would like to save your terminal, you can with the following key sequence

[ENTER KEY]~ .

SSH has a few more key strokes you can use. To find out which ones are available type:
~?
it shoulld bring up this help output:

Supported escape sequences:
~. - terminate connection
~B - send a BREAK to the remote system
~C - open a command line
~R - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

Software Tools for the Freedom lovers

Monday, August 20th, 2007

Free SoftwareOver the years of being a Linux user, I must admit that I will never turn back to being a Windows user again. If I want to do get something done on my favorite Linux distribution, there is a tool or tools already out there to help me with it. Almost every week I discover some new software tool to play with, something which helps improve my everyday experience… not always ;o)

There are lots of people out there writing software these days. In the olden days software was mostly written for Windows only. But nowadays the trend is to write software to be compatible with the three main players, Windows + Macintosh + Linux so that its gets better penetration into the Market. It even gets better when the Software you love to use, is Open Source. Starting this spring of 2007, I shall endeavor to blog about the software tools I discover each week. Hope these entries will keep you amused and turn your interest into Open Source Software.

(more…)

A security policy in place prevents mounting of volumes.

Thursday, July 26th, 2007

If you happen to access a CD-ROM device or USB device which results in the following error:

A security policy in place prevents this sender from sending this message to this recipient, see message bus configuration file (rejected message had interface “org.freedesktop.Hal.Device.Volume” member “Mount” error name “(unset)” destination “org.freedesktop.Hal”)

….. I have a fix for you. This is caused by the hal daemon not allowing you to access the device because of a security policy. The hal daemons security policy resides in a file at “/etc/dbus-1/system.d/hal.conf”. Lets open and see whats in there.

(more…)

Powered by Linux signature

Thursday, June 28th, 2007

I use this little snippet of code which generates my signature for all my out-going emails. I am just trying to be an Open Source advocate and spreading the word about Linux

#!/bin/bash

powered="$(head -n 1 /etc/SuSE-release)"

kernel=`uname -r`
echo "Powered by $powered Kernel: $kernel"

kde=`kde-config -v | grep KDE`
echo $kde

uptime

I use KDE and hook this script in kmail via the “Identities” > “Signature” tab

And here is a more generic version without KDE or OpenSuSe specific calls

#!/bin/bash
powered="$(lsb_release -d | awk -F':' '{print $2}')"

kernel=`uname -r`
echo "Powered by $powered Kernel: $kernel"

uptime