Ubuntu

[Lenovo IdeaPad S10-3] Wireless and Bluetooth switch does not work correctly on lenovo ideapad s10-3

Reported by Michael Mess on 2010-05-07
124
This bug affects 25 people
Affects Status Importance Assigned to Milestone
Linux
New
Undecided
Unassigned
linux (Ubuntu)
Medium
Unassigned

Bug Description

Binary package hint: linux-image-2.6.32-21-generic

I have installed Ubuntu from CD [Ubuntu-Netbook 10.04 _Lucid Lynx_ - Beta i386 (20100318)] Wireless has been detected automatically and everything worked fine.

One day after installing updates on the 26.04.2010, i noticed that after Booting the Wireless interface and bluetooth is disabled, regardless of the wireless switch.
It seems that the switch is turned off, regardless if the switch is on or off, even Fn-F5 (Software-Switch for Wireless/Bluetooth) does not help.

WORKAROUND: After a suspend and wake, do:
sudo rmmod ath9k
sudo modprobe ath9k

Then wireless is available and connects automatically. Bluetooth is also available. Everything works fine then.

But when booting the kernel from power off, the wireless led is on when grub is shown and gets turned off, when the kernel boots and both, Wlan and Bluetooth are disabled.
When Wlan is working and I turn off the wireless hardware switch, Wlan and Bluetooth gets disabled as expected, but when I turn it on again, it does not get reactivated and I have to do the workaround again to get it working again.

I don't think that it is defective hardware, because:
  * Before the problem appeared the first time, everything was working fine.
  * After doing the workaround, everything works fine
  * The wlan led is on in the grub menu, but it turns off, when the kernel is loaded.

---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
AplayDevices:
 **** List of PLAYBACK Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC272 Analog [ALC272 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC272 Analog [ALC272 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: michael 1882 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0x40600000 irq 22'
   Mixer name : 'Realtek ALC272'
   Components : 'HDA:10ec0272,17aa4004,00100001'
   Controls : 14
   Simple ctrls : 8
DistroRelease: Ubuntu 10.04
HibernationDevice: RESUME=UUID=a30e85e0-cb12-4510-b5fe-db4fff465466
InstallationMedia: Ubuntu-Netbook 10.04 "Lucid Lynx" - Beta i386 (20100318)
MachineType: LENOVO S10-3
Package: linux (not installed)
ProcCmdLine: BOOT_IMAGE=/vmlinuz-2.6.32-22-generic root=UUID=7341b634-5ce1-417c-b3d0-f001464c95f1 ro quiet splash
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-22.33-generic 2.6.32.11+drm33.2
Regression: Yes
RelatedPackageVersions: linux-firmware 1.34
Reproducible: Yes
Tags: ubuntu-une lucid networking regression-update needs-upstream-testing
Uname: Linux 2.6.32-22-generic i686
UserGroups: adm admin audio cdrom dialout lpadmin plugdev sambashare
dmi.bios.date: 02/03/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 2ACN21WW
dmi.board.name: Mariana3A
dmi.board.vendor: Lenovo
dmi.board.version: Rev 1.0
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: Lenovo
dmi.chassis.version: Rev 1.0
dmi.modalias: dmi:bvnLENOVO:bvr2ACN21WW:bd02/03/2010:svnLENOVO:pnS10-3:pvrLenovo:rvnLenovo:rnMariana3A:rvrRev1.0:cvnLenovo:ct10:cvrRev1.0:
dmi.product.name: S10-3
dmi.product.version: Lenovo
dmi.sys.vendor: LENOVO

The case label says:

Lenovo IdeaPad S10-3
Model name: 0647
Factory ID: CS20

Jeremy Foshee (jeremyfoshee) wrote :

Hi Michael,

Please be sure to confirm this issue exists with the latest development release of Ubuntu. ISO CD images are available from http://cdimage.ubuntu.com/releases/ . If the issue remains, please run the following command from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux 577114

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

    [This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-kernel-logs
tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete

apport information

tags: added: apport-collected
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

The lines from dmesg before I unloaded (rmmod) and reloaded (modprobe) the ath9k module:

[ 110.996294] ath9k: Unable to set channel
[ 110.996303] ath9k: Unable to set channel
[ 110.996309] ath9k: Unable to set channel
[ 110.996313] ath9k: Unable to set channel
[ 110.996318] ath9k: Unable to set channel
[ 110.996322] ath9k: Unable to set channel
[ 110.996327] ath9k: Unable to set channel
[ 110.996331] ath9k: Unable to set channel
[ 110.996336] ath9k: Unable to set channel
[ 110.996340] ath9k: Unable to set channel
[ 110.996345] ath9k: Unable to set channel
[ 110.996349] ath9k: Unable to set channel
[ 110.996354] ath9k: Unable to set channel
[ 110.996365] ath9k: Unable to set channel

Lines from dmesg after I unloaded (rmmod) and reloaded (modprobe) the ath9k module:

[ 126.205294] ath9k: Device not present
[ 126.250315] ath9k 0000:09:00.0: PCI INT A disabled
[ 126.250408] ath9k: Driver unloaded
[ 126.301546] ath9k 0000:09:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 126.301638] ath9k 0000:09:00.0: setting latency timer to 64
[ 126.356917] ath: EEPROM regdomain: 0x6a
[ 126.356924] ath: EEPROM indicates we should expect a direct regpair map
[ 126.356932] ath: Country alpha2 being used: 00
[ 126.356936] ath: Regpair used: 0x6a
[ 126.366697] phy1: Selected rate control algorithm 'ath9k_rate_control'
[ 126.370712] Registered led device: ath9k-phy1::radio
[ 126.371750] Registered led device: ath9k-phy1::assoc
[ 126.372970] Registered led device: ath9k-phy1::tx
[ 126.375130] Registered led device: ath9k-phy1::rx
[ 126.375206] phy1: Atheros AR9285 MAC/BB Rev:2 AR5133 RF Rev:e0: mem=0xfa300000, irq=18
[ 126.443956] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 133.486497] wlan0: deauthenticating from 00:1c:4a:47:59:f1 by local choice (reason=3)
[ 133.497826] wlan0: direct probe to AP 00:1c:4a:47:59:f1 (try 1)
[ 133.501704] wlan0: direct probe responded
[ 133.501717] wlan0: authenticate with AP 00:1c:4a:47:59:f1 (try 1)
[ 133.504170] wlan0: authenticated
[ 133.504225] wlan0: associate with AP 00:1c:4a:47:59:f1 (try 1)
[ 133.513093] wlan0: RX AssocResp from 00:1c:4a:47:59:f1 (capab=0x411 status=0 aid=3)
[ 133.513101] wlan0: associated
[ 133.513704] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 133.584926] padlock: VIA PadLock not detected.
[ 134.870055] martian source 255.255.255.255 from 192.168.8.1, on dev wlan0
[ 134.870061] ll header: ff:ff:ff:ff:ff:ff:00:1c:4a:96:7a:91:08:00
[ 144.200287] wlan0: no IPv6 routers present
[ 331.374744] cfg80211: Found new beacon on frequency: 2472 MHz (Ch 13) on phy1

