Opened 16 years ago

Closed 12 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 Chuck McKinnis 16 years ago.
acpi309test-Acer-info1.zip (207.9 KB) - added by yoda 16 years ago.
froloff-Acer6292-pci-D.zip (14.5 KB) - added by Chuck McKinnis 16 years ago.
froloff-Acer6292.zip (12.3 KB) - added by Chuck McKinnis 16 years ago.

Download all attachments as: .zip

Change History (35)

comment:1 Changed 16 years ago by Chuck McKinnis

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

comment:2 Changed 16 years ago by eco

Resolution: wontfix
Status: newclosed

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 16 years ago by yoda

Resolution: wontfix
Status: closedreopened

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 16 years ago by Chuck McKinnis

comment:4 Changed 16 years ago by Chuck McKinnis

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 16 years ago by yoda

Attachment: acpi309test-Acer-info1.zip added

comment:5 Changed 16 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 16 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 16 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 16 years ago by Chuck McKinnis

Attachment: froloff-Acer6292-pci-D.zip added

comment:8 Changed 16 years ago by Chuck McKinnis

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

Hope this helps.

comment:9 Changed 16 years ago by Chuck McKinnis

Version: 3.083.09

comment:10 Changed 16 years ago by pasha

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

comment:11 Changed 16 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 16 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 16 years ago by Chuck McKinnis

Attachment: froloff-Acer6292.zip added

comment:13 Changed 16 years ago by Chuck McKinnis

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 16 years ago by Chuck McKinnis

Version: 3.093.10

comment:15 Changed 16 years ago by Steven Levine

Milestone: eCS 2.0Release version 3.10

comment:16 Changed 16 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 16 years ago by Steven Levine

Milestone: Release version 3.10Feedback pending

comment:18 Changed 15 years ago by pasha

Acer notebook, need fix acpi table

comment:19 Changed 15 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 15 years ago by eco

Resolution: unknown
Status: reopenedclosed

comment:21 Changed 15 years ago by Steven Levine

Milestone: Feedback pendingeCS 2.x
Resolution: unknown
Status: closedreopened

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

comment:22 Changed 15 years ago by Steven Levine

Owner: pasha deleted
Status: reopenednew

comment:23 Changed 15 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 15 years ago by Steven Levine

Milestone: eCS 2.xRelease version 3.15

comment:25 Changed 15 years ago by pasha

Resolution: fixed
Status: newclosed

PCIWRITE is ready in test in this user

comment:26 Changed 15 years ago by Steven Levine

Milestone: Release version 3.15Feedback pending
Resolution: fixed
Status: closedreopened

comment:27 Changed 15 years ago by Steven Levine

Owner: pasha deleted
Status: reopenednew

Yoda,

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

comment:28 Changed 15 years ago by yoda

Milestone: Feedback pendingRelease version 3.15
Priority: criticalblocker

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 15 years ago by Karlheinz Schmidthaus

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 12 years ago by yoda

Milestone: Release version 3.19Release Version 4.0.0
Version: 3.103.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 12 years ago by yoda

Resolution: unknown
Status: newclosed
Note: See TracTickets for help on using tickets.