Bug 118401 - Lenovo A740 gave up waiting for root device with kernels >= 4.3
Summary: Lenovo A740 gave up waiting for root device with kernels >= 4.3
Status: NEW
Alias: None
Product: File System
Classification: Unclassified
Component: ext4 (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: fs_ext4@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-18 11:41 UTC by Kevin Brubeck Unhammer
Modified: 2016-06-06 07:27 UTC (History)
2 users (show)

See Also:
Kernel Version: 4.3
Subsystem:
Regression: No
Bisected commit-id:


Attachments
kernel config 4.3.0-040300-generic (181.57 KB, text/plain)
2016-05-19 08:40 UTC, Kevin Brubeck Unhammer
Details
kernel config 4.6.0-040600rc6-generic (189.48 KB, text/plain)
2016-05-19 08:42 UTC, Kevin Brubeck Unhammer
Details
kernel config 4.2.8-040208-generic (179.50 KB, text/plain)
2016-05-19 08:43 UTC, Kevin Brubeck Unhammer
Details
phone-image of output from initramfs-script (1.96 MB, image/jpeg)
2016-06-01 18:53 UTC, Kevin Brubeck Unhammer
Details
dmesg from 4.2.0-35-generic (79.48 KB, text/plain)
2016-06-02 10:28 UTC, Kevin Brubeck Unhammer
Details
phone-image of initramfs-script w/ahci, scsi dmesg's, 4.6 (2.24 MB, image/jpeg)
2016-06-03 19:03 UTC, Kevin Brubeck Unhammer
Details
phone-image of initramfs-script w/ahci, scsi dmesg's, 4.4 signed (1.80 MB, image/jpeg)
2016-06-03 19:04 UTC, Kevin Brubeck Unhammer
Details
phone-image of initramfs-script w/ahci, scsi dmesg's, 4.2.8 (the working one) (1.88 MB, image/jpeg)
2016-06-03 19:07 UTC, Kevin Brubeck Unhammer
Details
phone-image of initramfs-script w/libata dmesg's, modprobe ahci, 4.6 (2.61 MB, image/jpeg)
2016-06-04 22:05 UTC, Kevin Brubeck Unhammer
Details
phone-image initramfs "grep ahci /proc/modules" 4.6 where ahci in etc modules (1.64 MB, image/jpeg)
2016-06-05 11:12 UTC, Kevin Brubeck Unhammer
Details
phone-image initramfs "grep ahci /proc/modules" 4.6 withOut ahci in etc modules (1.62 MB, image/jpeg)
2016-06-05 11:14 UTC, Kevin Brubeck Unhammer
Details
BIOS showing AHCI mode (1.69 MB, image/jpeg)
2016-06-05 13:43 UTC, Kevin Brubeck Unhammer
Details
phone-image initramfs 4.7 (1.85 MB, image/jpeg)
2016-06-06 07:27 UTC, Kevin Brubeck Unhammer
Details

Description Kevin Brubeck Unhammer 2016-05-18 11:41:03 UTC
(I posted at http://permalink.gmane.org/gmane.linux.kernel/2219523 but received no reply, so as per instructions from https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1574178/comments/23 I'm opening a bug report here. I do not know what Component this bug belongs in, so I took a wild guess, sorry if it's completely wrong.)


[2.] Full description of the problem/report:

I have a Lenovo A740 (running Xubuntu 16.04) which, with kernel
versions >= 4.3, gives this on trying to boot:

  Begin: Waiting for root file system ... Begin: Running
  /scripts/local-block ... done.
  Begin: Running /scripts/local-block ... done.
  Begin: Running /scripts/local-block ... done.
  […]
  done.
  Gave up waiting for root device. 

and drops me into an (initramfs) shell, where my keyboard is
unresponsive. Images of the screen are at:
https://launchpadlibrarian.net/255781725/dropping.jpg
https://launchpadlibrarian.net/255781692/drop.jpg

It boots fine with earlier kernels, e.g. 4.2.0. After trying various
packages from http://kernel.ubuntu.com/~kernel-ppa/mainline/ it seems
anything 4.3 or higher gives the issue, while
linux-image-4.2.8-040208-generic_4.2.8-040208.201512150620_amd64.deb is
the highest version that I can get to boot.

I've filed an Ubuntu bug report at
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1574178 and was
asked to move the issue upstream.

[3.] Keywords (i.e., modules, networking, kernel):

filesystem maybe?

[4.] Kernel version (from /proc/version):

linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
or higher

[5.] Output of Oops.. message (if applicable) with symbolic information 
     resolved (see Documentation/oops-tracing.txt)
[6.] A small shell script or example program which triggers the
     problem (if possible)
[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)

I guess scripts/ver_linux isn't of much use since I can't boot 4.3 or
higher anyway, but here it is just in case:


$ sh scripts/ver_linux
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
 
Linux storepadda 4.2.0-35-generic #40-Ubuntu SMP Tue Mar 15 22:15:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
 
GNU C                   5.3.1
GNU Make                4.1
Binutils                2.26
Util-linux              2.27.1
Mount                   2.27.1
Module-init-tools       22
E2fsprogs               1.42.13
Pcmciautils             018
PPP                     2.4.7
Linux C Library         2.23
Dynamic linker (ldd)    2.23
Linux C++ Library       6.0.21
Procps                  3.3.10
Net-tools               1.60
Kbd                     1.15.5
Console-tools           1.15.5
Sh-utils                8.25
Udev                    229
Wireless-tools          30
Modules Loaded          8723au ablk_helper aesni_intel aes_x86_64 ahci autofs4 binfmt_misc btrfs cfg80211 coretemp crc32_pclmul crct10dif_pclmul cryptd drm drm_kms_helper gf128mul glue_helper hid hid_generic hid_logitech_dj hid_logitech_hidpp hid_multitouch i2c_algo_bit i915 input_leds intel_powerclamp intel_rapl joydev kvm libahci lp lpc_ich lrw mac_hid media mei mei_me memstick mii nls_iso8859_1 parport parport_pc ppdev psmouse r8169 raid6_pq rtsx_pci rtsx_pci_ms rtsx_pci_sdmmc serio_raw shpchp snd snd_hda_codec snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_core snd_hda_intel snd_hwdep snd_pcm snd_rawmidi snd_seq snd_seq_device snd_seq_midi snd_seq_midi_event snd_timer soundcore ttm uas usbhid usb_storage uvcvideo v4l2_common video videobuf2_core videobuf2_memops videobuf2_vmalloc videodev x86_pkg_temp_thermal xor

[7.2.] Processor information (from /proc/cpuinfo):

(from running 4.2)

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 69
model name	: Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz
stepping	: 1
microcode	: 0x17
cpu MHz		: 1189.453
cache size	: 4096 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs		:
bogomips	: 5586.93
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 69
model name	: Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz
stepping	: 1
microcode	: 0x17
cpu MHz		: 1154.234
cache size	: 4096 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs		:
bogomips	: 5586.93
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 2
vendor_id	: GenuineIntel
cpu family	: 6
model		: 69
model name	: Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz
stepping	: 1
microcode	: 0x17
cpu MHz		: 860.562
cache size	: 4096 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 2
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs		:
bogomips	: 5586.93
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

processor	: 3
vendor_id	: GenuineIntel
cpu family	: 6
model		: 69
model name	: Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz
stepping	: 1
microcode	: 0x17
cpu MHz		: 1000.015
cache size	: 4096 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 2
apicid		: 3
initial apicid	: 3
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs		:
bogomips	: 5586.93
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:


[7.3.] Module information (from /proc/modules):

(from running 4.2)

uas 24576 0 - Live 0x0000000000000000
usb_storage 69632 1 uas, Live 0x0000000000000000
cfg80211 557056 0 - Live 0x0000000000000000
binfmt_misc 20480 1 - Live 0x0000000000000000
nls_iso8859_1 16384 1 - Live 0x0000000000000000
snd_hda_codec_realtek 86016 1 - Live 0x0000000000000000
snd_hda_codec_generic 77824 1 snd_hda_codec_realtek, Live 0x0000000000000000
snd_hda_codec_hdmi 49152 1 - Live 0x0000000000000000
uvcvideo 90112 0 - Live 0x0000000000000000
videobuf2_vmalloc 16384 1 uvcvideo, Live 0x0000000000000000
videobuf2_memops 16384 1 videobuf2_vmalloc, Live 0x0000000000000000
snd_hda_intel 36864 5 - Live 0x0000000000000000
snd_hda_codec 135168 4 snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel, Live 0x0000000000000000
videobuf2_core 49152 1 uvcvideo, Live 0x0000000000000000
snd_hda_core 65536 5 snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec, Live 0x0000000000000000
intel_rapl 20480 0 - Live 0x0000000000000000
x86_pkg_temp_thermal 16384 0 - Live 0x0000000000000000
intel_powerclamp 16384 0 - Live 0x0000000000000000
coretemp 16384 0 - Live 0x0000000000000000
snd_hwdep 16384 1 snd_hda_codec, Live 0x0000000000000000
v4l2_common 16384 1 videobuf2_core, Live 0x0000000000000000
videodev 172032 3 uvcvideo,videobuf2_core,v4l2_common, Live 0x0000000000000000
snd_pcm 106496 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core, Live 0x0000000000000000
media 24576 2 uvcvideo,videodev, Live 0x0000000000000000
8723au 897024 0 - Live 0x0000000000000000 (OE)
snd_seq_midi 16384 0 - Live 0x0000000000000000
snd_seq_midi_event 16384 1 snd_seq_midi, Live 0x0000000000000000
hid_multitouch 20480 0 - Live 0x0000000000000000
joydev 20480 0 - Live 0x0000000000000000
snd_rawmidi 32768 1 snd_seq_midi, Live 0x0000000000000000
kvm 516096 0 - Live 0x0000000000000000
snd_seq 69632 2 snd_seq_midi,snd_seq_midi_event, Live 0x0000000000000000
crct10dif_pclmul 16384 0 - Live 0x0000000000000000
snd_seq_device 16384 3 snd_seq_midi,snd_rawmidi,snd_seq, Live 0x0000000000000000
crc32_pclmul 16384 0 - Live 0x0000000000000000
snd_timer 32768 2 snd_pcm,snd_seq, Live 0x0000000000000000
mei_me 36864 0 - Live 0x0000000000000000
input_leds 16384 0 - Live 0x0000000000000000
rtsx_pci_ms 20480 0 - Live 0x0000000000000000
mac_hid 16384 0 - Live 0x0000000000000000
memstick 20480 1 rtsx_pci_ms, Live 0x0000000000000000
aesni_intel 167936 0 - Live 0x0000000000000000
mei 98304 1 mei_me, Live 0x0000000000000000
snd 81920 21 snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_seq_device,snd_timer, Live 0x0000000000000000
shpchp 36864 0 - Live 0x0000000000000000
serio_raw 16384 0 - Live 0x0000000000000000
aes_x86_64 20480 1 aesni_intel, Live 0x0000000000000000
lrw 16384 1 aesni_intel, Live 0x0000000000000000
gf128mul 16384 1 lrw, Live 0x0000000000000000
glue_helper 16384 1 aesni_intel, Live 0x0000000000000000
ablk_helper 16384 1 aesni_intel, Live 0x0000000000000000
soundcore 16384 1 snd, Live 0x0000000000000000
lpc_ich 24576 0 - Live 0x0000000000000000
cryptd 20480 2 aesni_intel,ablk_helper, Live 0x0000000000000000
parport_pc 32768 0 - Live 0x0000000000000000
ppdev 20480 0 - Live 0x0000000000000000
lp 20480 0 - Live 0x0000000000000000
parport 49152 3 parport_pc,ppdev,lp, Live 0x0000000000000000
autofs4 40960 2 - Live 0x0000000000000000
btrfs 978944 0 - Live 0x0000000000000000
xor 24576 1 btrfs, Live 0x0000000000000000
raid6_pq 102400 1 btrfs, Live 0x0000000000000000
hid_generic 16384 0 - Live 0x0000000000000000
hid_logitech_hidpp 20480 0 - Live 0x0000000000000000
hid_logitech_dj 20480 0 - Live 0x0000000000000000
usbhid 49152 0 - Live 0x0000000000000000
hid 118784 6 hid_multitouch,hid_generic,hid_logitech_hidpp,hid_logitech_dj,usbhid, Live 0x0000000000000000
rtsx_pci_sdmmc 24576 0 - Live 0x0000000000000000
i915 1134592 5 - Live 0x0000000000000000
video 40960 1 i915, Live 0x0000000000000000
ttm 94208 0 - Live 0x0000000000000000
rtsx_pci 53248 2 rtsx_pci_ms,rtsx_pci_sdmmc, Live 0x0000000000000000
psmouse 126976 0 - Live 0x0000000000000000
i2c_algo_bit 16384 1 i915, Live 0x0000000000000000
drm_kms_helper 131072 1 i915, Live 0x0000000000000000
r8169 81920 0 - Live 0x0000000000000000
mii 16384 1 r8169, Live 0x0000000000000000
drm 356352 7 i915,ttm,drm_kms_helper, Live 0x0000000000000000
ahci 36864 3 - Live 0x0000000000000000
libahci 32768 1 ahci, Live 0x0000000000000000


[7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)

(from running 4.2)

/proc/ioports:
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0071 : rtc_cmos
  0070-0071 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0cf8-0cff : PCI conf1
1800-1803 : ACPI PM1a_EVT_BLK
1804-1805 : ACPI PM1a_CNT_BLK
1808-180b : ACPI PM_TMR
1830-1833 : iTCO_wdt.0.auto
1850-1850 : ACPI PM2_CNT_BLK
1860-187f : iTCO_wdt.0.auto
1880-189f : ACPI GPE0_BLK
3000-3fff : PCI Bus 0000:08
  3000-307f : 0000:08:00.0
4000-4fff : PCI Bus 0000:02
5000-5fff : PCI Bus 0000:01
  5000-50ff : 0000:01:00.0
    5000-50ff : r8169
6000-603f : 0000:00:02.0
6040-605f : 0000:00:1f.3
6060-607f : 0000:00:1f.2
  6060-607f : ahci
6080-6087 : 0000:00:1f.2
  6080-6087 : ahci
6088-608f : 0000:00:1f.2
  6088-608f : ahci
6090-6093 : 0000:00:1f.2
  6090-6093 : ahci
6094-6097 : 0000:00:1f.2
  6094-6097 : ahci

/proc/iomem:
00000000-00000fff : reserved
00001000-00057fff : System RAM
00058000-00058fff : reserved
00059000-00085fff : System RAM
00086000-0009ffff : reserved
000f0000-000fffff : System ROM
00100000-9a4cefff : System RAM
  02000000-027fdddc : Kernel code
  027fdddd-02f35d3f : Kernel data
  030ad000-031effff : Kernel bss
9a4cf000-9a6cefff : reserved
9a6cf000-9aebefff : reserved
9aebf000-9afbefff : ACPI Non-volatile Storage
9afbf000-9affefff : ACPI Tables
9afff000-9affffff : System RAM
9b000000-9b9fffff : RAM buffer
9ba00000-9f9fffff : reserved
  9ba00000-9f9fffff : Graphics Stolen Memory
a0000000-b1ffffff : PCI Bus 0000:08
  a0000000-afffffff : 0000:08:00.0
  b0000000-b1ffffff : 0000:08:00.0
b2000000-b2ffffff : PCI Bus 0000:02
b3000000-b3ffffff : PCI Bus 0000:08
  b3000000-b3ffffff : 0000:08:00.0
b4000000-b4ffffff : PCI Bus 0000:02
  b4000000-b4000fff : 0000:02:00.0
    b4000000-b4000fff : rtsx_pci
b5000000-b53fffff : 0000:00:02.0
b5400000-b54fffff : PCI Bus 0000:01
  b5400000-b5403fff : 0000:01:00.0
    b5400000-b5403fff : r8169
b5500000-b55fffff : PCI Bus 0000:01
  b5500000-b5500fff : 0000:01:00.0
    b5500000-b5500fff : r8169
b5600000-b560ffff : 0000:00:14.0
  b5600000-b560ffff : xhci-hcd
b5610000-b5613fff : 0000:00:03.0
  b5610000-b5613fff : ICH HD audio
b5614000-b5617fff : 0000:00:1b.0
  b5614000-b5617fff : ICH HD audio
b5618000-b56187ff : 0000:00:1f.2
  b5618000-b56187ff : ahci
b5619000-b56193ff : 0000:00:1d.0
b561a000-b561a0ff : 0000:00:1f.3
b561b000-b561b01f : 0000:00:16.0
  b561b000-b561b01f : mei_me
c0000000-cfffffff : 0000:00:02.0
e00f8000-e00f8fff : reserved
fec00000-fec003ff : IOAPIC 0
fed00000-fed003ff : HPET 0
fed1c000-fed1ffff : reserved
  fed1f410-fed1f414 : iTCO_wdt.0.auto
fee00000-fee00fff : Local APIC
ffb00000-ffffffff : reserved
100000000-25f5fffff : System RAM
25f600000-25fffffff : RAM buffer


[7.5.] PCI information ('lspci -vvv' as root)

(from running 4.2)

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
	Subsystem: Lenovo Haswell-ULT DRAM Controller
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
	Latency: 0
	Capabilities: [e0] Vendor Specific Information: Len=0c <?>
	Kernel driver in use: hsw_uncore

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
	Subsystem: Lenovo Haswell-ULT Integrated Graphics Controller
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 47
	Region 0: Memory at b5000000 (64-bit, non-prefetchable) [size=4M]
	Region 2: Memory at c0000000 (64-bit, prefetchable) [size=256M]
	Region 4: I/O ports at 6000 [size=64]
	Expansion ROM at <unassigned> [disabled]
	Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0200c  Data: 41b1
	Capabilities: [d0] Power Management version 2
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [a4] PCI Advanced Features
		AFCap: TP+ FLR+
		AFCtrl: FLR-
		AFStatus: TP-
	Kernel driver in use: i915
	Kernel modules: i915

00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
	Subsystem: Lenovo Haswell-ULT HD Audio Controller
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 50
	Region 0: Memory at b5610000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0e00c  Data: 41e1
	Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag- RBE-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04) (prog-if 30 [XHCI])
	Subsystem: Lenovo 8 Series USB xHCI HC
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 43
	Region 0: Memory at b5600000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [70] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [80] MSI: Enable+ Count=1/8 Maskable- 64bit+
		Address: 00000000fee0c00c  Data: 4171
	Kernel driver in use: xhci_hcd

00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
	Subsystem: Lenovo 8 Series HECI
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 48
	Region 0: Memory at b561b000 (64-bit, non-prefetchable) [size=32]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0f00c  Data: 41c1
	Kernel driver in use: mei_me
	Kernel modules: mei_me

00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
	Subsystem: Lenovo 8 Series HD Audio Controller
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 49
	Region 0: Memory at b5614000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0e00c  Data: 41d1
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin C routed to IRQ 40
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00005000-00005fff
	Memory behind bridge: b5500000-b55fffff
	Prefetchable memory behind bridge: 00000000b5400000-00000000b54fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag- RBE+
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
		LnkCap:	Port #3, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
			Slot #2, PowerLimit 10.000W; Interlock- NoCompl+
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
			Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
			Changed: MRL- PresDet- LinkState+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
		RootCap: CRSVisible-
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABC, TimeoutDis+, LTR+, OBFF Not Supported ARIFwd-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled ARIFwd-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0f00c  Data: 4141
	Capabilities: [90] Subsystem: Lenovo 8 Series PCI Express Root Port 3
	Capabilities: [a0] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin D routed to IRQ 41
	Bus: primary=00, secondary=02, subordinate=07, sec-latency=0
	I/O behind bridge: 00004000-00004fff
	Memory behind bridge: b4000000-b4ffffff
	Prefetchable memory behind bridge: 00000000b2000000-00000000b2ffffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag- RBE+
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
		LnkCap:	Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+
			Slot #3, PowerLimit 10.000W; Interlock- NoCompl+
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet+ CmdCplt- HPIrq+ LinkChg+
			Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
			Changed: MRL- PresDet- LinkState-
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
		RootCap: CRSVisible-
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABC, TimeoutDis+, LTR+, OBFF Not Supported ARIFwd-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled ARIFwd-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0f00c  Data: 4151
	Capabilities: [90] Subsystem: Lenovo 8 Series PCI Express Root Port 4
	Capabilities: [a0] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 5 (rev e4) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 42
	Bus: primary=00, secondary=08, subordinate=08, sec-latency=0
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: b3000000-b3ffffff
	Prefetchable memory behind bridge: 00000000a0000000-00000000b1ffffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag- RBE+
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
		LnkCap:	Port #5, Speed 5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <512ns, L1 <16us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
			Slot #4, PowerLimit 25.000W; Interlock- NoCompl+
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
			Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
			Changed: MRL- PresDet- LinkState+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
		RootCap: CRSVisible-
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABC, TimeoutDis+, LTR+, OBFF Not Supported ARIFwd-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled ARIFwd-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0f00c  Data: 4161
	Capabilities: [90] Subsystem: Lenovo 8 Series PCI Express Root Port 5
	Capabilities: [a0] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04) (prog-if 20 [EHCI])
	Subsystem: Lenovo 8 Series USB EHCI
	Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at b5619000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Debug port: BAR=1 offset=00a0
	Capabilities: [98] PCI Advanced Features
		AFCap: TP+ FLR+
		AFCtrl: FLR-
		AFStatus: TP-

