Sunday, March 30, 2014

Syncing XBMC settings over DropBox on a KitKat Android

I have a Sony Xperia Z1 and I wanted to try XBMC on it before applying it on all of my other devices so instead of simply installing all of the addons and configure them on each device seperately, there is an addon that does that exactly.
I chose the use DropBox as a place that holds my configuration but since my Xperia Z1 is on KitKat, it wasn't as easy as I initially thought.
The stated below is intended for anyone who wants to acheive the stated above.

Taken from http://forum.stmlabs.com/showthread.php?tid=5701

1. select dropbox...below it will ask you for your app key and secret.
Here is how you get them
A. Login to your dropbox and goto dropbox.com/developers/apps
B. Create and app
App Type: Core API
Name: "can be anything ur little heart desires"
Description: I put "the answer to world peace" but it also can be anything/blank
Access: App folder...unless u want ur pi to have access to any other folder besides ur backup folder.
C. hit Create!
You should see a screen with ur app key and secret...WRITE IT DOWN!
2. Enter ur app key and secret u just created.
3. hit OK

After u tell XBMCbackup what u want it to backup and set ur scheduling pref. hit OK!

Now lets back some stuff up shall we...
1. Goto program add-ons from main menu and select XBMCbackup and hit backup!
2. A msg box will appears telling to to goto ur log and get the URL...DO NOT HIT OK...i repeat...DO NOT HIT OK YET!!!!
3. SSH into ur pi and goto home/pi/.xmbc/xbmc.log (scroll down to the bottom or search "script.xbmcbackup")
4. copy and paste URL in to a browser of ur choice (CHROME for me)
5. If the gods have smiled upon u...u should see a screen asking you to allow access..hit ALLOW!
6. Now go back to ur pi and hit the OK button
7. The back up should start! 
The second part is where the issue begins as on kitkat the log reside in /data/data/org.xbmc.xbmc/cache/temp/xbmc.log which unless rooted, you can't access.
So the solution was quite simple. Do it on one of my linux machines, then copy the dropbox configuration from ~/.xbmc/userdata/addon_data/script.xbmcbackup to /sdcard/ /Android/data/org.xbmc.xbmc/files/.xbmc/userdata/addon_data/script.xbmcbackup, restart XBMC and viola! I was able to sync my Xperia Z1 (with KitKat) through DropBox.

Wednesday, June 6, 2012

Waze-qt support

Waze-qt  

Waze is a free, community-based traffic & navigation app - This is its unofficial Qt port

Current release is v0.0.9

This page offers users an easy way to report issues or feature. If you would like to request a new feature or feel that something can be improved, simply comment below.

To report issues you can either comment below or create an issue entry here

Friday, July 1, 2011

Dynamic translations in pure QML
























Anyone who develop in QML knows for a fact that it is a problem to translate those at runtime.

I am currently working on a new opensource project named qwazer which is a web client for Waze written in pure QML. I initially did it as a Hebrew & Israel only client, but then there was a lot of requests for multi-country/multi-lingual support.

Still wanting to stay in pure QML, it would seems that there was no way but to use the QtLinguist for translations and use QT/C++ calls.

I said no to that after several attempts and came up with a dynamic translations system where I can change the language with a click of a button from inside the application QML itself without involving any QT/C++ code.



Howto:
translator.js - This is uncomplete as I will add soon a mechanism that loads all translation files dynamically from other JS files as needed in order to avoid putting all translation in the same JS:

var _currentTranslation;
var _translations = [];
var _hebrewTranslation = {"Settings": "הגדרות", "Language%1": "שפה%1"};

function initializeTranslation() {
console.log("initialized translations");
_translations["en"] = {};
_translations["he"] = _hebrewTranslation;
_currentTranslation = _translations["en"];
}

function setLanguage(languageId) {
console.log("language set requested: " + languageId);
_currentTranslation = _translations[languageId];
console.log("language was set");
}

