Opened 10 years ago

Closed 6 years ago

#233 closed defect (unknown)

ACPI driver destroys PCI config space for PCI Express devices

Reported by: yoda Owned by:
Priority: blocker Milestone: Release 4.00
Component: ACPI PSD Version: 3.19.02
Keywords: PCI config space PCI-e Express Cc: e-co, ecslist@…

Description

When ACPI.PSD is loaded (and it doesn't matter which switches is used) PCI config space gets destroyed for some devices - in my case my Wlan Intel 3945abg. This have been happening even in all 2.x versions too.

Since more and more users reports similar problems for other devices, I tried to compare, and it seems that this problem only happens for devices connected to PCI Express bus.

In my case it happens to 3945 device connected to PCI-e and the PCI-e root port.

Other users report the same problem happens to their Gigabit nics - when this is connected to PCI-e too.

It seems, there is some general problem with ACPI driver about PCI-e devices, as I have not seen any case where a normal PCI device gets its PCI config space destroyed by ACPI driver.

Plenty of logs uploaded during time - but I'd be happy to supply more, if needed (there are a few in Ticket #226, which shows some of them).

Reimplementing PCIWRITE is a nice tool for experts and hardcore users to test and workaround this problem; but we _really_ need to figure out, what goes wrong here, and fix that.

Yoda.

Attachments (4)

froloff-Acer6292-pci-config.zip (37.9 KB) - added by guest 10 years ago.
acpi309test-Acer-info1.zip (207.9 KB) - added by yoda 10 years ago.
froloff-Acer6292-pci-D.zip (14.5 KB) - added by guest 10 years ago.
froloff-Acer6292.zip (12.3 KB) - added by guest 10 years ago.

Download all attachments as: .zip

Change History (35)

comment:1 Changed 10 years ago by guest

I believe that incident #211 is related to this problem...

comment:2 follow-up: Changed 10 years ago by eco

  • Resolution set to wontfix
  • Status changed from new to closed

e-co:

OK, as I remember, the research was done in the past.

The config space is destroyed because the initialization of ACPI tables doesn't finish properly.

This problem is known, depends on model of notebook.

Workaround:

  • fix tables
  • use PCIWRITE

It's necessary implement PCIWRITE for UNI, so standalone consultant can help to user to restore PCI config space.

comment:3 in reply to: ↑ 2 Changed 10 years ago by yoda

  • Resolution wontfix deleted
  • Status changed from closed to reopened

e-co:

OK, as I remember, the research was done in the past.

The config space is destroyed because the initialization of ACPI tables doesn't finish properly.

That might be the case in a few situations - but we have seen several cases, where the same happens for i PCIe device, even if NO errors are reported from ACPI tables.

This problem is known,

So why did you close the ticket ? You can close it, when you have fixed the problem that ACPI driver creates - not before !

..depends on model of notebook.

Sure, not all notebooks comes with PCIe devices Besides, it does not only apply to notebooks....

It is still a severe bug in ACPI driver, that is destroys config space. Don't come up with excuses about bad ACPI tables. ACPI driver must check, that setup of config space is done correctly. A very simple way to do this in case of "bad ACPI tables" would be to read config space before evaluating table. If evaluation gives errors, then restore config space to what it previous was.

But, as I said, we have seen the same for some devices, where there is no errors when evaluation ACPI table - so something is clearly wrong with ACPI driver.

Workaround:

  • fix tables

ACPI driver can't load a fixed table, when running in SMP mode, so this workaround doesn't exist.

  • use PCIWRITE

This is for experts, for testing. This is not an option for the general user.

Changed 10 years ago by guest

comment:4 Changed 10 years ago by guest

Hello.

I add to attach a packed file with DSDT ACPI table (without errors), ACPICA$ log and pci.exe output with and without ACPI.PSD. Everything works fine after recovering PCI config space to values when boot without ACPI.PSD.

Hope this help.

Regards Dmitry.

Changed 10 years ago by yoda

comment:5 Changed 10 years ago by dengert

PCI logs without -D are of very limited use.

Besides that, it looks like the PCI replacement functions are horribly broken. Small wonder that there are problems with devices not working when ACPI.PSD is loaded.

The deactivated PCIe bridges and closed resource windows are probably due to AML functions - I didn't check this because that makes no sense until the PCI access routines are in proper shape.

comment:6 Changed 10 years ago by eco

Pasha and Yoda have spent much time to research of this problem.

Acer notebooks,

If you enable ACPI -> pci config space is cleaned (zero), then ACPI should fill it again. But ACPI fails on Acer. That's why it is empty..

comment:7 Changed 10 years ago by rudi

It would still be interesting to have the same information as in froloff-Acer6292-pci-config.zip, but with the option -D applied to PCI.EXE.

Changed 10 years ago by guest

comment:8 Changed 10 years ago by guest

I add PCI.EXE -D log as you requested.

Hope this helps.

comment:9 Changed 10 years ago by guest

  • Version changed from 3.08 to 3.09

comment:10 Changed 10 years ago by pasha

acpi07052008.zip at betzone, try pls and attach acpi.log

comment:11 Changed 10 years ago by eco

Not BETAZONE,

Goto your directory in Mensys shop:

http://ecomstation.ru/projects/acpitools/?action=testcase

2 Паша: запиши в памятку, что пользователям этот каталог со спецбилдами виден через Mensys shop. Всегда указывай на инструкцию: http://ecomstation.ru/projects/acpitools/?action=testcase

В бетазону могу заливать только я. Мы туда кладем релизы.

comment:12 Changed 10 years ago by rudi

try pls and attach acpi.log

Also add PCI -D information.

From the acpica.log I see that the DSDT is overridden. Are you using the one shown in dsdt_CRESTLNE.dsl ? I'm asking this, because in the file the _OSI checks are commented out. As I understand ticket #232 is fixed so I'd prefer to see these checks enabled.

Changed 10 years ago by guest

comment:13 Changed 10 years ago by guest

I installed ACPI.PSD built on May 7 2008 Nothing changed unfortunatelly

Please find logs in froloff-Acer6292.zip attach

Hope this helps.

comment:14 Changed 10 years ago by guest

  • Version changed from 3.09 to 3.10

comment:15 Changed 10 years ago by stevenhl

  • Milestone changed from eCS 2.0 to Release version 3.10

comment:16 Changed 10 years ago by rudi

I installed ACPI.PSD built on May 7 2008 Nothing changed unfortunatelly

Hmm, to be honest, I didn't expect too much from the change but I was not sure. I'll come back when I have another idea...

comment:17 Changed 10 years ago by stevenhl

  • Milestone changed from Release version 3.10 to Feedback pending

comment:18 Changed 9 years ago by pasha

Acer notebook, need fix acpi table

comment:19 Changed 9 years ago by eco

e-co:

This ticket is for information only.

Yoda writes:

This problem is reported by minimum 100 users, all with different (non-Acer) hardware. The specific logs uploaded to this ticket by Froloff includes his fixes acpi table - and show these 2 things have nothing to do with each other. ACPI contains defective OEMHELP ! Same defective OEMHELP can be found in OS2LDR from OS/4 kernel/ldr project. Using os4ldr from this project creates same defective PCI config-SPACE even when ACPI is not loaded (same author?!)

e-co:

OK, tester can't continue experiments, it's necessary close the ticket

comment:20 Changed 9 years ago by eco

  • Resolution set to unknown
  • Status changed from reopened to closed

comment:21 Changed 9 years ago by stevenhl

  • Milestone changed from Feedback pending to eCS 2.x
  • Resolution unknown deleted
  • Status changed from closed to reopened

Ticket in not resolved. It can not be closed. The correct action is to move it to a future milestone.

comment:22 Changed 9 years ago by stevenhl

  • Owner pasha deleted
  • Status changed from reopened to new

comment:23 Changed 9 years ago by pasha

  • Owner set to pasha

This tickets under resolving and I hope, that this ticket be resolving before march. pciwrite is resolving already, source in svn

comment:24 Changed 9 years ago by stevenhl

  • Milestone changed from eCS 2.x to Release version 3.15

comment:25 Changed 9 years ago by pasha

  • Resolution set to fixed
  • Status changed from new to closed

PCIWRITE is ready in test in this user

comment:26 Changed 9 years ago by stevenhl

  • Milestone changed from Release version 3.15 to Feedback pending
  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:27 Changed 9 years ago by stevenhl

  • Owner pasha deleted
  • Status changed from reopened to new

Yoda,

Please let us know the results of testing Pasha's new test build. Thx.

comment:28 Changed 9 years ago by yoda

  • Milestone changed from Feedback pending to Release version 3.15
  • Priority changed from critical to blocker

Please do not mix up the tickets ! Yes, PCIWRITE works on my limited testing - but PCIWRITE is ticket #226 ! It has nothing to do with this ticket - besides that it is a 'workaround'.

Latest 3.15pre test release actually changes PCI config space for the first time. It isn't right, it doesn't work, but at least something new happened for the first time in years !!!!

comment:29 Changed 9 years ago by khs

  • Cc ecslist@… added

I have the same problem with my AMD Chipset based ASUS board that many devices does not work if ACPI.PSD is loaded. See Ticket #374.

comment:30 Changed 6 years ago by yoda

  • Milestone changed from Release version 3.19 to Release Version 4.0.0
  • Version changed from 3.10 to 3.19.02

This problem also exists in the new line of ACPI drivers from 3.19.02 and up but with later drivers driver (3.19.14 and up I think) the system Traps while loading ACPI driver, so I can not test this again, before the other problem is fixed.

comment:31 Changed 6 years ago by yoda

  • Resolution set to unknown
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.