PCI ExpressCard hotplug requires pciehp.pciehp_force=1

Bug #371434 reported by Eric Shattow
112
This bug affects 20 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
Low
Unassigned

Bug Description

Using Ubuntu 9.04 Jaunty as a reference, hotplugging an expresscard does not work on my Dell Inspiron 1420n laptop computer. I can add "pciehp.pciehp_force=1" to the kernel cmdline options and then hotplugging will work.

The tested device is a StarTech EC1394B expresscard.

A) Scenario pciehp.pciehp_force=1 and the expresscard absent at boot time
*A1. Insert card, dmesg output:

pciehp 0000:00:1c.3:pcie04: Card present on Slot(5)
pci 0000:0d:00.0: supports D1 D2
pci 0000:0e:00.0: reg 10 32bit mmio: [0x000000-0x0007ff]
pci 0000:0e:00.0: reg 14 32bit mmio: [0x000000-0x003fff]
pci 0000:0e:00.0: supports D1 D2
pci 0000:0e:00.0: PME# supported from D0 D1 D2 D3hot
pci 0000:0e:00.0: PME# disabled
pci 0000:0d:00.0: bridge io port: [0x00-0xfff]
pci 0000:0d:00.0: bridge 32bit mmio: [0x000000-0x0fffff]
pci 0000:0d:00.0: bridge 64bit mmio pref: [0x000000-0x0fffff]
pci 0000:0d:00.0: PCI bridge, secondary bus 0000:0e
pci 0000:0d:00.0: IO window: disabled
pci 0000:0d:00.0: MEM window: 0xfe600000-0xfe6fffff
pci 0000:0d:00.0: PREFETCH window: disabled
pci 0000:0d:00.0: enabling device (0000 -> 0002)
pci 0000:0d:00.0: setting latency timer to 64
ohci1394 0000:0e:00.0: enabling device (0000 -> 0002)
ohci1394 0000:0e:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
ohci1394 0000:0e:00.0: setting latency timer to 64
ohci1394: fw-host1: OHCI-1394 1.1 (PCI): IRQ=[19] MMIO=[fe604000-fe6047ff] Max Packet=[4096] IR/IT contexts=[4/8]
pciehp: Could not get hotplug parameters
ieee1394: Host added: ID:BUS[1-00:1023] GUID[0000000000300010]

*A2. Eject card, dmesg output:
pciehp 0000:00:1c.3:pcie04: Card not present on Slot(5)
ieee1394: Node removed: ID:BUS[1-00:1023] GUID[0000000000300010]
ohci1394: fw-host1: Set PHY Reg timeout [0xffffffff/0x00004000/100]
ohci1394: fw-host1: Set PHY Reg timeout [0xffffffff/0x00004000/100]

B) Scenario pciehp.pciehp_force=1 and the expresscard present at boot time
*B1. Eject card, dmesg output:
pciehp 0000:00:1c.3:pcie04: Card not present on Slot(5)
ieee1394: Node removed: ID:BUS[0-00:1023] GUID[0000000000300010]
ohci1394: fw-host0: Set PHY Reg timeout [0xffffffff/0x00004000/100]
ohci1394: fw-host0: Set PHY Reg timeout [0xffffffff/0x00004000/100]

*B2. Insert card, dmesg output:
pciehp 0000:00:1c.3:pcie04: Card present on Slot(5)
pci 0000:0d:00.0: supports D1 D2
pci 0000:0e:00.0: reg 10 32bit mmio: [0x000000-0x0007ff]
pci 0000:0e:00.0: reg 14 32bit mmio: [0x000000-0x003fff]
pci 0000:0e:00.0: supports D1 D2
pci 0000:0e:00.0: PME# supported from D0 D1 D2 D3hot
pci 0000:0e:00.0: PME# disabled
pci 0000:0d:00.0: bridge io port: [0x00-0xfff]
pci 0000:0d:00.0: bridge 32bit mmio: [0x000000-0x0fffff]
pci 0000:0d:00.0: bridge 64bit mmio pref: [0x000000-0x0fffff]
pci 0000:0d:00.0: PCI bridge, secondary bus 0000:0e
pci 0000:0d:00.0: IO window: disabled
pci 0000:0d:00.0: MEM window: 0xfe600000-0xfe6fffff
pci 0000:0d:00.0: PREFETCH window: disabled
pci 0000:0d:00.0: enabling device (0000 -> 0002)
pci 0000:0d:00.0: setting latency timer to 64
ohci1394 0000:0e:00.0: enabling device (0000 -> 0002)
ohci1394 0000:0e:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
ohci1394 0000:0e:00.0: setting latency timer to 64
ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[19] MMIO=[fe604000-fe6047ff] Max Packet=[4096] IR/IT contexts=[4/8]
pciehp: Could not get hotplug parameters
ieee1394: Host added: ID:BUS[0-00:1023] GUID[0000000000300010]