00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
	Subsystem: Lenovo 8 Series LPC Controller
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Capabilities: [e0] Vendor Specific Information: Len=0c <?>
	Kernel driver in use: lpc_ich
	Kernel modules: lpc_ich

00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04) (prog-if 01 [AHCI 1.0])
	Subsystem: Lenovo 8 Series SATA Controller 1 [AHCI mode]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin B routed to IRQ 44
	Region 0: I/O ports at 6088 [size=8]
	Region 1: I/O ports at 6094 [size=4]
	Region 2: I/O ports at 6080 [size=8]
	Region 3: I/O ports at 6090 [size=4]
	Region 4: I/O ports at 6060 [size=32]
	Region 5: Memory at b5618000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0400c  Data: 4181
	Capabilities: [70] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [a8] SATA HBA v1.0 BAR4 Offset=00000004
	Kernel driver in use: ahci
	Kernel modules: ahci

00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
	Subsystem: Lenovo 8 Series SMBus Controller
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin C routed to IRQ 0
	Region 0: Memory at b561a000 (64-bit, non-prefetchable) [size=256]
	Region 4: I/O ports at 6040 [size=32]
	Kernel modules: i2c_i801

01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
	Subsystem: Lenovo RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 46
	Region 0: I/O ports at 5000 [size=256]
	Region 2: Memory at b5500000 (64-bit, non-prefetchable) [size=4K]
	Region 4: Memory at b5400000 (64-bit, prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0f00c  Data: 41a1
	Capabilities: [70] Express (v2) Endpoint, MSI 01
		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 4096 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR+, OBFF Via message/WAKE#
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled
		LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
		Vector table: BAR=4 offset=00000000
		PBA: BAR=4 offset=00000800
	Capabilities: [d0] Vital Product Data
		Unknown small resource type 00, will not decode more.
	Kernel driver in use: r8169
	Kernel modules: r8169

02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
	Subsystem: Lenovo RTS5229 PCI Express Card Reader
	Physical Slot: 3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 45
	Region 0: Memory at b4000000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0f00c  Data: 4191
	Capabilities: [70] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
		LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Kernel driver in use: rtsx_pci
	Kernel modules: rtsx_pci

08:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 850M] (rev a2)
	Subsystem: Lenovo GeForce GTX 850A
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at b3000000 (32-bit, non-prefetchable) [disabled] [size=16M]
	Region 1: Memory at a0000000 (64-bit, prefetchable) [disabled] [size=256M]
	Region 3: Memory at b0000000 (64-bit, prefetchable) [disabled] [size=32M]
	Region 5: I/O ports at 3000 [disabled] [size=128]
	Expansion ROM at <ignored> [disabled]
	Capabilities: [60] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [78] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 8GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR+, OBFF Via message
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled
		LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Kernel modules: nvidiafb, nouveau