Reloading modules (my previous comment) works only after suspending and waking up the system.
When the system is booted from power off, wireless is turned off and reloading the module does not help to reenable wireless.
When the system is restored from suspend, wireless remains turned on, dmesg shows "ath9k: Unable to set channel" messages and reloading the ath9k module helps to get wireless working.

Today I have installed the current updates (stable), but this didn't solve the problem.

I have tested with the 2.6.34-999-generic kernel, again with no success.
It was even worse, because the workaround using suspend/wakeup and reloading the ath9k module didn't work.

These files contains dmesg output from the test with the 2.6.34-999-generic kernel (linux-image-2.6.34-999-generic_2.6.34-999.201005111417_i386.deb)

dmesg-2.6.34-999-generic - dmesg just after boot
dmesg-2.6.34-999-generic--suspend1.txt - after suspend/wakeup
dmesg-2.6.34-999-generic--suspend1b.txt - reloaded ath9k module
dmesg-2.6.34-999-generic--suspend2.txt - after suspend/wakeup, second try
dmesg-2.6.34-999-generic--suspend2b.txt - reloaded ath9k module
dmesg-2.6.34-999-generic--suspend2c.txt - reloaded ath9k module again
dmesg-2.6.34-999-generic--suspend3.txt - after suspend/wakeup, third attempt
dmesg-2.6.34-999-generic--suspend3b.txt - reloaded ath9k module
dmesg-2.6.34-999-generic--suspend3c.txt - reloaded ath9k module again
dmesg-2.6.34-999-generic--suspend4.txt - after suspend/wakeup, fourth attempt

I didn't get wireless to start working. The wireless LED was always turned off immediately after beginning boot/wake up.

Then I tried again with the stable kernel:

dmesg-2.6.32-22-generic - dmesg just after boot, no wireless available, wireless led is off.
dmesg-2.6.32-22-generic-reload-ath9k - Reloaded module ath9k, still no wireless available, wireless led is off.
dmesg-2.6.32-22-generic-suspend-wakeup - after suspend/wakeup, wireless led stays on, but wireless still unusable.
dmesg-2.6.32-22-generic-suspend-wakeup-reload-ath9k - Reloaded module ath9k, wireless connects and works fine.

With the stable kernel I can enable wireless by suspend/wakeup and reloading the ath9k module.

tags: removed: needs-upstream-testing

I have blacklisted the ath9k module for testing.

The result is the following:
  * The wireless-LED gets turned off when booting, and stays turned on on wakeup, as before.
  * After boot wireless does not work after modprobe.
  * After wakeup wireless works after modprobe (rmmod is not necessary because the module was not loaded).

Thus we can conclude:
  * The wireless led is not turned off by loading the ath9k module, the fault must be somewhere else.
  * When loading the wireless module on wakeup it just works; when it was not blacklisted and is already loaded, it is somehow broken. This might be caused by interference with something else on wakeup.

I did some tests again:

 *** Boot ***

michael@ideapad:~$ rfkill list
0: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: yes

 *** Suspend & Wakeup ***

michael@ideapad:~$ rfkill list
0: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no
1: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no
michael@ideapad:~$ sudo modprobe -r ath9k
[sudo] password for michael:
michael@ideapad:~$ rfkill list
1: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no
michael@ideapad:~$ sudo modprobe ath9k
michael@ideapad:~$ rfkill list
1: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no
2: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no
michael@ideapad:~$ rfkill block 2
michael@ideapad:~$ rfkill list
1: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no
2: phy0: Wireless LAN
 Soft blocked: yes
 Hard blocked: no
michael@ideapad:~$ rfkill unblock 2
michael@ideapad:~$ rfkill list
1: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no
2: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no
michael@ideapad:~$ rfkill block 2
michael@ideapad:~$ rfkill list
1: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no
2: phy0: Wireless LAN
 Soft blocked: yes
 Hard blocked: no