C) Difference in dmesg output booting default kcmdline kernel between card present and card absent:

(the diff is trimmed a bit for relevance)

--- /tmp/hotplugging-default_kcmdline-no_card.txt 2009-05-03 17:58:24.000000000 -0600
+++ /tmp/hotplugging-default_kcmdline-with_card.txt 2009-05-03 18:01:16.000000000 -0600
@@ -265,9 +265,16 @@
 pci 0000:0c:00.0: PME# supported from D0 D3hot D3cold
 pci 0000:0c:00.0: PME# disabled
 pci 0000:00:1c.1: bridge 32bit mmio: [0xfe800000-0xfe8fffff]
+pci 0000:0d:00.0: supports D1 D2
 pci 0000:00:1c.3: bridge io port: [0xd000-0xdfff]
 pci 0000:00:1c.3: bridge 32bit mmio: [0xfe600000-0xfe7fffff]
 pci 0000:00:1c.3: bridge 64bit mmio pref: [0xf0000000-0xf01fffff]
+pci 0000:0e:00.0: reg 10 32bit mmio: [0xfe7fb800-0xfe7fbfff]
+pci 0000:0e:00.0: reg 14 32bit mmio: [0xfe7fc000-0xfe7fffff]
+pci 0000:0e:00.0: supports D1 D2
+pci 0000:0e:00.0: PME# supported from D0 D1 D2 D3hot
+pci 0000:0e:00.0: PME# disabled
+pci 0000:0d:00.0: bridge 32bit mmio: [0xfe700000-0xfe7fffff]
 pci 0000:09:00.0: reg 10 64bit mmio: [0xfe5f0000-0xfe5fffff]
 pci 0000:09:00.0: PME# supported from D3hot D3cold
 pci 0000:09:00.0: PME# disabled
@@ -304,7 +311,7 @@
 ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 *11)
 ACPI: PCI Interrupt Link [LNKB] (IRQs 5 7) *10
 ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 11) *4
-ACPI: PCI Interrupt Link [LNKD] (IRQs *5 7 9 10 11)
+ACPI: PCI Interrupt Link [LNKD] (IRQs 5 7 9 10 11) *0, disabled.
 ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 *10 11 12 14 15)
 ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 *9 10 11 12 14 15)
 ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 *7 9 10 11 12 14 15)
@@ -374,6 +381,10 @@
 pci 0000:00:1c.1: IO window: disabled
 pci 0000:00:1c.1: MEM window: 0xfe800000-0xfe8fffff
 pci 0000:00:1c.1: PREFETCH window: disabled
+pci 0000:0d:00.0: PCI bridge, secondary bus 0000:0e
+pci 0000:0d:00.0: IO window: disabled
+pci 0000:0d:00.0: MEM window: 0xfe700000-0xfe7fffff
+pci 0000:0d:00.0: PREFETCH window: disabled
 pci 0000:00:1c.3: PCI bridge, secondary bus 0000:0d
 pci 0000:00:1c.3: IO window: 0xd000-0xdfff
 pci 0000:00:1c.3: MEM window: 0xfe600000-0xfe7fffff
@@ -392,6 +403,7 @@
 pci 0000:00:1c.1: setting latency timer to 64
 pci 0000:00:1c.3: PCI INT D -> GSI 19 (level, low) -> IRQ 19
 pci 0000:00:1c.3: setting latency timer to 64
+pci 0000:0d:00.0: setting latency timer to 64
 pci 0000:00:1c.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
 pci 0000:00:1c.5: setting latency timer to 64
 pci 0000:00:1e.0: setting latency timer to 64
@@ -401,6 +413,7 @@
 pci_bus 0000:0d: resource 0 io: [0xd000-0xdfff]
 pci_bus 0000:0d: resource 1 mem: [0xfe600000-0xfe7fffff]
 pci_bus 0000:0d: resource 2 pref mem [0xf0000000-0xf01fffff]
+pci_bus 0000:0e: resource 1 mem: [0xfe700000-0xfe7fffff]
 pci_bus 0000:09: resource 1 mem: [0xfe500000-0xfe5fffff]
 pci_bus 0000:03: resource 1 mem: [0xfe400000-0xfe4fffff]
 pci_bus 0000:03: resource 3 io: [0x00-0xffff]
@@ -621,15 +634,17 @@
 Freeing unused kernel memory: 544k freed
 Write protecting the kernel text: 4200k
 Write protecting the kernel read-only data: 1660k
-ohci1394 0000:03:01.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
+ohci1394 0000:0e:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
 usb 3-2: new full speed USB device using uhci_hcd and address 2
-ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[19] MMIO=[fe4ff800-fe4fffff] Max Packet=[2048] IR/IT contexts=[4/4]
+ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[19] MMIO=[fe7fb800-fe7fbfff] Max Packet=[4096] IR/IT contexts=[4/8]
+ohci1394 0000:03:01.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
+ohci1394: fw-host1: OHCI-1394 1.1 (PCI): IRQ=[19] MMIO=[fe4ff800-fe4fffff] Max Packet=[2048] IR/IT contexts=[4/4]
 usb 3-2: configuration #1 chosen from 1 choice
 hub 3-2:1.0: USB hub found
 hub 3-2:1.0: 3 ports detected
@@ -642,48 +657,49 @@
 ieee1394: Host added: ID:BUS[0-00:1023] GUID[0000000000300010]
+ieee1394: Host added: ID:BUS[1-00:1023] GUID[314fc000321989a1]
 udev: starting version 141
 cfg80211: Calling CRDA to update world regulatory domain

Eric Shattow (eshattow)
description: updated
Eric Shattow (eshattow)
description: updated
Revision history for this message
stefab (bluefuture) wrote :

This issue was found also on Toshiba A200 with a firewire express card

Revision history for this message
mlx (myxal-mxl) wrote :

Same issue on Fujitsu-Siemens Esprimo Mobile U9200 (and an eSATA controller card, though that hardly matters).

Eric Shattow (eshattow)
Changed in ubuntu:
status: New → Confirmed
Revision history for this message
Eric Shattow (eshattow) wrote :
Download full text (5.5 KiB)

Boot with kcmdline options: ro quiet splash pciehp.pciehp_force=0 pciehp.pciehp_debug=1 pci_hotplug.debug_acpi=1

Relevant dmesg output below:

[ 0.636504] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 0.636516] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636526] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0.RP01
[ 0.636531] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0.RP01 OSHP not found
[ 0.636544] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636548] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0 OSHP not found
[ 0.636559] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Cannot get control of hotplug hardware for pci 0000:00:1c.0
[ 0.636567] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636570] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0.RP02
[ 0.636574] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0.RP02 OSHP not found
[ 0.636583] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636586] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0 OSHP not found
[ 0.636596] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Cannot get control of hotplug hardware for pci 0000:00:1c.1
[ 0.636603] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636606] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0.RP04
[ 0.636610] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0.RP04 OSHP not found
[ 0.636619] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636622] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0 OSHP not found
[ 0.636633] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Cannot get control of hotplug hardware for pci 0000:00:1c.3
[ 0.636639] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636642] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0.RP06
[ 0.636646] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0.RP06 OSHP not found
[ 0.636655] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636659] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0 OSHP not found
[ 0.636669] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Cannot get control of hotplug hardware for pci 0000:00:1c.5
[ 0.636735] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636739] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0.RP01
[ 0.636743] acpi_pcihp: acpi_run_oshp: acpi_run_oshp:\_SB_.PCI0.RP01 OSHP not found
[ 0.636752] acpi_pcihp: acpi_get_hp_hw_control_from_firmware: Trying to get hotplug control for \_SB_.PCI0
[ 0.636756] acpi_pcihp: acpi_run_oshp: acpi_run_osh...

Read more...

Revision history for this message
Eric Shattow (eshattow) wrote :

Would the subscribers of this bug please try booting with kcmdline pciehp.pciehp_force=0 and then modprobe acpiphp ?

[ 1094.868381] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[ 1094.870403] acpiphp_glue: can't get bus number, assuming 0
[ 1094.870563] decode_hpp: Could not get hotplug parameters. Use defaults
[ 1094.870618] acpiphp: Slot [1] registered

Revision history for this message
mlx (myxal-mxl) wrote : Re: [Bug 371434] Re: PCI ExpressCard hotplug requires pciehp.pciehp_force=1

> The pciehp code does not run if it cannot find hotplug parameters from
> pci_hotplug code. To fix this bug, we need to know how to determine if a
> laptop computer will support hotplug or not, and correct the pci_hotplug
> hotplug detection.
>
Perhaps Matthew Garrett might be of some help?>
http://mjg59.livejournal.com/100587.html

> Would the subscribers of this bug please try booting with kcmdline
> pciehp.pciehp_force=0 and then modprobe acpiphp ?
>

[ 0.000000] Kernel command line: root=##snip## ro quiet splash
pciehp.pciehp_force=0
...
[ 115.301235] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[ 115.807447] acpiphp_glue: can't get bus number, assuming 0

...and...

$ sudo modprobe acpiphp
FATAL: Error inserting acpiphp
(/lib/modules/2.6.28-11-generic/kernel/drivers/pci/hotplug/acpiphp.ko): No
such device

