Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/01/2015, à 18:52

sioban

[Résolu] Card Reader Realtek RTS5249

Hello,

J'essaie de faire fonctionner mon lecteur de carte sur mon MSI GS60 2PE qui est un Realtek RTS5249.
Le symptôme est qu'aucune carte n'est détecté quand j'en insère une...

lspci

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

lshw

           *-generic
                description: Unassigned class
                produit: RTS5249 PCI Express Card Reader
                fabriquant: Realtek Semiconductor Co., Ltd.
                identifiant matériel: 0
                information bus: pci@0000:03:00.0
                version: 01
                bits: 32 bits
                horloge: 33MHz
                fonctionnalités: pm msi pciexpress bus_master cap_list
                configuration: driver=rtsx_pci latency=0
                ressources: irq:44 mémoire:f6800000-f6800fff

J'ai testé la méthode décrite ici qui est pour le chipset RTS5229 : http://linuxterminal.org/issue-with-rts … rd-reader/
avec l'adaptation suivante :

It seems that the source code of this driver can be adapted to other RTS card readers!!!!!

For example, I have a rts5249 on my HP ZBook (with Ubuntu 10.04+kernel 3.0)

I modified the rts5229 source code:

1) In the file "Makefile": "TARGET_MODULE := rts5229" ---> "TARGET_MODULE := rts5249"

2) In the file "rtsx.c": I added my sd card reader (0x5249) in this structure:
static struct pci_device_id rts5229_ids[] = {
{ 0x10EC, 0x5229, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_OTHERS << 16, 0xFF0000 },
{ 0x10EC, 0x5227, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_OTHERS << 16, 0xFF0000 },
{ 0x10EC, 0x5249, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_OTHERS << 16, 0xFF0000 },
{ 0, },
};

And it works!!!

make
sudo make install
sudo modprobe rts5249

... and now my sd card works

François

Malheureusement j'échoue systématiquement au make :

/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229# make
cp -f ./define.release ./define.h
make -C /lib/modules/3.16.0-29-generic/build/ SUBDIRS=/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229 modules
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-29-generic'
  CC [M]  /tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.o
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c: In function ‘proc_info’:
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:148:55: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
  SPRINTF("        Build: %s, %s\n", __DATE__, __TIME__);
                                                       ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:148:1: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
  SPRINTF("        Build: %s, %s\n", __DATE__, __TIME__);
 ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c: At top level:
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:266:2: error: unknown field ‘proc_info’ specified in initializer
  .proc_info =   proc_info,
  ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:266:2: warning: initialization from incompatible pointer type
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:266:2: warning: (near initialization for ‘rtsx_host_template.proc_dir’)
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:914:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtsx_probe’
 static int __devinit rtsx_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
                      ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:921:39: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
  printk(KERN_INFO "--- %s, %s ---\n", __DATE__, __TIME__);
                                       ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:921:49: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
  printk(KERN_INFO "--- %s, %s ---\n", __DATE__, __TIME__);
                                                 ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:1069:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtsx_remove’
 static void __devexit rtsx_remove(struct pci_dev *pci)
                       ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:1094:11: error: ‘rtsx_probe’ undeclared here (not in a function)
  .probe = rtsx_probe,
           ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:1095:2: error: implicit declaration of function ‘__devexit_p’ [-Werror=implicit-function-declaration]
  .remove = __devexit_p(rtsx_remove),
  ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:1095:24: error: ‘rtsx_remove’ undeclared here (not in a function)
  .remove = __devexit_p(rtsx_remove),
                        ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:262:34: warning: ‘rtsx_host_template’ defined but not used [-Wunused-variable]
 static struct scsi_host_template rtsx_host_template = {
                                  ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:476:12: warning: ‘rtsx_control_thread’ defined but not used [-Wunused-function]
 static int rtsx_control_thread(void * __dev)
            ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:585:12: warning: ‘rtsx_polling_thread’ defined but not used [-Wunused-function]
 static int rtsx_polling_thread(void * __dev)
            ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:739:13: warning: ‘quiesce_and_remove_host’ defined but not used [-Wunused-function]
 static void quiesce_and_remove_host(struct rtsx_dev *dev)
             ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:775:13: warning: ‘release_everything’ defined but not used [-Wunused-function]
 static void release_everything(struct rtsx_dev *dev)
             ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:785:12: warning: ‘rtsx_scan_thread’ defined but not used [-Wunused-function]
 static int rtsx_scan_thread(void * __dev)
            ^
/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.c:810:13: warning: ‘rtsx_init_options’ defined but not used [-Wunused-function]
 static void rtsx_init_options(struct rtsx_chip *chip)
             ^
cc1: some warnings being treated as errors
scripts/Makefile.build:257: recipe for target '/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.o' failed
make[2]: *** [/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229/rtsx.o] Error 1
Makefile:1345: recipe for target '_module_/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229' failed
make[1]: *** [_module_/tmp/Realtek_RTS5229_Linux_Driver_v1.07/rts5229] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-29-generic'
Makefile:35: recipe for target 'default' failed
make: *** [default] Error 2

Avez vous une suggestion ?

PS : j'ai testé linux-firmware-nonfree sans succès...

Dernière modification par sioban (Le 17/01/2015, à 18:56)

Hors ligne

#2 Le 17/01/2015, à 19:02

sioban

Re : [Résolu] Card Reader Realtek RTS5249

j'ai mis une autre carte (Sandisk SDHC32) et elle est détecté...

Et depuis la 1ere carte (Samsung Evo SDXC 64) avec laquelle je faisais des tests, fonctionne aussi maintenant...
je ne me l'explique pas vraiment...

Dernière modification par sioban (Le 17/01/2015, à 19:02)

Hors ligne

#3 Le 09/06/2018, à 17:51

DonneDuRhum

Re : [Résolu] Card Reader Realtek RTS5249

Bonjour, je déterre se post, j'ai le mème soucis.

J'ai regardé ça, et j'avoue ne pas avoir compris : http://forums.debian.net/viewtopic.php?t=124956

Il y a aussi ça : https://github.com/mqmaker/linux/blob/m … /rts5249.c

mon lspci :

00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #3 (rev f1)
00:1c.3 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #4 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)
00:1c.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #7 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1be1 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 10f0 (rev a1)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5249 PCI Express Card Reader (rev 01)
03:00.0 Ethernet controller: Qualcomm Atheros Device e0b1 (rev 10)
04:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller
05:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)

Merci


PC  msi gt72vr 6re

Hors ligne