You are not logged in.

#1 2009-01-07 15:28:07

big_gie
Member
Registered: 2005-01-19
Posts: 637

Arch on Asus EeePC 1000

Hi,

I have a new shiny Asus EeePC 1000 and installed Arch on it. I though the hardware was the same as the 901 except for the screen size (10 inches instead of 9) but it seems the differences are more subtle.

So I am starting a new thread, similar to the 901's.

One major difference is the ACPI event triggered by the buttons. For example, the brightness is control by the BIOS, so we don't need ACPI to control this.

I'm thinking of a way to integrate all this information with the existing wiki. Maybe one general/generic page for all EeePCs and different smaller pages for each variation. Or one big page containing everything? There is actually 4 wiki pages (Asus_Eee_PC_900A, Installing_Arch_Linux_on_the_Asus_EEE_PC, Asus_Eee_PC and Asus_Eee_PC_901) and probably a fifth one for the 1000{,H,HA} We will need a cleanup! wink

Now for my actual problems with the 1000:

1) I'm using compiz with LXDE or XFCE4. But after a certain number of opened windows, they are not drawn correctly: the interior is not drawn. Could it be because of lack of memory? The eee1000 has 1Gb. I have some errors in /var/log/Xorg.log but I don't have access now. I'll post them later.

2) ACPI is broken with 2.6.28 (it's fine with 2.6.27.10): no event at all are generated. I think I've found somehting yesterday about that but don't have access to the web page now. Will report back. I think it is a bug in the kernel which will need patching.

Offline

#2 2009-01-07 16:01:28

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

I have made a stub wiki page for the 1000 with my notes:
http://wiki.archlinux.org/index.php/Asus_Eee_PC_1000

Offline

#3 2009-01-07 21:42:25

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

drsnickers wrote:
big_gie wrote:

I have made a stub wiki page for the 1000 with my notes:
http://wiki.archlinux.org/index.php/Asus_Eee_PC_1000

Hi,
Could you please also explain a bit, where those listings in ACPI chapter of the wiki page are to be placed?
Does the Robertek's acpi-eee901 package need to be rebuilt, or just some configs need to be changed?
Thank you!

Yeah its mostly notes to someone knowing how acpi works...

Robertek's acpi-eee901 needs more then just a rebuild. The reason is that the 1000 is more different then the 901 then just the screen size. A major difference is the acpi events triggered when you press a special key. For example, when you press Fn+F5 to lower the brightness, the acpi deamon will receive an event. On the 1000, this code is not the same as on the 901. Thus, the acpi-eee901 package needs to be adapted.

To fix the acpi events and what is executed by acpid, you need to edit the file "eee-handler.sh" as stated on the wiki. Look for the "hotkey" section at the end. Replace what is there with what is on the wiki.

Im still experimenting with this so it might not be perfect or even the same as your machine... What I would like to see is a generic "acpi-eee" package containing the events of all the different machines. So a merge would need to be done...

Offline

#4 2009-01-08 23:27:10

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

I've created a pkg for acpi scripts:
http://aur.archlinux.org/packages.php?ID=22986

It IS broken, so please read carefully the code.

Offline

#5 2009-01-20 20:04:57

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

I've created a new package for ACPI events handling. It is called acpi-eeepc-generic and can be downloaded from AUR: http://aur.archlinux.org/packages.php?ID=23318
Please use this one instead of the old depracated acpi-eee1000.

There is to many packages in AUR. I took the good part of each and included them.

Features:
-Model agnostic. Create a "acpi-eeepc-MODEL-events.conf" file to support your model;
-Create package, install, use;
-Uses libnotify for OSD: no crappy "asusod";
-Allow multiple commands, using bash arrays, for button pressed;
-Uses the features of vanilla kernel: no need for external patches (be sure to load the module "eeepc_laptop" if not built in the kernel);
-Wifi toggle;
-Rotate screen;
-Suspend to ram;

TODO:
-FSB control;
-Include all eeepc's acpi events;
-Include "restore" functionality from eeepc-acpi-utilities (http://eeepc-acpi-util.sourceforge.net/).

Please comment smile

Offline

#6 2009-01-21 02:01:03

h4tr3d
Member
From: Russia, Vladivostok
Registered: 2008-07-24
Posts: 7
Website

Re: Arch on Asus EeePC 1000

What acpi event does  not handled now?


sorry for my english :-D

Offline

#7 2009-01-21 04:22:13

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

h4tr3d wrote:

What acpi event does  not handled now?

Other models I meant. The 901, 900, etc. I can probably import them from the other packages.

Offline

#8 2009-01-21 17:22:33

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

New version of the acpi-eeepc-generic: 0.2-1
Changelog:
-Backup of the right file (etc/conf.d/acpi-eeepc-generic.conf)
-New model supported: 700, 701, 900, 900A, 901, 904HD, S101, 1000, 1000H, 1000HD

Please try on models other than 1000 as I only have this one.

Offline

#9 2009-01-22 03:07:58

h4tr3d
Member
From: Russia, Vladivostok
Registered: 2008-07-24
Posts: 7
Website

Re: Arch on Asus EeePC 1000

There are many differents between 1000/1000H/1000HD (I use 1000HA)? I don't found any different in events configs,  I think that good idea is use one config like '1000x', what do you think?

Also, add 'conflict' line for example with acpi-eee901 wink


sorry for my english :-D

Offline

#10 2009-01-22 03:16:31

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

h4tr3d wrote:

There are many differents between 1000/1000H/1000HD (I use 1000HA)? I don't found any different in events configs,  I think that good idea is use one config like '1000x', what do you think?

Yeah it might be more simple. Because I don't know what the 1000* will report, I created distinct files so they can be edited individually.
Another reason for all these files is that the model is obtained using "dmidecode -s system-product-name", so the exact model is returned... I think it would be more complex to sed/grep/awk the string to get a single "model" for different real models. What could be done is symbolic links for the 1000H/HD pointing to the 1000.

h4tr3d wrote:

Also, add 'conflict' line for example with acpi-eee901 wink

Good idea smile

Offline

#11 2009-01-22 03:52:26

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

big_gie wrote:
h4tr3d wrote:

Also, add 'conflict' line for example with acpi-eee901 wink

Good idea smile

Done! Please try version 0.3-4.
I also moved all model specific files to /etc/acpi/eeepc/models/

Offline

#12 2009-01-22 05:02:06

h4tr3d
Member
From: Russia, Vladivostok
Registered: 2008-07-24
Posts: 7
Website

Re: Arch on Asus EeePC 1000

About models - configs is shell-scripts => we cat include common parts.
also, i have some troubles with start lxtask: it does not run, i copy 'user' script from acpi-eee901 and add to head of each scripts:
  source /etc/acpi/eeepc/user && x_user_func

as a result now i can see notifications and lxtask is run wink

Note: please add docs and point that for view notifications notification daemon should be started there is two daemons in extra repo:
  * notification-daemon
  * notification-daemon-xfce
and in AUR:
  * noteo

Also, idea with libnotify, i think, is bad.... i press more time Fn+F12 and observe about 1.5 min notifications


sorry for my english :-D

Offline

#13 2009-01-22 14:58:37

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

h4tr3d wrote:

About models - configs is shell-scripts => we cat include common parts.
also, i have some troubles with start lxtask: it does not run, i copy 'user' script from acpi-eee901 and add to head of each scripts:
  source /etc/acpi/eeepc/user && x_user_func

as a result now i can see notifications and lxtask is run wink

That's because autodetection of your user is not working... Have you tried setting "XUSER=" to your username in acpi-eeepc-generic.conf?

h4tr3d wrote:

Note: please add docs and point that for view notifications notification daemon should be started there is two daemons in extra repo:
  * notification-daemon
  * notification-daemon-xfce
and in AUR:
  * noteo

Well the point of libnotify is that you don't need a daemon. We already have a daemon running: acpid. Putting a second one might be overkill. I'll still take a look at these to see if they better suite our needs.

h4tr3d wrote:

Also, idea with libnotify, i think, is bad.... i press more time Fn+F12 and observe about 1.5 min notifications

Hum thats not good. Is it only Fn+F12 or any Fn+F keys? Can you run top (or lxtask!) and report back if a process takes too much cpu during that time? Maybe one of my script hangs... But they are not too complicated.

Offline

#14 2009-01-23 00:25:03

h4tr3d
Member
From: Russia, Vladivostok
Registered: 2008-07-24
Posts: 7
Website

Re: Arch on Asus EeePC 1000

big_gie wrote:

That's because autodetection of your user is not working... Have you tried setting "XUSER=" to your username in acpi-eeepc-generic.conf?

Yes, It setted up

Well the point of libnotify is that you don't need a daemon. We already have a daemon running: acpid. Putting a second one might be overkill. I'll still take a look at these to see if they better suite our needs.

This daemons (started with X) needed for showing notification in X11, notify-send - send message to bus, this daemon handle it and display. please look to ps auxxx output for this processes.

Also, acpid grab acpi event from kernel, call handler, handler use notify-send - it send message to DBUS (so dbus should be installed), notification daemon handle message from dbus and display it... short algoritm =-)

h4tr3d wrote:

Also, idea with libnotify, i think, is bad.... i press more time Fn+F12 and observe about 1.5 min notifications

Hum thats not good. Is it only Fn+F12 or any Fn+F keys? Can you run top (or lxtask!) and report back if a process takes too much cpu during that time? Maybe one of my script hangs... But they are not too complicated.

Any keys that hadler call notify-send - it is not your bug: notify-send work async, it put message to FIFO queue (via DBUS), notification daemon get message from queue and display it, so we can send message moooore quickly that deamon can display it and messages will be displayed while queue is not empty. So asus_osd was more good solution - it handle events from acpid daemon and display directly (without sending async messages to other progs). I looked to sources of asus_osd - it simple programm, with some extra not needed functionality, I will try to prepare packet.... hmm... like acpi-eeepc-generic-osd with patched version of asus_osd for use with you package, but, can you please add config option for disabling libnotify functionality?


sorry for my english :-D

Offline

#15 2009-01-24 21:50:10

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

h4tr3d wrote:
big_gie wrote:

That's because autodetection of your user is not working... Have you tried setting "XUSER=" to your username in acpi-eeepc-generic.conf?

Yes, It setted up

I have created a new user autodetection in v0.3.3.1-1.

h4tr3d wrote:

This daemons (started with X) needed for showing notification in X11, notify-send - send message to bus, this daemon handle it and display. please look to ps auxxx output for this processes.

Also, acpid grab acpi event from kernel, call handler, handler use notify-send - it send message to DBUS (so dbus should be installed), notification daemon handle message from dbus and display it... short algoritm =-)