[7.6.] SCSI information (from /proc/scsi/scsi)

(from running 4.2)

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST1000LM014-1EJ1 Rev: LIV6
  Type:   Direct-Access                    ANSI  SCSI revision: 05

[7.7.] Other information that might be relevant to the problem
       (please look in /proc and include all information that you
       think to be relevant):

Might not be relevant, but: The system also does not power off (nor
restart) on shutdown, I need to physically press the power key, and it
never has done with any of the kernels I've tried. It does restart with
ctrl+alt+delete from grub though. Reported at
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1463422

Lenovo's site has a BIOS update for Broadwell systems, but there is
nothing listed for Haswell.

[X.] Other notes, patches, fixes, workarounds:

I unfortunately know of no workarounds other than sticking with 4.2.


Please let me know if there's any more information I should upload.
Comment 1 Theodore Tso 2016-05-18 16:02:34 UTC
This is not an ext4 issue.

It could be a problem with how the kernel was configured.   It could be a hardware issue; it could be many things.  But the problem seems to be that the root device is not getting detected, so this is before the file system gets involved.

Part of the problem is that hardware support issues are one of the things that take a quite a lot of time to try to resolve remotely, especially if the user doesn't know how to get the necessary debugging information, and upstream developers are all volunteers when it comes to giving support to random end users.   Normally this is work that gets done by distributions, especially if they are getting paid support $$$.   But they don't want to support anything other than their standard kernel.

