Ubuntu Realtek RTS5227 PCI Express卡读取器工作不正常

分享于 

7分钟阅读

ubuntu

  繁體

问题

Realtek Semiconductor co., Ltd. RTS5227 PCI Express卡读取器无法工作。

在我把SD卡放入插槽后,什么都没有发生。


# lspci



02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)


 Subsystem: Lenovo Device 220c


 Flags: fast devsel, IRQ 16


 Memory at f0500000 (32-bit, non-prefetchable) [size=4K]


 Capabilities: [40] Power Management version 3


 Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+


 Capabilities: [70] Express Endpoint, MSI 00


 Capabilities: [100] Advanced Error Reporting


 Capabilities: [140] Device Serial Number 00-00-00-01-00-4c-e0-00


 Capabilities: [150] Latency Tolerance Reporting


 Capabilities: [158] L1 PM Substates



# lshw


 *-pci:0


 Beschreibung: PCI bridge


 Produkt: Lynx Point-LP PCI Express Root Port 6


 Hersteller: Intel Corporation


 Physische ID: 1c


 Bus-Informationen: pci@0000:00:1c.0


 Version: e4


 Breite: 32 bits


 Takt: 33MHz


 Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list


 Konfiguration: driver=pcieport


 Ressourcen: irq:17 memory:f0500000-f05fffff


 *-generic UNGEFORDERT


 Beschreibung: Unassigned class


 Produkt: RTS5227 PCI Express Card Reader


 Hersteller: Realtek Semiconductor Co., Ltd.


 Physische ID: 0


 Bus-Informationen: pci@0000:02:00.0


 Version: 01


 Breite: 32 bits


 Takt: 33MHz


 Fähigkeiten: pm msi pciexpress cap_list


 Konfiguration: latency=0


 Ressourcen: memory:f0500000-f0500fff




答案1

仍然有些问题,因为我必须卸载,然后重新加载驱动程序以便它工作:


# modprobe -r rtsx_pci


# modprobe rtsx_pci




# lspci



05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)


Subsystem: Lenovo Device 2217


Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+


Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort->SERR- <PERR- INTx-


Latency: 0, Cache Line Size: 64 bytes


Interrupt: pin A routed to IRQ 75


Region 0: Memory at f0400000 (32-bit, non-prefetchable) [size=4K]


Capabilities: [40] Power Management version 3


 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)


 Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-


Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+


 Address: 00000000fee0f00c Data: 41e2


Capabilities: [70] Express (v2) Endpoint, MSI 00


 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited


 ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-


 DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-


 RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-


 MaxPayload 128 bytes, MaxReadReq 512 bytes


 DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-


 LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 <64us


 ClockPM+ Surprise- LLActRep- BwNot-


 LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk-


 ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-


 LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-


 DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR+, OBFF Via message/WAKE#


 DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled


 LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-


 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-


 Compliance De-emphasis: -6dB


 LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-


 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-


Capabilities: [100 v2] Advanced Error Reporting


 UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-


 UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-


 UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-


 CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-


 CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+


 AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-


Capabilities: [140 v1] Device Serial Number 00-00-00-01-00-4c-e0-00


Capabilities: [150 v1] Latency Tolerance Reporting


 Max snoop latency: 71680ns


 Max no snoop latency: 71680ns


Capabilities: [158 v1] L1 PM Substates


 L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+


 PortCommonModeRestoreTime=60us PortTPowerOnTime=60us


Kernel driver in use: rtsx_pci




答案2

Debian系统上的rts_pstor驱动程序,执行rmmod /modprobe周期来使它工作。


答案3

我研究了内核源代码(页眉),没有找到解决方案,我从http://www.kernel.org下载了稳定内核19.1,并在/usr/src/linux_19.1/drivers/mfd/中找到一个rts5227.c的文件,这个文件可以在内核版本3.9及以上版本中找到。

我决定编译新的内核包含。使用的原始.config


make oldconfig


make menuconfig



然后,保存当前配置,并编译内核和模块后,我离开了menuconfig

 
make



要安装模块:


sudo make modules_install



安装新内核,并更新grub

 
sudo make install




答案4

可以在引导时尝试以下代码来启用rtsx_pci模块。


echo"rtsx_pci" | sudo tee -a /etc/modules





EXP  CAR  Ubuntu  expr  Express  Reader