Opened 16 years ago

Closed 12 years ago

#226 closed defect (wontfix)

Implement PCIWRITE in ACPI 3.x

Reported by: Chuck McKinnis Owned by:
Priority: blocker Milestone: Release version 3.19
Component: ACPI PSD Version: 3.08
Keywords: PCIWRITE Cc: yoda

Description

e-co:

Two (or more) users need this feature to activate WiFi? adapters.

Experiments with ACPI 2.22+ (not released) which includes PCIWRITE, give good results, wifi adapter becomes visible for the operating system:

PCIWRITE 3:0:0:0x4 0x00100006 PCIWRITE 3:0:0:0x10 0xB0200000

WRND322$ WRAPPER for bus: 3 slot: 0 Vendor: 0x8086 Device: 0x4222.

WRND322$ load SYS: "NETW3X32.SYS" length: 1783936 CRC: 0x0ce2 / 0x1005. WRND322$ load INF: "NETW3X32.REG" length: 1840. WRND322$ WRAPPER hardware init successfull MAC : 001302:20C324. WRND32$ WRAPPER ErrorLog? 0x4005000b.

Attachments (5)

acpi223test-Acer-info1.zip (42.7 KB) - added by yoda 16 years ago.
acpi223test-Acer-info2.zip (98.9 KB) - added by yoda 16 years ago.
acpi223test-Acer-info3.zip (99.4 KB) - added by yoda 16 years ago.
pci-write-logs.zip (12.9 KB) - added by Chuck McKinnis 16 years ago.
acpi-07042008.zip (17.0 KB) - added by Chuck McKinnis 16 years ago.

Download all attachments as: .zip

Change History (25)

comment:1 Changed 16 years ago by yoda

Cc: yoda added
Keywords: PCIWRITE added
Milestone: eCS 2.0
Priority: majorblocker

PCIWRITE would indeed be nice to get back, as it seems useful to track problems and do some crazy testing :-)

However, lets not forget, that the real problem (In my case) is, that the ACPI driver destroys some of the data in PCI config space. The data, as shown in log1 is how BIOS initializes it, when ACPI driver is not loaded. The data in log2 shows how PCI config space is now changed -for several devices- after ACPI driver is loaded. The data in log3 shows how we changed it using PCIWRITE. With these changes, the 4222 WiFi? device is now working together with ACPI in APIC mode.

Logs attached.

Yoda

Changed 16 years ago by yoda

Attachment: acpi223test-Acer-info1.zip added

Changed 16 years ago by yoda

Attachment: acpi223test-Acer-info2.zip added

Changed 16 years ago by yoda

Attachment: acpi223test-Acer-info3.zip added

comment:2 Changed 16 years ago by Chuck McKinnis

Note that this adapter is used on some Thinkpads as well.

Intel 3945 a/b/g [8086:4222]

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

Replying to mckinnis:

Note that this adapter is used on some Thinkpads as well.

Intel 3945 a/b/g 8086:4222

Yes, many laptops use this device, but the problem is not related specific to this device. I have heard of people using this device with success, and I have heard of people using other types of devices with same problem as here (PCI config space mangled - device not working together with ACPI loaded).

It is _not_ a 8086:4222 specific issue.

Adding PCIWRITE code to ACPI driver is a tool for developers and superusers to test and see how to fix things.

The real goal is of course to figure out, why a perfect working PCI config space gets changed to a not useful solution.

comment:4 Changed 16 years ago by Chuck McKinnis

From froloff

I think it will be better to keep this code in ACPI snooper, removing the rest code, which now part of ACPI.PSD, so users, which doesn't need this future, will be safe.

comment:5 Changed 16 years ago by Chuck McKinnis

Resolution: fixed
Status: newclosed

e-co:

OK, special build seems working.

Added info to ACPI docs (troubleshooting, acpi.cfg)

comment:6 Changed 16 years ago by Chuck McKinnis

Resolution: fixed
Status: closedreopened

I tested with ACPI06042008.ZIP and ACPI07042008.ZIP ACPI builds, none worked.

Changed 16 years ago by Chuck McKinnis

Attachment: pci-write-logs.zip added

Changed 16 years ago by Chuck McKinnis

Attachment: acpi-07042008.zip added

comment:7 Changed 16 years ago by Chuck McKinnis

e-co:

Yoda confirms: PCIWRITE doesn't work with UNI krnl

comment:8 Changed 16 years ago by Steven Levine

Milestone: eCS 2.0Release version 3.11

comment:9 Changed 16 years ago by Chuck McKinnis

e-co

There is PCIWRITE for SMP. Does user need PCIWRITE for UNI?

pro and contra

+ User boots to UNI for recover purposes.

+ PCIWRITE allows use Acer notebooks, (it's impossible to fix the tables)

+ write to pci config space may be useful for other purposes

  • it's difficult to adjust parameters for PCIWRITE
  • if recovery purpose then no need in ACPI(?)

comment:10 Changed 15 years ago by pasha

PCIWRITE in acpi.cfg, ticket is open. Very good for looking every day dummy ticket

comment:11 Changed 15 years ago by ecsnl

Well it should be tested before the ticket is closed. Any of the people that have such a failing system reading this ticket ?

comment:12 Changed 15 years ago by eco

e-co:

PCIWRITE doesn't work on UNI kernel

comment:13 Changed 15 years ago by pasha

1.Where is tester?

  1. As I remember now only SMP kernel?

comment:14 Changed 15 years ago by eco

Resolution: fixed
Status: reopenedclosed

e-co:

Yes.. SMP kernel is default now.

Yes, user confirmed that PCIWRITE works.

comment:15 Changed 15 years ago by eco

Resolution: fixed
Status: closedreopened

e-co:

Yoda:

Ticket was created because PCIWRITE didn't work in UNI kernel. Is UNI kernel now suddanly UNSUPPORTED by eCOmStation ? BTW: the latest 3.14 testcase drivers doesn't work with PCIWRITE on SMP kernel either. That was reported to Pasha on IRC 1-2 months ago - and he noticed the (new!) problems - just never fixed them .. .. and latest still doesn't.

comment:16 Changed 15 years ago by Steven Levine

Milestone: Release version 3.15Release version 3.16
Owner: pasha deleted
Status: reopenednew

comment:17 Changed 15 years ago by Steven Levine

Milestone: Release version 3.16Release version 3.15

comment:18 Changed 15 years ago by yoda

Owner: set to pasha

PCIWRITE seems to work in todays testbuild (3.15pre). I have only tested it with SMP (actually OS/4) kernel so far.

It is needed for all kernels, and earlier it didn't work for UNI kernel. Please test this feature for all kernels before closing ticket.

comment:19 Changed 15 years ago by pasha

Owner: pasha deleted

comment:20 Changed 12 years ago by David Azarewicz

Resolution: wontfix
Status: newclosed

It is not appropriate nor necessary to put a user driven PCI write function in the PSD. The proper place to configure the PCI config space for an adapter is in the device driver for that adapter. If you think you need manual control of some of the PCI config registers, you can use one of the already existing tools for doing that. I know of two but there are probably others: <​http://kannegieser.net/veit/quelle/wpcicfg.arj> and <​http://88watts.net/download/pcicfgwr-0.01.zip>. The latter has better documentation and is easier to use.

Note: See TracTickets for help on using tickets.