You can find kernel folks who also have a particular hardware, or something similar, and they will help on a volunteer basis.  The problem is while many of us will have Thinkpads (for example), many fewer kernel developers are likely to have come across an All-in-one Lenovo A740 desktop.

This sort of problem is much better handled by someone who knows how to get the necessary debugging information (the kernel configuration used to build the kernel image you are trying to use, and the kernel dmesg messages during the boot process, etc.).  So if you are near a local Linux User's Group, that might be a good place to try to ask for help.

I will say that my Haswell-based Lenovo Thinkpad T540p works just fine with upstream kernels, so my guess is that it's mostly a kernel configuration issue, possibly combined with needing to make changes in the BIOS settings.  So there's a good chance this isn't a kernel bug at all.
Comment 2 Kevin Brubeck Unhammer 2016-05-19 08:40:50 UTC
Created attachment 216681 [details]
kernel config 4.3.0-040300-generic

config of lowest tested not-booting kernel version
Comment 3 Kevin Brubeck Unhammer 2016-05-19 08:42:24 UTC
Created attachment 216691 [details]
kernel config 4.6.0-040600rc6-generic

kernel config of highest tested (not-booting) kernel version
Comment 4 Kevin Brubeck Unhammer 2016-05-19 08:43:02 UTC
Created attachment 216701 [details]
kernel config 4.2.8-040208-generic

