acer_wmi is not used by default (on Fujitsu Siemens Amilo A1650G)

Bug #248635 reported by Pietro Battiston
10
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
Invalid
Undecided
Unassigned
linux (Ubuntu)
Invalid
Medium
Andy Whitcroft

Bug Description

acer_acpi was finally included in the default Linux kernel (see https://bugs.launchpad.net/ubuntu/+bug/105881).

However, it isn't used by default on my Fujitsu Siemens A1650G, which needs it.

To use it, I have to do the following:
  sudo su
  modprobe acer_acpi
  echo "1" > /proc/acpi/acer/wireless
  rmmod b43
  modprobe b43

Notice that:
- I tested it in Intrepid Alpha 2, with kernel 2.6.26-3-generic, both in 32 bit and 64 bit
- I use b43 module because my minipci is a BCM4318 [AirForce One 54g]
- in "dmesg" output, I can see:
[ 55.408026] b43-phy0: Radio hardware status changed to DISABLED
[ 55.525811] b43-phy0: The hardware RF-kill button still turns the radio physically off. Press the button to turn it on.

This is evidently not correct, but probably b43 can't guess it's not hardware. Then, when I modprobe acer_acpi:

[ 161.617702] acer_acpi: Acer Laptop ACPI Extras version 0.11.2
[ 161.617725] acer_acpi: Detected Acer AMW0 version 2 interface
[ 161.623434] Registered led device: acer_acpi:mail

, when I "echo 1 > /proc/acpi/acer/wireless":

[ 208.816072] b43-phy0: Radio hardware status changed to ENABLED

and finally wireless works.

Changed in linux:
assignee: nobody → ubuntu-kernel-team
Revision history for this message
Pietro Battiston (toobaz) wrote :

Actually, the fix is quite easy: on my machine I solved the problem by just:
- adding "acer_acpi" to /etc/initramfs-tools/modules
- calling "sudo update-initramfs -k "kernel-version" -u
- adding in /etc/modprobe.d a file "acer_acpi" containing only one line:
  "options acer_acpi wireless=1"

So, I would suggest just adding that line to "modules" and that file in "modprobe.d". However, I'm not sure it's a good general fix, since probably it would be good that acer_acpi loaded only on computers needing it, and I absolutely don't know how it's done.

However, the fix suggested me that probably the problem is not in linux kernel's package, but (also?) in initramfs-tools, so I'm adding this bug to it.

Revision history for this message
Pietro Battiston (toobaz) wrote :

I forgot to mention I'm testing things on an Intrepid updated daily.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

The Ubuntu Kernel Team is planning to move to the 2.6.27 kernel for the upcoming Intrepid Ibex 8.10 release. As a result, the kernel team would appreciate it if you could please test this newer 2.6.27 Ubuntu kernel. There are one of two ways you should be able to test:

1) If you are comfortable installing packages on your own, the linux-image-2.6.27-* package is currently available for you to install and test.

--or--

2) The upcoming Alpha5 for Intrepid Ibex 8.10 will contain this newer 2.6.27 Ubuntu kernel. Alpha5 is set to be released Thursday Sept 4. Please watch http://www.ubuntu.com/testing for Alpha5 to be announced. You should then be able to test via a LiveCD.

Please let us know immediately if this newer 2.6.27 kernel resolves the bug reported here or if the issue remains. More importantly, please open a new bug report for each new bug/regression introduced by the 2.6.27 kernel and tag the bug report with 'linux-2.6.27'. Also, please specifically note if the issue does or does not appear in the 2.6.26 kernel. Thanks again, we really appreicate your help and feedback.

Revision history for this message
Pietro Battiston (toobaz) wrote :

Testing in 2.6.27-1-generic x86_64.

Module acer_acpi disappeared totally, but it's not a big problem, since now acer_wmi (see conclusion of bug https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.17/+bug/60972) works perfectly.

However, the bug changed but is still here: acer_wmi must be loaded and wireless manually enabled:
   sudo su
   modprobe acer_wmi
   echo 1 > /sys/devices/platform/acer-wmi/wireless

The following commands make it load automatically at boot:
   sudo su
   echo "acer_wmi wireless=1" >> /etc/initramfs-tools/modules
   update-initramfs -u -k`uname -r`

however I still have no idea about what would be a clean solution (to make it load only when needed).

Name of the bug should probably be changed, but I don't know how.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Pietro,

Thanks for testing. You can use the following to edit your bugs title and description:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/248635/+edit

You can always get to that link by clicking on that small yellow circle icon located at the end of your bug reports title.

Revision history for this message
Pietro Battiston (toobaz) wrote :

thanks, name changed to "acer_wmi..."

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Thanks Pietro,

Can you also attach the output of 'sudo dmidecode'. Thanks.

Changed in linux:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Pietro Battiston (toobaz) wrote :

With much pleasure