michael@ideapad:~$ rfkill unblock 2
michael@ideapad:~$ rfkill list
1: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no
2: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no

Soft-Blocking and unblocking works as expected, but the Wireless-LED stays on, but I didn't turn off Bluetooth, so that it makes sense when it stays on.

After boot it says "Hard blocked: yes" - but the hardware switch should not block the device as it is in position "((([])))" and i didn't change it when suspending and waking up after which it was working.

Then I did another test with the wireless hardware switch:

 *** Wireless is working: ***

michael@ideapad:~$ rfkill list
1: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no
2: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no

 *** Turned wireless switch from "((([])))" to " [] ":

michael@ideapad:~$ rfkill list
2: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: yes

 Wireless is disconnected.

 *** Turned wireless switch from " [] " to "((([])))":

michael@ideapad:~$ rfkill list
2: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: yes

 Wireless is still disconnected.

 *** Suspend & Wakeup:

michael@ideapad:~$ rfkill list
2: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: no
3: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no

 Wireless reconnected automatically ( no module reload necessary )

dmesg log output from above tests.

Changed in linux (Ubuntu):
status: Incomplete → Triaged
importance: Undecided → Medium
tags: added: kernel-core kernel-needs-review
removed: needs-kernel-logs
Kaizer (getkaizer) wrote :

Hi,
This is the same issue i face. Earlier it was working well but now the wireless does not work and i am tethered to a line. I'm using 10.04 on an ideapad s10-3 netbook. My lspci reports atheros ar9285

When installing an own kernel I forgot to create the initrd.img file in /boot and thus I have noticed something interesting.

When booting, I saw that in grub menu the wireless LED was still on.

Then I selected the new kernel and got a kernel panic ("Kernel panic - not syncing : VFS : Unable to mount root fs on unknown-block(0,0)") because the initrd.img was missing - and then, what is interesting here, I saw that the wireless LED was already off!

Thus the LED and thus likely the wireless hardware has been turned off before mounting the initrd.img.

After fixing the problem and booting the new kernel, the wireless didn't work and I had to apply the suspend workaround.

I was able to reproduce the kernel-panic problem by just renaming the initrd.img file and saw that the wireless LED has already been turned off when the kernel panic occurs.

Chase Douglas (chasedouglas) wrote :

The hardblock says there is something in the machine that is turning the wifi off, but it's not something the operating system can control. Seeing the hardblock turn on when you flip the physical switch is correct behavior, but when it stays blocked when you flip it back means there is probably a bios bug. I would check your bios setup to ensure it doesn't have the wifi disabled.

tags: added: kernel-reviewed kernel-uncat
removed: kernel-core kernel-needs-review
tags: added: kernel-net
removed: kernel-uncat

Hi Michael!
I got the exact same problem with my wireless connection on my Lenovo s10-3, running ubuntu 10.4 (UNR) and I am also using the same workaround!

But I am looking for a fix to make the wireless connect by it self, pleas let us know if you find a solution.

Have a nice day!

Woz (eric-ericwozniak) wrote :

Hello,

I would like to confirm that I also have this exact same problem in every respect (exact same device and OS). I have followed and duplicated each and every step of this thread and I have had exactly the same experience in every respect. Does anyone have any update on this condition that can be shared? I have numerous Lenovo S10-3 netbooks in a wireless environment running UNR 10.04 and two of the devices have developed this condition with no permanent workaround or fix discovered. Reinstall of OS does nothing at all. Condition exists even when booting directly from live USB of OS. Any further information would be greatly appreciated.

Thank you!

rd_cam (rd-cam) wrote :
Download full text (5.6 KiB)

First I'd like to thank Michael for his workaround. Works perfect every time though a real pain to have to go through to get wireless working.

So I've got the same issue but a slightly different experience. In my case, the issue didn't appear until I disabled wireless using the switch on the side of the laptop. I had been running 10.04 (first install was beta) on the netbook since taking delivery in March without issue. A few weeks ago I used the unit at work and disabled wireless via the switch to avoid setting off our IDS. Later that evening I sat down in my living room to do some reading and found myself in the same situation as everyone who's contributed to this thread. After some degree of searching I came across this thread and voila, problem solved.. though not to the level of service I had previously known of the S10-3.

Today I had some time and revisited the issue. My findings agree with the theory posed by Chase. This does appear to be a bios bug triggered by activation (or deactivation as it would have it) of the wireless switch on the side of the case. Appears there is a persistent setting that gets flagged in the bios when the switch is moved to off that doesn't get cleared when moved back to on. With a little bit of work and a small Phillips and a small flat screwdriver this issue can be solved.

****************************WARNING******************************
By following these instructions you assume any risk of damage you may incur. Read the instructions fully before beginning. If you are not mechanically inclined or feel in any way hesitant about performing the following actions, STOP now. I only post this as a guide of the actions I took to resolve this issue and in NO WAY, SHAPE or FORM am I responsible for your actions.
****************************WARNING******************************

The instructions below involve removing the battery backup power for your BIOS to allow a complete reset to factory settings. When complete you will need to reset any customized settings you may have made to the BIOS.

Move wireless switch into ON position

