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

Download all attachments as: .zip

Change History (35)

comment:1 by Chuck McKinnis, 17 years ago

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

comment:2 by eco, 17 years ago

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.

in reply to:  2 comment:3 by yoda, 17 years ago

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.

by Chuck McKinnis, 17 years ago

comment:4 by Chuck McKinnis, 17 years ago

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.

by yoda, 17 years ago

Attachment: acpi309test-Acer-info1.zip added

comment:5 by dengert, 17 years ago

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 by eco, 17 years ago

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 by rudi, 17 years ago

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.

by Chuck McKinnis, 17 years ago

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

comment:8 by Chuck McKinnis, 17 years ago

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

Hope this helps.

comment:9 by Chuck McKinnis, 17 years ago

Version: 3.083.09

comment:10 by pasha, 17 years ago

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

comment:11 by eco, 17 years ago

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 by rudi, 17 years ago

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.

by Chuck McKinnis, 17 years ago

Attachment: froloff-Acer6292.zip added

comment:13 by Chuck McKinnis, 17 years ago

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

Version: 3.093.10

comment:15 by Steven Levine, 17 years ago

Milestone: eCS 2.0Release version 3.10

comment:16 by rudi, 17 years ago

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 by Steven Levine, 16 years ago

Milestone: Release version 3.10Feedback pending

comment:18 by pasha, 16 years ago

Acer notebook, need fix acpi table

comment:19 by eco, 16 years ago

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

Resolution: unknown
Status: reopenedclosed

comment:21 by Steven Levine, 16 years ago

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 by Steven Levine, 16 years ago

Owner: pasha removed
Status: reopenednew

comment:23 by pasha, 16 years ago

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 by Steven Levine, 16 years ago

Milestone: eCS 2.xRelease version 3.15

comment:25 by pasha, 16 years ago

Resolution: fixed
Status: newclosed

PCIWRITE is ready in test in this user

comment:26 by Steven Levine, 16 years ago

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

comment:27 by Steven Levine, 16 years ago

Owner: pasha removed
Status: reopenednew

Yoda,

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

comment:28 by yoda, 16 years ago

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

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

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

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