(This doesn't look right...)
Should I send in the disassembled DSDT?

Revision history for this message
Vitaliy Funticov (fun-vit) wrote :

Same for Lenovo S10 :-(

Revision history for this message
Vitaliy Funticov (fun-vit) wrote :

fun-vit@fun-vit-laptop:~$ sudo modprobe acpiphp
FATAL: Error inserting acpiphp (/lib/modules/2.6.28-15-generic/kernel/drivers/pci/hotplug/acpiphp.ko): No such device

Revision history for this message
mlx (myxal-mxl) wrote :

Regression!! - In recently upgraded kernel, even the .force option doesn't work:

Ubuntu 2.6.28-14.47-generic (x86-64)
kern.log:
[ 0.000000] Unknown boot option `pciehp.force=1': ignoring

Was the option moved/renamed?

Revision history for this message
mlx (myxal-mxl) wrote :

Ooops, my bad. Apparently the 'pciehp_' part of the option got deleted during grub-menu update. Weird.

affects: ubuntu → linux (Ubuntu)
Revision history for this message
Darron Black (darron) wrote :

Aha! I had the same problem trying to hotplug an eSATA PCI Express card on my Dell Precision M6300, but "modprobe acpiphp" works! Thanks!

Revision history for this message
Priit Tamboom (priit-tamboom) wrote :

@Eric: Thanks, just let you know that after booting with kcmdline pciehp.pciehp_force=0 and then modprobe acpiphp the hotswap works with card: Silicon Image Sil3132 ExpressCard.

Revision history for this message
Vitaliy Funticov (fun-vit) wrote :

Ubuntu 9.10 (i`m upgraded from 9.04)
still
fun-vit@fun-vit-laptop:~$ sudo modprobe acpiphp
FATAL: Error inserting acpiphp (/lib/modules/2.6.31-15-generic/kernel/drivers/pci/hotplug/acpiphp.ko): No such device

Revision history for this message
everbrave (everbrave) wrote :

kcmdline pciehp.pciehp_force=0 and then modprobe acpiphp works for me on Sony Vaio SZ61 but not on Dell XT.
Both with 2.6.13-15 kernel and Vebratim Expresscard SSD (PCIe).

Is there a way to issue the modprobe acpiphp commandline at start-up instead -every time- from the terminal?

Revision history for this message
mlx (myxal-mxl) wrote :

hmm:

> # /etc/modules: kernel modules to load at boot time.
> #
> # This file contains the names of kernel modules that should be loaded
> # at boot time, one per line. Lines beginning with "#" are ignored.

this, perhaps?

On Sun, 22 Nov 2009 00:19:37 +0100, everbrave <email address hidden>
wrote:

> kcmdline pciehp.pciehp_force=0 and then modprobe acpiphp works for me on
> Sony Vaio SZ61 but not on Dell XT.
> Both with 2.6.13-15 kernel and Vebratim Expresscard SSD (PCIe).
>
> Is there a way to issue the modprobe acpiphp commandline at start-up
> instead -every time- from the terminal?
>

description: updated
Revision history for this message
Lucas Pretti (energizado) wrote :

Just to confirm, I am using Karmic on 2.6.15 and the workaround to add pciehp.pciehp_force=0 or 1 ( both actually worked, I left 1) and adding acpiphp line on /etc/modules worked well to hopswap an exprescard esata silicom 3132 on sony vaio NR21Z

thanks for the tips

Revision history for this message
Khashayar Naderehvandi (khashayar) wrote :

Is this bug still there on lucid?

Revision history for this message
ceg (ceg) wrote :

(using 9.10)

Neither forcing pciehp nor loding acpiphp made the hd connected to the following eSATA express card reappear when it was removed and plugged in again after booting.

02:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)

Note that lspci still lists the device even though the card was removed. May that have to say anything?

Revision history for this message
mlx (myxal-mxl) wrote : Re: [Bug 371434] Re: PCI ExpressCard hotplug requires pciehp.pciehp_force=1

Hold on a sec - the HD would be a separate problem, but your problem
seems to be hotplugging the card.
Was the card plugged in when the computer was booting? For me
hotplugging works either both ways or not at all. This would be a
first that a card would be hotplugged in but not out. Note that
booting with the card inserted avoids hotplugging completely, so the
card would show up regardless and it remaining in the list would
indicate non-working hotplugging. Reboot without the card, then insert
it once you're logged in.

Revision history for this message
rhowe212 (rhowe-launchpad) wrote :
Download full text (5.0 KiB)

