У меня есть система RHEL 6 с ядром 2.6.32, в которой в настоящее время возникают проблемы с драйвером sdhci.
Когда я впервые загружаю модуль ядра sdhci_pci (после загрузки модуля sdhci), когда вставлена SD-карта, я наблюдаю большое количество ошибок ввода-вывода, и устройство не перечисляется.
13 октября, 02:52:57 ядро localhost: sdhci: Драйвер интерфейса Secure Digital Host Controller
13 октября, 02:52:57 ядро локального хоста: sdhci: Copyright (c) Пьер Осман
13 октября, 02:52:57 ядро локального хоста: sdhci-pci 0000: 00: 1b.0: обнаружен контроллер SDHCI [8086: 5aca] (rev b)
13 октября, 02:52:57 ядро localhost: sdhci-pci 0000: 00: 1b.0: состояние питания изменено ACPI на D0
13 октября, 02:52:57 ядро localhost: sdhci-pci 0000: 00: 1b.0: состояние питания изменено ACPI на D0
13 октября 02:52:57 ядро локального хоста: sdhci-pci 0000: 00: 1b.0: PCI INT A -> GSI 3 (уровень, низкий) -> IRQ 3
13 октября, 02:52:57 ядро localhost: sdhci-pci 0000:00:1b.0: недопустимый размер iomem. У вас могут возникнуть проблемы.
13 октября 02:52:57 ядро localhost: зарегистрированное светодиодное устройство: mmc0 ::
13 октября, 02:52:57 ядро localhost: mmc0: контроллер SDHCI на PCI [0000:00:1b.0] с использованием ADMA
13 октября, 02:52:57 ядро localhost: sdhci-pci 0000:00:1c.0: обнаружен контроллер SDHCI [8086:5acc] (rev b)
13 октября, 02:52:57 ядро localhost: sdhci-pci 0000:00:1c.0: состояние питания изменено ACPI на D0
13 октября, 02:52:57 ядро localhost: sdhci-pci 0000:00:1c.0: состояние питания изменено ACPI на D0
13 октября 02:52:57 ядро localhost: sdhci-pci 0000:00:1c.0: PCI INT A -> GSI 39 (уровень, низкий) -> IRQ 39
13 октября, 02:52:57 ядро localhost: sdhci-pci 0000:00:1c.0: недопустимый размер iomem. У вас могут возникнуть проблемы.
13 октября 02:52:57 ядро localhost: зарегистрированное светодиодное устройство: mmc1 ::
13 октября, 02:52:57 ядро localhost: mmc1: контроллер SDHCI на PCI [0000:00:1c.0] с использованием ADMA
13 октября, 02:52:57 ядро localhost: mmc0: новая сверхскоростная SDHC-карта по адресу 59b4
13 октября, 02:52:57 ядро localhost: mmcblk0: mmc0: 59b4 SD 14,7 ГБ
13 октября 02:52:57 локальное ядро: mmcblk0:
13 октября, 02:52:57 ядро localhost: mmcblk0: повторная попытка с использованием чтения одного блока
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при отправке команды состояния
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при отправке команды чтения/записи, ответ 0x0, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при передаче данных, сектор 0, номер 8, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: __ratelimit: подавлено 577 обратных вызовов
13 октября, 02:52:57 ядро localhost: end_request: ошибка ввода-вывода, dev mmcblk0, сектор 0
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при отправке команды состояния
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -110 при отправке команды чтения/записи, ответ 0x0, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при передаче данных, сектор 1, номер 7, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: end_request: ошибка ввода-вывода, dev mmcblk0, сектор 1
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при отправке команды состояния
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при отправке команды чтения/записи, ответ 0x0, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при передаче данных, сектор 2, номер 6, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: end_request: ошибка ввода-вывода, dev mmcblk0, сектор 2
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при отправке команды состояния
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -110 при отправке команды чтения/записи, ответ 0x0, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при передаче данных, сектор 3, номер 5, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: end_request: ошибка ввода-вывода, dev mmcblk0, сектор 3
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при отправке команды состояния
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при отправке команды чтения/записи, ответ 0x0, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: mmcblk0: ошибка -84 при передаче данных, сектор 4, номер 4, состояние карты 0x0
13 октября, 02:52:57 ядро localhost: end_request: ошибка ввода-вывода, dev mmcblk0, сектор 4
...
Если я впоследствии выгружу и перезагружу эти модули ядра — с вставленной SD-картой — об ошибках не будет сообщено, и устройство будет правильно пронумеровано. Затем я могу смонтировать устройство и читать/писать на него, как и ожидалось.
13 октября, 02:53:31 ядро localhost: sdhci: Драйвер интерфейса Secure Digital Host Controller
13 октября, 02:53:31 ядро локального хоста: sdhci: Copyright (c) Пьер Осман
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1b.0: обнаружен контроллер SDHCI [8086:5aca] (rev b)
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1b.0: состояние питания изменено ACPI на D0
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1b.0: состояние питания изменено ACPI на D0
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1b.0: PCI INT A -> GSI 3 (уровень, низкий) -> IRQ 3
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1b.0: неверный размер iomem. У вас могут возникнуть проблемы.
13 октября 02:53:50 ядро localhost: зарегистрированное светодиодное устройство: mmc0 ::
13 октября, 02:53:50 ядро localhost: mmc0: контроллер SDHCI на PCI [0000:00:1b.0] с использованием ADMA
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1c.0: обнаружен контроллер SDHCI [8086:5acc] (rev b)
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1c.0: состояние питания изменено ACPI на D0
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1c.0: состояние питания изменено ACPI на D0
13 октября 02:53:50 ядро localhost: sdhci-pci 0000:00:1c.0: PCI INT A -> GSI 39 (уровень, низкий) -> IRQ 39
13 октября, 02:53:50 ядро localhost: sdhci-pci 0000:00:1c.0: неверный размер iomem. У вас могут возникнуть проблемы.
13 октября 02:53:50 ядро localhost: зарегистрированное светодиодное устройство: mmc1 ::
13 октября, 02:53:50 ядро localhost: mmc1: контроллер SDHCI на PCI [0000:00:1c.0] с использованием ADMA
13 октября, 02:53:50 ядро localhost: mmc0: новая высокоскоростная карта SDHC по адресу 59b4
13 октября, 02:53:50 ядро localhost: mmcblk0: mmc0: 59b4 SD 14,7 ГБ
13 октября, 02:53:50 ядро локального хоста: mmcblk0: p1
Пока я оставляю SD-карту вставленной, я могу без проблем выгрузить/перезагрузить модули ядра и использовать устройство.
Однако, как только я извлеку карту, я снова столкнусь с ошибками при первой последующей перезагрузке sdhci и sdhci_pc, и я снова увижу, что эти ошибки исчезнут при следующей перезагрузке.
Любое понимание того, почему это может происходить?
ОБНОВИТЬ:
После сообщения об ошибках ввода-вывода мне нужно только выгрузить и перезагрузить sdhci_pci.Другими словами, мне не нужно также выгружать и перезагружать sdhci.