function translate(key, args) {

console.log("translating " + key);
var value = key;
if (typeof(_currentTranslation) != "undefined" && typeof(_currentTranslation[key]) != "undefined")
{
value = _currentTranslation[key];
}

if (typeof(args) != "undefined")
{
for(var i=0; i<args.length; i++)
value = value.replace(eval("/%"+(i+1)+"/"), args[i]);
}

return value;
}


Translator.qml:

import QtQuick 1.0
import "js/translator.js" as Translator

QtObject {

signal retranslateRequired(string langId)

function initializeTranslation() {
Translator.initializeTranslation();
}

function setLanguage(languageId) {
Translator.setLanguage(languageId);
retranslateRequired(languageId)
}

function translate(key, args) {
return Translator.translate(key, args);
}
}



root.qml:

Rectangle {
id: mainView
width: 800
height: 400

property string forceTranslate
onForceTranslateChanged: console.log("retranslation requested")

Connections {
target: translator
onRetranslateRequired: forceTranslateChanged()
}

Translator {
id: translator
}

...


settings.qml - translator and persistent configuration maintainer:

Rectangle {
id: qwazerSettings

signal settingsLoaded

function initialize() {
translator.initializeTranslation();
Storage.initialize();
qwazerSettings.state = "Loaded";
settingsLoaded();
}

...

onLanguageChanged : {
Storage.setObjectSetting("Language", language);
translator.setLanguage(language.langId);
retranslateRequired(language.langId);
}


qml texts that needs translating:

Text {
id: languageLabel
text: translator.translate("Language%1", ":") + mainView.forceTranslate
font.pointSize: 20
}


Explanation:
  • The translator is initialized at earlymost possible
  • Whenever the language changes, I call the event that will eventually set the current translation map
  • Translation and string format (denotes by %1, %2, etc...) is done by the translate function of the translator.
  • In order to reevaluate the translation, I concat an empty string and link between the language changed event and the empty string event - found it in a forum
  • The keys are actually the English translation - and that is why I set the English translations to empty

Tuesday, January 27, 2009

the death of fsca16xx and the birth of cellwriter as an HIM plugin

sadly to inform that my amilo laptop has gone to a new way and it is no longer in my possession. so i will not be able to continue maintaining the fsca16xx script. there are a few open issues (like hotkeys daemon going bezzerk) which i haven't fixed yet, so my advice is to stop using the script. instead i would advice that acerhk or acer_acpi modules will be loaded and used ( running acerhk example: sudo modprobe acerhk force_series=5020 autowlan=1).

on a different subject i have started a new project named himcellwriter which integrate the magnificent
cellwriter hand writing recognition application (applause to the author) as an hildon input method plugin. currently i am attempting to revive a pentium 3 500mhz desktop computer from scrap to be my main machine that will replace the amilo i used to have.

******************************************************************
notes:
1) if you have been using the script and something which happens to be 'hotkeys' is eating your cpu on ubuntu interpid, i suggest that you remove it by running:
sudo apt-get remove hotkeys
after removal, the "Activate/Deactivate" popup will stop appearing.

2) if you're new to ubuntu and have amilo li1718 or a1650g run the following 3 commands to add wireless led support without using the script- this will work until acerhk will be removed from ubuntu (probably 9.04 or 9.10):
$ echo options acerhk autowlan=1 force_series=5020 | sudo tee -a /etc/modprobe.d/options
$ echo acerhk | sudo tee -a /etc/modules
$ sudo rmmod acerhk > /dev/null 2>&1 ; sudo modprobe acerhk autowlan=1 force_series=5020

please let me know if it does not work as i was unable to test it...

EDIT: i made a mistake in step 2 and it is fixed now. i will search a fix to what it caused and publish it soon

Thursday, October 23, 2008

FSCA16xx & Ubuntu 8.10

One week from the official release and Ubuntu 8.10 support was added to the fsca16xx script.

One bump though:
Currently there is a bug and yet another bug in Ubuntu 8.10 that causes it to load 2 different drivers (ath_pci && ath5k) for the Atheros wireless adapter. This causes the wireless not to work.