Any keys that hadler call notify-send - it is not your bug: notify-send work async, it put message to FIFO queue (via DBUS), notification daemon get message from queue and display it, so we can send message moooore quickly that deamon can display it and messages will be displayed while queue is not empty. So asus_osd was more good solution - it handle events from acpid daemon and display directly (without sending async messages to other progs). I looked to sources of asus_osd - it simple programm, with some extra not needed functionality, I will try to prepare packet.... hmm... like acpi-eeepc-generic-osd with patched version of asus_osd for use with you package, but, can you please add config option for disabling libnotify functionality?

I'm not sure I followed you correctly.

libnotify depends on dbus. I cannot use mouse/keyboard without dbus (because of X's autodetection). But you seem to suggest that libnotify is slow to respond because of many intermediates and that asus_osd should be faster. I aggree with you that I should use the fastest method. On my machine, after trying acpi-eee901, asus_osd was terribly slow. libnotify was faster. It was also way nicer. Personnaly, I would prefer libnotify, but I am open to better things. I tried finding OSD programs but could not find something working or without too much dependencies. I took a look at asus_osd's source code (because it was written to work on the 700 I think, patched for 900, and did not worked out of the box on the 1000) and I did not liked what I saw. Undocumented code, many hacks (for example variables which are overwritten to prevent weird problems), model dependent, etc. Some features needed to be implemented in asus_osd and others where implemented via acpid: really ugly. For example asus_osd controls the volume. It should not do anything. It should just draw. It was also listening to acpi by opening sockets. Why not use acpi to just launch anything? I just want acpid to call a specific function which would draw something on the screen. I don't want a second deamon listening in conjunction with acpid.

So in the end, I ditched asus_osd. I'm still looking for other alternatives.

As for notification-daemon, I have:
pacman -Qs notification-daemon
local/notification-daemon-xfce-svn 6445-1 (xfce4-goodies-svn)
    notification daemon for the xfce desktop
and it is not running in the background. But libnotify can't display anything without it... What is weird is that notification-daemon depends on libnotify, but libnotify cannot display without notification-daemon. Maybe a bug in the packages?

Anyway, I changed the dependency on libnotify and added a optional dependency on notification-daemon. In the configuration file, you can set:
NOTIFY="libnotify"
#NOTIFY=NONE
to choose which one. I'll release it soon, or you can check out the svn version: http://code.google.com/p/acpi-eeepc-generic/

Thanx for your feedback smile

Offline

#16 2009-01-25 00:11:36

tehabe
Member
Registered: 2008-10-14
Posts: 82

Re: Arch on Asus EeePC 1000

What doesn't work in 2.6.28, on my eeePC it works just fine, esspecially now with your ACPI scripts, what doesn't work is the change of resolution (it turns just the backlight off) and the bluetooth toggle.

Offline

#17 2009-01-25 02:32:46

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

tehabe wrote:

what doesn't work is the change of resolution (it turns just the backlight off)

Well, its not that it does not work, it turns the backlight off because it is set to! You should edit the configuration file. Look in /etc/conf.d/acpi-eeepc-generic.conf (or on the websvn, line 72) under "COMMANDS_BUTTON_RESOLUTION". Right now it just turn the backligth off! Honestly, I don't think that chaging the resolution is useful. Do you find it useful? How? Why? What resolutions on which model? Do you have any command to use? I could include them as default. My goal was to mimic what the button are meant to be. But I think there is more buttons then useful fonctions... tongue Like Fn+F7 on the 1000 (see here: http://www.trustedreviews.com/images/ar … 0large.jpg ). It is the same symbol as the first silver button. Why 2 buttons for the same thing?
Anyway, just don't forget to edit the configuration file. It should do what is there!

tehabe wrote:

and the bluetooth toggle.

Yeah there is no toggle bluetooth buttons on any models. So what I could do is provide a script to do the toggling (as I began to do here) but right now I don't really know what to do to toggle bluetooth as I don't really use it. Could you tell me in your words what a bluetooth toggling function should do? Right now it just load/unload the "bluetooth" module and send "1" or "0" to the rfkill switch (/sys/class/rfkill/rfkill1/state, note that it wont work with kernel 2.6.28. There is some patches to correct this in 2.6.29-rc2). With this information I could update the bluetooth toggling script and any user could configure any of his function keys for that.

Last edited by big_gie (2009-01-25 04:28:50)

Offline

#18 2009-01-25 05:36:44

tehabe
Member
Registered: 2008-10-14
Posts: 82

Re: Arch on Asus EeePC 1000

I don't think change resolution or rotating the screen is very usefull. Turning off bluetooth is. BTW there was a patch for that before 2.6.28 was released, for me that is a bug which schould be fixed soon and not a new feature.

I should deactivate BT in the BIOS for now.

Offline

#19 2009-01-25 21:54:10

Lazer
Banned
Registered: 2007-08-02
Posts: 111

Re: Arch on Asus EeePC 1000

I'm not a programmer, but would it be hard to make your scripts use Knotify instead of libnotify, for us KDE users?

Offline

#20 2009-01-25 22:02:52

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

Lazer wrote:

I'm not a programmer, but would it be hard to make your scripts use Knotify instead of libnotify, for us KDE users?

No not at all, well I think tongue Let me check this...

Offline

#21 2009-01-25 22:28:48

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

Ok there is somehting in svn. It uses kdialog (a wrapper for knotify I think). Just put "kdialog" in your configuration file under the NOTIFY variable. You need kdebase for that, so I did not tested it fully. Please try it wink

Offline

#22 2009-01-25 22:44:01

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

I try to call qdbus like this:

qdbus org.kde.plasma /VisualNotifications Notify app_name 0 event_id app_icon summary body actions 0 2

But it seems I would need a wrapper:

Sorry, can't pass arg of type 'QVariantMap'.

See http://forum.kde.org/control-knotify4-u … 23580.html
For now, kdialog passive popup should do it... smile Or if you found out how to call qdbus correctly to popup a notification, I'd be glad to hear smile

Offline

#23 2009-02-03 12:09:52

kiberlynx
Member
Registered: 2009-02-03
Posts: 5

Re: Arch on Asus EeePC 1000

hey big_gie,

thanks a lot for your fine work on acpi-eeepc-generic, it's a great idea, and for my eee1000 works fine, except for two things: you don't have a default binding for bluetooth toggle, and when I toggle wireless wicd is no longer able to find any wireless networks.
Plus I'd really like to toggle the camera and the cardmgr, to save power, but am not sure how to do it, maybe you could do a command matrix to make it easier to config the command -> button mappings.

And why do you have a rotate lvds mapping, what do you rotate your screen for? the other day I mistakenly pressed it and boom my Xorg crashed tongue So I disabled it and put bluetooth-toggle in it's place, altough I don't know if i did it right because I'm using 2.6.28 default for now.


On another note, I just wanted to say that I've got my elantech configured in xorg, the old fashioned way, with evdev, and I can toggle it, no problem.

One last thing, I wanted something like eee-control to keep my fan from running all the time, but it seems that the aur eee-control is  not compiling, or is it one of it's dependencies, I can't remember, and it seems that eee-fan for example is incompatible with eee-acpi-generic. Can you help me out with this one, because I'm a it clueless about what to do to here.

Offline

#24 2009-02-03 12:19:45

kiberlynx
Member
Registered: 2009-02-03
Posts: 5

Re: Arch on Asus EeePC 1000

Have any of you guys tried the kernel26-eee901: http://aur.archlinux.org/packages.php?ID=22904

It seems really optimized and is 2.6.29

I'm thinking of giving it a try, what do you think?

Offline

#25 2009-02-04 17:47:33

big_gie
Member
Registered: 2005-01-19
Posts: 637

Re: Arch on Asus EeePC 1000

kiberlynx wrote:

you don't have a default binding for bluetooth toggle

I changed the default config file in 0.7.0: Now COMMANDS_SCREEN_OFF (which is Fn+F7) will call the bluetooth toggle script. Please verify that you use the new configuration file (check pacsave or pacnew files)

kiberlynx wrote:

when I toggle wireless wicd is no longer able to find any wireless networks.

I think I have the same problem. I would say it is a wicd problem, because I can open wicd, click "connect" and it will reconnect correctly. Have you tried networkmanager?

kiberlynx wrote:

Plus I'd really like to toggle the camera and the cardmgr, to save power, but am not sure how to do it

Hum... I'll look into it. I'm not sure if the camera will drain power if you don't use it. The driver for it is "uvcvideo", so probably a "modprobe -r uvcvideo" would be enough. As for the card manager, its a usb thing, so you might want to modprobe -r some usb drivers... And for both of them, I did not saw any rfkill switch. So I would say that if you don't use them or access them, they won't drain your power, or not significantly. If you found more information on this, please post it here or on the "Issues" part of the acpi-eeepc-generic homepage.

kiberlynx wrote:

And why do you have a rotate lvds mapping, what do you rotate your screen for? the other day I mistakenly pressed it and boom my Xorg crashed tongue So I disabled it and put bluetooth-toggle in it's place, altough I don't know if i did it right because I'm using 2.6.28 default for now.

I would use the rotate screen to read a PDF in full screen mode. You could then read like a book. For example you could take the 1000 in your left hand, with your thumb on the back of the screen, your other fingers underneath it, so that the right side of the machine is pointing upward and the left side is pointing downward, like a book. You would then have more screen estate to read a pdf and with your right hand you could control the arrows to go to the next page...
But then if you feel that its useless, just map the key to another function smile

kiberlynx wrote:

On another note, I just wanted to say that I've got my elantech configured in xorg, the old fashioned way, with evdev, and I can toggle it, no problem.

Are you sure that Xorg is using evdev? Look in your /var/log/Xorg.0.log. I know that with input hotpluging, you could have a section in your xorg.conf stating to use evdev but Xorg could be using synaptics if the match is not set up correctly... Could you post your relevant xorg.conf section? I prefer the evdev driver but I would like to be able to disable the touchpad too.

kiberlynx wrote:

One last thing, I wanted something like eee-control to keep my fan from running all the time, but it seems that the aur eee-control is  not compiling, or is it one of it's dependencies, I can't remember, and it seems that eee-fan for example is incompatible with eee-acpi-generic. Can you help me out with this one, because I'm a it clueless about what to do to here.

Hum, I tend to better trust the BIOS for fan control then myself or a third party program... The fan is there to cool down your cpu. But then I remember reading something about the BIOS algorithm for fan control which kept the fan too often on... Anyway, many utilities like this one depended on the old, deprecated kernel module "eeepc_acpi" which was written by asus (I think). This module is not included in kernel, so you need to build it yourself. The source is only available in a ~2GB tar file on Asus's &%?&)$( slow ftp server. It does'nt even compile on 2.6.28. A new module was introduced in 2.6.28 (I think), called "eeepc_laptop". It might not support all features of the old "eeepc_acpi", but at least its included in the kernel.
So I don't know exactly what "eeepc_laptop" exposes. For example, you need 2.6.29 to get bluetooth toggle correctly. So it might not include fan control yet. I would suggest opening some bug reports at http://bugzilla.kernel.org/

Offline

Board footer

Powered by FluxBB