首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu14.04 Realtek半导体有限公司RTS5227 PCI读卡器不工作

Ubuntu14.04 Realtek半导体有限公司RTS5227 PCI读卡器不工作
EN

Ask Ubuntu用户
提问于 2014-05-29 09:49:21
回答 4查看 27.9K关注 0票数 6

我读过其他一些发布这个问题的帖子。但对这个问题没有一个解决办法。我已经在我的联想T440s上安装了Ubuntu14.04。

Realtek半导体有限公司,RTS5227 PCI读卡器不工作。

当我把一张SD卡塞进插槽后,什么也没发生。

代码语言:javascript
复制
# 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

格列茨

EN

回答 4

Ask Ubuntu用户

发布于 2014-06-27 22:31:28

我有一家Realtek半导体有限公司的RTS5227在windows上工作,但在linux (基于ubuntu的基础上)不工作。

注意/重要:

使用此方法可能会导致设备在重新启动后无法识别读卡器。我还不知道发生了什么,但设备似乎无法枚举pci总线。我在窗户上用冷靴把它修好了(和官方司机)。

我为rts5209找到了一些教程,并尝试修改它们:

https://vidyut.net/realtek-sd-card-reader-working-ubuntu/

http://dainaccio.wordpress.com/2013/07/14/realtek-sd-reader-mounting-problems-under-linux-mintubuntu/#more-836

我从realtek网站(Linux的PCIE RTS5229卡读取器驱动程序)获得了RTS5229的来源:在我的信息中,教程似乎更重要-> google。

然后我做了一些代码修改,比rtcx.c中的链接教程做了更多的代码修改,以便构建没有错误:注释proc_info初始化行206中的rtsx_host_template声明。

代码语言:javascript
复制
(before)
.proc_info = proc_info, 

(after)
//.proc_info = proc_info,

一旦我完成了这个任务,我就构建了驱动程序并尝试使用它,但是很明显,驱动程序和硬件之间的联系并不存在。

因此,我取了我的设备的名称,并试图修改代码,以便有正确的设备名称。进入rtsx.h的第一行(55),并根据需要调整设备名称的定义:

代码语言:javascript
复制
(before)
#define CR_DRIVER_NAME "rts5229"

(after)
#define CR_DRIVER_NAME "rts5227"

在修改了Makefile的目标之后:

代码语言:javascript
复制
(before)
TARGET_MODULE := rts5229

(after)
TARGET_MODULE := rts5227

在什么之后

代码语言:javascript
复制
make clean
make
sudo make install
sudo depmod
sudo modprobe rts5227

验证您的设备没有使用rtsx_pci模块(lspci -v),如果需要使用Dainaccio方法来修复这个问题(接近第二个教程的末尾)。

当您的模块正确加载时,ls /dev应该向您显示一个新接口(对于me /dev/sdb) :D

事实上,这并不是真正的clean.The问题,应该有更多的理解之间的差异,2卡阅读器版本和更多的理解驱动程序,以使工作良好。

驱动程序基本上是功能性的,您可以挂载/卸载分区,在卡上写入和读取,检测到插入和删除。我还没有对自动驾驶仪进行测试。但是无论如何,一个带有驱动程序工作的lspci -v将向您展示这个解决方案是不干净的:外围类不被识别,所以我认为其他人的价值观。简单地看一下代码,我还看到了许多硬编码到rts5229的引用。他们可能是一些工作要做..。

总之,祝你今天愉快!

代码语言:javascript
复制
票数 2
EN

Ask Ubuntu用户

发布于 2014-10-02 14:11:19

上游rtsx_pci管理读卡器。

但还是有问题,因为我不得不卸载,然后重新加载驱动程序以使其工作:

代码语言:javascript
复制
# modprobe -r rtsx_pci
# modprobe rtsx_pci

PS:我还没有向上游报告(甚至检查过这个问题)。我希望尽快做到这一点,尽管在这一点上可以轻松地击败我( onyl的要求是拥有能够复制bug的硬件)。

在Thinkpad瑜伽S1上,也有这样的设备:

代码语言:javascript
复制
# 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
EN

Ask Ubuntu用户

发布于 2017-07-08 22:15:22

这是我的Debian系统上的rts_pstor驱动程序。花了两个rmmod/modprobe周期才能让它正常工作。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/473848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档