Bug 42092 - Нужен драйвер для RTS5129 Card Reader Controller
Summary: Нужен драйвер для RTS5129 Card Reader Controller
Status: CLOSED FIXED
Alias: None
Product: Branch p10
Classification: Unclassified
Component: kernel-image-un-def (show other bugs)
Version: не указана
Hardware: all Linux
: P5 normal
Assignee: Vasiliy Kovalev
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-10 15:33 MSK by Юрий Бобылев
Modified: 2023-10-05 11:12 MSK (History)
4 users (show)

See Also:


Attachments
dmesgout (87.46 KB, text/plain)
2022-03-11 12:29 MSK, Юрий Бобылев
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Юрий Бобылев 2022-03-10 15:33:06 MSK
Просьба добавить драйвер для Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Comment 1 Николай Костригин 2022-03-11 10:08:29 MSK
(Ответ для Юрий Бобылев на комментарий #0)
> Просьба добавить драйвер для Realtek Semiconductor Corp. RTS5129 Card Reader
> Controller

Вообще говоря, драйверы для этого устройства в ядрах для p10 есть.
Убедитесь, пожалуйста, в наличии перечисленных файлов, а также попробуйте принудительно их загрузить.

$ sudo find /lib/modules/5.15.25-un-def-alt1/ |grep rtsx
/lib/modules/5.15.25-un-def-alt1/kernel/drivers/memstick/host/rtsx_usb_ms.ko
/lib/modules/5.15.25-un-def-alt1/kernel/drivers/memstick/host/rtsx_pci_ms.ko
/lib/modules/5.15.25-un-def-alt1/kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko
/lib/modules/5.15.25-un-def-alt1/kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko
/lib/modules/5.15.25-un-def-alt1/kernel/drivers/misc/cardreader/rtsx_pci.ko
/lib/modules/5.15.25-un-def-alt1/kernel/drivers/misc/cardreader/rtsx_usb.ko

$ sudo find /lib/modules/5.10.93-std-def-alt1/ |grep rtsx
/lib/modules/5.10.93-std-def-alt1/kernel/drivers/memstick/host/rtsx_usb_ms.ko
/lib/modules/5.10.93-std-def-alt1/kernel/drivers/memstick/host/rtsx_pci_ms.ko
/lib/modules/5.10.93-std-def-alt1/kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko
/lib/modules/5.10.93-std-def-alt1/kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko
/lib/modules/5.10.93-std-def-alt1/kernel/drivers/misc/cardreader/rtsx_pci.ko
/lib/modules/5.10.93-std-def-alt1/kernel/drivers/misc/cardreader/rtsx_usb.ko


Если все на месте, но не работает, можете также прикрепить вывод команд:
lspci -nn
lspci -k
lsusb
sudo dmesg
Comment 2 Юрий Бобылев 2022-03-11 12:26:58 MSK
(Ответ для Николай Костригин на комментарий #1)
> (Ответ для Юрий Бобылев на комментарий #0)
> > Просьба добавить драйвер для Realtek Semiconductor Corp. RTS5129 Card Reader
> > Controller
> 
> Вообще говоря, драйверы для этого устройства в ядрах для p10 есть.
> Убедитесь, пожалуйста, в наличии перечисленных файлов, а также попробуйте
> принудительно их загрузить.
> 
> $ sudo find /lib/modules/5.15.25-un-def-alt1/ |grep rtsx
> /lib/modules/5.15.25-un-def-alt1/kernel/drivers/memstick/host/rtsx_usb_ms.ko
> /lib/modules/5.15.25-un-def-alt1/kernel/drivers/memstick/host/rtsx_pci_ms.ko
> /lib/modules/5.15.25-un-def-alt1/kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko
> /lib/modules/5.15.25-un-def-alt1/kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko
> /lib/modules/5.15.25-un-def-alt1/kernel/drivers/misc/cardreader/rtsx_pci.ko
> /lib/modules/5.15.25-un-def-alt1/kernel/drivers/misc/cardreader/rtsx_usb.ko
> 
> $ sudo find /lib/modules/5.10.93-std-def-alt1/ |grep rtsx
> /lib/modules/5.10.93-std-def-alt1/kernel/drivers/memstick/host/rtsx_usb_ms.ko
> /lib/modules/5.10.93-std-def-alt1/kernel/drivers/memstick/host/rtsx_pci_ms.ko
> /lib/modules/5.10.93-std-def-alt1/kernel/drivers/mmc/host/rtsx_pci_sdmmc.ko
> /lib/modules/5.10.93-std-def-alt1/kernel/drivers/mmc/host/rtsx_usb_sdmmc.ko
> /lib/modules/5.10.93-std-def-alt1/kernel/drivers/misc/cardreader/rtsx_pci.ko
> /lib/modules/5.10.93-std-def-alt1/kernel/drivers/misc/cardreader/rtsx_usb.ko
> 
> 
> Если все на месте, но не работает, можете также прикрепить вывод команд:
> lspci -nn
> lspci -k
> lsusb
> sudo dmesg

Файлы на месте, кардридер не работает. На сколько понимаю - этот баг присутствует не только в Альте. В качестве временного решения использовалось вот это: https://www.ylsoftware.com/news/694 (слегка переработанное, в частности код из указанного в статье репозитория не собирается, поэтому использовался вот этот: https://github.com/ljmf00/rts5139 )

$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:5910] (rev 05)
00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 05)
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:591b] (rev 04)
00:14.0 USB controller [0c03]: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller [8086:a12f] (rev 31)
00:14.2 Signal processing controller [1180]: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem [8086:a131] (rev 31)
00:16.0 Communication controller [0780]: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 [8086:a13a] (rev 31)
00:17.0 SATA controller [0106]: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] [8086:a103] (rev 31)
00:1c.0 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 [8086:a110] (rev f1)
00:1c.3 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 [8086:a113] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation HM175 Chipset LPC/eSPI Controller [8086:a152] (rev 31)
00:1f.2 Memory controller [0580]: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller [8086:a121] (rev 31)
00:1f.3 Audio device [0403]: Intel Corporation CM238 HD Audio Controller [8086:a171] (rev 31)
00:1f.4 SMBus [0c05]: Intel Corporation 100 Series/C230 Series Chipset Family SMBus [8086:a123] (rev 31)
01:00.0 3D controller [0302]: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] [10de:1c8c] (rev a1)
02:00.0 Network controller [0280]: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] [8086:24fb] (rev 10)
03:00.0 Ethernet controller [0200]: Qualcomm Atheros QCA8171 Gigabit Ethernet [1969:10a1] (rev 10)

