Pretty specific huh? Well the thing is I have the exact same card reader, OS, version on one Lenovo laptop. The SD card works on the Lenovo, but not on the Dell Inspiron 3421.
The error it made on the Dell was the following in /var/log/syslog
Feb 14 08:30:46 raspberry kernel: [ 216.319736] mmc0: error -22 whilst initialising SD card
Feb 14 08:30:48 raspberry kernel: [ 219.151052] mmc0: tuning execution failed: -22
Lots of googling down dead ends ensued. Here’s a little more info about the device in question.
Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
P: Vendor=0bda ProdID=0129 Rev=39.60
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=50 Driver=rtsx_usb
lsmod | grep sd:
rtsx_usb_sdmmc 28672 0
rtsx_usb 24576 2 rtsx_usb_sdmmc,rtsx_usb_ms
All this was exactly the same on both machines. Works on one. Not on the other.
Kernel version was different. 4.4 on the Lenovo, 4.10 on the Dell. Tried booting into old kernel. Same same.
So, here’s what actually worked.
I tried this for both the 4.4 kernel and the 4.10 kernel. Only the 4.10 kernel worked.
This sounds like it only took a few minutes but it was half a day of BS. Hoping this helps someone else.
This is the first driver/kernel problem I’ve had on Linux for about 5 years, so I guess that’s not too bad. But just spooky how it affected one machine and not the other.