kernel config of highest tested *booting* kernel
Comment 5 Kevin Brubeck Unhammer 2016-05-19 08:56:04 UTC
Thanks for taking the time to comment :)

https://help.ubuntu.com/community/Kernel/Compile says /boot/config* are the kernel configurations used to create the .deb's of the kernel's (which I got from http://kernel.ubuntu.com/~kernel-ppa/mainline/), so I attached those at least. Maybe there's something relevant in the change from 4.2.8 to 4.3 (that didn't change back in 4.6)?

I did find some tips on https://wiki.archlinux.org/index.php/Boot_debugging and http://elinux.org/Kernel_Debugging_Tips – I'll try to figure out how to get a detailed log of the failing boot, and see if there are other kernel images that might work.
Comment 6 Navin 2016-05-24 13:07:59 UTC
https://ext4.wiki.kernel.org/index.php/UpgradeToExt4
says in section 
"Converting an ext3 filesystem to ext4"

Note: The ext3 driver will be removed from the kernel in 4.3.


Your root filesystem is ext3 .

Maybe your second image drop is says root image is not found due to the above.

Your options are like

1) Convert your data to ext4 

2) Enable the ext3 filesystem driver explicitly in your menuconfig /xconfig
After saving your .config diff with the older non-working configuration should look like  ie added EXT3_FS and build a kernel
-# CONFIG_EXT3_FS is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y

3) Convert your data to ext2 and then try with the current non-working kernels.







The first file in diff is working (4.2) and the second file is non working .

# CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
 CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_USE_FOR_EXT2=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_EXT4_FS_SECURITY=y
 CONFIG_EXT4_ENCRYPTION=m
 # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set

Looks like you have removed in EXT23 in your config and used it as EXT2 .

