[Debian-eeepc-devel] Fix for 2.6.26 PCI hotplug error when enabling wireless

Phil Endecott spam_from_debian_eee at chezphil.org
Fri Aug 29 14:14:37 UTC 2008


Dear All,

Having upgraded my ACPI scripts to the new version that selects ath0 or 
ra0 as appropriate, I have tried disabling and enabling wireless using 
fn-f2.  This is with 2.6.26.  Disabling works, but when I try to 
re-enable it I get this:

[ 5548.103120] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 5548.115118] pciehp: HPC vendor_id 8086 device_id 27d0 ss_vid 0 
ss_did 0
[ 5548.115118] Load service driver hpdriver on pcie device 0000:00:1c.0:pcie02
[ 5548.115118] pciehp: HPC vendor_id 8086 device_id 27d2 ss_vid 0 
ss_did 0
[ 5548.115118] pciehp: pci_hp_register failed with error -17
[ 5548.115118] pciehp: Failed to register slot because of name 
collision. Try 'p
ciehp_slot_with_bus' module option.
[ 5548.115118] pciehp: pciehp: slot initialization failed
[ 5548.115118] pciehp: HPC vendor_id 8086 device_id 27d4 ss_vid 0 
ss_did 0
[ 5548.115272] pciehp: pci_hp_register failed with error -17
[ 5548.115397] pciehp: Failed to register slot because of name 
collision. Try 'p
ciehp_slot_with_bus' module option.
[ 5548.115577] pciehp: pciehp: slot initialization failed
[ 5548.119132] pciehp: HPC vendor_id 8086 device_id 27d6 ss_vid 0 
ss_did 0
[ 5548.119132] pciehp: pci_hp_register failed with error -17
[ 5548.119132] pciehp: Failed to register slot because of name 
collision. Try 'pc
iehp_slot_with_bus' module option.
[ 5548.119132] pciehp: pciehp: slot initialization failed
[ 5548.119132] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[ 5549.592083]
[ 5549.592083]
[ 5549.592083] === pAd = f8b41000, size = 580788 ===
[ 5549.592083]
[ 5549.592083] <-- RTMPAllocAdapterBlock, Status=0
[ 5549.592083] PCI: Setting latency timer of device 0000:01:00.0 to 64
[ 5549.744609] RX DESC f77fe000  size = 2048
[ 5549.745379] <-- RTMPAllocTxRxRingMemory, Status=0
[ 5549.947945] ERROR!!! BBP read R0=0xffffffff fail
[ 5549.948339] ERROR!!! BBP read R0=0xffffffff fail
[ 5549.948739] ERROR!!! BBP read R0=0xffffffff fail
[ 5549.949132] ERROR!!! BBP read R0=0xffffffff fail

The last message is repeated a few hundred times and eventually I get 
"!!! RT2860 Initialized fail !!!".

Following the advice in the message, I added 'pciehp_slot_with_bus=1' 
to /etc/acpi/actions/wireless.sh:

     modprobe pciehp pciehp_force=1 pciehp_slot_with_bus=1

Now I get this:

[   31.059334] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[   31.555821] pciehp: HPC vendor_id 8086 device_id 27d0 ss_vid 0 
ss_did 0
[   31.558807] Load service driver hpdriver on pcie device 0000:00:1c.0:pcie02
[   31.558807] pciehp: HPC vendor_id 8086 device_id 27d2 ss_vid 0 
ss_did 0
[   32.559916] pciehp: Device 0000:03:00.0 already exists at 3:0, 
cannot hot-add
[   32.560072] pciehp: Cannot add device 0x3:0
[   33.564557] Load service driver hpdriver on pcie device 0000:00:1c.1:pcie02
[   33.564630] pciehp: HPC vendor_id 8086 device_id 27d4 ss_vid 0 
ss_did 0
[   33.567870] Load service driver hpdriver on pcie device 0000:00:1c.2:pcie02
[   33.567870] pciehp: HPC vendor_id 8086 device_id 27d6 ss_vid 0 
ss_did 0
[   33.567870] Load service driver hpdriver on pcie device 0000:00:1c.3:pcie02
[   33.567870] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[   33.590081] pciehp: Card present on Slot(0001_0000)
[   34.594586] program_fw_provided_values: Could not get hotplug parameters
[   34.939062] rt2860 0000:01:00.0: enabling device (0000 -> 0002)
[   34.939062] ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 19 (level, 
low) -> IRQ 19

Although this doesn't look entirely healthy, the wireless does 
subsequently work.  Does anyone understand PCI hotplug enough to figure 
out what we should really be doing here?

While looking at /etc/acpi/actions/wireless.sh I notced that it runs 
"ifconfig $WLAN_IF up".  Is this the right thing to do? My 
understanding was that having "allow-hotplug ra0" in 
/etc/network/interfaces would cause the interface to be brought up in 
response to the hardware being detected, though I'm not sure exactly 
how that hangs together.  Just running "ifconfig up" doesn't cause any 
of the DHCP stuff that "ifup" does, does it?  So if I switch off 
wireless and then switch it on again it will reconnect to the same 
network, but if I've moved to a different location in the meantime it 
won't re-DHCP.  Or will it???

oz posted earlier saying that he has WLAN working on his 2.6.26 901; 
does that include working fn-f2 enable/disable?


Thanks,  Phil.






More information about the Debian-eeepc-devel mailing list