Ri0n/rts_bpp

5287 support

Opened this issue · 4 comments

Hi,

I'm on Slackware 14.2 with a 4.12.5 kernel, and I've been trying to install first the present version and then, separately, the one at https://github.com/M0Rf30/rts_bpp for rtl8411b (Realtek device 5287, card reader).

After make, make install, and blaklisting of rtsx_pci so it wouldn't load automatically on boot-up there's no recognition / reaction at all when inserting a card.

rtsx_pci used to return errors (-22 and -110) when trying to initialise the card, but rts_bpp does not react at all.

I've grepped dmesg for 'rts' and the last line is

rts_bpp 0000:03:00.0: rts_bpp: device scan complete

(where 03:00.0 is indeed my card reader).

Ri0n commented

as far as I remember it requires more kernel options to work. But I don't remember which exactly

Thanks Ri0n; I'll keep fiddling with it. I've since compiled a 4.12.7 kernel on the same Slackware install to no avail with mmc / realtek / hotplug options tweaking.

On the other hand, having googled some more, it seems the problem may well be strictly a matter of hardware: with rtsx_pci I was getting errors saying

"cannot verify signal voltage switch"

I've seen reports of this going away after simply changing the micro-to-regular SD adapter, so I might try that with the good old rtsx_pci once I get my hands on other adapters.

In any case, thanks for getting back so quickly.

Ri0n commented

I just fixed some stuff after merging pull request for rtl8411b support an year ago. I don't know if it let the driver to detect the chip.
In any case I hope standard kernel driver already works good with it.

Hmm.. rtsx_pci is certainly still showing me no love on the latest stable kernel as of today, Dec 10 2017 (namely 4.14.5; compiled and installed just hours ago, at the time of this writing).

I gave up soon after writing here back then, as it seems this isn't exactly a driver issue. The card reader sees and mounts lower-speed cards, it's just these high-speed ones that it seems to have trouble with. So It appears to be a much deeper hardware issue that I don't have the expertise to fix or the time to even try to at the moment.. Just in case someone else stumbles on this, the types of errors dmesg starts spitting out upon inserting the high-speed card are:

mmc0: cannot verify signal voltage switch
mmc0: new ultra high speed SDR104 SDHC card at address aaaa
mmcblk0: mmc0:aaaa SL32G 29.7 GiB
mmcblk0: error -110 sending status command, retrying

(this last one appears repeatedly)
mmc0: cannot verify signal voltage switch
(also repeated, interspersed with the previous one)
error -110 sending stop command, original cmd response 0x0, card status 0x800b00
mmcblk0: timed out sending r/w cmd command, card status 0x800900
mmcblk0: status not valid, retrying timeout
mmc0: tuning execution failed: -22
mmcblk0: error -22 sending status command, retrying
print_req_error: I/O error, dev mmcblk0, sector 0
Buffer I/O error on dev mmcblk0, logical block 0, async page read
mmcblk0: response CRC error sending r/w cmd command, card status 0x800900

etc. etc., and so it goes. I've resorted to accessing these high-speed cards through an mmc-to-usb adapter on this machine.

In any case, thanks for following up