This is for first file as (4.2.) and 4.6 as the second file (.config).

 # CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
 CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_USE_FOR_EXT2=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_EXT4_FS_SECURITY=y
 CONFIG_EXT4_ENCRYPTION=m
Comment 7 Theodore Tso 2016-05-24 14:37:23 UTC
The ext4 file system will happily mount file systems that are intended for ext2 and ext3.   That is, ext4 supports a superset of the features supported by the ext2 and ext3 file system implementations.    

The CONFIG_EXT4_USE_FOR_EXT23 (before ext3 dropped was dropped) and CONFIG_EXT4_USE_FOR_EXT2 (after the ext3 driver was dropped) merely determines whether or not ext4 claims to be the ext2 or ext3 drivers.   This matters only if the file system type is explicitly used in the mount command (e.g., "mount -t ext3 ...") or if you are mounting a non-root file system in /etc/fstab.   Now, the distribution is doing something wierd with initramfs, so it's possible this is the cause of the issue, but when the kernel is mounting the root file system it will try using all of the file systems available to it to try to mount it.

Furthermore the error message of not being able to find the file system with the specific UUID isn't the error message in the boot logs that would indicate that the problem was that the initramfs was trying to mount with ext3 and failed to find it.
Still, if you want to try compiling with CONFIG_EXT4_USE_FOR_EXT2, that certainly wouldn't hurt and would probably help once you get the system working.
Comment 8 Navin 2016-05-24 17:46:34 UTC
Thanks for the information and looks like it has nothing to do with code, atleast i could simulate the ALERT UUID= with a wrong hex char in kernel command line  root=UUID and i get the same error. 

Also OP already tried with  CONFIG_EXT4_USE_FOR_EXT2 and it doesn't work for him as per the diff in this .configs.

output of command blkid  from the initramfs shell would definitely help in figuring out more about this problem.
Comment 9 Navin 2016-05-31 05:51:06 UTC
Hi Kevin,
  Can you please get the required output or close the bug so that we can either fix it if required or it is an issue that is considered to be resolved by you.
Comment 10 Kevin Brubeck Unhammer 2016-06-01 15:26:21 UTC
Sorry for the late reply – I still haven't been able to get keyboard working in initramfs, so not much more useful information :(


I did try running blkid from an initramfs script:


$ cat /etc/initramfs-tools/scripts/init-premount/kbu-blkid
#!/bin/sh
PREREQ=""
prereqs()
{
     echo "$PREREQ"
}
case $1 in
prereqs)
     prereqs
     exit 0
     ;;
esac
echo "KBU"
blkid
echo "/KBU"
$ sudo  update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.6.0-040600rc6-generic


but that just shows

   running /scripts/init-premount ... KBU
   /KBU

as if the "blkid" command had no output. Is there something more useful I could put in there? 

Would it be useful at all to compile a kernel with debug symbols as in https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel#Debug_Symbols or if I change some other configuration options? (I don't really know what I should change though, since CONFIG_EXT4_USE_FOR_EXT2 is already tested as per the config diff).
Comment 11 Navin 2016-06-01 16:02:31 UTC
There are 2 things.
1) You don't need to compile a kernel with debug symbols as of now or change any configuration. This doesn't seem something related to kernel configuration.

2) The images you posted in the bug report like drop.jpg

  Begin: Waiting for root file system ... Begin: Running
  /scripts/local-block ... done.
  Begin: Running /scripts/local-block ... done.
  Begin: Running /scripts/local-block ... done.
  […]
  done.
  Gave up waiting for root device. 

and drops me into an (initramfs) shell

When you drop into (initramfs) shell, if you could get the /sbin/blkid output it would be great.

It is strange that the keyboard doesn't work . I hope you have compiled the kernel after make config/menuconfig . 
a) make
b) make modules_install
c) make install

Step (b) is missed sometimes by many. It installs the necessary drivers in /lib/modules/`uname -r` and them puts them in initramfs. So one possible reason is missing make modules_install.

The size of initrd.x.y.img should easily tell you that.
lsinitramfs  /boot/initrd.img-4.6.0 should have the necessary modules like usbkbd.ko.
In my case.
lsinitramfs  /boot/initrd.img-4.6.0+ | grep usbkbd
lib/modules/4.6.0+/kernel/drivers/hid/usbhid/usbkbd.ko

I guess it would be helpful to have these as well . I'm guess blkid is not returning anything could also mean your block layer disk is not being detected or something wrong. 

echo "KBU"
cat /proc/partitions
/sbin/blkid
cat /proc/cmdline
dmesg | grep -i blocks
echo "/KBU"
Comment 12 Kevin Brubeck Unhammer 2016-06-01 18:53:17 UTC
Created attachment 218671 [details]
phone-image of output from initramfs-script

This is the updated script that lead to the output in the attachment:


$ cat /etc/initramfs-tools/scripts/init-premount/kbu-blkid
#!/bin/sh
PREREQ=""
prereqs()
{
     echo "$PREREQ"
}
case $1 in
prereqs)
     prereqs
     exit 0
     ;;
esac
echo "KBU"
echo 'cat /proc/partitions'
cat /proc/partitions
echo '/sbin/blkid'
/sbin/blkid
echo 'cat /proc/cmdline'
cat /proc/cmdline
echo 'dmesg | grep -i blocks'
dmesg | grep -i blocks
echo "/KBU"
Comment 13 Navin 2016-06-01 21:50:35 UTC
Your block devices are not being detected due to some problem. Maybe the driver for it is not getting loaded.

Can you post the complete dmesg from 4.2 working ?

In the initramfs pre mount scripts 

Instead of dmesg | grep -i blocks

you can add

dmesg | grep -i achi
dmesg | grep -i scsi
dmesg | grep -i sata
dmesg | grep -i  ata[0-4]
cat /proc/scsi/scsi

The below device is missing  in your 4.6 .