1. Turn the laptop over (bottom up) and remove the battery
2. Remove the 6 black screws around the outer edge of the case
3. Remove the 3 silver screws under the battery
4. Turn the unit back over (top up) open the screen
5. Using the small flat screwdriver, wedge it between the top edge of the function keys and the case. With the 3 silver screws removed, there are small plastic tabs in the top corners of the keyboard that snap in place. Gently pry the keyboard up along the top edge. You will hear an audible pop as the tabs disengage.
6. Gently tilt the top edge of the keyboard toward you. There are small tabs on the bottom edge of the keyboard which insert into the case to hold it in place.
7. The keyboard is attached to the motherboard via ribbon cable. There is enough cable that you can flip the keyboard over and still get to the connector.
8. Using your fingernail, you can pry up the lock on the connector which holds the ribbon cable in place.
9. Remove the keyboard
10. Remove the 3 screws found under the keyboard
11. On the front of the laptop, gently i...

Read more...

Woz (eric-ericwozniak) wrote :

Thank you for the bios fix idea. I like the superglue on the wireless switch! I am going to use that one!

The workaround I used to reactivate the wireless permanently was to reimage the hard drive back to the original Windows 7 installation. I was then able to reactivate the wireless using the Windows 7 troubleshooting wizard along with the Fn-F5 key combination. Once the wireless was active, I reinstalled Ubuntu and everything is working fine. I agree that the condition will happen again under the right conditions. Though this is not a permanent fix on its own, gluing the switch in the ON position should prevent it from recurring.

Thanks for your description how to open the netbook to reset the CMOS
RAM by removing the battery and the report that it solves the issue.

This proves that there is a BIOS bug that
  * writes something like a lock when the switch is turned off.
  * does not release the lock when the switch is turned on again.

Maybe there is a utility which can be used to erase the CMOS RAM using
Linux without the need to open the cover each time when the problem occurs.

I hope that Lenovo will bring out a bootable CDROM image which can be
used to update the BIOS to a newer version where the bug is fixed and
which also has a function to clear the CMOS RAM by overwriting its content.

--
Michael Meß
Weidenweg 38
D-52074 Aachen
Telefon : +49 171 1422385
Internet: http://www.michaelmess.de

After suspending and resuming multiple time after using the workaround, I found myself with a read-only root file system after some errors have occured.

I was only able to login at text console to save the logs, X11 didn't restart after I have logged out when it was behaving strange.
Before logging out I noticed that firefox didn't start correctly (it gave an empty window and was hanging) and before that I had to kill the screen saver from the text console to get access to X11.

Maybe this could be related and others suffering from this bug may also have suffered from that, thus I am posting it here.

xdaikatanax (xdaikatanax) wrote :

I'm having this problem also. I just upgraded to 10.04 from 9.10 through System Update, i386 version on a Toshiba Satellite using an Atheros card. In my case, cutting wireless off manually does successfully work, but attempting to cut it back on from the switch fails. Additionally, using rfkill unblock doesn't work. 9.10 didn't have this issue for me, so I'd wager this is a 10.04 issue with the BIOS, if anything.

Just my two cents.

Stanislav Aretinskiy (therien) wrote :

Thanks for workarounds. I use Lenovo S10-3 with Intel 5150 WiFi/WiMAX card and have this issue too.

Manually i found tip with suspend (works fine without loading/unloading any modules on this model, just only suspend/resume operations). BIOS reseting was new to me and works fine too.

Also, suspend workaround dont enable wireless led, but BIOS resetting does.

Stanislav Aretinskiy (therien) wrote :

Upd: My default kernel is 2.6.32-25, on 2.6.35-22 and 2.6.36-rc6, as i tried, this issue remains without any progress, but suspend workaround also still works.

splashis (splashote) wrote :

The suspend workaround stopped working for me.

No idea why, though.

Time to get the screwdriver....

Some days ago, I forgot to reload the module after suspending.
I was then able to load some web pages, but the performance was very poor and often pages failed to load.
When I did a "dmesg" I saw lots of these "ath9k: Unable to set channel" message in the log, then I reloaded the module and everything was fine.

So it seems that the problem after the workaround which requires a module reload is limited to setting the channel.
To avoid this problem and making the required module reload obsolete, maybe the ath9k driver could try to reinitialize the functionality to set the channel when setting the channel fails or when waking up from suspend.

Today I am testing with a self compiled kernel with boot delay support compiled in.
I booted the kernel with the kernel parameters added: earlyprintk=vga boot_delay=1000
Then I watched the lines coming up one by one during boot and watched the WLAN-LED:

{{{
bio: create slab <bio-0> at 0
}}}
Then the WLAN-LED gone off.
{{{
ACPI: Interpreter enabled.
}}}

Thus It seems that the WLAN-LED turns off during ACPI initialization.

n17ikh (n17ikh) wrote :

I too have this bug, and have seen it happen on two different hardware revisions of the ideapad S10-3. One has a broadcom wireless chipset and one is the newest revision, 06472BU with combination bluetooth/atheros wifi chipset. Play with the wireless switch too much and it will show up in rfkill under linux as being hard blocked, and the bluetooth doesn't appear at all. However, I found a couple ways of working around this. One is via removing the CMOS battery as shown above, and another involves having the laptop dual-boot Windows (I have Win7 32-bit on mine) and using the "Lenovo Energy Management" utility available here:

http://consumersupport.lenovo.com/ot/en/DriversDownLoads/Drivers_Show_2362.html

Pressing fn-F5 with this utility installed brings up a wireless switch with separate on/off settings for WiFi and Bluetooth - and toggling them to "ON" in Windows also makes them work again in Linux. Now, someone with more skill and motivation than me might go and look at this utility in a debugger and see exactly what it is doing, whether it is doing something ACPI-related or poking some register.
Just thought I'd offer this up as a starting point for developers.

Imran Rafique (imran-rafique) wrote :