A me-too on a Fujitsu Esprimo U9200 using Debian (I hope Debian isn't too reviled around here!)

modprobe pciehp pciehp_force=1 allows me to use my ExpressCard slot, although I can quite often kill the kernel when adding/removing cards (especially if the card doesn't lock in when pushed, so it only makes contact very briefly).

The custom kernel version is simply the Debian unstable kernel with a modified ACPI DSDT to correct the UPBS function (see https://bugzilla.kernel.org/show_bug.cgi?id=15368 )

# modprobe acpiphp debug=1
FATAL: Error inserting acpiphp (/lib/modules/2.6.32-2u9200-amd64/kernel/drivers/pci/hotplug/acpiphp.ko): No such device

and in dmesg:

[ 351.706148] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[ 351.706944] acpiphp_glue: Total 0 slots

# rmmod acpiphp
# modprobe pciehp pciehp_force=0
Loads OK, but cards are not detected:

[ 392.819912] pciehp: PCI Express Hot Plug Controller Driver version: 0.4

# rmmod pciehp
# modprobe pciehp pciehp_force=1
[ 468.768056] pciehp 0000:00:1c.0:pcie04: Bypassing BIOS check for pciehp use on 0000:00:1c.0
[ 468.768262] pciehp 0000:00:1c.0:pcie04: HPC vendor_id 8086 device_id 283f ss_vid 0 ss_did 0
[ 468.768460] pciehp 0000:00:1c.0:pcie04: service driver pciehp loaded
[ 468.768477] pciehp 0000:00:1c.1:pcie04: Bypassing BIOS check for pciehp use on 0000:00:1c.1
[ 468.768504] pciehp 0000:00:1c.1:pcie04: HPC vendor_id 8086 device_id 2841 ss_vid 0 ss_did 0
[ 468.872384] pciehp 0000:00:1c.1:pcie04: Device 0000:04:00.0 already exists at 0000:04:00, cannot hot-add
[ 468.872396] pciehp 0000:00:1c.1:pcie04: Cannot add device at 0000:04:00
[ 468.872416] pciehp 0000:00:1c.1:pcie04: service driver pciehp loaded
[ 468.872449] pciehp 0000:00:1c.2:pcie04: Bypassing BIOS check for pciehp use on 0000:00:1c.2
[ 468.872478] pciehp 0000:00:1c.2:pcie04: HPC vendor_id 8086 device_id 2843 ss_vid 0 ss_did 0
[ 468.976339] pciehp 0000:00:1c.2:pcie04: Device 0000:06:00.0 already exists at 0000:06:00, cannot hot-add
[ 468.976350] pciehp 0000:00:1c.2:pcie04: Cannot add device at 0000:06:00
[ 468.976371] pciehp 0000:00:1c.2:pcie04: service driver pciehp loaded
[ 468.976429] pciehp: PCI Express Hot Plug Controller Driver version: 0.4

# lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1d.0 USB Contr...

Read more...

Revision history for this message
rhowe212 (rhowe-launchpad) wrote :

Just for interest, here's what happens if I plug in a CompactFlash adapter after loading pciehp with pciehp_force=1. This card is not detected if I don't use pciehp_force=1:

[ 1018.690039] pciehp 0000:00:1c.0:pcie04: Card present on Slot(2)
[ 1018.952418] pci 0000:02:00.0: reg 10 io port: [0x00-0x07]
[ 1018.952438] pci 0000:02:00.0: reg 14 io port: [0x00-0x03]
[ 1018.952455] pci 0000:02:00.0: reg 18 io port: [0x00-0x07]
[ 1018.952472] pci 0000:02:00.0: reg 1c io port: [0x00-0x03]
[ 1018.952488] pci 0000:02:00.0: reg 20 io port: [0x00-0x0f]
[ 1018.952515] pci 0000:02:00.0: reg 30 32bit mmio pref: [0x000000-0x00ffff]
[ 1018.952627] pci 0000:02:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
[ 1018.952706] pci 0000:02:00.0: no hotplug settings from platform
[ 1018.960269] pata_jmicron 0000:02:00.0: enabling device (0000 -> 0001)
[ 1018.960286] pata_jmicron 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 1018.960360] pata_jmicron 0000:02:00.0: setting latency timer to 64
[ 1018.960615] scsi4 : pata_jmicron
[ 1018.960920] scsi5 : pata_jmicron
[ 1018.961110] ata4: PATA max UDMA/100 cmd 0x2010 ctl 0x2020 bmdma 0x2000 irq 16
[ 1018.961118] ata5: PATA max UDMA/100 cmd 0x2018 ctl 0x2024 bmdma 0x2008 irq 16

Revision history for this message
mlx (myxal-mxl) wrote :

No change in Kubuntu Lucid beta 1 - force=0, then modprobe acpiphp produces "No such device" error. Haven't tried if force=1 works (live CD and all that) but probably does.

Revision history for this message
ceg (ceg) wrote :

9.10

I got an eSATA disk hotpluged now only once with acpiphp, and only when it was connected after inserting the express card eSATA controller.

Most of the times it did not work. I notice an eSATA disk gets disconnected when connecting an USB disk, I added comments about what worked an what not to the attached dmesg output.

Revision history for this message
ceg (ceg) wrote :

Thanks for the hint mlx, I could see that the express card is present after boot and disappears when removed. I mistakenly confused the internal SATA controller with the express card because it seems to be made of the same chipset.

lspci
00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 10)
00:01.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:06.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:07.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:12.0 IDE interface: ATI Technologies Inc IXP SB400 Serial ATA Controller (rev 80)
00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller (rev 80)
00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller (rev 80)
00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller (rev 80)
00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 83)
00:14.1 IDE interface: ATI Technologies Inc IXP SB400 IDE Controller (rev 80)
00:14.2 Audio device: ATI Technologies Inc IXP SB4x0 High Definition Audio Controller (rev 01)
00:14.3 ISA bridge: ATI Technologies Inc IXP SB400 PCI-ISA Bridge (rev 80)
00:14.4 PCI bridge: ATI Technologies Inc IXP SB400 PCI-PCI Bridge (rev 80)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS482 [Radeon Xpress 200M]
02:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)
02:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:04.0 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
04:04.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
04:04.3 Mass storage controller: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
04:09.0 Network controller: RaLink RT2561/RT61 rev B 802.11g