Below is your 4.2 

[7.6.] SCSI information (from /proc/scsi/scsi)

(from running 4.2)

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST1000LM014-1EJ1 Rev: LIV6
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Comment 14 Kevin Brubeck Unhammer 2016-06-02 10:28:18 UTC
Created attachment 218791 [details]
dmesg from 4.2.0-35-generic

Here's the complete dmesg from 4.2.0 (am ssh-ing now; will get the initramfs dmesg's when I get back to the physical machine …)
Comment 15 Navin 2016-06-02 12:52:26 UTC
Your 4.2 is a signed kernel where as the other two aren't (4.6 and 4.4). I hope secureboot is disabled in bios already. If not please try that also.
Comment 16 Navin 2016-06-02 18:19:36 UTC
If the ahci part fails ie dmesg | grep -i ahci produces no output, then you need to include in /etc/initramfs-tools/modules
ahci
libahci

and then run update-initramfs -u
Comment 17 Kevin Brubeck Unhammer 2016-06-03 19:03:03 UTC
Created attachment 218851 [details]
phone-image of initramfs-script w/ahci, scsi dmesg's, 4.6

$ cat /etc/initramfs-tools/scripts/init-premount/kbu-blkid 
#!/bin/sh
PREREQ=""
prereqs()
{
     echo "$PREREQ"
}

case $1 in
prereqs)
     prereqs
     exit 0
     ;;
esac

echo "KBU"
echo 'cat /proc/partitions # gives:'
      cat /proc/partitions
echo '/sbin/blkid # gives:'
      /sbin/blkid
echo 'cat /proc/cmdline # gives:'
      cat /proc/cmdline
echo 'dmesg | grep -i blocks # gives:'
      dmesg | grep -i blocks
echo 'dmesg | grep -i ahci # gives:'
      dmesg | grep -i ahci
echo 'dmesg | grep -i scsi # gives:'
      dmesg | grep -i scsi
echo 'dmesg | grep -i sata # gives:'
      dmesg | grep -i sata
echo 'dmesg | grep -i  ata[0-4] # gives:'
      dmesg | grep -i  ata[0-4]
echo 'cat /proc/scsi/scsi # gives:'
      cat /proc/scsi/scsi
echo "/KBU"

$ cat /etc/initramfs-tools/modules 
# List of modules that you want to include in your initramfs.
# They will be loaded at boot time in the order below.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
ahci
libahci
Comment 18 Kevin Brubeck Unhammer 2016-06-03 19:04:42 UTC
Created attachment 218861 [details]
phone-image of initramfs-script w/ahci, scsi dmesg's, 4.4 signed

Same script/modules as attachment 218851 [details], on linux-signed-image-4.4.0-22-generic from Ubuntu repos (so signing/secureboot seems irrelevant?)
Comment 19 Kevin Brubeck Unhammer 2016-06-03 19:07:12 UTC
Created attachment 218871 [details]
phone-image of initramfs-script w/ahci, scsi dmesg's, 4.2.8 (the working one)

Snatched an image as the text flew by in one of the working kernels, just for comparison. (The 4.2.0 I got through regular Ubuntu signed repos, but this 4.2.8 was from http://kernel.ubuntu.com/~kernel-ppa/mainline/ and has no corresponding "linux-signed-image".)
Comment 20 Kevin Brubeck Unhammer 2016-06-03 19:08:51 UTC
(In reply to Navin from comment #13)
> Instead of dmesg | grep -i blocks
> 
> you can add
> 
> dmesg | grep -i achi

I changed this to "ahci" – was that right?
Comment 21 Navin 2016-06-04 06:28:04 UTC
Can youou have ahci modules present in your initramfs ?

Mine returns like 
1) lsinitramfs  /boot/initrd.img-4.7.0-rc1+  | grep -i ahci

lib/modules/4.7.0-rc1+/kernel/drivers/ata/ahci_platform.ko
lib/modules/4.7.0-rc1+/kernel/drivers/ata/ahci.ko
lib/modules/4.7.0-rc1+/kernel/drivers/ata/libahci.ko
lib/modules/4.7.0-rc1+/kernel/drivers/ata/libahci_platform.ko
lib/modules/4.7.0-rc1+/kernel/drivers/ata/acard-ahci.ko

2) If the above returns that it is present and loaded confirmed by grep -i ahci /proc/modules from your initramfs

 grep -i ahci /proc/modules 
ahci 36864 2 - Live 0xffffffffc0044000
libahci 32768 1 ahci, Live 0xffffffffc0015000

If  (1) and (2) work as expected like described ie they are loaded and present.

Please post the output of (1) and (2) what it returns in your case.

3)
Then maybe something related to irq like described in 

https://bugzilla.kernel.org/show_bug.cgi?id=111211

where comment 7 says "It works with 'pci=routeirq' parameter" in kernel command line.

I asked for this because your 4.2 dmesg showed something like 

[    0.716610] ahci 0000:00:1f.2: version 3.0
[    0.716620] ahci 0000:00:1f.2: can't find IRQ for PCI INT B; probably buggy MP table
Comment 22 Kevin Brubeck Unhammer 2016-06-04 09:36:26 UTC
re: 1) 

$ lsinitramfs /boot/initrd.img-4.4.0-22-generic |grep -i ahci
lib/modules/4.4.0-22-generic/kernel/drivers/ata/ahci.ko
lib/modules/4.4.0-22-generic/kernel/drivers/ata/libahci.ko
lib/modules/4.4.0-22-generic/kernel/drivers/ata/acard-ahci.ko
lib/modules/4.4.0-22-generic/kernel/drivers/ata/libahci_platform.ko
lib/modules/4.4.0-22-generic/kernel/drivers/ata/ahci_platform.ko