I'm not a Ubuntu user (gentoo instead), but I came across this thread while researching this same problem that you all have experienced. In hindsight it seems obvious, but instead of wiping the BIOS memory by unscrewing everything and unplugging the battery - just reset the BIOS back to its default settings.

Reboot -> F2 -> F9 (load default BIOS settings) -> F10 (save & exit)

Worked for me.

Thanks to kquigley for pointing this out (see http://forum.meego.com/showthread.php?t=2011 )

AplayDevices:
 **** List of PLAYBACK Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC272 Analog [ALC272 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
Architecture: i386
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: ALC272 Analog [ALC272 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: abuhamzah 1648 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0x40100000 irq 22'
   Mixer name : 'Realtek ALC272'
   Components : 'HDA:10ec0272,17aa4004,00100001'
   Controls : 15
   Simple ctrls : 10
DistroRelease: Ubuntu 9.10
HibernationDevice: RESUME=UUID=5431e4b1-d752-4f4c-a35d-51601605aab3
InstallationMedia: Sabily 9.10 (Gaza) - Release i386
MachineType: LENOVO S10-3
Package: linux (not installed)
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-22-generic root=UUID=f8050d50-d009-4970-8476-35a1507add1b ro quiet splash
ProcEnviron:
 SHELL=/bin/bash
 LANG=id_ID.UTF-8
 LANGUAGE=id_ID.UTF-8
ProcVersionSignature: Ubuntu 2.6.31-22.69-generic
RelatedPackageVersions:
 linux-backports-modules-2.6.31-22-generic N/A
 linux-firmware 1.26
RfKill:
 1: phy1: Wireless LAN
  Soft blocked: no
  Hard blocked: yes
Tags: ubuntu-unr
Uname: Linux 2.6.31-22-generic i686
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
dmi.bios.date: 02/03/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 2ACN21WW
dmi.board.name: Mariana3A
dmi.board.vendor: Lenovo
dmi.board.version: Rev 1.0
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: Lenovo
dmi.chassis.version: Rev 1.0
dmi.modalias: dmi:bvnLENOVO:bvr2ACN21WW:bd02/03/2010:svnLENOVO:pnS10-3:pvrLenovo:rvnLenovo:rnMariana3A:rvrRev1.0:cvnLenovo:ct10:cvrRev1.0:
dmi.product.name: S10-3
dmi.product.version: Lenovo
dmi.sys.vendor: LENOVO

hodowany (jhodowany) wrote :

I have a Lenovo S10-3 netbook and can confirm the bug. I dual boot Kubuntu and Meego, and the wireless issue occurred in both OS at the same time, so I suspected a hardware/BIOS bug right away. Seems that the experience of fellow users here and elsewhere have confirmed this.

I first tried to make sure the wireless switch on the left side of the case was enabled, tried to reset the BIOS to defaults in the BIOS setups screens ... BUT, I could not get wifi enabled. "rfkill list" always showed hardware blocking. I tried resetting the BIOS settings many times, with the hardware switch in both positions (just in case there was an incorrect toggle orientation or something). No luck.

Lenovo release a BIOS update, but that route was un-appetizing because (1) it required windows, and (2) I was too risk averse to run it under WINE (yikes) and was not willing to install windows 7 just to attempt a risky-anyway BIOS flash.

I ended up just biting the bullet and removing the bunches of screws necessary to get at the CMOS battery. This worked. I wish there was another way, but for me, this was the only alternative to installing windows to fix the problem. As involved as it is, it saves a lot of time installing win, then re-installing linux.

the suspend workarround work fine here, but resetting bios doesnt work.
if it can work after suspend it should be posible to figure out the difference and aplying it at boot to get thise s10-3's working

armanda (armandian33) on 2011-04-18
Changed in linux (Ubuntu):
assignee: nobody → armanda (armandian33)
armanda (armandian33) on 2011-04-18
Changed in linux (Ubuntu):
assignee: armanda (armandian33) → nobody

I couldn't get the CMOS battery fix to work. When I first started having the issue, the wifi LED was always off, even before/during boot. After pulling the battery for a few minutes, the LED is now back on again (assuming that the switch is turned on), but rfkill still reports that phy0 is hard blocked.

I have a problem identical to seanneko, although seemingly slightly different to others here. Same ideapad s10-3, wireless worked fine for a while, until one day when I switched it off and it wouldn't come back on.

Rfkill listafter unblock all, shows:
ideapad_wlan: Wireless LAN
soft blocked: no
hard blocked: no

ideapad_Bluetooth: Bluetooth
soft blocked: no
hard blocked: no

phy0: Wireless LAN
soft blocked: no
hard blocked: yes

hci0: Wireless LAN
soft blocked: no
hard blocked: no

I can never get phy0 off hard blocked.

Interestingly, when I disable the bluetooth and wifi switch, hci0 disappears from rfkill list, but phy0 stays.

I cannot wake from suspend, this has been a long running issue, so consequently I cannot try the workaround.

same as sean, I removed the CMOS battery, and although this fixed the LED, which had broken at the same time as the wireless, phy0 is still obstinantly hardblocked.

Aran (aran-organicdesign) wrote :

Here's some pictures of the CMOS resetting procedure which may be of some help since it's quite intimidating for many users to attempt it :-)

http://www.organicdesign.co.nz/Lenovo_Ideapad_S10-3#Wifi_switch_problem

Guilherme (guipel) wrote :

I was having the same issues as everyone on this thread and found a solution:

1) Installed windows

2) installed atheros wireless network drive

3) Installed the energy management applicattion.

