LINUX.ORG.RU

[acpi, dsdt, iasl] чиню свои проблемки


0

2

Начало тут Итак в dmesg имею:

pci 0000:00:1f.3: reg 20 io port: [0x1c00-0x1c1f]

Обращаем внимание на 0000:00:1f.3 и 0x1c00-0x1c1f. А вот ниже всплывает:

i801_smbus 0000:00:1f.3: PCI INT C -> GSI 19 (level, low) -> IRQ 19
ACPI: I/O resource 0000:00:1f.3 [0x1c00-0x1c1f] conflicts with ACPI region SMBI [0x1c00-0x1c0f]
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

Да то же самое 0000:00:1f.3 и 0x1c00-0x1c1f. Все железо вроде бы как работает нормально. Но во первых страшная надпись немного смущает а во вторых проявляется глобально на ядрах разных версий и в разных дистрах. К тому же об 00:1f.3 lspci говорит:

00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
	Subsystem: Acer Incorporated [ALI] Device 0175
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin C routed to IRQ 19
	Region 0: Memory at c0800000 (64-bit, non-prefetchable) [size=256]
	Region 4: I/O ports at 1c00 [size=32]
	Kernel modules: i2c-i801

А в dsdt по поводу 0x1c00 есть следущее:

        Device (SBUS)
        {
            Name (_ADR, 0x001F0003)
            OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
            Field (SMBP, DWordAcc, NoLock, Preserve)
            {
                    ,   2, 
                I2CE,   1
            }

            OperationRegion (SMBI, SystemIO, 0x1C00, 0x10) // <<-- ага вот оно 0x1C00
            Field (SMBI, ByteAcc, NoLock, Preserve)
            {
                HSTS,   8, 
                        Offset (0x02), 
                HCON,   8, 
                HCOM,   8, 
                TXSA,   8, 
                DAT0,   8, 
                DAT1,   8, 
                HBDR,   8, 
                PECR,   8, 
                RXSA,   8, 
                SDAT,   16
            }

Меня не оставляют смутные подозрения по поводу того что выше обозначенный «баг» можно вылечить правкой dsdt конкретно вот этой строки:

OperationRegion (SMBI, SystemIO, 0x1C00, 0x10) // <<-- ага вот оно 0x1C00

Что скажут всезнающие ЛОРовцы?

★★★★★

# uname -a
Linux nemesis 2.6.38.6-fc #1 SMP Tue May 17 23:07:09 EEST 2011 x86_64 Intel(R) Pentium(R) Dual CPU T3200 @ 2.00GHz GenuineIntel GNU/Linux


# dmesg | grep ACPI
[    0.000000]  BIOS-e820: 00000000bfd64000 - 00000000bfd9f000 (ACPI NVS)
[    0.000000]  BIOS-e820: 00000000bfde2000 - 00000000bfdff000 (ACPI data)
[    0.000000] ACPI: RSDP 00000000000f7160 00024 (v02 PTLTD )
[    0.000000] ACPI: XSDT 00000000bfdf447d 0005C (v01 ACRSYS ACRPRDCT 06040000 INNA 00000000)
[    0.000000] ACPI: FACP 00000000bfde4000 000F4 (v03 INTEL  CRESTLNE 06040000 ALAN 00000001)
[    0.000000] ACPI: Override [DSDT-CANTIGA ], this is unsafe: tainting kernel
[    0.000000] ACPI: DSDT @ 0x00000000bfde5000 Table override, replaced with:
[    0.000000] ACPI: DSDT ffffffff81a38c50 0A4EC (v02 Intel  CANTIGA  00000001 INTL 20100528)
[    0.000000] ACPI: FACS 00000000bfd9efc0 00040
[    0.000000] ACPI: HPET 00000000bfdfed86 00038 (v01 INTEL  CRESTLNE 06040000 LOHR 0000005A)
[    0.000000] ACPI: MCFG 00000000bfdfedbe 0003C (v01 INTEL  CRESTLNE 06040000 LOHR 0000005A)
[    0.000000] ACPI: SLIC 00000000bfdfedfa 00176 (v01 ACRSYS ACRPRDCT 06040000 ANNI 00000001)
[    0.000000] ACPI: APIC 00000000bfdfef70 00068 (v01 PTLTD  ? APIC   06040000  LTP 00000000)
[    0.000000] ACPI: BOOT 00000000bfdfefd8 00028 (v01 PTLTD  $SBFTBL$ 06040000  LTP 00000001)
[    0.000000] ACPI: SSDT 00000000bfde3000 00655 (v01  PmRef    CpuPm 00003000 INTL 20050624)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.007355] ACPI: Core revision 20110112
[    0.098290] ACPI: bus type pci registered
[    0.176997] ACPI: EC: Look up EC in DSDT
[    0.180573] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    0.181060] ACPI: SSDT 00000000bfd1ac20 00265 (v01  PmRef  Cpu0Ist 00003000 INTL 20050624)
[    0.181437] ACPI: Dynamic OEM Table Load:
[    0.181440] ACPI: SSDT           (null) 00265 (v01  PmRef  Cpu0Ist 00003000 INTL 20050624)
[    0.181583] ACPI: SSDT 00000000bfd18620 00549 (v01  PmRef  Cpu0Cst 00003001 INTL 20050624)
[    0.181941] ACPI: Dynamic OEM Table Load:
[    0.181944] ACPI: SSDT           (null) 00549 (v01  PmRef  Cpu0Cst 00003001 INTL 20050624)
[    0.187262] ACPI: SSDT 00000000bfd19ca0 001CF (v01  PmRef    ApIst 00003000 INTL 20050624)
[    0.187654] ACPI: Dynamic OEM Table Load:
[    0.187657] ACPI: SSDT           (null) 001CF (v01  PmRef    ApIst 00003000 INTL 20050624)
[    0.190087] ACPI: SSDT 00000000bfd19f20 0008D (v01  PmRef    ApCst 00003000 INTL 20050624)
[    0.190457] ACPI: Dynamic OEM Table Load:
[    0.190461] ACPI: SSDT           (null) 0008D (v01  PmRef    ApCst 00003000 INTL 20050624)
[    0.210037] ACPI: Interpreter enabled
[    0.210041] ACPI: (supports S0 S3 S4 S5)
[    0.210065] ACPI: Using IOAPIC for interrupt routing
[    0.222438] ACPI: EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
[    0.228120] ACPI: No dock devices found.
[    0.228125] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.228415] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.236540] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.236653] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEGP._PRT]
[    0.236710] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
[    0.236780] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
[    0.236816] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP02._PRT]
[    0.236852] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP03._PRT]
[    0.236887] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP04._PRT]
[    0.236941] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP05._PRT]
[    0.236994]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.243697] ACPI: PCI Interrupt Link [LNKA] (IRQs 10 *11)
[    0.243746] ACPI: PCI Interrupt Link [LNKB] (IRQs 10 *11)
[    0.243792] ACPI: PCI Interrupt Link [LNKC] (IRQs *10 11)
[    0.243838] ACPI: PCI Interrupt Link [LNKD] (IRQs *10 11)
[    0.243884] ACPI: PCI Interrupt Link [LNKE] (IRQs 10 *11)
[    0.243929] ACPI: PCI Interrupt Link [LNKF] (IRQs *10 11)
[    0.243981] ACPI: PCI Interrupt Link [LNKG] (IRQs 10 11) *0, disabled.
[    0.244028] ACPI: PCI Interrupt Link [LNKH] (IRQs *10 11)
[    0.244266] PCI: Using ACPI for IRQ routing
[    0.250318] pnp: PnP ACPI init
[    0.250341] ACPI: bus type pnp registered
[    0.250790] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 (active)
[    0.250931] pnp 00:01: Plug and Play ACPI device, IDs PNP0303 (active)
[    0.250982] pnp 00:02: Plug and Play ACPI device, IDs SYN0302 SYN0300 SYN0002 PNP0f13 (active)
[    0.251048] pnp 00:03: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.251093] pnp 00:04: Plug and Play ACPI device, IDs INT0800 (active)
[    0.251310] system 00:05: Plug and Play ACPI device, IDs PNP0103 PNP0c01 (active)
[    0.251366] pnp 00:06: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.251502] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.251548] pnp 00:08: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.251817] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.251961] pnp: PnP ACPI: found 10 devices
[    0.251963] ACPI: ACPI bus type pnp unregistered
[    0.373542] ACPI: acpi_idle registered with cpuidle
[    3.637047] ACPI: Lid Switch [LID0]
[    3.644071] ACPI: Sleep Button [SLPB]
[    3.644242] ACPI: Power Button [PWRF]
[    3.895132] ACPI: Thermal Zone [TZS0] (85 C)
[    3.939313] ACPI: Deprecated procfs I/F for battery is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared
[    3.939329] ACPI: Battery Slot [BAT0] (battery present)
[    3.943157] ACPI: Video Device [VGA] (multi-head: yes  rom: no  post: no)
[    3.946382] ACPI: Deprecated procfs I/F for AC is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared
[    3.948884] ACPI: Thermal Zone [TZS1] (85 C)
[    3.951209] ACPI: AC Adapter [ADP1] (on-line)
[    4.205051] HDA Intel 0000:00:1b.0: power state changed by ACPI to D0
[    4.205058] HDA Intel 0000:00:1b.0: power state changed by ACPI to D0
[   20.423166] ACPI Warning: For \_SB_.PCI0.PEGP.VGA_.MXMI: Excess arguments - needs 1, found 2 (20110112/nspredef-319)
[   20.423191] ACPI Warning: For \_SB_.PCI0.PEGP.VGA_.MXMS: Excess arguments - needs 1, found 2 (20110112/nspredef-319)

