Thursday, May 27, 2010

Getting the Gateway CX and M series tablets working in Ubuntu 10.04 Lucid Lynx





I've recently had a struggle with the fpit drivers, but now have a perfectly working tablet in 10.04 and would like to share instructions on how to get the tablet on the Gateway CX and M series working. My model is a CX210X, but the following instructions should work for any model with a finepoint innovations digitizer.

After installing, you must first configure the serial interface. Open synaptic package manager from System > Administration > Synaptic and install the package setserial. Mark the package for installation and press apply to install it.


To configure the tablet, open a terminal from Applications > Accessories, and paste the following code:
sudo gedit /etc/serial.conf

A text editor will open. Paste the following line:
/dev/ttyS0 port 0x06A8 uart 16954 irq 4 baud_base 38400

Save and close the file.


Next we install the actual fpit drivers. As of 10.04, the fpit package provided in the ubuntu repo has some dependency errors and will not install. To get around this, you'll need to set up the X Updates repo by running the following command in terminal:
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates

Then you can open synaptic and hit the 'reload' button to refresh the repositories. Search for the fpit package and install it.

Next, the X server configuration must be written. The following configuration should work for most CX systems. If the following configuration does not work, then follow the instructions here to generate a configuration file, then add the layout to the server section later. You should only do this if the following configuration does not work. In a terminal, run:
sudo gedit /etc/X11/xorg.conf

If you do not have an nvidia graphics card, this file should be blank. Paste the following configuration:

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Virtual 1664 768
EndSubSection
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizEdgeScroll" "0"
EndSection

Section "InputDevice"
Identifier "Tablet"
Driver "fpit"
Option "Device" "/dev/ttyS0"
Option "InvertY"
Option "MaximumXPosition" "12550"
Option "MaximumYPosition" "7650"
Option "MinimumXPosition" "400"
Option "MinimumYPosition" "400"
Option "SendCoreEvents" "true"
Option "Passive" "false"
Option "TrackRandR" "on"
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Synaptics Touchpad"
InputDevice "Tablet"
EndSection

Section "Device"
Identifier "Configured Video Device"
EndSection

Save and close the file. Finally reboot your system and you should have a fully functioning tablet.

Sunday, May 2, 2010

Ubuntu 10.04 Lucid Lynx - Safest Ubuntu Ever




Aside from the new theme, the included video editor, and the new social media client in the latest release of Ubuntu, there is one feature that I believe can win in any argument for Linux - security.

For the longest time, Unix based software such as Mac OS X, BSD, and Linux have had very good security settings and procedures, and have not been targets for the common malware, viruses, and trojans which plague the windows operating system. In many Linux versus windows arguments, the fact that Linux can not get viruses has been brought up, and to an extent that is completely true. It's not just that attackers only write viruses that target windows machines, but that the active development, open nature of the source, and basic methods of the operating system has made *NIX platforms safest for the home user.

First of all, because Linux systems, from the software all the way down to the kernel, are completely open source, the code is under constant surveillance and fresh, new eyes that watch out for things that might trigger buffer overflows or exploitable memory leaks. The code is much more hardened than that of closed source systems because they have a limited set of coders and a very broad audience, some of which is searching deliberately for breaks in code in which to take advantage of. Little quirks in powerfully dangerous things such as activeX scripts and even things as common as Adobe Reader are quickly broken by hackers. A few weeks after the exploit is found, code is quickly written and launched through file sharing sites and black box web servers to be consumed by the general public. If the exploit is executed correctly, millions of machines will be effected before large security firms begin to catch on to it. Even if it is caught, it could be months before the bug which caused the original exploit to be reported and fixed by a company.

Next, the super user hierarchy in *nix systems prevent malicious scripts from doing anything... well malicious to the core system. Permissions and binaries are locked down, modifiable only by the root user - which by default is completely disabled in modern Linux desktops. Now don't get me wrong - a system can still be hacked into, given that services such as ssh, vnc, and ftp are running on a system. Weak passwords are 70% of the cause - however a general rule of thumb is that if someone has enough knowledge to launch systems like ssh, they will know to use complex passwords and systems like denyHosts to secure it.


Finally, Ubuntu has become more secure because of a new feature called /usr/bin/cautious-launcher. This is the default in which a file with any sort of executable extension, such as potentially dangerous executables which could be run by WINE. An (not)- emulator doesn't exactly constitute a need for anti virus: A virus run in wine would be jailed to the home directory, and would be very confused by the bulletin libraries. Additionally, the virus would be dead by the next restart, as there is no model in wine that lets programs run themselves at start-up. Such actions can only be configured by the user or by natively installed software*.

So the basic security requirement in the latest version according to https://wiki.ubuntu.com/
is the setting of an executable bit on all files with potentially executable extensions, but only if the file in question resides in either the /home or /temp directory. cautious-launcher's job is to check a file's permissions, and if the executable bit is missing, it warns the user and instructs them on how to make the file executable. This has increased the desktop security of Ubuntu dramatically, and in addition to systems such as the SeLinux kernel, have made desktop Linux even more attractive to the security minded.

I don't know about you, but I have enjoyed not needing to buy any security software suite for the past seven years.











*note that software can only be installed in Ubuntu either through the software centre and PPAs, which are signed and verified with RSA public key authentication, with deb files which also have a signing algorithm, or manually by compiling from source (expert). All software install procedures require super user privileges.