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 |
это лечить? |