4) Hit Fn+F5

5) The wirelles wi-fi and bluetooth was turned OFF. I turned it ON.

6) Reboot on Linux. The step 5) made wi-fi and bluetooth becomes avaiable under ubuntu and other distros I was having trouble (fedora has
the same issue)

7) The wirelless hard-switch are functional and can be used with no problems.

I guess the management application is changing some bios configuration under windows and reflecting it on Linux where we dont have a way to FIX. I left a windows partition in case I need to change this for some reason.

Best Regards,
Guilherme

Guilherme's comment (#66) is confirmed to be a working solution to this issue. I too had the same issue on my Lenovo Ideapad S10-3 netbook. I first took the netbook apart to reset the CMOS as posted above in another fix but once booted in either Windows 7 or Ubuntu 11.04 , the wireless card would not work.

After installing the Windows 7 Broadcom Wireless LAN Driver and the Lenovo Energy Management driver, I rebooted (just as a good measure) and went back into windows and hit fn + f5 and selected "turn on".
By default, when the above drivers are installed, it may appear that the problem still exists which is where you will need to use the Fn + f5 to turn it back on.

After which I then booted into Ubuntu 11.04 and confirmed that the wireless did in fact work there as well.
Link to Lenovo Ideapad S10-3 driver page below:
http://123.127.211.194/us/en/DriversDownloads/drivers_list.aspx?CategoryID=686287

System: Lenovo Ideapad S10-3
Broadcom 4313 Chipset

Andy Lutomirski (luto-mit) wrote :

This happened to my nephew's laptop, and I tracked down the problem. Details are here:

http://www.spinics.net/lists/linux-acpi/msg32938.html

The attachment to that email is a Python script that restored wireless function on that laptop. Depending on your point of view, it could be more or less scary than pulling the battery.

*** WARNING: that script has magic numbers hardcoded. If I were you, I would check that your DSDT has the same magic numbers before you even think about running the script. ***

Hi.

I confirm this "erro" in HP-Compaq 2710p.

Ubuntu Lucid 10.04
Linux jgdu-laptop 2.6.32-32-generic #62-Ubuntu SMP Wed Apr 20 21:54:21 UTC 2011 i686 GNU/Linux

I fixed it:

1. Enter to BIOS Setup.
2. Select "Restore to default values".
3. Save and exit.

After this, wireless and bluetooth worked perfectly.

Hope this helps.

José Gregorio.

An update, I was going to give up and install windows to fix the problem, but on the way it started working again after installing openSUSE on a freshly formatted HD. I never installed windows, but now the problem has reoccurred about two months later. I never touched the wifi switch during that time.

It makes me want to smash the computer against a wall.

You can show the bios version, which is currently installed, by typing:

michael@ideapad:~$ sudo dmidecode -s bios-version
2ACN21WW

The current bios version which is available from Lenovo is: 2ACN37WW

Did anybody encounter these problems with bios version 2ACN37WW?
Is this a good BIOS version or does it still have some annoying bugs?

Any experiences with BIOS versions between 2ACN21WW and the newest available one are also highly appreciated.

Some people reported success with the "Reboot -> F2 -> F9 (load default BIOS settings) -> F10 (save & exit)" workaround.
With which bios version did that work?

I am currently looking for a way how to safely upgrade the BIOS without the need to install Windows.

The first thing I am going to try is to backup the currently installed BIOS.
Reading the BIOS image is unlikely to brick my netbook, but it is a first test, if accessing the BIOS image works well.

My first tries using a BartPE CD were not successful, because the WinPhlash utility shipped with the 2ACN37WW.exe file (MD5SUM: c510bc34109684289e8ec30079b6916c) from Lenovo could not find a file and exited.

If anybody here has a backup of 2ACN21WW, saved from WinPhlash started from Windows, please simply report the MD5SUM of the backup file.
This would be beneficial because then I could compare it with my results when I got a backup.

If that succeeds, I will consider to try upgrading to the newest version.

Erwin Villejo (erwinvillejo) wrote :

I have the version 2ACN37WW BIOS. Resetting BIOS setting to default doesn't fix the wifi problem. Also, wifi LED has been perpetually off, even after the suspend-then-wakeup workaround.

Erwin Villejo (erwinvillejo) wrote :

I just tried resetting the BIOS by detaching the CMOS battery (almost destroyed my keyboard in the process, I was so scared to pry it open). I did it twice just to make sure I didn't do it wrong the first time (I thought I didn't detach the CMOS battery long enough).

The solution didn't work for me. The BIOS *was* reset (system date and time was reset), but the hard block *wasn't* cleared.

Specs:
Lenovo S10-3
AR9285, ath9k driver
BIOS version 2ACN37WW
Arch Linux

Thank you for the information.

When wlan does not work with 2ACN37WW and even the suspend-workaround does not work, than installing this version seems not to be a good idea, so I am lucky now that my first try to install it failed.

I hope that lenovo will bring out a new version soon, which fixes the wlan problem.

Hi everybody,

More than one year has elapsed and Lenovo still neither brought a fix nor gave any feedback about that bug.

Current available bios is still 2ACN37WW from 2010-10-25 which does not solve the issue.

Therefore I invite everybody who is affected to motivate Lenovo to bring a fix for the issue:

 * Let Lenovo know about it: There are several ways to do so:
   * Use the feedback forms on the support page
   * Call lenovo support
   * Open a support ticket, if you have a lenovo support contract
   * You can submit a link to this ticket, this will give lenovo technicians important information to find the bug and solve it.
 * Use the "Affects me too" function in Launchpad.
   * Maybe Lenovo will have a look at this page and they wouldn't take this bug so seriously if only few people seem to be affected.