Revision history for this message
ceg (ceg) wrote :

The eSATA hotpluging seems to work regulary after booting with the express card inserted, but as described the express card hotpluging is messed up.

Revision history for this message
Matthew Woerly (nattgew) wrote :

Booting with pciehp_force=1 option and loading the acpiphp module works for me with Lucid on my Inspiron 1525 with an ExpressCard CompactFlash reader.

Revision history for this message
ceg (ceg) wrote :

For me also only the combination of pciehp.pciehp_force=1 and loading the acpiphp seems to work for me, too (most of the times). Thanks for the hint!

(Even though we were originally supposed to set pciehp.pciehp_force=0 with acpiphp, right?)

Concerning my lspci output from above:
02:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)
02:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)

The IDE interface seems to stay listed even if the card is removed, while the SATA controler appears only after a disk is attached after the card is inserted.

And actually both of those may be related to the same express card, because I think the internal sata controller really is this one:
00:12.0 IDE interface: ATI Technologies Inc IXP SB400 Serial ATA Controller (rev 80)

Revision history for this message
Eric Chaudy (ericchaudy) wrote :
Download full text (6.8 KiB)

Hello, I am using lucid, with an sata expresscard on a dell inspirion 9400 :

-> lspci | grep Exp

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 01)
00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 01)

   * I suppose the bug is maybe related to "hd on a expresscard" : can you confirm ? because the bug happen after x second when i plug in a device ( an external hd ) : then it stop working. A
   * And the expresscard is rarelly recognise when booting ubuntu, but sometimes yes ...

SO here is what i get with , pciehp.pciehp_force=1.

[ 4950.803872] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[ 4950.805161] acpiphp: Slot [1] registered
[ 5195.528097] ata3: failed to stop engine (-5)
[ 5196.032105] ata4: failed to stop engine (-5)
[ 5196.032322] ahci 0000:0d:00.0: PCI INT A disabled
[ 5196.936742] pci 0000:0d:00.0: reg 24 32bit mmio: [0x000000-0x001fff]
[ 5196.936774] pci 0000:0d:00.0: reg 30 32bit mmio pref: [0x000000-0x00ffff]
[ 5196.936878] pci 0000:0d:00.0: PME# supported from D3hot
[ 5196.936900] pci 0000:0d:00.0: PME# disabled
[ 5196.937266] pata_jmicron 0000:0d:00.1: no hotplug settings from platform
[ 5196.937272] pata_jmicron 0000:0d:00.1: using default PCI settings
[ 5196.937310] pci 0000:0d:00.0: no hotplug settings from platform
[ 5196.938355] ahci 0000:0d:00.0: enabling device (0000 -> 0002)
[ 5196.938381] ahci 0000:0d:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
[ 5196.952231] ahci 0000:0d:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
[ 5196.952236] ahci 0000:0d:00.0: flags: 64bit ncq pm led clo pmp pio slum part
[ 5196.952261] ahci 0000:0d:00.0: setting latency timer to 64
[ 5196.952543] scsi6 : ahci
[ 5196.952901] scsi7 : ahci
[ 5196.953092] ata7: SATA max UDMA/133 abar m8192@0xecd00000 port 0xecd00100 irq 19
[ 5196.953098] ata8: SATA max UDMA/133 abar m8192@0xecd00000 port 0xecd00180 irq 19
[ 5197.273107] ata8: SATA link down (SStatus 0 SControl 300)
[ 5197.884149] ata7: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 5197.890528] ata7.00: ATA-8: SAMSUNG HD203WI, 1AN10002, max UDMA/133
[ 5197.890546] ata7.00: 3907029168 sectors, multi 0: LBA48 NCQ (depth 31/32), AA
[ 5197.897143] ata7.00: configured for UDMA/133
[ 5197.912435] scsi 6:0:0:0: Direct-Access ATA SAMSUNG HD203WI 1AN1 PQ: 0 ANSI: 5
[ 5197.912937] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 5197.913350] sd 6:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
[ 5197.913489] sd 6:0:0:0: [sdb] Write Protect is off
[ 5197.913495] sd 6:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 5197.913579] sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 5197.914375] sdb: sdb1
[ 5197.927150] sd 6:0:0:0: [sdb] Attached SCSI disk
[ 5261.000169] ata7.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 froze...