Помогло исправление dsdt и новое ядро. Какой же все таки ужас в дефолтных dsdt!

init_6 ★★★★★
() автор топика
Ответ на: комментарий от init_6

Помогло исправление dsdt и новое ядро.

А можно было просто попробовать добавить в командную строку ядра

acpi_enforce_resources=lax

Deleted
()
Ответ на: комментарий от Deleted

Кроме модуля lm_sensors?

lsmod 
Module                  Size  Used by
hidp                   22472  1 
sco                    18031  2 
bnep                   18212  2 
btusb                  18683  4 
fuse                   74397  5 
rfcomm                 42657  4 
l2cap                  49042  21 hidp,bnep,rfcomm
bluetooth              67898  10 hidp,sco,bnep,btusb,rfcomm,l2cap
snd_seq_dummy          12798  0 
snd_seq_oss            34018  0 
snd_seq_midi_event     14899  1 snd_seq_oss
snd_seq                57261  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device         14490  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            45337  0 
snd_mixer_oss          22342  1 snd_pcm_oss
af_packet              26615  2 
ipv6                  327466  16 
rfkill                 22025  3 bluetooth
sdhci                  27034  0 
mmc_core               83241  1 sdhci
pciehp                 33202  0 
pci_hotplug            19678  1 pciehp
nvidia              10709281  53 
snd_hda_codec_hdmi     27849  1 
snd_hda_codec_realtek   322611  1 
ttm                    71792  0 
snd_hda_intel          32478  4 
drm_kms_helper         41795  0 
drm                   218651  2 ttm,drm_kms_helper
snd_hda_codec          93508  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
uvcvideo               67107  0 
videodev               81873  1 uvcvideo
snd_pcm                87831  5 snd_pcm_oss,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer              29488  2 snd_seq,snd_pcm
snd                    73094  19 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
soundcore              14996  1 snd
intel_agp              18386  0 
intel_gtt              24244  1 intel_agp
wl                   2543322  0 
sky2                   53642  0 
snd_page_alloc         18484  2 snd_hda_intel,snd_pcm
iTCO_wdt               17772  0 
i2c_algo_bit           13265  0 
v4l2_compat_ioctl32    16766  1 videodev
battery                13731  0 
agpgart                43931  5 nvidia,ttm,drm,intel_agp,intel_gtt
i2c_i801               17200  0 
video                  18992  0 
thermal                18257  0 
button                 14006  0 
iTCO_vendor_support    13718  1 iTCO_wdt
ac                     12862  0 
unix                   32012  782 

 # zcat /proc/config.gz | grep ACPI
