# [rts5129] la sd card non lavora [risolto]

## cloc3

questo lettore di sd card non dà segni di vita all'inserimento di una sd. nulla in dmesg, nulla in /dev/:

```

cloc3 ~ # lsusb|grep 5129

Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller

```

uso un kernel-aufs-3.17.4

il driver corrispondente potrebbe essere l'ums-realtek oppure il rtsx_usb. entrambi, infatti, sembrano relativi a questa RTS5129 card, ma nessuno dei due funziona.

una chiavetta ubuntu vede tranquillamente la sd card, usando il vecchio driver rts5139, che stava negli staging.

adesso questo driver sembra non esistere più, ma essere sostituito da uno dei driver che ho postato sopra.

che altro potrebbe mancarmi?

che test posso fare per chiarire i fatti?

----------

## sabayonino

qualcosa nel config ...tipo

alcuni chipset nel kernel non stanno nemmeno sotto la voce "MMC/SD card reader" ma sotto USB 

 *.config - Linux/x86 x.y.z-gentoo Kernel Configuration > Device Drivers > USB support wrote:*   

> 
> 
> CONFIG_USB_STORAGE=m
> 
> # CONFIG_USB_STORAGE_DEBUG is not set
> ...

 

da abilitare  ??

----------

## cloc3

 *sabayonino wrote:*   

> qualcosa nel config ...tipo
> 
> ...
> 
> 

 

grazie.

```

cloc3 linux # zcat /proc/config.gz |grep REALTEK

# CONFIG_NET_VENDOR_REALTEK is not set

# CONFIG_REALTEK_PHY is not set

CONFIG_SND_HDA_CODEC_REALTEK=m

CONFIG_USB_STORAGE_REALTEK=y

CONFIG_REALTEK_AUTOPM=y

# CONFIG_MMC_REALTEK_USB is not set

```

(l'ultima riga è una modifica provvisoria e sperimentale).

mi sto convincendo che ci sia un baco.

con il kernel 3.15.* funziona, usando gli staging rts5139, proprio come ubuntu.

evidentemente hanno pasticciato nella stabilizzazione.

non capisco, ad esempio, il motivo di avere due driver, usm-realtek e rtsx-usb associati agli stessi dispositivi ma collocati in punti lontanissimi dell'albero di menuconfig.

adesso devo il trovare il tempo di fare delle prove con di sorgenti vanilla e poi, eventualmente, postare un baco.

p.s.:

confermata la legge di murphy: possiedo da due anni questa macchina (scalicinata, per altro) e ho avuto bisogno della sd card il giorno dopo l'aggiornamento al 3.17...

@djinnZ: non ridere  :Twisted Evil: 

----------

## sabayonino

la macchina è un portatile o stai utilizzando un card reader installato su PCI/USB ?

magari da controllare il supporto a PCI/PCI-E reativo a realtek

PS : http://cateee.net/lkddb/web-lkddb/MFD_RTSX_USB.html

controlla che non abbiano cambiato il nome del modulo

vendor: 0bda ("Realtek Semiconductor Corp."), product: 0129 ("RTS5129 Card Reader Controller")

```
grep CONFIG_MFD_RTSX_USB kernel-config-x86_64-3.16.5-gentoo

# CONFIG_MFD_RTSX_USB is not set
```

----------

## cloc3

 *sabayonino wrote:*   

> 
> 
> PS : http://cateee.net/lkddb/web-lkddb/MFD_RTSX_USB.html
> 
> controlla che non abbiano cambiato il nome del modulo
> ...

 

grazie ancora.

avevo già trovato la voce che dici.

produce il modulo rtsx_usb di cui parlavo sopra.

udev lo carica automaticamente all'avvio, ma poi non succede nulla quando viene inserita la scheda.

il portatile utilizza un lettore incorporato sul bus usb.

non credo che centri molto il supporto a PCI, ma controllerò lo stesso.

----------

## cloc3

allora ditelo.

i driver interessati alla RTS5129 sono tre:

CONFIG_USB_STORAGE_REALTEK; modulo ums-realtek; ramo "USB Support"

CONFIG_MFD_RTSX_USB; modulo rtx_usb; ramo "Multifunction device drivers"

CONFIG_MMC_REALTEK_USB; modulo rtsx_usb_sdmmc; ramo "MMC/SD/SDIO card support"

sembra che l'ultimo risolva il mio problema, ma non mi è ancora tutto chiaro. mi pare infatti che non carichi in automatico con udev.

posterò altro in seguito.

certo che è un bel casino. non era meglio quando stava negli staging e funzionava da solo?

----------

## cloc3

allora, in pratica le cose stanno così:

per usare il lettore RTS5129:

1. è necesssario il modulo CONFIG_MMC_REALTEK_USB; modulo rtsx_usb_sdmmc; ramo MMC/SD/SDIO card support.

2. il modulo sopra non è accessibile se non è stato selezionato preventivamente CONFIG_MFD_RTSX_USB; modulo rtx_usb; ramo Multifunction device drivers.

3. che io sappia, il modulo CONFIG_USB_STORAGE_REALTEK; modulo ums-realtek; ramo USB Support non serve a niente, ma lo tengo compilato lo stesso per simpatia (secondo me è una backdoor).

probabilmente, Linux Torvalds si è fatto le sue risate grasse quando ha approvato tutto questo, pregustando i pallini che avrei sputato per venirne a capo.

 :Evil or Very Mad:   :Evil or Very Mad:   :Evil or Very Mad: 

----------

## djinnZ

@cloc3: non ho potuto godermi le tue maledizioni visto che ero malato. Sarà per la prossima.

Il modulo realtek come il TI in realtà è sempre stato un problema, non so esattamente chi segue queste balordaggini ma credo che il problema sia nell'essere stato inizialmente implementato sul modulo pci o i2c (il lettore di un mio vecchio portatile era così, non ricordo dove fui costretto ad andare a smanettare sul finire del 2.6, alla fine rinunciai per disperazione) e poi sull'usb. Perchè hanno cambiato bus.

In parte c'è da dire che il menuconfig e l'xconfig stanno iniziando a mostrare i loro limiti. Con il complicarsi delle dipendenze.

E secondo me è un bug visto che non è riportato nelle dipendenze del modulo. In un certo qual modo stanno facendo il gioco di RH rendendo il kernel ipermodulare l'unica scelta facile.

----------

## pierino_89

Peccato essere arrivato in ritardo, mi ero goduto ai tempi lo stesso cammino di penitenza per risolvere il problema (passando anche da sys-block/rts5229, sys-block/rts_pstor ed ulteriori amenità).

Lascio un ultimo monito: se non legge una sd card appena giunta, prima di ricompilare kernel e varie prova ad infilarne una che hai già provato. Perché alcune (specialmente quelle sotto i 4GB) non vuole assolutamente saperne di leggerle   :Wink: 

----------