$ lspci -k
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: skl_uncore
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 05)
	Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)
	DeviceName:  Onboard IGD
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: i915
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: xhci_hcd
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: intel_pch_thermal
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: mei_me
00:17.0 SATA controller: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] (rev 31)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: ahci
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 (rev f1)
	Kernel driver in use: pcieport
00:1c.3 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 (rev f1)
	Kernel driver in use: pcieport
00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11d8
	Kernel driver in use: snd_hda_intel
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: i801_smbus
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] (rev a1)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: nvidia
02:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)
	Subsystem: Intel Corporation Device 2110
	Kernel driver in use: iwlwifi
03:00.0 Ethernet controller: Qualcomm Atheros QCA8171 Gigabit Ethernet (rev 10)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 11c8
	Kernel driver in use: alx 

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 003: ID 1770:ff00 MSI steel series rgb keyboard
Bus 001 Device 002: ID 19d2:1557 ZTE WCDMA Technologies MSM MTS Mobile Boardband
Bus 001 Device 006: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 005: ID 8087:0aa7 Intel Corp. Wireless-AC 3168 Bluetooth
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Comment 3 Юрий Бобылев 2022-03-11 12:29:45 MSK
Created attachment 10374 [details]
dmesgout

Вывод dmesg
Comment 4 obidinog@basealt.ru 2023-04-11 12:01:47 MSK
Уточните, пожалуйста, на каком дистрибутиве воспроизводится?
Comment 5 Юрий Бобылев 2023-04-11 12:12:03 MSK
На базе p10 (GNOME starterkit, Simply Linux) и на Сизифе тоже. Возможно также будет полезна информация из этой ветки обсуждения на форуме: https://forum.altlinux.org/index.php?topic=45676.0
Comment 6 Юрий Бобылев 2023-08-30 17:35:13 MSK
Кажется удалось обнаружить виновника. Модуль rtsx_usb_sdmmc не обнаруживает подключение карты в кардридер. Если при подключённой карте выгрузить (# modprobe -r rtsx_usb_sdmmc) его и загрузить снова (# modprobe rtsx_usb_sdmmc), то карта обнаруживается и работает (проверялось на ядре 6.4.12-un-def-alt1 из Сизифа). 

Переписка по этому поводу на kernel.org: https://lore.kernel.org/lkml/CAAd53p7_RbZDA=VgMQJtC23K0-WqteJH=cmC2WQMY1hAzC7bSQ@mail.gmail.com/T/

Багрепорт в багзиле kernel.org: https://bugzilla.kernel.org/show_bug.cgi?id=217625
Comment 7 Vasiliy Kovalev 2023-10-03 17:06:12 MSK
Скорее всего отключено энергосбережение usb устройств (usbcore.autosuspend=-1)
Проверить так:
$ cat /sys/module/usbcore/parameters/autosuspend
-1
(возвращает любое отрицательное число - значит отключено)

Чтобы обнаружение подключенных карт работало корректно для данного чипа, необходимо создать правило включения энергосбережения:

su -
cat << EOF > /etc/udev/rules.d/10-RTS5129-autosuspend.rules
ACTION=="add" \
, ATTR{idProduct}=="0129" \
, ATTR{idVendor}=="0bda" \
, ATTR{power/autosuspend_delay_ms}="2" \
, ATTR{power/control}="on"
EOF
reboot
Comment 8 Юрий Бобылев 2023-10-04 15:31:44 MSK
(Ответ для Vasiliy Kovalev на комментарий #7)
> Скорее всего отключено энергосбережение usb устройств
> (usbcore.autosuspend=-1)
> Проверить так:
> $ cat /sys/module/usbcore/parameters/autosuspend
Как ни странно, но команда вернула 2, т.е. энергоснабжение вроде бы работало.

> su -
> cat << EOF > /etc/udev/rules.d/10-RTS5129-autosuspend.rules
> ACTION=="add" \
> , ATTR{idProduct}=="0129" \
> , ATTR{idVendor}=="0bda" \
> , ATTR{power/autosuspend_delay_ms}="2" \
> , ATTR{power/control}="on"
> EOF
> reboot

Тем не менее установка правила udev помогла - после перезагрузки кардридер заработал нормально (проверялось на последней на момент написания сборке Regular)