# CONFIG_X86_64_ACPI_NUMA is not set
# Power management and ACPI options
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_POWER_METER is not set
CONFIG_ACPI_EC_DEBUGFS=m
# CONFIG_ACPI_PROC_EVENT is not set
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_CUSTOM_DSDT_FILE="/usr/local/src/dsdt/dsdt.hex"
CONFIG_ACPI_CUSTOM_DSDT=y
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=m
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=m
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_APEI is not set
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_HOTPLUG_PCI_ACPI=m
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
CONFIG_PNPACPI=y
CONFIG_ATA_ACPI=y
# ACPI drivers
# ACPI drivers
# CONFIG_ACPI_QUICKSTART is not set

Остальное не использовал никогда.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от Deleted

А можно было просто попробовать добавить в командную строку ядра acpi_enforce_resources=lax

Спасибо. Старое ядрышко есть. Проверю.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Вот это он.

Да это понятно. Но штука в том, что конфиг ядра один и тот же. Версии ядер разные в первом 2.6.32 сейчас 2.6.38.6 и dsdt тоже очень разные… Что именно сыграло ключивую роль? Сказать затрудняюсь но наверное и то и то.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от init_6

Что именно сыграло ключивую роль? Сказать затрудняюсь но наверное и то и то.

Опытным путем было выяснено - однозначно это «баг» таблицы dsdt. Слово «баг» в кавычках поскольку в полностью исправленном dsdt.dsl но без макоспецифичных патчей даже не смотря на то что

# iasl -tc dsdt.dsl;

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20100528 [May 13 2011]
Copyright (c) 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0a

ASL Input:  dsdt.dsl - 9467 lines, 398811 bytes, 4157 keywords
AML Output: dsdt.aml - 41021 bytes, 897 named objects, 3260 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
он все равно присутствует

init_6 ★★★★★
() автор топика
4 марта 2012 г.
Ответ на: Починил от init_6

Добрый день,

Не являюсь опытным пользователем linux, только недавно перешел на него, потихоньку разбираюсь... Вопрос вот в чем: У меня точно такая же проблема... в точности. Ноут acer extensa 5630. и такой же конфликт. Прочитал ваш топик и простите, не совсем понял, а что нужно сделать? :)

dimapv
()
Ответ на: комментарий от dimapv

Прочитал ваш топик и простите, не совсем понял, а что нужно сделать? :)

dimapv «Не знаешь не берись» © :)

А по топику если кому интересно то я «исправил» ASPM

Если я правильно понял то это сообщение

ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *

вроде как совсем не страшно :) в других режимах работы acpi задействуется и оно…

Все еще так и не понял как побороть

[Firmware Bug]: ACPI: BIOS _OSI(Linux) query honored via cmdline

init_6 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.