The script update does not handle this as it affects most of the people that use a wireless Atheros adapter and not just FSC laptops. It should be delt with by the Ubuntu Kernel team.

Saturday, September 20, 2008

acer_acpi & seg faults

In my attempts to modify acer_acpi and add it the required key pooling, I bumped into a problem...

Segmentation faults, lots of them...

I tried the latest acer_acpi code and had similar results.

Reason for seg faults:
kernel 2.6.27 - at least the one in Ubuntu Intrepid Ibex.

Reverting to 2.6.26 made the seg faults go away but the modified module still has not shown signs of doing what I told it to do... :S

Tuesday, August 26, 2008

fscamiloa16xx deprecation

Finally after a year and a half the patch I made is now available in Ubuntu Intrepid and its derivatives.

That means that starting Ubuntu 8.10 the script will no longer be necessary.

Fujitsu Amilo A1650g is supposed to work out of the box upon installation - LI1718 users please contact me ASAP I need some details.

This is good news. I cleared the time line I had imagined for this script as it was supposed to evolve into version 1.0, and instead I returned to my old attempt to add hotkeys support for acer_acpi.

acer_acpi has many benefits over acerhk:
1) It will be fully working on 64bit systems
2) Newer code and closer to the latest kernel
3) Works with ACPI calls as opposed to Assembler calls
...

As I have recently finished my BSc degree, I became a full time employee for BMC Software. For that reason it is important for me to mention (for the record) that I am doing this little project on my own free time and I receive no benefits from Fujitsu-Seimens corporation.

Saturday, July 19, 2008

N810 joy

I finally received my own Nokia N810.

Beautiful piece of work. I have been playing with it for the past week:
1) Hacking the hardware keyboard to support Hebrew and English simultaneously (ctrl+chr to switch).
2) Move parts of the rootfs to the internal card - I'm having problems with this one).
3) Setting it with the proper set of applications - There are *too* many applications out there... :(

The GPS is somewhat troublesome as:
1) It take ages to get a fix.
2) No Israel maps - this can be solved through integration with http://freemap.co.il ... but I'm still working on it.

I'm also lacking video support on skype... Or a video recording application...

Friday, June 13, 2008

fsca16xx project timeline

Finally, I am about to finish my BSc in CS.

This gave me the opportunity to make a list of the changes I would like to make to the fsca16xx project.

The changes can be viewed at the project's wiki: http://code.google.com/p/fscamiloa16xx/wiki/ProjectTimeline

acerhk compile fixed!

Finally I have solved the compile issues of acerhk.

Solution - Makefile changes:
1) turn 'CFLAGS=' to 'EXTRA_CFLAGS='
2) add 'V ?= 0'
3) add the following to the acerhk.ko compile line:
M=$(CURDIR) V=$(V)

That means that for the latest version of fsca16xx.sh, when pressing the wireless button, the Activate/De-Activate notifications work again (been broken for a little less then a year).

I also published it on launchpad: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/53953/comments/25

Saturday, May 24, 2008

acer_acpi fork state

The acer_acpi fork I made which has the framework for key pulling through ACPI, have worked on Gutsy but stopped working in Hardy. I am in the midst of my investigation.

Hopefully I will find out why soon.

Hardy & ATI

I finally achieved 3D with the open-source radeon driver on my Amilo (which have the Xpress 200M). I've been using it for the last two weeks with full compiz and by now only came upon several minor issues:
1) After resume from hibernation, the window shadows become garbled with green and red lines.
2) When starting Firefox, it will start full screened. Pressing F11 twice while in the address bar return Firefox to it's normal size.
3) Flash is slow. Solved by installing the Flash 10 beta, still consumes a lot of cpu, but works better.

