Asus G752VS、GTX 1070 - PCI-eオーディオデバイス(補助機能)がありません

Asus G752VS、GTX 1070 - PCI-eオーディオデバイス(補助機能)がありません

システムメッセージ

Kernel: Linux 4.12.6-1-ARCH
Distro: Arch Linux
Machine: Asus G752VS laptop
CPU: Intel Core i7 6700HQ
Graphics card: Nvidia GTX 1070 Mobile (GP104M)

問題の結論

私は最近、ASUS G752VSの基本的なハードウェア構成にArch Linuxをインストールしました。 HDMIオーディオ出力を動作させようとしていますが、Linuxではカード上のPCI-eデバイスは単一の機能(VGA互換コントローラ)としてのみ表示されます。オンライン情報によると、ALSA / PulseAudioがカードを使用するには、同じPCI-eデバイスに2番目の機能(オーディオデバイス)が必要です。 Windows 10ではソフトウェアの問題のようです。はい2番目の機能であるHDMIオーディオ出力は期待どおりに機能します。この問題を解決するための次のステップは何ですか?

予想される動作

私が使用しているデバイス/機能の基準を取得するには予想される!pcitree見てください。これは同じコンピュータ上のWindowsカーネルデバッガの出力です。

lkd> !pcitree
Bus 0x0 (FDO Ext ffffd1884838a190)
  (d=0,  f=0) 80861910 devext 0xffffd188483e91b0 devstack 0xffffd188483e9060 0600 Bridge/HOST to PCI
  (d=1,  f=0) 80861901 devext 0xffffd188483d91b0 devstack 0xffffd188483d9060 0604 Bridge/PCI to PCI
  Bus 0x1 (FDO Ext ffffd18848657c60)
    (d=0,  f=0) 10de1be1 devext 0xffffd188486551b0 devstack 0xffffd18848655060 0300 Display Controller/VGA
    (d=0,  f=1) 10de10f0 devext 0xffffd1884a88d8b0 devstack 0xffffd1884a88d760 0403 Multimedia Device/Unknown Sub Class
  (d=4,  f=0) 80861903 devext 0xffffd188483931b0 devstack 0xffffd18848393060 1180 Unknown Base Class/Unknown Sub Class
  (d=14, f=0) 8086a12f devext 0xffffd1884838c1b0 devstack 0xffffd1884838c060 0c03 Serial Bus Controller/USB
  (d=14, f=2) 8086a131 devext 0xffffd1884838b1b0 devstack 0xffffd1884838b060 1180 Unknown Base Class/Unknown Sub Class
  (d=15, f=0) 8086a160 devext 0xffffd188483881b0 devstack 0xffffd18848388060 1180 Unknown Base Class/Unknown Sub Class
  (d=15, f=1) 8086a161 devext 0xffffd188483c01b0 devstack 0xffffd188483c0060 1180 Unknown Base Class/Unknown Sub Class
  (d=16, f=0) 8086a13a devext 0xffffd188483bf1b0 devstack 0xffffd188483bf060 0780 Simple Serial Communications Controller/'Other'
  (d=17, f=0) 8086a102 devext 0xffffd188483fd1b0 devstack 0xffffd188483fd060 0106 Mass Storage Controller/Unknown Sub Class
  (d=1c, f=0) 8086a112 devext 0xffffd188483f81b0 devstack 0xffffd188483f8060 0604 Bridge/PCI to PCI
  Bus 0x2 (FDO Ext ffffd188483ac190)
    (d=0,  f=0) 808624f3 devext 0xffffd188483aa1b0 devstack 0xffffd188483aa060 0280 Network Controller/'Other'
  (d=1c, f=3) 8086a113 devext 0xffffd188483f71b0 devstack 0xffffd188483f7060 0604 Bridge/PCI to PCI
  Bus 0x3 (FDO Ext ffffd188483ac7b0)
    (d=0,  f=0) 10ec8168 devext 0xffffd188483ab1b0 devstack 0xffffd188483ab060 0200 Network Controller/Ethernet
  (d=1c, f=4) 8086a114 devext 0xffffd188483f61b0 devstack 0xffffd188483f6060 0604 Bridge/PCI to PCI
  Bus 0x4 (FDO Ext ffffd188483a9990)
    No devices have been enumerated on this bus.
  (d=1f, f=0) 8086a150 devext 0xffffd188483f41b0 devstack 0xffffd188483f4060 0601 Bridge/PCI to ISA
  (d=1f, f=2) 8086a121 devext 0xffffd188484bf1b0 devstack 0xffffd188484bf060 0580 Memory Controller/'Other'
  (d=1f, f=3) 8086a170 devext 0xffffd188484a41b0 devstack 0xffffd188484a4060 0403 Multimedia Device/Unknown Sub Class
  (d=1f, f=4) 8086a123 devext 0xffffd188484a31b0 devstack 0xffffd188484a3060 0c05 Serial Bus Controller/Unknown Sub Class
