Gentoo Archives: gentoo-user-ru

From: "Никита Киприянов" <merlin@×××××.ru>
To: "[gentoo-user-ru]" <gentoo-user-ru@l.g.o>
Subject: [gentoo-user-ru] PCIe card reader на ноутбуке HP ProBook 450s G0
Date: Fri, 28 Feb 2014 15:37:03
Message-Id: 2bf9a8893122f57f276c38faaf10ae9b@rterm.ru
1 Hi!
2
3 Ставлю дженту на эту машину. В машине имеется встроенный кардридер
4 SD/MMC, который в lspci по идее видится как Realtek Semiconductor Co.,
5 Ltd. RTS5229 PCI Express Card Reader (rev 01)
6
7
8 Странность в том, что если грузить машину с вставленной карточкой, то он
9 видится. Вынимание и вставление карточки обнаруживается ядром, udisks и
10 т. д.. lspci в таком случае выглядит так:
11
12 00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM
13 Controller (rev 09)
14 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core
15 processor Graphics Controller (rev 09)
16 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
17 Family USB xHCI Host Controller (rev 04)
18 00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series
19 Chipset Family MEI Controller #1 (rev 04)
20 00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
21 Family USB Enhanced Host Controller #2 (rev 04)
22 00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset
23 Family High Definition Audio Controller (rev 04)
24 00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset
25 Family PCI Express Root Port 1 (rev c4)
26 00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset
27 Family PCI Express Root Port 3 (rev c4)
28 00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset
29 Family PCI Express Root Port 4 (rev c4)
30 00:1c.5 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset
31 Family PCI Express Root Port 6 (rev c4)
32 00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
33 Family USB Enhanced Host Controller #1 (rev 04)
34 00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC
35 Controller (rev 04)
36 00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family
37 6-port SATA Controller [AHCI mode] (rev 04)
38 02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229
39 PCI Express Card Reader (rev 01)
40 03:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R
41 PCIe
42 03:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
43 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
44 RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
45
46 Касательно этого устройства в dmesg имеются такие строки:
47 [ 1.671078] pci 0000:02:00.0: [10ec:5229] type 00 class 0xff0000
48 [ 1.671103] pci 0000:02:00.0: reg 10: [mem 0xd0700000-0xd0700fff]
49 [ 1.671272] pci 0000:02:00.0: supports D1 D2
50 [ 1.671273] pci 0000:02:00.0: PME# supported from D1 D2 D3hot
51 ...
52 [ 1.854614] pci 0000:02:00.0: Signaling PME through PCIe PME
53 interrupt
54 ...
55 [ 3.101202] rtsx_pci 0000:02:00.0: irq 46 for MSI/MSI-X
56 [ 3.101215] rtsx_pci 0000:02:00.0: rtsx_pci_acquire_irq: pcr->msi_en
57 = 1, pci->irq = 46
58
59
60 В то же время, если машину загрузить без карточки в кардридере, строки
61 02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229
62 PCI Express Card Reader (rev 01)
63 в lspci не будет, и в dmesg про это устройство тоже ничего не будет.
64 Можно сколько угодно тыкать карточки - система их не видит и никаких
65 уведомлений нет. Но если со вставленной карточкой теперь сделать echo
66 "1" > /sys/bus/pci/rescan - немедленно появляется сообщение "нашёл
67 карточку", кардридер проявляется в lspci, а в dmesg появляются такие
68 сообщения:
69 [ 532.090303] pci 0000:02:00.0: [10ec:5229] type 00 class 0xff0000
70 [ 532.090337] pci 0000:02:00.0: reg 10: [mem 0x00000000-0x00000fff]
71 [ 532.090531] pci 0000:02:00.0: supports D1 D2
72 [ 532.090533] pci 0000:02:00.0: PME# supported from D1 D2 D3hot
73 [ 532.092283] pci 0000:02:00.0: BAR 0: assigned [mem
74 0xd0700000-0xd0700fff]
75 [ 532.092349] rtsx_pci 0000:02:00.0: enabling device (0000 -> 0002)
76 [ 532.092464] rtsx_pci 0000:02:00.0: irq 50 for MSI/MSI-X
77 [ 532.092483] rtsx_pci 0000:02:00.0: rtsx_pci_acquire_irq: pcr->msi_en
78 = 1, pci->irq = 50
79
80 (rtsx_pci - это, очевидно, драйвер кардридера)
81
82 С этого момента устройство работает как положено. Если оно уже нашлось,
83 рескан без карточки его не отключает и оно никуда не девается.
84
85 Вначале думал на PCI hotplug (он был у меня отключен - нет смысла,
86 expresscard-слотов в ноутбуке нет, так что хотплажить нечего).
87 Пересобрал ядро со всевозможными (как я думаю) хотплагами:
88 CONFIG_HOTPLUG_PCI_PCIE=y
89 CONFIG_PCI_IOAPIC=y
90 CONFIG_HOTPLUG_PCI=y
91 CONFIG_HOTPLUG_PCI_ACPI=y
92 Не помогло.
93
94 Не сталкивался ли кто-то с подобным поведением? Что это происходит и как
95 это лечить?

Replies