I've used Ubuntu Hardy with the following repositories:
1) 'deb http://ppa.launchpad.net/tormodvolden/ubuntu hardy main' - supplied the git ATI driver.
2) 'deb http://ppa.launchpad.net/xorg-edgers/ubuntu hardy main' - supplied the git libdrm2. don't use the mesa from there as it does not works with compiz (white screen).
3) 'deb http://ppa.launchpad.net/stikonas/ubuntu hardy main' - supplied the git mesa.

Beside the packages I added to the device section in xorg.conf:

Option "EnablePageFlip" "1"
Option "ColorTiling" "1"
Option "AccelMethod" "EXA"
Option "DynamicClocks" "on"
Option "EXANoOffscreenPixmaps" "true"

Wednesday, March 26, 2008

Hardy Beta is now supported - fsca16xx

Last night I've pushed Ubuntu Hardy beta support to the installation script.

For those of you that use hibernation -

Currently, the wireless will not resume correctly, so after resuming, you should run the following lines to make it work:

sudo rmmod ath_pci ath_rate_sample ath_hal
sudo modprobe ath_pci


In the following weeks I'll make the script do that automagically on resume.

Thursday, February 14, 2008

some updates for the fujitsu script

I've just made some updates to the fujitsu auto installation script. Its not "the" update I wanted to do, just some fixes.

Changes:

* use of newest atheros instead of ndiswrapper (should support AR5007).


I did not had time to get into the "add the missing bits to acerhk so that it will properly read the wireless led state".

Friday, December 14, 2007

On the tip of a plastic spring

First, let me say BAHHHH!!!!

Now, my Amilo's touchpad left button has stopped working - it even sounds physically broken... Anyway, the technicians at store of which I bought this laptop from said:"This was caused by improper use so warranty is the null and void".

Unhappy, I've decided to take it to my own hands. In order to check it out I had to almost strip the laptop entirely. I mean, the only 2 thing that were left complete were the motherboard to the bottom panel and the screen which was just seperated as is from the rest of the machine.

I was amazed to find out that I had 3 broken plastic springs which are suppose to place both of the buttons in place: 2 broken on the left button an 1 on the right button. More then that, I found out that a plastic spring was completely missing as if it was never there. Some further investigation showed me that it was truly never there and the lack of it was the reason that it broke in the first place! It was designed to take the pressure but in order to lower the manufacturing costs this stabilizer spring has just been left out + reassuring the purchase of a newer model when the old has supposedly become cripple.

BAHHHHH!!!!! When I'll have some free time (probably in 4 months from now), I'll install some real springs below the buttons - that should be suffice to make it last for at least 2 more years.

Tuesday, December 4, 2007

acpi acer hotkey pooler for my amilo

Recently I've started a fork of the acer_acpi kernel module to also pool the 3 hotkeys.
On another note, the patch I've made for acerhk was finally entered the mainstream.

I've moved on to acer_acpi since it supports 64bit distros as well.

I'm up to my ears in homeworks and projects (last year to end my undergraduate degree - yeppieee) so it will probably go gold by May 08.

Work notes:
1) listen for _Q10 (wireless key) event - after it is done, also add the browser and fancy fan buttons.
2) rig the wireless button to run the wireless activation/deactivation method in acer_acpi
3) ask for merge and go mainstream.

some of (1) has already been done.

This will also make the lives of Amilo LI1718 owners much easier...

UPDATE 8/12/07: current work is posted on http://fscamiloa16xx.googlecode.com/svn/trunk/acer_acpi_hkey/
The AML Method PHSR change the values of INF (button id) ,BCMD (0x8B = button pressed) and SMIC (0x00/0xff). When loading this module with debug=4 and press one of the 3 buttons, you'll see (in dmesg) that it sensed the key press. Bad news, SMIC is not updated to 0 as expected and therefore it will act as if the button is being pressed over and over again. Some mutexes are MIA and should be added. acpi-devel list seems to be inactive - so I'll keep searching for a way to acquire an AML mutex...

Wednesday, August 29, 2007

Behold at that installation script

Finally it is here!

The auto installation script for Amilo A1650G for 32bit Ubuntus (Feisty,Gutsy) is here.

