You are not logged in.
INFO: These scripts are very old. The Intrepid-scripts are now updated to support 8.04, so it`s recommended to install them if you still use Hardy:
http://forum.eeeuser.com/viewtopic.php?id=49081
___________________________________________________________________
In this thread you can see the development of the Ubuntu-support-project for Ubuntu 8.04. First of all there is Adamm`s custom-kernel, which provides all the needed drivers/modules to get the EeePCs working. And then there are the ACPI scripts, which will provide the support for the Fn-keys and the the new hotkey bar.
If you have other ideas please let us know! Help is very appriciated.
Supported models:
* EeePC 900A
* EeePC 901
* EeePC 1000
* EeePC 1000H
Keymappings and their functions:
Note: These are the keymappings of the 900A/901. The keymappings of the 1000/1000H is a bit different.
* Fn+F1 Standby
* Fn+F2 WLAN-toggle
* Fn+F3/F4 Brightness
* Fn+F5 VGA-toggle
* Fn+F6 Taskmanager
* Fn+F7/F8/F9 Volume
* 1. new hotkey Display-toggle (internal)
* 2. new hotkey Bluetooth-toggle
* 3. new hotkey CPU frequency control or user-defined
* 4. new hotkey Webcam-toggle or user-defined
(*Fan control also available, but it must be enabled manually in the actions-file. Also the modules i2c-i801 and eee must be loaded before)
HowTo install:
1.) Download these files to an external memory (USB-stick, SD-card, ...):
Adams kernel & modules (See nr. 2)
ACPI scripts v1.3 by me
2.) Open a terminal and change into the directory of the drive with the downloaded files and install the new kernel and the ACPI scripts:
sudo dpkg -i linux-image*.deb linux-ubuntu-modules*.deb
Important: If you want to receive updates of the eeepc-kernel, you have to follow the steps on this site: http://array.org/ubuntu/setup.html
tar xfvz Hardy_ACPI_scripts-EeePC_900A_901_1000.tar.gz cd Hardy_ACPI_scripts-EeePC_900A_901_1000/ chmod +x install.sh sudo ./install.sh
3.) Reboot, select the new kernel in the bootmenu
Known issues:
To avoid screen flickering when changing the brightness the script moves a script to the backup folder. But this script is needed by the power-manager for "dim-on-idle". See this thread for more information: http://forum.eeeuser.com/viewtopic.php?id=43400
____________________________________
Old text:
Hey guys,
yesterday I started to write a script to fix all the problems with Ubuntu 8.04 on the EeePC 901/1000/1000H. But the problem is that I don`t have a 901 yet. In Germany it will be available on 18.08.08. So I need your help.
There are many Linux-Newbies who wants an as-easy-as-possible way to fix Ubuntu. So I thought I could begin. I put all the different scripts and packages that I found together and wrote a little installer. But there is still something to do. And also it needs to be checked if it`s all right (fn-key-codes, etc.)... Maybe Adam could make a package and add it in his repository if we are ready with the script
So please have a look at it and improve it. You can find the current version here:
Download
Note: PLEASE DO NOT INSTALL IT YET! (Except if you want to test it of course)
Currently implemented (but not tested!):
- Adam`s kernel
- Fn+F2 -> WiFi-and-BT-toggle (thx to Merkmal)
- Fn+(F3&F4) -> Brightness control (without OSD)
- Fn+F5 -> VGA toggle (from the wiki)
- Fn+F6 -> Gnome-System-Monitor
- Fn+(F7-F9) -> Volume Control
- Gnome tweaks (smaller fontsizes, etc.)
Last edited by elmurato (2009-02-10 1:18:13 pm)
Offline
Ah, competing solutions! For those of you not following the main thread about Adamms kernels, I am currently in the process of rewriting the whole hotkey handling process in Python (and wxPython), including a GUI for adjusting the keymappings, knowledge of keymappings for all eee models (suggestions as to how to autodetect welcome but not an urgent priority), pretty popups at appropriate moments etc.
Plan is to put it all in a proper .deb package so that it pulls in all the appropriate requirements (e.g. eepc-acpi and all of my dependencies) and automatically installs everything to the appropriate location, putting an icon in the System->Preferences Menu. Generally going for the Right Answer(tm) in terms of user friendliness.
The theory is that it would be nice if an eeepc running ubuntu could be made to work simply by installing a few pacckages from the repositories, adamm has taken a massive step in this direction with his kernel, and I'm just doing my bit.
Offline
As I said in the other thread, your ideas sounds very nice! Espacially the GUI. Unfortunately I have no experiences with python, so I can`t help you. If there`s anything else I can do for you please let me know.
Auto-detect: Hmm that`s a goog question. First I thought a simple "cat /proc/cpuinfo" would do it, but the 900A is coming, and thats a 900 with atom, so you can`t differentiate the models. But could you try this:
cat /proc/acpi/info
This gives me "version: 20070126"...
Last edited by elmurato (2008-08-09 7:36:23 pm)
Offline
@elmurato: I get the same code, and I have a 901, so that won't work.
@WIIIW: I think this would be nice. What kind of GUI are you going to do? I was looking into doing something like this, but haven't gotten anywhere I wanted to try and leverage what is used for volume, but I have no idea on how to go about that. A GUI would be nice, but OSD would be awesome. I'd like to have a consistent look. I'd be interested to see where you take this.
Offline
Thanks for the Test. There must be a way :S
A nice OSD would be really great.
@ WillW
Did you start already with the work?
Last edited by elmurato (2008-08-10 7:32:55 am)
Offline
@elmurato and WillW: Yeah a custom python OSD would be really be awesome ![]()
@Pox (from previous thread): Your artwork looks great ![]()
Offline
OK, here's a complete set in the three styles, I think I've got everything we need... the icons (with the exception of the brightness, which I drew myself) are from the gnome-icon-set, so this is GPL'd.
http://pox.cerebrojd.net/eeeosdart.tar.gz
The source svg and the batch-exported images are in there, though the pngs have the random names Inkscape gave them - I can't be bothered renaming them at the moment.
I'm still not sure on the volume/brightness, might add a spot for a progress-bar-esque meter...hopefully programmatically rendered and not with seventeen thousand different images as the asusosd has, though. ![]()
Offline
Oh man they`re looking beautiful! Thank you so much. Now only Will needs to start the project ![]()
Offline
Just a suggestion: as long as you're setting up toggling for wifi, bluetooth, and webcam, why not set up a toggle for the trackpad? I find when I have a mouse plugged in it's nice to be able to turn the trackpad off so that I avoid accidentally brushing it with my thumb or the base of my hand and screwing something up. Alternatively (though this may be more complicated) you could give the user the option of automatically turning off the trackpad when a mouse is plugged in.
Again, I really like the ideas (and artwork!) that are going into this so far. Count me in for testing on the 1000, spelling and grammar checking, and moral support!
Offline
Chonnawonga: a good idea, though I'm not sure on how to implement it: the touchpad isn't exposed in ACPI, and I think it's actually an internal USB device... it's certainly possible, but it would need a bit of research.
Offline
Pox wrote:
Chonnawonga: a good idea, though I'm not sure on how to implement it: the touchpad isn't exposed in ACPI, and I think it's actually an internal USB device... it's certainly possible, but it would need a bit of research.
Hrmm. On my old laptop I used to control the trackpad through synclient commands, but that doesn't seem to work on this. I get "Can't access shared memory area. SHMConfig disabled?" even though I've enabled SHMConfig in my xorg.conf.
Offline
Will give some consideration to supporting 'plug-ins' to allow expansion to cope with anything, but given you'll be able to tell it what command to run in response to a keypress you could just write a script that does the function and call that script. I'll ponder whether there is anything to be gained by doing anything more complicated.
FYI, have started the project - had a bit of a session last night/this morning (its great to be able to code in bed - yet another wonderful thing about the eee). Basic osd done, retireving of key bindings from config file. Vague roadmap:
Putting in the scripts for the standard commands (volume, wifi toggle etc)
Setting up proper subprocess/spawn a new thread style launching for running arbitrary commands
Should be done tonight/tomorrow. Will get us to the same stage we're at at the moment, with the addition of a built in osd, and a separate config file for the keymappings. Will probably then make it available for testing while I do the next bit:
GUI to set the keymappings (effectively a timesaving/easy way to edit the config file). Will know about the different key mappings on each eee, so it can call the buttons something human readable, and set sensible defaults. Can choose the various options from a dropdown box (wifi toggle, bluetooth toggle,4 way toggle, webcam toggle, vol up, vol down, mute, run command). This will probably take another couple of days, (more if I'm busy). Then, if thats pretty much working I'll learn about deb packaging.
Offline
Yes
Very good news! You`re the man, can`t wait to test it out. Will update the first post...
EDIT: Does anyone know how to edit the title of a thread? I didn`t find anything.
Last edited by elmurato (2008-08-10 5:03:25 pm)
Offline
WillW: progress so far sounds great! Oh how I love rapid development.
Offline
Quick report back on the trackpad, in case anyone's interested:
Asus isn't actually using a Synaptic pad; it's from ElanTech. Sadly, ElanTech doesn't offer Linux support and there hasn't been a whole lot of open source work on it (yet). However, there's an easy, brute-force way to turn it on and off. The pad simulates a PS/2 mouse, so you can switch it off and on with "sudo rmmod psmouse" and "sudo modprobe psmouse". From what WillW says, this should be easy to patch into his upcoming Python program. As for more advanced control of the trackpad (multi-touch settings, sensitivity, etc. etc.) there seems to be some useful work going on over here, but as it's a driver issue, it should probably be resolved by Adamm at the kernel level.
Offline
Normally being a C/C++ developer everyting takes way less time than I expect when working in Python, which makes the whole experience rather pleasant.
Pretty much there for part 1, just clearing up a couple of final issues (notably that any process launched is launched as root, which is a very bad thing if you want to run arbitrary programs. I can tell it to launch the program a any specific user, I'm just trying to figure out how to tell what user to launch it as).
Offline
Presumably to rmmod psmouse isn't going to affect any plugged in mice (which will be usb)? Will build it in in a moment. I could go for a bit of a google to find out, but can anybody summarise for me what the deal with webcam activation/deactivation is?
Offline
Nice to hear that the work is going on ![]()
Dont know if it works, but you could try it:
disable:
sudo rmmod uvcvideo sudo echo 0 > /proc/acpi/asus/camera
enable:
sudo modprobe uvcvideo sudo echo 1 > /proc/acpi/asus/camera
EDIT: Just tried it with my 701... "rmmod" fails. It says that the module is in use. But disabling the device is working (but my command is wrong, I had first to "sudo su" and then "echo 0 > /proc/acpi/asus/camera". Maybe you know my fault?)...
Last edited by elmurato (2008-08-11 12:50:07 pm)
Offline
WillW wrote:
Presumably to rmmod psmouse isn't going to affect any plugged in mice (which will be usb)?
Correct. (At least, it works for me.)
Last edited by Chonnawonga (2008-08-11 12:41:37 pm)
Offline
elmurato wrote:
As I said in the other thread, your ideas sounds very nice! Espacially the GUI. Unfortunately I have no experiences with python, so I can`t help you. If there`s anything else I can do for you please let me know.
Auto-detect: Hmm that`s a goog question. First I thought a simple "cat /proc/cpuinfo" would do it, but the 900A is coming, and thats a 900 with atom, so you can`t differentiate the models. But could you try this:Code:
cat /proc/acpi/infoThis gives me "version: 20070126"...
dmidecode | grep "Product Name"
I get two results, but they're both 901 (the model I have) rather than part of a date string (2007/01/26).
Offline
jbooth wrote:
elmurato wrote:
As I said in the other thread, your ideas sounds very nice! Espacially the GUI. Unfortunately I have no experiences with python, so I can`t help you. If there`s anything else I can do for you please let me know.
Auto-detect: Hmm that`s a goog question. First I thought a simple "cat /proc/cpuinfo" would do it, but the 900A is coming, and thats a 900 with atom, so you can`t differentiate the models. But could you try this:Code:
cat /proc/acpi/infoThis gives me "version: 20070126"...
dmidecode | grep "Product Name"
I get two results, but they're both 901 (the model I have) rather than part of a date string (2007/01/26).
Shame on me :S Didn`t see that it`s a date... But with your command it seems to work! Thank you. I get 2x "Product Name: 701". So that works ![]()
Offline
Solved the user issue (for future reference there is a helpful environment variable SUDO_USER for root, so that root processes know the current user, which is of course exactly what I need)
Almost done on this half, trying to get it finished in the next 30 minutes so I can get it on the web for general testing before my battery dies.
Won't do touchpad/camera for the moment, won't take long, but I'll do them with the full version of this part, when I put in the proper graphical OSD.
Watch this space...
Offline
Right. here goes. the files you need are:
THIS IS FOR TESTING ONLY. ITS NOT A FINISHED PRODUCT. I would just like some feedback, as it appears to work for me.
http://www.wykeham.net/.eee-hkey
http://www.wykeham.net/handle-hotkey.py
Installation instructions - I'm doing this from memory because my battery ran out, but it should be ok. If You don't have a vague idea whats going on its probably not a good idea to be testing this anyway:
Dependencies:
You need the package python-wxgtk2.8 either from synaptic or:
sudo apt-get install python-wxgtk2.8
This will pull in wxgtk and the whole install will probably be largish (30Mb?). Its used for a load of other stuff though, e.g. vlc.
Open a terminal an cd into the directory here you downloaded the two files.
Put the file .eee-hkey in your home directory.
cp .eee-hkey ~/.eee-hkey
Put the handle-hotkey.py file in the acpi directory:
sudo cp ./handle-hotkey.py /etc/acpi/handle-hotkey.py
Edit the file to point to our new script to handle hotkeys:
sudo gedit /etc/acpi/events/eeepc-hotkey
Make sure the right permissions are set for the script (it also needs to be owned by root, but doing sudo cp earlier should have taken care of that):
sudo chmod +x /etc/acpi/handle-hotkey.py
Restart acpid just to make sure:
/etc/init.d/acpid restart
******
.eee-hkey is the config file, how it works should be pretty obvious. Action is one of the following:
nothing
BTToggle
WifiToggle
4WayToggle
VolMute
VolUp
VolDown
cmd
If its cmd then the command in the cmd field is run (will run as a normal user).
You can add exra fields for hotkeys that aren't in by default. I have set the config file up for a vaguely sensible default for a 901 (volume working, fn+f2 does wifi toggle, screen off button does bluetooth toggle, first userkey opens firefox). Bear in mind that eventually there should be no manual user editing of the config file, because what I'm about to write is a GUI for setting everything up.
Changes to the config file should take effect imediately.
Limitations:
The config file being in the home directory means that multiple users can have separate key bindings (and that changing the bindings doesn't need root priviliges). However, I haven't got round to automatically creating the config file if it doesn't exist, so you'll need to make one for all users you intend to use this.
OSD is very simple. Full graphical pretty osd to come shortly. My plan is not to do an OSD for volume as ubuntu takes care of it. At some point i'll have a look into screen brightness, that's been taken care of with no intervention, but doing an osd with moving bar indicating would be good.
Currently not very graceful handling of there being (e.g.) no /proc/acpi/asus/bt if you don't have the right eee-acpi package (basically for bt you need the -21 adamm kernel).
No webcam toggle, or touchpad. They are of course addable through calling your own script with cmd, but webcam at least will have an osd, so will definitely need to be included as a normal option.
Your feedback please!
Last edited by WillW (2008-08-11 8:17:36 pm)
Offline
A couple of points about the install guide:
/etc/init.d/acpid restart
should be
sudo /etc/init.d/acpid restart
It might also help to clarify what you mean by "Edit the file to point to our new script to handle hotkeys" with more specific directions, even though you point out from the start that this isn't a process for newbies.
Finally, there's another step necessary: you have to link the keys to the script.
sudo sh -c 'echo event=hotkey ATKD >> /etc/acpi/events/eeepc-hotkey' sudo sh -c 'echo action=/etc/acpi/handle-hotkey.py %e >> /etc/acpi/events/eeepc-hotkey'
Feedback on the actual program shortly!
Last edited by Chonnawonga (2008-08-11 11:01:33 pm)
Offline
Here's my feedback from the 1000.
Volume up/down/mute: working properly, but it's a bit slow to respond: if I press one of the buttons rapidly, it takes a long time for the program to catch up. (I'm also running into a weird problem on the 1000: Fn+F8 seems to activate Volume Up, although I can't figure out why. I don't think this is related to the program in question.)
Wireless on/off seems to turn off, but not back on. Also, network-manager is unhappy: it thinks wireless is on, but it can't see any networks.
Bluetooth: it was off when I started using the program, and I can't seem to switch it on with 0000001a.
Command: works perfectly. Tried using the custom button too, and had no problems at all.
I'm not sure how these results compare to the 901, but there's a lot of potential here! I'm looking forward to future versions.
Edit: After shutting down and then booting up again, I had to do another restart of ACPI before the program would work.
Last edited by Chonnawonga (2008-08-12 12:11:22 am)
Offline