Total PCI Root busses processed = 1
Total PCI Segments processed = 1

2つの機能を持つバス0x1、デバイス0を具体的に参照してください。

観察された行動

比較のために、Linuxでの出力は次のとおりですlspci -nn

00:00.0 Host bridge [0600]: Intel Corporation Skylake Host Bridge/DRAM Registers [8086:1910] (rev 07)
00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 07)
00:04.0 Signal processing controller [1180]: Intel Corporation Skylake Processor Thermal Subsystem [8086:1903] (rev 07)
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)
00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 [8086:a160] (rev 31)
00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 [8086:a161] (rev 31)
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #3 [8086:a112] (rev f1)
00:1c.3 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #4 [8086:a113] (rev f1)
00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a150] (rev 31)
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104M [GeForce GTX 1070 Mobile] [10de:1be1] (rev a1)
02:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a)
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)

これには、バス 1、デバイス 0 の 1 つの機能のみが報告されます。

編集:部分的に修正済み

次の一連のコマンドを使用してデバイスを表示できました。

echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/reset
echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove
echo 1 > /sys/bus/pci/rescan

その後、次の追加項目を取得します。これは望ましい動作です。

01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)

残念ながら、最初のコマンドはノートパソコンの画面をオフにしてnvidia再びオンにする方法を見つけることができませんでしたnvidia_modeset。カーネルの新しいコピーを試してnvidia_drmみました)。systemctl kexec探査のための2つの確実な方法は次のとおりです。

  1. このシーケンスを実行した後、画面を再度開き、起動時にプロセス全体をスクリプト化します。これはもう少しハッキングされた解決策のように感じます。
  2. デバイスがリセットされた時点と最初に初期化された時点の違いを確認し、初期化を変更します。

まだ2つの方法のいずれにも従っていませんが、解決策を見つけたら答えに入れます。現時点では、これは問題の背景にすぎません。

ちなみに、kexec新しいカーネルは両方のデバイス機能を維持しますが、画面をオンにしないという事実は、一部のハードウェア初期化が通常起動時に実行され、起動後に画面をオンにするために必要であることを示唆しています。グラフィックカードが初期化されました。

修正しよう

この特定のノートブックモデルには、ACPIに関連するいくつかの文書化されたLinux互換性の問題があります。 、、、など、acpi_os_nameいくつかの異なる値を使用してカーネルパラメータを渡しました。私も通過しようとしました。これらのどれも出力に影響を与えません。このような質問でどのように多くのことができるのかわかりません。追加のACPIトラブルシューティングには、DSDTテーブルのコードをデコンパイルして編集することが含まれているようです(スクラッチ以外には必要な経験はありません)。頭)。 ACPI テーブルのサブセットをダンプしました。LinuxWindowsWindows 2015Windows 10acpi=offnoapiclspcihttp://csclub.uwaterloo.ca/~wlritchi/folding/acpi_tables.tar.gzしかし、もしかして。

別の方法で... dmesgをチェックすると、次の抜粋が表示されます。