Features:
1) Make the hotkeys work - all of them (besides change display)!
2) Notification bubbles and Cool n' Quiet - done by info2 @ubuntuforums.
3) Make wireless work - only if you have the Atheros 5005g. I'll be happy to add Broadcom if I had testers with that configuration.

Requirements:
1) 32bit Ubuntu >= 7.04
2) Amilo A1650G or similarly hotkeyd laptop
3) internet connection

HowTo:
Open a console and run:
wget http://fscamiloa16xx.googlecode.com/files/fsca16xx.sh
chmod 755 fsca16xx.sh
sudo ./fsca16xx.sh


Wait a bit till it's Done.
Log out, Log back in and viola!

Last Edited: 29/8/07

Saturday, August 25, 2007

Amilo A1650g the overheater

Recently I've been having some serious overheating issues with this awful laptop (the main reason for the hatred is the video card).

I didn't understood why all of a sudden, Feisty has become "heavy" as have suse and mandriva.... well, suse was already heavy to begin with. tried: Mandriva 2007.1 (spring), Opensuse Gnome 10.3 beta 2, Ubuntu Feisty and Gutsy...

I used acpi -t to track the temperatures and I was able to reach 87 Celsius degrees and have occasional shutdowns (+90 degrees)...

And yesterday I found out why.

My laptop's cooling ribs were clogged up for good - I even found a feather there. I disassembled the largest panel in the back of the laptop and then just the fan (without the cooling ribs). I used a slightly wet cue-tip to clean the fan side of the cooling ribs. The amount of dust there were unbelievable!

Now I'm glad to say that it's working again at nominal temperatures. WinXP in Virtualbox helped me reach a nice temperature of 67 Celsius degrees. It's sad though that if I ran Firefox into a site with a rich flash content - I'll reach 75 Celsius degress, which is much higher then running a virtual machine. Someone have to make the flash plugin better!

Wednesday, March 7, 2007

FSC Amilo A1650g Ubuntu Fiesty 32bit How-To

Last Updated: 3/7/2007

3/7/2007 Added
Distribution ready wireless button support (see "way 3") which also fixes the wireless scan/connect issue when enabling/disabling the wireless led.
26/6/2007 Added: Distribution ready wireless button support (see "way 2")

Specs:

AMD Turion 64 ML-32 / 1.8 GHz
512MB RAM
60GB HD
ATI Xpress 200M (Shared) - Crippled By Design
SD/MS CardReader
TV-OUT
CRT-OUT
PCMCIA Slot
Firewire
LAN
Modem
4 USB
DVDRW+
Atheros 802.11a/b/g
1200x800 Display
Fancy HotKeys

How-To
Installation did most of the magic. The following were automagically detected and operational:
AMD Turion 64 ML-32 / 1.8 GHz
512MB RAM
60GB HD

Firewire
LAN
4 USB
DVDRW+
Builtin SD/MS CardReader


The Rest is as follows

ATI Xpress 200M

FGLRX Doesn't work well for me, suspend sometimes stuck at turn off etc...
Xgl is a mess in Ubuntu so Compiz/Beryl is out of the question for now till AIGLX in fglrx.
On that front, a bunch of good faithed people has gathered to hack the RS480 down, so hopefully by the next version of Ubuntu, the opensource driver will be able to supply 3D support (with AIGLX) for the CBD Xpress 200M.

Fancy HotKeys
Most of the HotKeys are recognized and are configurable. The following HotKeys were detected upon install:
HELP, SLEEP, BLANK_SCREEN, BRIGHTNESS UP/DOWN, SCROLL LOCK, NUM LOCK, HOME, END.
MUTE, VOL UP/DOWN - might needed some tuning which was done through gnome's System->Preferences->Keyboard Shortcuts.
WWW_BROWSER became operational after acerhk was loaded (read ahead).

To get wireless button working there are 3 ways:

way 1:compile a prepatched version of acerhk - this will add support for all of the missing buttons (wireless, browser, fancy fan, display...)
downside: You have to repeat this process upon each kernel update
.