Revision history for this message
Pietro Battiston (toobaz) wrote :

Leann, no news? Actually, I think it's a fairly simple patch! I'm attaching a trial I made, since the driver itself has a very clear structure, but please notice that:
- I never wrote a patch to kernel before
- I wasn't able to recompile the kernel, so I couldn't test it (actually, some days could pass before I have time to try again)

I don't think you will trust on a non-tested newbie patch, but since I do think the problem is quite easy to solve, I hope at least to have given an idea...

(Oh, and yes, the bug is still here in intrepid RC)

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Pietro,

Sorry for the delayed response. For info on how to compile a test Ubuntu kerenl refer to https://help.ubuntu.com/community/Kernel/Compile . If you can test and confirm this patch resolves this issue that would be great. Thanks.

Revision history for this message
Pietro Battiston (toobaz) wrote : Re: [Bug 248635] Re: acer_wmi is not used by default (on Fujitsu Siemens Amilo A1650G)

Il giorno sab, 08/11/2008 alle 03.19 +0000, Leann Ogasawara ha scritto:
> Hi Pietro,
>
> Sorry for the delayed response. For info on how to compile a test
> Ubuntu kerenl refer to https://help.ubuntu.com/community/Kernel/Compile
> . If you can test and confirm this patch resolves this issue that would
> be great. Thanks.
>

I don't have that computer at the moment, but I will (try to) test in
the next week.

Pietro

Andy Whitcroft (apw)
Changed in linux:
assignee: ubuntu-kernel-team → apw
status: Triaged → In Progress
Andy Whitcroft (apw)
Changed in initramfs-tools:
status: New → Invalid
Revision history for this message
Andy Whitcroft (apw) wrote :

@Pietro Battiston -- I have compiled and uploaded some kernels including a slightly modified version of the patch you attached. This is based on the next -proposed kernel. Could you try this kernel out and report back. These kernels can be found at the URL below:

    http://people.ubuntu.com/~apw/lp248635/

Changed in linux:
status: In Progress → Incomplete
Revision history for this message
Pietro Battiston (toobaz) wrote :

@Andy: thank you very much for your work... unfortunately I underrated the difficulty of the task (or overrated my skills as kernel hacker)... the module still doesn't load, and now I really have no clue on how ubuntu decides at runtime which modules to load.

May assume from the fact that you filed the bug as invalid for initramfs that this is certainly _not_ an initramfs problem?

Revision history for this message
Andy Whitcroft (apw) wrote :

@Pietro -- at a very gross level the kernel generates events to userspace when new hardware is detected, this triggers udev which triggers modprobe which loads the appropriate hardware.

It should not affect initramfs as that would have been rebuilt when the kernel was installed.

Could you confirm the version of the kernel you were testing with by pasting the contents of /proc/version_signature here.

Andy Whitcroft (apw)
Changed in linux:
status: Incomplete → In Progress
status: In Progress → Incomplete
Revision history for this message
Pietro Battiston (toobaz) wrote :

root@vucci:/home/pietro:# cat /proc/version_signature
Ubuntu 2.6.27-11.21lp248635apw1-generic

As I said, the module doesn't load at all.

If a root ssh access to the computer is appreciated, just ask.

Revision history for this message
Pietro Battiston (toobaz) wrote :

Andy, may the fact that the patch doesn't work be related to the migration to rfkill:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=aa58329fc8ec50b379388fcad55f62c3493730d3;hp=6b3c4f8b9c417541c561155bf6b2150a81b5d5eb

?

(surely, the fact that I'm no more able to use acer-wmi in a fresh Jaunty installation is, but it is - probably - another bug)

Revision history for this message
Pietro Battiston (toobaz) wrote :

Just noticed, on http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/laptops/acer-wmi.txt , the following lines:

"On Acer laptops, acer-wmi should already be autoloaded based on DMI matching.
For non-Acer laptops, until WMI based autoloading support is added, you will
need to manually load acer-wmi."

... are we wasting time?

(it would be strange anyway, since there _are_ non-acer laptops registered in the driver!)

Revision history for this message
Pietro Battiston (toobaz) wrote :

I had a mail exchange with upstream developer Carlos Corbacho, and now everything is much more clear. In particular:

> 2) acer-wmi doesn't work for me since its transition to rfkill support.
> > echo 1 > /sys/class/net/wlan0/device/rfkill/rfkill1/state
> > returns "device or resource busy". My kernel is an Ubuntu 2.6.28-7.
>
> Try /sys/devices/platform/acer-wmi/rfkill/state
>

(and it works indeed)

> 4) "For non-Acer laptops, until WMI based autoloading support is added,
> > you will need to manually load acer-wmi." - I would be very grateful if
> > you could precise if you mean a "per case" support or some more general
> > "wmi based autoloading" feature that is missing in the kernel.
>
> The latter.
>

(oops)

So, sorry for wasting your time, Leann; kernel is just not ready for that.