[    1.004709] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    1.011237] ACPI: Power Resource [PG00] (on)
[    1.012967] ACPI: Power Resource [WRST] (on)
[    1.013613] ACPI: Power Resource [WRST] (on)
[    1.014269] ACPI: Power Resource [WRST] (on)
[    1.014926] ACPI: Power Resource [WRST] (on)
[    1.015589] ACPI: Power Resource [WRST] (on)
[    1.016243] ACPI: Power Resource [WRST] (on)
[    1.016888] ACPI: Power Resource [WRST] (on)
[    1.017649] ACPI: Power Resource [WRST] (on)
[    1.018345] ACPI: Power Resource [WRST] (on)
[    1.018998] ACPI: Power Resource [WRST] (on)
[    1.019639] ACPI: Power Resource [WRST] (on)
[    1.020233] ACPI: Power Resource [WRST] (on)
[    1.020827] ACPI: Power Resource [WRST] (on)
[    1.021431] ACPI: Power Resource [WRST] (on)
[    1.022026] ACPI: Power Resource [WRST] (on)
[    1.022641] ACPI: Power Resource [WRST] (on)
[    1.023246] ACPI: Power Resource [WRST] (on)
[    1.023842] ACPI: Power Resource [WRST] (on)
[    1.024444] ACPI: Power Resource [WRST] (on)
[    1.025038] ACPI: Power Resource [WRST] (on)
[    1.045887] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-fe])
[    1.045895] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    1.045957] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    1.046853] PCI host bridge to bus 0000:00
[    1.046856] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    1.046858] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    1.046860] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    1.046862] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000c3fff window]
[    1.046863] pci_bus 0000:00: root bus resource [mem 0x000c4000-0x000c7fff window]
[    1.046865] pci_bus 0000:00: root bus resource [mem 0x000c8000-0x000cbfff window]
[    1.046867] pci_bus 0000:00: root bus resource [mem 0x000cc000-0x000cffff window]
[    1.046868] pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000d3fff window]
[    1.046870] pci_bus 0000:00: root bus resource [mem 0x000d4000-0x000d7fff window]
[    1.046871] pci_bus 0000:00: root bus resource [mem 0x000d8000-0x000dbfff window]
[    1.046873] pci_bus 0000:00: root bus resource [mem 0x000dc000-0x000dffff window]
[    1.046874] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000e3fff window]
[    1.046876] pci_bus 0000:00: root bus resource [mem 0x000e4000-0x000e7fff window]
[    1.046877] pci_bus 0000:00: root bus resource [mem 0x000e8000-0x000ebfff window]
[    1.046879] pci_bus 0000:00: root bus resource [mem 0x000ec000-0x000effff window]
[    1.046880] pci_bus 0000:00: root bus resource [mem 0x38800000-0xdfffffff window]
[    1.046882] pci_bus 0000:00: root bus resource [mem 0xfd000000-0xfe7fffff window]
[    1.046884] pci_bus 0000:00: root bus resource [bus 00-fe]
[    1.046895] pci 0000:00:00.0: [8086:1910] type 00 class 0x060000
[    1.047083] pci 0000:00:01.0: [8086:1901] type 01 class 0x060400
[    1.047145] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    1.047367] pci 0000:00:01.0: System wakeup disabled by ACPI
[    1.047444] pci 0000:00:04.0: [8086:1903] type 00 class 0x118000
[    1.047461] pci 0000:00:04.0: reg 0x10: [mem 0xda120000-0xda127fff 64bit]
[    1.047776] pci 0000:00:14.0: [8086:a12f] type 00 class 0x0c0330
[    1.047800] pci 0000:00:14.0: reg 0x10: [mem 0xda110000-0xda11ffff 64bit]
[    1.047884] pci 0000:00:14.0: PME# supported from D3hot D3cold
[    1.048066] pci 0000:00:14.0: System wakeup disabled by ACPI
[    1.048114] pci 0000:00:14.2: [8086:a131] type 00 class 0x118000
[    1.048136] pci 0000:00:14.2: reg 0x10: [mem 0xda138000-0xda138fff 64bit]
[    1.048452] pci 0000:00:15.0: [8086:a160] type 00 class 0x118000
[    1.048661] pci 0000:00:15.0: reg 0x10: [mem 0xda137000-0xda137fff 64bit]
[    1.049699] pci 0000:00:15.1: [8086:a161] type 00 class 0x118000
[    1.049907] pci 0000:00:15.1: reg 0x10: [mem 0xda136000-0xda136fff 64bit]
[    1.050885] pci 0000:00:16.0: [8086:a13a] type 00 class 0x078000
[    1.050910] pci 0000:00:16.0: reg 0x10: [mem 0xda135000-0xda135fff 64bit]
[    1.051004] pci 0000:00:16.0: PME# supported from D3hot
[    1.051232] pci 0000:00:17.0: [8086:a102] type 00 class 0x010601
[    1.051250] pci 0000:00:17.0: reg 0x10: [mem 0xda130000-0xda131fff]
[    1.051259] pci 0000:00:17.0: reg 0x14: [mem 0xda134000-0xda1340ff]
[    1.051268] pci 0000:00:17.0: reg 0x18: [io  0xf050-0xf057]
[    1.051277] pci 0000:00:17.0: reg 0x1c: [io  0xf040-0xf043]
[    1.051286] pci 0000:00:17.0: reg 0x20: [io  0xf020-0xf03f]
[    1.051296] pci 0000:00:17.0: reg 0x24: [mem 0xda133000-0xda1337ff]
[    1.051348] pci 0000:00:17.0: PME# supported from D3hot
[    1.051570] pci 0000:00:1c.0: [8086:a112] type 01 class 0x060400
[    1.051654] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    1.051911] pci 0000:00:1c.3: [8086:a113] type 01 class 0x060400
[    1.051995] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[    1.052203] pci 0000:00:1c.3: System wakeup disabled by ACPI
[    1.052249] pci 0000:00:1c.4: [8086:a114] type 01 class 0x060400
[    1.052342] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[    1.052551] pci 0000:00:1c.4: System wakeup disabled by ACPI
[    1.052615] pci 0000:00:1f.0: [8086:a150] type 00 class 0x060100
[    1.052933] pci 0000:00:1f.2: [8086:a121] type 00 class 0x058000
[    1.052948] pci 0000:00:1f.2: reg 0x10: [mem 0xda12c000-0xda12ffff]
[    1.053212] pci 0000:00:1f.3: [8086:a170] type 00 class 0x040300
[    1.053240] pci 0000:00:1f.3: reg 0x10: [mem 0xda128000-0xda12bfff 64bit]
[    1.053278] pci 0000:00:1f.3: reg 0x20: [mem 0xda100000-0xda10ffff 64bit]
[    1.053340] pci 0000:00:1f.3: PME# supported from D3hot D3cold
[    1.053641] pci 0000:00:1f.3: System wakeup disabled by ACPI
[    1.053687] pci 0000:00:1f.4: [8086:a123] type 00 class 0x0c0500
[    1.053736] pci 0000:00:1f.4: reg 0x10: [mem 0xda132000-0xda1320ff 64bit]
[    1.053808] pci 0000:00:1f.4: reg 0x20: [io  0xf000-0xf01f]
[    1.054145] pci 0000:01:00.0: [10de:1be1] type 00 class 0x030000
[    1.054167] pci 0000:01:00.0: reg 0x10: [mem 0xdb000000-0xdbffffff]
[    1.054181] pci 0000:01:00.0: reg 0x14: [mem 0xb0000000-0xbfffffff 64bit pref]
[    1.054195] pci 0000:01:00.0: reg 0x1c: [mem 0xc0000000-0xc1ffffff 64bit pref]
[    1.054204] pci 0000:01:00.0: reg 0x24: [io  0xe000-0xe07f]
[    1.054213] pci 0000:01:00.0: reg 0x30: [mem 0xdc000000-0xdc07ffff pref]
[    1.054358] pci 0000:01:00.0: System wakeup disabled by ACPI
[    1.064286] pci 0000:00:01.0: PCI bridge to [bus 01]
[    1.064290] pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
[    1.064293] pci 0000:00:01.0:   bridge window [mem 0xdb000000-0xdc0fffff]
[    1.064298] pci 0000:00:01.0:   bridge window [mem 0xb0000000-0xc1ffffff 64bit pref]
[    1.064854] pci 0000:02:00.0: [8086:24f3] type 00 class 0x028000
[    1.064952] pci 0000:02:00.0: reg 0x10: [mem 0xdc300000-0xdc301fff 64bit]
[    1.065473] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    1.074535] pci 0000:00:1c.0: PCI bridge to [bus 02]
[    1.074541] pci 0000:00:1c.0:   bridge window [mem 0xdc300000-0xdc3fffff]
[    1.074715] pci 0000:03:00.0: [10ec:8168] type 00 class 0x020000
[    1.074742] pci 0000:03:00.0: reg 0x10: [io  0xd000-0xd0ff]
[    1.074772] pci 0000:03:00.0: reg 0x18: [mem 0xdc204000-0xdc204fff 64bit]
[    1.074791] pci 0000:03:00.0: reg 0x20: [mem 0xdc200000-0xdc203fff 64bit]
[    1.074900] pci 0000:03:00.0: supports D1 D2
[    1.074902] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    1.075041] pci 0000:03:00.0: System wakeup disabled by ACPI
[    1.084310] pci 0000:00:1c.3: PCI bridge to [bus 03]
[    1.084314] pci 0000:00:1c.3:   bridge window [io  0xd000-0xdfff]
[    1.084318] pci 0000:00:1c.3:   bridge window [mem 0xdc200000-0xdc2fffff]
[    1.084503] pci 0000:00:1c.4: PCI bridge to [bus 04-3c]
[    1.084509] pci 0000:00:1c.4:   bridge window [mem 0xc4000000-0xda0fffff]
[    1.084515] pci 0000:00:1c.4:   bridge window [mem 0x80000000-0xa1ffffff 64bit pref]
[    1.088640] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.088716] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 *10 11 12 14 15)
[    1.088788] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.088859] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.088928] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.088998] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.089068] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.089137] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.090136] ACPI: Enabled 8 GPEs in block 00 to 7F
[    1.090390] ACPI : EC: interrupt unblocked
[    1.090403] ACPI : EC: event unblocked
[    1.090417] ACPI: \_SB_.PCI0.LPCB.EC0_: GPE=0x23, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    1.090419] ACPI: \_SB_.PCI0.LPCB.EC0_: Used as boot DSDT EC to handle transactions and events
[    1.090534] pci 0000:01:00.0: vgaarb: setting as boot VGA device
[    1.090536] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    1.090538] pci 0000:01:00.0: vgaarb: bridge control possible
[    1.090539] vgaarb: loaded
[    1.090586] EDAC MC: Ver: 3.0.0
[    1.090990] Registered efivars operations
[    1.094739] PCI: Using ACPI for IRQ routing
[    1.118941] PCI: pci_cache_line_size set to 64 bytes

カーネルパラメータの文はpci=nocrs興味深く聞こえます。残念ながら、それを渡しても出力には何の影響もありませんlspci。それ以外には目立つものはありませんでした。完全なdmesg出力は少し長いので、ここにアップロードします。http://csclub.uwaterloo.ca/~wlritchi/folding/dmesg.txt。この質問に関連する他の部分があれば、子孫のために編集します。

lspci -nnbvvvMG -H1役に立つ場合は、出力もアップロードしました(スパムフラグのみを認めます)。http://csclub.uwaterloo.ca/~wlritchi/folding/lspci-nnbvvvMG-H1.txt

今どこを探し続けるのか少し混乱しています。このタイプの失敗に関する情報はオンラインには多くありません。dmesg出力またはACPIで何をしているのかわかりません。 Linuxで2番目の機能が見つからない理由を確認するための次のステップに関する提案はありますか?

ベストアンサー1

おすすめ記事