$ lsinitramfs /boot/initrd.img-4.6.0-040600rc6-generic |grep -i ahci
lib/modules/4.6.0-040600rc6-generic/kernel/drivers/ata/ahci.ko
lib/modules/4.6.0-040600rc6-generic/kernel/drivers/ata/libahci.ko
lib/modules/4.6.0-040600rc6-generic/kernel/drivers/ata/acard-ahci.ko
lib/modules/4.6.0-040600rc6-generic/kernel/drivers/ata/libahci_platform.ko
lib/modules/4.6.0-040600rc6-generic/kernel/drivers/ata/ahci_platform.ko

$ lsinitramfs /boot/initrd.img-4.2.8-040208-generic |grep -i ahci
lib/modules/4.2.8-040208-generic/kernel/drivers/ata/ahci.ko
lib/modules/4.2.8-040208-generic/kernel/drivers/ata/libahci.ko
lib/modules/4.2.8-040208-generic/kernel/drivers/ata/acard-ahci.ko
lib/modules/4.2.8-040208-generic/kernel/drivers/ata/libahci_platform.ko
lib/modules/4.2.8-040208-generic/kernel/drivers/ata/ahci_platform.ko
Comment 23 Navin 2016-06-04 13:45:15 UTC
1) First is 

Why does these lines get printed in 4.2
[    0.716610] ahci 0000:00:1f.2: version 3.0
[    0.716620] ahci 0000:00:1f.2: can't find IRQ for PCI INT B; probably buggy MP table

where as in 4.4 and 4.6 you don't get to see even the "version 3.0".

In your initramfs shell , you should try to see if ahci is actually loaded in /proc/modules


2)

One more thing is i see in 4.2 you have this in dmesg
libata version 3.00 loaded.

I hope in 4.6 also you get that message.

You can find it out in your initramfs scripts by doing dmesg | grep -i libata


That should tell you that your modules are not loaded/good because of some changes or some other reason like corruption?

At the end of initramfs you can do modprobe ahci and see that it prints
lsmod | grep ahci


That should tell you the reason why it is not printing those messages in dmesg.
Comment 24 Kevin Brubeck Unhammer 2016-06-04 22:05:49 UTC
Created attachment 219041 [details]
phone-image of initramfs-script w/libata dmesg's, modprobe ahci, 4.6

It's the same for 4.4, and appending pci=routeirq had no effect :(

What command can I use instead of lsmod after the modprobe? (is grep -i ahci /proc/modules equivalent? does initramfs modprobe accept --verbose?)
Comment 25 Navin 2016-06-05 01:46:13 UTC
yes grep -i ahci /proc/modules would work . Running modprobe ahci should be fine . Then again grep -i ahci /proc/modules .
dmesg | tail  should show the last 10 lines and any error.

If an error is thrown it should shown by the dmesg | tail.
If it says successful and loaded.Atleast from your phone screenshots it appears that the failure is in this part.
Comment 26 Kevin Brubeck Unhammer 2016-06-05 11:12:08 UTC
Created attachment 219071 [details]
phone-image initramfs "grep ahci /proc/modules" 4.6 where ahci in etc modules

Here I had ahci and libahci in /etc/initramfs-tools/modules, and 4.6 prints the same from "grep ahci /proc/modules" before and after the modprobe (and still not booting). Nothing interesting I can see from dmesg|tail.
Comment 27 Kevin Brubeck Unhammer 2016-06-05 11:14:47 UTC
Created attachment 219081 [details]
phone-image initramfs "grep ahci /proc/modules" 4.6 withOut ahci in etc modules

As 219071, but without ahci\nlibahci in /etc/initramfs-tools/modules – here the first grep gives no ahci, but after a modprobe it is in /proc/modules.

("lsinitramfs /boot/initrd.img-4.6.0-040600rc6-generic |grep -i ahci"
is identical whether ahci is in /etc/initramfs-tools/modules)
Comment 28 Navin 2016-06-05 12:21:09 UTC
I get a similar error about ahci "used by field" as 0 only in Virtual Machines like qemu . I assume yours is on bare hardware. Maybe bios mode is set to IDE that is why AHCI is not detected. If you change from IDE to AHCI does it work ?

If it still doesn't work

Well can you take the latest 4.7 and if that also doesn't work you should contact 

 ahci.c - AHCI SATA support
 Maintained by:  Tejun Heo <tj@kernel.org>
 Please ALWAYS copy linux-ide@vger.kernel.org on emails.

saying you have the latest 4.7 mainline . I guess the issue could be easily resolved by the authors.
Comment 29 Kevin Brubeck Unhammer 2016-06-05 13:43:45 UTC
Created attachment 219091 [details]
BIOS showing AHCI mode

and when 4.2.0 is booted I get


$ lspci |grep -i sata
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)

$ dmesg |grep ahci
[    0.719414] ahci 0000:00:1f.2: version 3.0
[    0.719425] ahci 0000:00:1f.2: can't find IRQ for PCI INT B; probably buggy MP table
[    0.735712] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 4 ports 6 Gbps 0x1 impl SATA mode
[    0.737592] ahci 0000:00:1f.2: flags: 64bit ncq pm led clo only pio slum part deso sadm sds apst 
[    0.739623] scsi host0: ahci
[    0.745463] scsi host1: ahci
[    0.747706] scsi host2: ahci
[    0.749662] scsi host3: ahci


so I'll try 4.7
Comment 30 Kevin Brubeck Unhammer 2016-06-06 07:27:01 UTC
Created attachment 219181 [details]
phone-image initramfs 4.7

This was without ahci/libahci in /etc/initramfs-tools/modules. Doesn't seem too different from attachemnt 219081 except that /proc/scsi/scsi doesn't exist (though maybe it's created after modprobing; haven't tried 4.7 with ahci/libahci in /etc/initramfs-tools/modules yet).

Thanks so much for your help Navin; getting in touch with the ide/ahci list now.

Note You need to log in before you can comment on or make changes to this bug.