Read more...

Revision history for this message
Tristan Schmelcher (tschmelcher) wrote :

Not sure if I have this same bug or not, but this bug report did help me. I'm using an ExpressCard eSATA adapter with a Dell XPS M1710 laptop running Lucid 64-bit, but it wasn't detecting it when I plugged it in--no activity in dmesg at all. modprobe'ing acpiphp as mentioned here fixed the problem. But I didn't have to do anything with pciehp_force ...

Even if the pciehp_force issue is resolved, I think Ubuntu also ought to load acpiphp by default so that users don't have to muck with their system to get ExpressCard hotplugging support.

Revision history for this message
mlx (myxal-mxl) wrote :

Maverick:
2.6.35-22-generic, with pciehp_force=0, modprobe apciphp still produces "No such device" error. Booting with _force=1 still seems to be the only option.

Revision history for this message
jordanh (jordan-hargrave) wrote :

Does this work if doing pciehp_force=1 pciehp_poll_mode=1

Revision history for this message
Eric Shattow (eshattow) wrote :

Jordan, thank you for your interest in this bug.

With default configuration not using those settings, the card works only when present during boot. If card is removed and added again, there is an error, and it does not work again.

I confirm success with setting kernel options pciehp_force=1 pciehp_poll_mode=1 ; The card is then working in all configurations of boot when present then remove/add, and boot with card absent and then added after OS fully loaded.

Tested on Dell Inspiron 1420N installed with Maverick 10.10 beta (linux-image 2.6.35.22.23) and StarTech EC1394B2 firewire express card.

Is there more information I can provide you?

Revision history for this message
Eric Shattow (eshattow) wrote :

P.S. Clarifying side note for the record, and unrelated to this bug, I am experiencing *severe* data corruption with the new firewire stack enabled in Ubuntu Linux kernel 2.6.35.22.23 in conjunction with the StarTech EC1394B2 firewire express card. My definition above of "working" is where I can plug and unplug a given express card and it is correctly recognized again without a reboot.

Revision history for this message
Leonardo Silva Amaral (leleobhz) wrote :
Download full text (104.7 KiB)

Solution #10 solved express card non recognition with my notebook. May acpiphp forced to load on boot for next Ubuntu versions?

dmesg, lspci -nn and lshw outputs:

<email address hidden>:~# dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.35-24-generic (buildd@yellow) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ) #42-Ubuntu SMP Thu Dec 2 02:41:37 UTC 2010 (Ubuntu 2.6.35-24.42-generic 2.6.35.8)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-2.6.35-24-generic root=UUID=11e7fd4d-7a14-4a50-803f-42045aa40e93 ro quiet splash
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009e800 (usable)
[ 0.000000] BIOS-e820: 000000000009e800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000d2e7c000 (usable)
[ 0.000000] BIOS-e820: 00000000d2e7c000 - 00000000d2ebc000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000d2ebc000 - 00000000d2ecd000 (reserved)
[ 0.000000] BIOS-e820: 00000000d2ecd000 - 00000000d2edf000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000d2edf000 - 00000000d2ee0000 (reserved)
[ 0.000000] BIOS-e820: 00000000d2ee0000 - 00000000d2ee3000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000d2ee3000 - 00000000d2f11000 (reserved)
[ 0.000000] BIOS-e820: 00000000d2f11000 - 00000000d2f12000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000d2f12000 - 00000000d2f15000 (reserved)
[ 0.000000] BIOS-e820: 00000000d2f15000 - 00000000d2f17000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000d2f17000 - 00000000d2f1b000 (reserved)
[ 0.000000] BIOS-e820: 00000000d2f1b000 - 00000000d2f1e000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000d2f1e000 - 00000000d2f22000 (reserved)
[ 0.000000] BIOS-e820: 00000000d2f22000 - 00000000d2f31000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000d2f31000 - 00000000d4000000 (reserved)
[ 0.000000] BIOS-e820: 00000000d7e00000 - 00000000e0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000f8000000 - 00000000fc000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
[ 0.000000] BIOS-e820: 00000000fed10000 - 00000000fed14000 (reserved)
[ 0.000000] BIOS-e820: 00000000fed18000 - 00000000fed1a000 (reserved)
[ 0.000000] BIOS-e820: 00000000fed1c000 - 00000000fed20000 (reserved)
[ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[ 0.000000] BIOS-e820: 00000000ffa00000 - 00000000ffc00000 (reserved)
[ 0.000000] BIOS-e820: 00000000ffe00000 - 0000000100000000 (reserved)
[ 0.000000] BIOS-e820: 0000000100000000 - 0000000118000000 (usable)
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] DMI 2.6 present.
[ 0.000000] AMI BIOS detected: BIOS may corrupt low RAM, working around it.
[ 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[ 0.000000] e820 update range: 0000000000000000 - 0000000000001000 (usable) ==> (reserved)
[ 0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[ 0.000000] No AGP bridge ...

Revision history for this message
Miroslav (dzundam-deactivatedaccount) wrote :

Hi all,

"modprobe acpiphp" alone doesn't work for me,
I get nice messages in the log:

Feb 9 17:05:25 xxxl64 kernel: [255004.800480] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
Feb 9 17:05:25 xxxl64 kernel: [255004.801111] acpiphp: Slot [1] registered

that's lovely, but plugging/unplugging device into/from
ExpressCard slot does nothing and produces no messages in log.

But what works for me is putting:

acpiphp

to

/etc/modules

Hallelujah! :-)

Revision history for this message
Miroslav (dzundam-deactivatedaccount) wrote :

I forgot, reboot is required, of course.

Revision history for this message
DougL (dlarue) wrote :

"sudo modprobe acpiphp" is what got hot swapping working for me and without "pciehp.pciehp_force=1" too.
thanks.

Revision history for this message
MMlosh (mmlosh) wrote :

modprobe acpiphp did the trick here.
(32bit natty, Gigabit VIA card)
thanks

Revision history for this message
mlx (myxal-mxl) wrote :

Anyone know if this bug is reported upstream? This still doesn't work for me as of maverick (I'll test natty as soon as I find the time). Hardware: Fujitsu Esprimo Mobile U9200.

Revision history for this message
MMlosh (mmlosh) wrote :

also: pciehp module not found.. and the card is as glitchy as withough hotplugging (when inserted at bootup)

Revision history for this message
Marcello Romani (marcello-romani) wrote :

[success] recently I tried an Acer 9500 which had an express-card gbit ethernet adapter (the brand was "Intellinet" IIRC)
Booting with Ubuntu live cd, the card would be detected and perfectly operational only if it was inserted right from the start. It would not be detected if hot-plugged after the OS had come up.
After inserting the acpiphp module, though, the hot-plugging feature worked flawlessly.
Thanks to all who reported the information here.

Revision history for this message
penalvch (penalvch) wrote :

Eric Shattow, thank you for reporting this and helping make Ubuntu better. Jaunty reached EOL on October 23, 2010.
Please see this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

We were wondering if this is still an issue on a supported release? If so, can you try with the latest development release of Ubuntu? ISO CD images are available from http://cdimage.ubuntu.com/releases/ .

If it remains an issue, could you run the following command in a supported release from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux <replace-with-bug-number>

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.

tags: added: jaunty needs-upstream-testing
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
mlx (myxal-mxl) wrote :

I'm not the reporter, but this is still an issue for me (in precise). Should I go ahead and file a new bug? Apport-bug complains about this me not being the reporter of this bug.

Revision history for this message
penalvch (penalvch) wrote :

mlx, please file a new report by executing the following via the Terminal and feel free to subscribe me to it:
ubuntu-bug linux

Thanks!

Revision history for this message
eddie-s (eddie-s) wrote :

Please provide the new bug number.
Thanks

Revision history for this message
ceg (ceg) wrote :

What is the problem with this bug, that module acpiphp has still not been enabled by default in ubuntu since 2009?

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
penalvch (penalvch)
tags: added: needs-kernel-logs
Revision history for this message
penalvch (penalvch) wrote :

ceg, if you have a bug in Ubuntu, could you 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 may delay your problem being addressed as quickly as possible.

Thank you for your understanding.

Changed in linux (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
tags: added: maverick
Revision history for this message
Robert Schreiner (fredfanatics) wrote :

I had the same problem with my USB3.0-card.

lspci -v showed Kernelmodule xhci_hcd in use.

I blacklisted this module:
sudo echo blacklist xhci_hcd > /etc/modprobe.d/blacklist-xhci_hcd.conf

For acpiphp Kernelmodule:
sudo echo acpiphp >> /etc/modules

After reboot everything worked. No need for pciehp.pciehp_force=1

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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