O leitor de cartão PCI-E Realtek RTS5209 só funciona se o cartão for inserido antes do boot

4

Informações de hardware

  • Modelo de Laptop: Sony Vaio Pro 13
  • Hardware problemático: Bulti-in Realtek Semiconductor Co., Ltd. Leitor de cartões PCI Express RTS5209

Descrição do problema

Aqui está o problema, se eu inicializar com meu cartão SD inserido no leitor de cartão, meu Gentoo carrega corretamente o módulo do kernel e detectou o cartão SD, atribui a / dev / mmcblk0 de acordo com a saída dmesg, XFCE também mostra um ícone SD na área de trabalho para que eu pudesse montá-lo sem nenhum problema.

Mas se eu inicializar sem qualquer cartão SD no leitor de cartão, e inserir o cartão SD após a inicialização, nada aconteceu. Nenhum cartão SD foi detectado, o dmesg não mostra nada.

Como o SystemRescueCD (que também é baseado no Gentoo) funciona corretamente como esperado (inicialização sem cartão SD inserido, inserção de cartão SD após inicialização, SystemResuceCD pode detectá-lo corretamente e atribuí-lo a / dev / mmcblock0. Então eu acho que devo perder alguma configuração no meu Gentoo.

O que eu tentei

Eu tentei comparar a saída lsmod da configuração, e descobri que se eu inicializar com o cartão SD inserido, o seguinte módulo adicional do kernel será carregado.

rtsx_pci_sdmmc         13679  0
rtsx_pci_ms             7218  0
mmc_core               91689  2 mmc_block,rtsx_pci_sdmmc
memstick                6896  1 rtsx_pci_ms
rtsx_pci               31487  2 rtsx_pci_ms,rtsx_pci_sdmmc 

Também confirmei que esse módulo foi carregado depois que eu insiro meu cartão SD no leitor de cartão quando uso o SystemRescueCD.

Eu também tentei carregar esses módulos manualmente no meu sistema Gentoo, mas nada acontece depois que eu os carrego, nenhuma impressão nova no dmesg, ainda não foi detectado nenhum cartão SD.

saída lspci

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 6 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
03:00.0 SATA controller: Samsung Electronics Co Ltd XP941 PCIe SSD (rev 01) 

Configuração do kernel

  1. Tudo dentro do suporte da placa MMC / SD / SDIO (exceto a depuração do MMC / recurso de relógio do host MMC / driver de teste do host MMC) é compilado como módulo do kernel.
  2. CONFIG_MEMSTICK = m
  3. CONFIG_MEMSTICK_REALTEK_PCI = m

Estou totalmente preso e não tenho ideia do próximo passo que devo dar para corrigir este problema, onde devo verificar agora?

    
por Brian Hsu 05.06.2014 / 05:02

1 resposta

6

Descobrir que devo ativar a seguinte configuração de kernel:

CONFIG_HOTPLUG_PCIE=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y

Depois de adicionar essas três configurações com base na minha configuração antiga, tudo está funcionando como esperado.

    
por 06.06.2014 / 14:27