I see two options:
1) just wait for a kernel improvement to fix this bug
2
) use jockey. Don't know if it makes sense, I'll just ask to jockey-hackers

Revision history for this message
Pietro Battiston (toobaz) wrote :

The "sorry" goes obviously to Leann AND Andy...

Revision history for this message
Pietro Battiston (toobaz) wrote :

Last note, for any reader: "/sys/devices/platform/acer-wmi/rfkill/state" is not the right file, "/sys/devices/platform/acer-wmi/rfkill/rfkill1/state" is (Carlos sent me a second message with the right path).

Revision history for this message
Carlos Corbacho (carlos.corbacho) wrote :

To clarify a bit:

1) There was originally a plan to add some generic WMI based autoloading to the kernel. The patches to do this (which I have floating about somewhere) where dependent on other driver core changes that have not yet made it in (still), unless I can come up with an alternative solution.

2) Loading of acer-wmi is currently done by DMI matching - look at the MODULE_ALIAS line. This is only set for Acer laptops, as I'm not sure yet about trying to autoload the driver on lots of non Acer hardware.

Revision history for this message
Andrew (adhenry) wrote :

I have an Acer Aspire 5021 and did a HOWTO for Dapper Drake years ago for getting the wireless working with acer_acpi 0.3 and bcm43xx.

I have been using this old laptop as a server running CentOS for the last few years and just reinstalled it with Ubuntu 8.10 Desktop 64-bit.

I enabled the B43 proprietary driver after the fresh install, but the 'acer_acpi' bit isn't working. I used acer_acpi 0.3 at the time of dapper drake, so did some searching, found newer 0.11.2 acer_acpi, found that it is replaced with acer_wmi, and then found this bug, that acer_wmi should be working by default on Acer laptops.

It doesn't.

will try modprobing acer_wmi tonight.

Revision history for this message
Martin Pitt (pitti) wrote :

Pietro sent me mail, but for the purpose of record keeping it's better to put my response here, too:

Pietro Battiston [2009-02-14 10:53 -0000]:
> I would volunteer to write a jockey handler (based on an existing list
> of supported laptops) for that, but I'd like to know if you think it's a
> little overkill to use jockey for something:
> - free
> - with no particular conflicts with anything

Is that true? The description of the bug says you need to rmmod b43.
Maybe that was true for intrepid, but not for the Jaunty kernel any
more?

> - that is simply a workaround, waiting for a proper fix (from the
> kernel)

If those three reasons are true, a jockey handler sounds like the
wrong solution to me (as much as I like jockey :-) ). But if a driver
which we ship by default does not get activated by default, then
that's simply a bug, and not something the user should need to worry
about. In other words, jockey should allow you to do a qualified
decision, but shouldn't be a place with lots of "unbreak my computer"
buttons.

Besides, it wouldn't really help with the problem in the first place.
Just as the kernel, jockey needs to detect the hardware and match it
to a driver. For kernel modules, the main tool is modalias matching
(which seems to fail for acer-wmi). Now, jockey handlers can do
arbitrary other things to detect availability (e. g. sl-modem parses
output of "aplay -l"), but I expect for that kernel module we just
need to fix the modaliases to match on more DMI strings? Or what else
needs to happen?

IMHO those workarounds should be put into a modprobe.d/ script. See
/etc/modprobe.d/isapnp for an existing example how to provide
additional modaliases for a kernel module.

Revision history for this message
Pietro Battiston (toobaz) wrote :

Il giorno lun, 23/02/2009 alle 12.33 +0000, Martin Pitt ha scritto:
> Pietro sent me mail, but for the purpose of record keeping it's better
> > - with no particular conflicts with anything
>
> Is that true? The description of the bug says you need to rmmod b43.
> Maybe that was true for intrepid, but not for the Jaunty kernel any
> more?

exactly

> > - that is simply a workaround, waiting for a proper fix (from the
> > kernel)
>
> If those three reasons are true, a jockey handler sounds like the
> wrong solution to me (as much as I like jockey :-) ). But if a driver
> which we ship by default does not get activated by default, then
> that's simply a bug, and not something the user should need to worry
> about. In other words, jockey should allow you to do a qualified
> decision, but shouldn't be a place with lots of "unbreak my computer"
> buttons.

OK, I get it (and I partially imagined it).

thanks for further hints

Besides (referring to the bug), my Fujitsu Siemens just broke
quasi-definitely, so I will hardly be able to code/test on it again.

Pietro

Revision history for this message
Andy Whitcroft (apw) wrote :

It seems that the reporter no longer has the hardware. It also seems that rfkill is changing to a common infrastructure in later kernels. Therefore we are unable to progress this bug any further at this time. Thanks to Pietro for his help in diagnosing the issue this far.

Please move the bug to NEW again should someone who has this hardware still have issues and can help resolving it.

Changed in linux (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.