As there is no fix from Lenovo, maybe we can write a driver which can turn on WLAN in the CMOS-RAM.
To do that, we need more information about where the WLAN-flag is stored in the CMOS-RAM,
so let's gain more information about what is stored in the CMOS-RAM.

To do that, everybody's help is appreciated.
We need to collect nvram images of several laptops
and try to isolate the bytes responsible for activating/deactivating WLAN.
Thus it is beneficial if many people do these steps and attach their files with the additional information.

The CMOS-RAM is also called nvram and it's content can be read using the Linux nvram driver.
Some detailed information can be also found there:

http://www.pixelbeat.org/docs/bios/

To get more information of what is stored in the nvram,
we have to collect nvram images of several laptops, with the following state:

 - WLAN works normally.
 - WLAN does not work, but workaround works.
 - WLAN does not work at all.

Each nvram image should have information which bios version is installed,
as the information stored in the nvram might vary depending on the BIOS version.

To get an nvram image, you need the nvram driver which is part of the Linux kernel
and can be loaded as module.
When the module is loaded, there is a file /proc/driver/nvram which can easily be read.

michael@ideapad:/proc/driver$ ll
total 0
dr-xr-xr-x 2 root root 0 2012-06-28 21:25 pktcdvd
-r--r--r-- 1 root root 0 2012-06-28 21:25 rtc
-rw-r--r-- 1 root root 0 2012-06-28 21:25 snd-page-alloc
michael@ideapad:/proc/driver$ sudo modprobe nvram
[sudo] password for michael:
michael@ideapad:/proc/driver$ ll
total 0
-r--r--r-- 1 root root 0 2012-06-28 21:26 nvram
dr-xr-xr-x 2 root root 0 2012-06-28 21:26 pktcdvd
-r--r--r-- 1 root root 0 2012-06-28 21:26 rtc
-rw-r--r-- 1 root root 0 2012-06-28 21:26 snd-page-alloc

To get the BIOS version installed in that laptop:

michael@ideapad:/proc/driver$ sudo dmidecode -s bios-version
[sudo] password for michael:
2ACN21WW

As you now have the nvram driver loaded, you can create an nvram image:

michael@ideapad:/proc/driver$ cp nvram ~/nvram-2ACN21WW-2012-06-28-wlan-working-after-workaround.nvram
michael@ideapad:/proc/driver$ ll ~/nvram-2ACN21WW-2012-06-28-wlan-working-after-workaround.nvram
-r--r--r-- 1 michael michael 397 2012-06-28 21:28 /home/michael/nvram-2ACN21WW-2012-06-28-wlan-working-after-workaround.nvram

Please give the file a meaningful and unique filename, containing the Bios version and a short information if WLAN was working and attach it to the ticket.

If someone is going to do a CMOS-battery-reset, BIOS-update, etc., it would be nice to have the nvram image from before and after and some information about if WLAN was working before and after and if the workaround was useful.

Simon Déziel (sdeziel) wrote :

My Lenovo IdeaPad N585 (BIOS 6CCN14WW) is also affected by this on Precise.

Simon Déziel (sdeziel) wrote :

I had to resort installing Windows and the Energy Management software to toggle the *fake* hardware switch on. This setting sticks between reboots and I no longer have problem under Ubuntu. I'm not sure if that is the same bug affecting the S10-3 but that is a workaround I'd try since it worked on the N585.

Hi Simon and everybody else with Windows installed,

Could you please add an nvram-image for each setting, with the 'hardware' switch on and off?

Maybe we could figure out the bit that carries the 'hardware' switch setting and then toggle it directly from Linux.

Simon Déziel (sdeziel) wrote :

Hi Michael,

Unfortunately, there isn't much in the nvram proc file. Only this:

$ cat nvram-6CCN14WW-V1.01-2012-10-07-wlan-hard-block.nvram
Checksum status: valid
# floppies : 0
Floppy 0 type : none
Floppy 1 type : none
HD 0 type : ff
HD 1 type : ff
HD type 48 data: 49151/255/255 C/H/S, precomp 65535, lz 65535
HD type 49 data: 7/255/255 C/H/S, precomp 65535, lz 65535
DOS base memory: 640 kB
Extended memory: 64512 kB (configured), 64512 kB (tested)
Gfx adapter : EGA, VGA, ... (with BIOS)
FPU : installed

And the content is identical whatever is the state of the fake hardware switch:

$ diff -Naur nvram-6CCN14WW-V1.01-2012-10-07-wlan-hard-block.nvram nvram-6CCN14WW-V1.01-2012-10-07-wlan-working-after-enabling-in-windows.nvram

diff returns nothing.

Hi,

I have fooled myself. The proc file indeed just gives some status output. And I didn't open it in a text editor...

On http://www.pixelbeat.org/docs/bios/ it is written: "Note you may need to sudo modprobe nvram to make this device available on your linux system, and you can confirm the driver is loaded by the presence of the /proc/driver/nvram file which represents some legacy CMOS parameters." ... "one can copy the settings with the dd if=/dev/nvram of=nvram.saved command. If your other machines have exactly the same BIOS settings then it's trivial to copy them to the other machines with the dd of=/dev/nvram if=nvram.saved command."

To read out the nvram just do this with the /dev/nvram file (not /proc/driver/nvram !):