I've set up a place in google code for this - http://fscamiloa16xx.googlecode.com/svn/trunk/Fiesty/

1) Run uname -r at the console, if there exist a folder that matches the output and you are using the 32bit version of ubnutu. download the file and put it in:
/lib/modules/$(uname -r)/kernel/drivers/input/misc/
you'll have to overwrite the existing file.
If such folder doesn't exist, you can use the patch I made against acerhk 0.5.35 recompile it and put the acerhk.ko file in the folder mentioned above ('make install' places it in the wrong folder).
(patch is at http://code.google.com/p/fscamiloa16xx/downloads/)

2) add at the end of the file /etc/modules:
acerhk

3) add at the end of the file /etc/modprobe.d/options
options acerhk autowlan=1

Restart and start using the buttons.
(or:
sudo rmmod acerhk
sudo modprobe acerhk

)

2. way 2: force the acerhk that comes with ubuntu to a certain settings
downside: this will make the wireless and browser button operational, but the display will be recognized as ''start media" and fancy fan will not be operational


1) add at the end of the file /etc/modules:
acerhk

2) add at the end of the file /etc/modprobe.d/options
options acerhk force_series=5020 autowlan=1

Restart and start using the buttons.
(or:
sudo rmmod acerhk
sudo modprobe acerhk
force_series=5020 autowlan=1
)


3. way 3: dont use acerhk at all
downside: none of the three buttons above the keyboard will be operational, wireless will always be switched on regardless of the wireless led state.
upside: WIRELESS IS FINALLY SCANNING AND CONNECTING WITHOUT A HASSLE!!! YYYPPPPIIIEEEE!

1) add at the end of the file /etc/modprobe.d/options
options ath_pci rfkill=0



Atheros 802.11b/g
To make this baby running you should fix the hotkeys (as stated above) and then press the wireless button. the wireless card driver works out-of-the-box except for the fact that area scanning is awful - you'll have to know the accesspoints names and enter them manually in order to connect. (unless way 3 was used).

To be updated on good news.

Thursday, February 1, 2007

FSC Amilo A1650g Ubuntu Edgy 32bit How-To

Specs:
AMD Turion 64 ML-32 / 1.8 GHz
512MB RAM
60GB HD
ATI Xpress 200M (Shared) - Crippled By Design
SD/MS CardReader
TV-OUT
CRT-OUT
PCMCIA Slot
Firewire
LAN
Modem
4 USB
DVDRW+
Atheros 802.11a/b/g
1200x800 Display
Fancy HotKeys

How-To
Installation did most of the magic. The following were automagically detected and operational:
AMD Turion 64 ML-32 / 1.8 GHz
512MB RAM
60GB HD

Firewire
LAN
4 USB
DVDRW+

SD/MS CardReader

The Rest is as follows

ATI Xpress 200M

Since ATI support the DRM's global warning, the opensource radeon driver for the ATI Xpress 200M can only support 2D stuff. Therefore I had to install the crippled ATI fglrx driver to properly use some features of the Video Card.
Installing was done by the Restricted Driver Manager


After the installation of the packages, I had to run:

sudo aticonfig --tvf PAL-B --ovf Xv

To ensure that the TVOUT output will be PAL-B (you may replace with your local tv format) and that video overlay will be Xv.


TV-OUT + CRT-OUT
The TV output plug on this laptop is SVIDEO while my TV's input is RCA. It took me a year to figure out the following method:
requirements - A cable equipped with an SVIDEO plug on one side and 2 RCA on the other side, an adapter plug with 2 RCA inputs and 1 RCA output.
1) Plug the SVIDEO to the laptop and only 1 of the 2 outputs to the adapter plug input. Plug the plug adapter output to the tv input.
2) Run the following command on the console (NOT AS ROOT!):

aticonfig --enable-monitor lvds, tv
aticonfig --ovon 1 #<----only if you wish to use Xv to watch movies, #else change the video player setting to X11

