Ubuntu

Kernel 2.6.35-19 fails to boot Lenovo S10-3

Reported by Anil Seth on 2010-09-10
120
This bug affects 15 people
Affects Status Importance Assigned to Milestone
Linux
Fix Released
Undecided
Unassigned
Release Notes for Ubuntu
Undecided
Unassigned
Nominated for Trunk by Nosherwan
linux (Ubuntu)
Critical
Ike Panhc
Maverick
Critical
Ike Panhc

Bug Description

Given the nature of this issue, it seems appropriate to provide a release note regarding this issue. Subscribing ubuntu-release-notes to this bug and proposing the following release note text:

During the Maverick development cycle, support for the intel_idle driver was included in the Maverick kernel. The intent of intel_idle is to allow Linux to take better advantage of Intel hardware and make Linux more immune to ACPI BIOS bugs and shorcomings of the ACPI implementation itself. This unfortunately appears to have an adverse affect on Lenovo S10-3 systems (Intel Atom N450 processor) rendering them incapable of booting. There currently exists a workaround. If one passes "intel_idle.max_cstate=0" as a kernel paremeter at boot, this will disable intel_idle and allow the S10-3 to successfully boot.

=====

I updated Ubuntu 10.04 netbook edition to 10.10 beta.
The system hangs with 2.6.35-19 kernel at an early stage. There are no logs generated. The last few messages on the console are:
[ 2.692654] USB Mass storage support registered.
[ 2.693649] scsi2 : ahci
... scsi3 : ahci
... scsi4 : ahci
... ata1 : SATA max UDMA/133 abar ....irq 43
....ata2 : - as above -
... ata3: DUMMY
... ata4: DUMMY
[ 2.716847 Btrfs loaded

Hangs after that. Hard reset is needed.

However, it boots with the 2.6.32-24 kernel of 10.04.

I tried with the Kubuntu 10.10 desktop edition as well. Could not install it as the system hung at an early stage.

In case it helps, the 2.6.35 kernel with Arch Linux boots fine.

Ike Panhc (ikepanhc) wrote :

I have a S10-3 with me, will download the daily-build ISO and try the liveCD

Ike Panhc (ikepanhc) wrote :

I download the maverick daily-livecd and boot S10-3 with this way https://wiki.ubuntu.com/Kernel/Dev/MultipleISOBootUSBKey.
But it boot failed. Use the same way to boot Lenovo ideapad B550, it boot ok.

Will test more with older kernel.

Andy Whitcroft (apw) on 2010-09-10
Changed in linux (Ubuntu):
status: New → Confirmed
Ike Panhc (ikepanhc) wrote :

The kernel version in daily-livecd is "2.6.35-20-generic (buildd@roseapple) #29-Ubuntu SMP Fri Sep 3 14:49:14 UTC 2010"

Andy Whitcroft (apw) on 2010-09-10
summary: - Kernel 2.6.3519 fails to boot Lenovo S10-3
+ Kernel 2.6.35-19 fails to boot Lenovo S10-3
Ike Panhc (ikepanhc) wrote :

Maverick Alpha 3 ISO boot ok but both usb mouse/touchpanel is no function.

The kernel version in alpha 3 is 2.6.35-14-generic #19

Ike Panhc (ikepanhc) on 2010-09-10
Changed in linux (Ubuntu):
assignee: nobody → Ike Panhc (ikepanhc)
status: Confirmed → In Progress
importance: Undecided → Critical
Ike Panhc (ikepanhc) wrote :

Plan updated:

It was, using https://help.ubuntu.com/community/LiveCDCustomization to replace the linux-image deb and trying boot kernel from 2.6.35-14.19 to 2.6.35-20.29

But build iso image on my machine is such a nightmare..

So, I have tried to use maverick-lts kernel on lucid release (install the linux-maverick in ppa:kernel-ppa/ppa) and it halt like what description said. The older kernel on PPA is removed, so I am building all the backport kernel for lucid and will install them and take a try.

The following tags will be built and hope they can narrow down the commits we shall review again.

Ubuntu-lts-2.6.35-14.19
Ubuntu-lts-2.6.35-14.20
Ubuntu-lts-2.6.35-15.21
Ubuntu-lts-2.6.35-17.23
Ubuntu-lts-2.6.35-18.24
Ubuntu-lts-2.6.35-19.25
Ubuntu-lts-2.6.35-20.29

Ike Panhc (ikepanhc) wrote :

Ubuntu-lts-2.6.35-18.24 boots ok, but Ubuntu-lts-2.6.35-19.25 failed...

The followings is the changelog between .24 and .25

  [ Jarod Wilson ]

  * SAUCE: Bring in staging/lirc from 2.6.36
    - LP: #609234
  * SAUCE: Update ir-core to linuxtv/other which should be merged for
    2.6.36.
    - LP: #609234
  * SAUCE: Fix memleaks in imon and mceusb drivers
    - LP: #609234
  * SAUCE: Bring in streamzap support from linuxtv/other
    - LP: #609234

  [ Mario Limonciello ]

  * Remove ubuntu/lirc in favor of staging/lirc from 2.6.36
    - LP: #609234

  [ Mathieu J. Poirier ]

  * SAUCE: ARM: adding i2c eeprom driver to read EDID
    - LP: #608279

  [ Upstream Kernel Changes ]

  * intel_idle: disable module support
    - LP: #615265
  * (pre-stable) ALSA: hda - Ensure codec patch files are checked for the
    correct codec ID
  * (pre-stable) ALSA: hda - Rename iMic to Int Mic on Lenovo NB0763
    - LP: #605101
  * (pre-stable) ALSA: HDA: Use model=auto for LG R510
    - LP: #495134
  * (pre-stable) ALSA: HDA: Add Sony VAIO quirk for ALC269
    - LP: #519066
  * (pre-stable) ALSA: HDA: Fix front mic on Dell Precision M6500
    - LP: #519066
  * input: mt: Initialize slots to unused (rev2)
  * input: mt: Add support for the Bamboo Touch trackpad
  * hid: Add a hid quirk for input sync override

Ike Panhc (ikepanhc) wrote :

Next steps, Removing those upstream changes and build for testing

Ike Panhc (ikepanhc) wrote :

Can not boot after removing upstream changes. Will remove following commits and make another try

  * SAUCE: Bring in staging/lirc from 2.6.36
    - LP: #609234
  * SAUCE: Update ir-core to linuxtv/other which should be merged for
    2.6.36.
    - LP: #609234
  * SAUCE: Fix memleaks in imon and mceusb drivers
    - LP: #609234
  * SAUCE: Bring in streamzap support from linuxtv/other
    - LP: #609234
  * Remove ubuntu/lirc in favor of staging/lirc from 2.6.36
    - LP: #609234

Ike Panhc (ikepanhc) wrote :

After removing lirc commits, still can not boot..

Will checkout -19.25 and remove those commit one by one and try again

Ike Panhc (ikepanhc) wrote :

Removing all deltas between -18 and -19 but still can not boot...

The difference between can/cant boot has been narrowed down to the attachment

Ike Panhc (ikepanhc) wrote :

The followings shall be the major cause, will checkout -20 kernel and change the config for double confirm

diff --git a/debian.maverick/config/config.common.ubuntu b/debian.maverick/config/config.common.ubuntu
index 8cd29d3..86962b4 100644
--- a/debian.maverick/config/config.common.ubuntu
+++ b/debian.maverick/config/config.common.ubuntu
@@ -1972,7 +1972,7 @@ CONFIG_INPUT_WISTRON_BTNS=m
 CONFIG_INPUT_WM831X_ON=m
 CONFIG_INPUT_YEALINK=m
 CONFIG_INSTRUCTION_DECODER=y
-CONFIG_INTEL_IDLE=m
+CONFIG_INTEL_IDLE=y
 CONFIG_INTEL_IOATDMA=m
 CONFIG_INTEL_IPS=m
 CONFIG_INTEL_MENLOW=m

Ike Panhc (ikepanhc) wrote :

I believe CONFIG_INTEL_IDLE is the root cause. Checkout lts-2.6.35-20.29 kernel and let CONFIG_INTEL_IDLE unchecked. Rebuild the kernel and s10-3 boots ok.

Ike Panhc (ikepanhc) wrote :

Cherry-pick all intel_idle commit from mainline kernel can not fix the problem...

commit 5aab4846d7d0a5f073588dfae6df25d97e3092ad
Author: Arjan van de Ven <email address hidden>
Date: Wed Jul 21 23:42:25 2010 -0400

commit aca8bca0e821bc4984d4ae18eb153382c6640322
Author: Len Brown <email address hidden>
Date: Mon Jul 26 23:40:19 2010 -0400

commit 3b2684d4d26a87810863357ae0c957e88a65780c
Author: Len Brown <email address hidden>
Date: Fri Jul 23 16:04:46 2010 -0400

commit 7f12d8df76eca15c3a5f82f2c0e5785116ce913f
Author: Len Brown <email address hidden>
Date: Fri May 28 02:22:03 2010 -0400

Ike Panhc (ikepanhc) wrote :

The following commits are cherry-picked for update intel_idle

commit 5aab4846d7d0a5f073588dfae6df25d97e3092ad
Author: Arjan van de Ven <email address hidden>
Date: Wed Jul 21 23:42:25 2010 -0400

    intel_idle: recognize Lincroft Atom Processor

commit aca8bca0e821bc4984d4ae18eb153382c6640322
Author: Len Brown <email address hidden>
Date: Mon Jul 26 23:40:19 2010 -0400

    intel_idle: add support for Westmere-EX

commit 3b2684d4d26a87810863357ae0c957e88a65780c
Author: Len Brown <email address hidden>
Date: Fri Jul 23 16:04:46 2010 -0400

    intel_idle: delete power_policy modparam, and choose substate functions

    The idea behind power policy was that it would start off as a modparam,
    and then hook into the new "global" in-kernel power vs energy tunable.
    But that tunable isn't happening, so delete the hook here.

    With the policy hook gone, the sub-state choice functions
    do not do anything useful, so delete them from the critical path.

    To handle sub-states in the future, we will advertise them
    with dedicated cpuidle_state entries. That is necessary
    because some of the sub-states will have substantially different
    properties than their peer sub-states.

commit 7f12d8df76eca15c3a5f82f2c0e5785116ce913f
Author: Len Brown <email address hidden>
Date: Fri May 28 02:22:03 2010 -0400

    intel_idle: delete substates DEBUG modparam

Ike Panhc (ikepanhc) wrote :

After few test again, I guess its not intel_idle halt the machind.
After intel_idle set to build-in the acpi_idle will not loaded, and system halt because acpi_idle is not loaded.

I boot the machine with 2.6.35-18 kernel and try to insert intel_idle.ko. It failed and dmesg told me intel_idle yielded to acpi_idle.
I try acpi=off in boot parameter, and system halt.

igorsh (ishipenkov) wrote :

I think I have same problem. Netbook is different - Clevo M815P - but it is based on same platform: Intel Atom N450 + Intel NM10.
When I boot with "acpi=off" everything ok, but without this parameter system freeze on boot.
Now I install kernel 2.6.35-22-generic from repository and problem still exist.

Hi Ike,

I noticed a similar bug 643045 which sounds like a duplicate of this one. They noted they were able to boot with the mainline v2.6.35.3 stable kernel, but are unable to boot with v.2.6.35.4. Not sure if you notice the same results? It might help narrow down the point of regression.

Ike Panhc (ikepanhc) wrote :

Hi,

We have some test today and find out that add "intel_idle.max_cstate=0" will disable intel_idle and let system S10-3 boot ok.

Ike Panhc (ikepanhc) wrote :

append "intel_idle.max_cstate=0" to kernel parameter

Anil Seth (seth-anil) wrote :

Thanks. Adding the above option worked (on 2.6.35-22).

igorsh (ishipenkov) wrote :

this option worked for my netbook too

description: updated
bkrzem (bkrzem) wrote :

appending "intel_idle.max_cstate=0" also helped on Toshiba NB 200 netbook (Atom N270). It used to pause several times during boot and continued only after a key was pressed. Tt was like that since upgrading the kernel to 2.6.35-19 . Now it boots without assistance. Thanks!

Mario Fischer (mario-fischer) wrote :

I reported this to the MeeGo team here:

http://bugs.meego.com/show_bug.cgi?id=7093

They provide a patch now rather than a workaround. Btw. using "intel_idle.max_cstate=0" is not the best solution because it is a fallback from intel_idle to acpi_idle.

Ike Panhc (ikepanhc) wrote :

I can confirm the patch let maverick kernel boots fine on Lenovo S10-3

I upload the kernel image, patch and source code to http://people.ubuntu.com/ikepanhc/lp/634702

Ike Panhc (ikepanhc) wrote :

Will have the patch for maverick send to mailing list for review.

Ike Panhc (ikepanhc) wrote :

I rebuild and upload kernel-image to http://people.ubuntu.com/~ikepanhc/lp/634702

2.6.35-22 kernel build with lastest git tag for maverick and 2.6.35-99 kernel build with patch. -99 kernel boots ok but -22 is not.

Paul Hirst (paul-hirst) wrote :

I tried the 2.6.35-99-generic kernel from the above location (in comment #27). It doesn't seem to fix the problem on my Toshiba NB300. (Which is a N450 - NM10 style of hardware)

Magnus Kulke (magnus-kulke) wrote :

i tried the patched kernel (-99) on my lenovo s10-3 and it does boot without the intel_idle flag.

igorsh (ishipenkov) wrote :

my netbook (clevo m815p) work well with patched kernel too.
maybe toshiba nb300 has problem from this bug and something other.

Paul Hirst (paul-hirst) wrote :

Maybe the Toshiba is a different problem. I have updated my original bug 638434 accordingly. I had high hopes for the above fix but unfortunately it's not the answer in my case.

Ike Panhc (ikepanhc) wrote :

https://lists.ubuntu.com/archives/kernel-team/2010-September/013003.html

patch has been applied on maverick git kernel tree and proposed for 0-day kernel upload (bug 647071)

Changed in linux (Ubuntu):
status: In Progress → Fix Committed
psychok7 (nunok7) wrote :

how do i pass it as a kernel parameter?? during boot?? or i have to edit some kind of file?i have a nb200

Len Brown (len-brown) wrote :

commit 4731fdcf6f7bdab3e369a3f844d4ea4d4017284d
Author: Len Brown <email address hidden>
Date: Fri Sep 24 21:02:27 2010 -0400

    intel_idle: PCI quirk to prevent Lenovo Ideapad s10-3 boot hang

shipped in upstream linux-2.6.36-rc6-git2

psychok7 (nunok7) wrote :

tried upgrading to maverick RC and i am having problems with boot speed.

i read the solution but i cant seem to apply them. first
what is boot parameters? i try adding this line when the boot drops to a shell or something. but it says /bin/sh: intel_idle.max_cstate=0 not found..

please help

Magnus Kulke (magnus-kulke) wrote :

@psychok7:

"sudo gedit /etc/default/grub", change the line

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=0"

then save and run "sudo update-grub"

Ike Panhc (ikepanhc) wrote :

and for liveCD

When booting, after BIOS, press ESC to enter syslinux prompt.

type "live intel_idle.max_cstate=0", press Enter.

Ike Panhc (ikepanhc) wrote :

After install successfully, the first rebooting, press "left shift" after BIOS and enter grub prompt.

Press "e" edit boot parameter, append intel_idle.max_cstate=0 after splash, and press "ctrl-x" to boot.

Changed in ubuntu-release-notes:
status: New → Fix Released

Accepted linux into maverick-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
psychok7 (nunok7) wrote :

@Ike Panhc its not working for some reason after i append intel_idle.max_cstate=0 i press CTRL-X and is goes back to initramfs. when i reboot its not there anymore.. for some reason its not saving the intel_idle.max_cstate=0.. what else should i do?

Sunner Sun (sunner) wrote :

Lenovo Ideapad S12, atom N270 works well after appending "intel_idle.max_cstate=0"

Wousser (wousser) wrote :

Workaround posted in nr 37 not working here.
Laptop: Lenovo S10-3
Cd: Ubuntu 10.10 final desktop.

booting using "live intel_idle.max_cstate=1" results in the system rebooting after 30 seconds. The same behavior when omitting the argument.

Wousser (wousser) wrote :

I made a typo in this comment. I used the argument: "live intel_idle.max_cstate=0"

Steffen (lassahn) wrote :

First I tried the kernel parameter (works) and then I installed the update to the kernel from proposed as described in #39 and now my Lenovo S10-3 boots. "uname -v" shows as the version of the kernel #34-ubuntu.

Liviu Beraru (beraru-liviu) wrote :

Using a Lenovo S12 (not S10) with an Intel Atom N270 CPU: after upgrading today from Lucid to the new release version, the system refused to boot, so I did a fresh install of the release version. The system would not boot either, so I did what you sugested here in posts 36 and 38. Now the system boots. So this workaround is not integrated in the downloadable version of Kubuntu.

Anil Seth (seth-anil) wrote :

Thanks. I can boot the Lenovo S10-3 using linux-image-2.6.35-22.34 from the proposed repository without needing to specify
intel_idle.max_cstate=0

Anil

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.35-22.34

---------------
linux (2.6.35-22.34) maverick-proposed; urgency=low

  [ John Johansen ]

  * SAUCE: Return correct error code for mediated network connections
    - LP: #647071

  [ Upstream Kernel Changes ]

  * irda: Correctly clean up self->ias_obj on irda_bind() failure.
    - CVE-2010-2954
  * wireless extensions: fix kernel heap content leak
    - CVE-2010-2955
  * KEYS: Fix RCU no-lock warning in keyctl_session_to_parent()
    - CVE-2010-2960
  * KEYS: Fix bug in keyctl_session_to_parent() if parent has no session
    keyring
    - CVE-2010-2960
  * ALSA: seq/oss - Fix double-free at error path of snd_seq_oss_open()
    - CVE-2010-3080
  * intel_idle: PCI quirk to prevent Lenovo Ideapad s10-3 boot hang
    - LP: #634702
  * drm/i915: Rephrase pwrite bounds checking to avoid any potential
    overflow
    - CVE-2010-2962
  * drm/i915: Skip pread/pwrite if size to copy is 0.
    - CVE-2010-2962
  * drm/i915: Sanity check pread/pwrite
    - CVE-2010-2962
  * Fix pktcdvd ioctl dev_minor range check
    - CVE-2010-3437
  * Fix out-of-bounds reading in sctp_asoc_get_hmac()
    - CVE-2010-3705
  * ocfs2: Don't walk off the end of fast symlinks.
    - CVE-2010-NNN2
 -- Leann Ogasawara <email address hidden> Mon, 20 Sep 2010 08:36:53 -0700

Changed in linux (Ubuntu Maverick):
status: Fix Committed → Fix Released
Martin Pitt (pitti) wrote :

copied to maverick-security, -updates, and natty.

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Ike Panhc (ikepanhc) wrote :

@psychok7, if boot failed and enter initramfs, that shall be other issue, I have a machine with this problem (ahci not loaded automatically), and trying to find out why.

Ike Panhc (ikepanhc) wrote :

I fix the ahci not loaded when initramfs without knowing why.

Just rebuild initrd by "sudo update-initramfs -k 2.6.35-22-generic -u"

Tetsuo6995 (tetsuo6995) wrote :

I tried this fix for the similar bug : Bug #657990
Sadly this didn't worked.

Looks like it's a very similar issue concerning that idle driver but not fixable using the same methods :(

I tried the "proposed" kernel without success and manually adding the parameter to the kernel boot didn't worked either :(

I can't use my netbook anymore, how sad...

bkrzem (bkrzem) wrote :

I have just updated kernel package to 2.6.35-22.34, removed the intel_idle.max_cstate=0 from grub options and ran 'sudo update-grub2'. The boot still hangs until any key is pressed (see my comment #22) so the new kernel does not seem to fix the problem with Toshiba NB200 netbook. The machine boots fine when I add intel_idle.max_cstate=0 back to the grub options.

Tetsuo6995 (tetsuo6995) wrote :

So it's "sudo update-grub" or "sudo update-grub2" on a freshly installed Ubuntu 10.10 Netbook edition ?

Thanks for your help :)

bkrzem (bkrzem) wrote :

according to 'update-grub2' manual, it is a stub for 'update-grub', so runing any of them should be fine. My system is not a netbook edition; it was installed from alternate CD and is pretty minimal (openbox for GUI, no gdm, no gnome/kde, no pulseaudio etc..)

Starjana (thomas-velde) wrote :

Turn hyperthreading off in your bios, then u will be to boot normal in ubuntu I think?

Tetsuo6995 (tetsuo6995) wrote :

Won't turning hyperthreading off reduce the performance ?

By the way my problem is not really booting on toshiba NB200 but more the bug happening after boot.
Still found no way to prevent the system to freeze everytime i don't touch the touchpad...

Starjana (thomas-velde) wrote :

Yeah the performance wil drop, but for an atom it's not a huge problem.

Changed in linux (Ubuntu Maverick):
milestone: none → maverick-updates

I have a Lenovo s10e, which has always booted just fine since I upgraded it to Maverick a few weeks ago. However after the latest kernel update (to 2.6.35-22.34) suspend isn't working anymore. When trying to resume from suspend, the device is frozen with a pitch black display (it's not just a backlight problem, as it used to be in Lucid). Hibernate works, but is too slow with full disk encryption to be of any actual use.

Could this be in any way related to the latest kernel changes for the s10-3? Or is this a different problem? If so, could somebody please point me to a pertinent bug report? I have of course searched Launchpad for recent suspend issues, of which there are quite a few, but none of them seems to reflect the situation on my Lenovo s10e. Thanks!

Anil Seth (seth-anil) wrote :

I tried the 2.6.36 kernel on S10-3 and found that the system boots without needing intel_idle.max_cstate=0.
However, if the netbook is suspended, it does not resume unless intel_idle.max_cstate=0 is present as a kernel option.
The image used was: linux-image-2.6.36-02063601-generic_2.6.36-02063601.201011231330_i386.deb

psychok7 (nunok7) wrote :

if the fix is released how come when i try to fresh install (and choose to update before restarting) i still get the same problem on my NB200 ?

turbolad (turbolad995) wrote :

What about users of Ubuntu 10.04 - like me - who are having this same problem? I've tried the intel_idle.max_cstate=0 solution, but it does not work on my NB30. :(

Ike Panhc (ikepanhc) wrote :

There is no such issue on 10.04.. I believe its different issue.

Ike Panhc (ikepanhc) wrote :

forget to update the tag. I am using maverick-update kernel on ideapad S10-3 and it works fine.

tags: added: verification-done
removed: verification-needed
Ike Panhc (ikepanhc) wrote :

This patch has been merged into upstream kernel

Changed in linux:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

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