michael@ideapad:~/nvram$ sudo modprobe nvram
michael@ideapad:~/nvram$ sudo cat /dev/nvram > nvram
michael@ideapad:~/nvram$ ll
total 4
-rw-r--r-- 1 michael michael 114 2012-10-16 20:47 nvram
michael@ideapad:~/nvram$ less nvram
"nvram" may be a binary file. See it anyway?
michael@ideapad:~/nvram$ hexdump -C nvram
00000000 00 00 00 42 00 a2 03 79 02 00 fc 00 00 74 24 60 |...B...y.....t$`|
00000010 6e 23 20 42 98 47 12 20 30 04 c5 91 7e f9 03 e0 |n# B.G. 0...~...|
00000020 09 3e 00 fc 20 cc cf f9 01 00 00 06 ea e3 30 00 |.>.. .........0.|
00000030 00 60 3b f9 05 94 28 80 ca 06 0a 00 00 00 00 00 |.`;...(.........|
00000040 40 db 16 00 78 0a 92 ff ff 1f b0 00 07 f4 01 06 |@...x...........|
00000050 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000060 00 00 db 80 10 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000070

Looks better.

I have deleted the wrong file, I have attached before to avoid confusion.

Simon Déziel (sdeziel) wrote :

@Michael, I'll use the dd trick as soon as I get access to the affected system in question. This should be within 2 weeks. Thanks.

salman (salmanahmedtariq) wrote :

I am Also extremely Affected by this .hope Ubuntu will soon find the solution for this

Jani Nikula (jnikula) wrote :

I've had the stubborn hard blocked phy0 rfkill problem on a Lenovo s10-3t. Turning off the machine, removing the battery, unplugging the power cable, and pressing and holding the power button for 30-40 seconds to reset BIOS settings fixed it for me.

Source: http://blog.davidron.com/2012/03/lenovo-s10-3t-reset-trick.html

tags: added: precise
Marius B. Kotsbak (mariusko) wrote :

Tested daily Raring image without any more success.

tags: added: raring
tags: added: lucid

Michael Mess, thank you for reporting this and helping make Ubuntu better. Could you please provide your machine type (ex. 6047-22U)?

tags: added: needs-upstream-testing
removed: raring
tags: removed: precise
Changed in linux (Ubuntu):
status: Triaged → Incomplete
Changed in linux:
importance: Unknown → High
status: Unknown → Confirmed

The case label says:

Lenovo IdeaPad S10-3
Model name: 0647
Factory ID: CS20

Marius B. Kotsbak (mariusko) wrote :

Michael, please test the latest mainline kernel images at:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8-raring/

If it does not install, please test the newes ones for quantal or precise: http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D

summary: - Wireless and Bluetooth switch does not work correctly on lenovo ideapad
- s10-3
+ [Lenovo IdeaPad S10-3] Wireless and Bluetooth switch does not work
+ correctly on lenovo ideapad s10-3
description: updated
Marius B. Kotsbak (mariusko) wrote :

I see from changelog of Network manager 0.9.8.0: "• Better handling of various rfkill/Airplane Mode switches has been implemented;". Request to upgrade files as bug #1143996.

I have tested this with the current raring image (06.03.2013), but it has network manager 0.9.7.995+git201301311844.0376019-0ubuntu3 (I hope I typed all correct).

The problem is still that it has hardblocked phy0 which cannot be unlocked.

tags: added: raring
Changed in linux (Ubuntu):
status: Incomplete → Confirmed

I have retested with the raring daily build from yesterday with network manager 0.9.8 but still no success. WLAN still remains hardblocked and there is no way to change it.

Michael Mess, could you please test the latest upstream kernel available following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the kernel in the mainline kernels archive directory daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.9-rc7

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

If you are unable to test the mainline kernel, please comment as to why specifically you were unable to test it and add the following tags:
kernel-unable-to-test-upstream
kernel-unable-to-test-upstream-VERSION-NUMBER

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Marius B. Kotsbak (mariusko) wrote :

Same problem in 3.9.0 rc8.

tags: added: kernel-bug-exists-upstream-3.9.0-rc8
tags: added: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: removed: needs-upstream-testing
tags: added: bios-outdated-2acn37ww needs-upstream-testing
removed: kernel-bug-exists-upstream
tags: added: regression-updates
description: updated

Marius B. Kotsbak, if you have a bug in Ubuntu, the Ubuntu Kernel team, Ubuntu Bug Control team, and Ubuntu Bug Squad would like you to please file a new report by executing the following in a terminal:
ubuntu-bug linux

For more on this, please see the Ubuntu Kernel team article:
https://wiki.ubuntu.com/KernelTeam/KernelTeamBugPolicies#Filing_Kernel_Bug_reports

the Ubuntu Bug Control team and Ubuntu Bug Squad team article:
https://wiki.ubuntu.com/Bugs/BestPractices#X.2BAC8-Reporting.Focus_on_One_Issue

and Ubuntu Community article:
https://help.ubuntu.com/community/ReportingBugs#Bug_reporting_etiquette

When opening up the new report, please feel free to subscribe me to it.

Please note, not filing a new report would delay your problem being addressed as quickly as possible.

Thank you for your understanding.

Still pending test from https://bugs.launchpad.net/ubuntu/+source/linux/+bug/577114/comments/96 .

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: needs-bisect
tags: removed: kernel-bug-exists-upstream-3.9.0-rc8
Marius B. Kotsbak (mariusko) wrote :

I give up on this. I have reported the problem upstream, but no response yet.

Changed in linux:
importance: High → Undecided
status: Confirmed → New
To post a comment you must log in.