3) Now the picture will be shown on the tv in greyscale - if not return to step 1, connect the ouput which was not connected and disconnect the one that is connected (in other words, switch between them) and then retry step 2.
4) Connect the other output and now you shall have colors. If you still don't have color onscreen, try using a different tv format with:

aticonfig --tvf NTSC-M #<---just an example: you should use your local format

5) Now the you can see that only part of the desktop is visible on the TV. Thats because of the screen resolution, lower it to 1024x768.

Note: similar procedure should be done in Windows - as I said before - Crippled By Design!
Getting the CRT-out is simpler - just connect the cable and run the following command (not as root):

aticonfig --enable-monitor lvds,crt

Fancy HotKeys
Most of the HotKeys are recognized and are configurable. The following HotKeys were detected upon install:
HELP, SLEEP, BLANK_SCREEN, BRIGHTNESS UP/DOWN, SCROLL LOCK, NUM LOCK, HOME, END.
MUTE, VOL UP/DOWN - might needed some tuning which was done through gnome's System->Preferences->Keyboard Shortcuts.
WWW_BROWSER became operational after acerhk was loaded (read ahead).

Hotkeys at work!!!! This is how:
(PLEASE NOTE: the scripts work but are ugly because of the following reasons:
MADWIFI driver in the Ubuntu kernel doesn't yet support changes in /sys/class/net/ath0/device/power/state)

I've set up a place in google code for this - http://fscamiloa16xx.googlecode.com/svn/trunk/Edgy/
1) install hotkeys ("sudo apt-get install hotkeys")
2) download the file fsca16xx.def and put it in /usr/share/hotkeys (you'll need sudo for that)
3) download fsc-cpuspeed.sh and fsc-wireless.sh and put it in /etc/acpi and make them executables
(you'll need sudo for that):
sudo chmod 755 /etc/acpi/fsc-cpuspeed.sh
sudo chmod 755 /etc/acpi/fsc-wireless.sh

4) download the file hotkeys.desktop and put it in /usr/share/gnome/autostart/
5)
Please NOTE: this step will allow non-root users to change the frequency scaling algorithm and is crucial for the Fancy Fan button. You may skip this step if you're "security breach" register has been turned on.
download the file 70-fsc-special-settings.sh and put it in /etc/acpi/start.d (make it executable)
sudo chmod 755 /etc/acpi/start.d/70-fsc-special-settings.sh
6) last and trickiest: run uname -r at the console, if there exist a folder that matches the output and you are using the 32bit version of ubnutu. download the file and put it in:
/lib/modules//kernel/drivers/input/misc
you'll have to overwrite the existing file.
If such folder doesn't exist, you can use the patch I made against acerhk 0.5.34 recompile it and put the acerhk.ko file in the folder mentioned above ('make install' places it in the wrong folder).
(patch is available at http://code.google.com/p/fscamiloa16xx/downloads/)
7) restart and start using the buttons.
(or:
sudo rmmod acerhk
sudo modprobe acerhk
sudo hotkeys -Z -t fsca16xx

)

Atheros 802.11b/g
To make this baby running you should fix the hotkeys (as stated above) and then press the wireless button. the wireless card driver works out-of-the-box except for the fact that because of the wireless led (which why we use acerhk)
Alternative:
add acerhk to /etc/modules and then restart and
echo 1 > /proc/driver/acerhk/wirelessled
to turn on
or
echo 0 > /proc/driver/acerhk/wirelessled
to turn off

After each time the wireless button is pressed for activation, the following script should be run:
#!/bin/sh
echo 0 > /proc/driver/acerhk/wirelessled #acer wireless off
sudo rmmod ath_pci
sudo rmmod ath_rate_sample
sudo rmmod ath_hal
sudo rmmod wlan_scan_sta wlan
sudo killall NetworkManager
sleep 2s
sudo modprobe ath_pci
sudo NetworkManager
echo 1 > /proc/driver/acerhk/wirelessled #acer wireless on