Realtek USB 2.0 Card Reader driver

nik

New member
Сообщения
21
#21
Здесь карточка работает и висит на usb, а вот и ответ на lsusb -vv:

Bus 001 Device 005: ID 0bda:0129 Realtek Semiconductor Corp.
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x0129
bcdDevice 39.60
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 6
bInterfaceProtocol 80
iInterface 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 10
 

Olej

New member
Сообщения
1 307
#22
Я никак не пойму что у вас за устройство...
Здесь карточка работает и висит на usb, а вот и ответ на lsusb -vv:
А чуть выше вы пишете:
да это встроенное устройство моноблока,
Так оно на USB или встроенное?

И что вот это? :
Couldn't open device, some information will be missing
Попробуйте с sudo... как-то так:
Код:
sudo lsusb -d 0bda:0129 -v
Попробуйте вот так определить модуль ядра поддержки устройства:
Код:
$ modprobe -c | grep -i 0bda | grep 0129
 

nik

New member
Сообщения
21
#23
попробовал с sudo:
sudo lsusb -d 0bda:0129 -v

Bus 001 Device 005: ID 0bda:0129 Realtek Semiconductor Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
idVendor 0x0bda Realtek Semiconductor Corp.
idProduct 0x0129
bcdDevice 39.60
iManufacturer 1 Generic
iProduct 2 USB2.0-CRW
iSerial 3 20100201396000000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 4 CARD READER
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 6
bInterfaceProtocol 80
iInterface 5 Bulk-In, Bulk-Out, Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 10
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
 

nik

New member
Сообщения
21
#24
попробовал определить модуль ядра:
~# modprobe -c | grep -i 0bda | grep 0129
alias usb:v0BDAp0129d*dc*dsc*dp*ic*isc*ip*in* rtsx_usb
 

nik

New member
Сообщения
21
#25
Моноблок Thinkcentre я не разбирал, но если верить терминалу, то это usb. Да это всё, конечно, ОС с рабочей SD.
 

Olej

New member
Сообщения
1 307
#26
попробовал определить модуль ядра:
~# modprobe -c | grep -i 0bda | grep 0129
alias usb:v0BDAp0129d*dc*dsc*dp*ic*isc*ip*in* rtsx_usb
Ну вот у вас и получилось :D - модуль ядра, который поддерживает ваш адаптер: rtsx_usb - и это для любого Linux, независимо это Astra, Mint, Debian, Ubuntu или Fedora - код Linux kernel един и майнтейнеры дистрибутивов туда не лазят, не умеют ;) ... да и права на то не имеют.

Теперь вам нужно разобраться: что там у вас (в Astra CE) с модулем rtsx_usb (файл rtsx_usb.ko) в вашей Astra?
Для начала можете тупо попробовать (загрузить модуль):
Код:
# modprobe rtsx_usb
(обратите внимание на #)
P.S. Или если вы найдёте там в файловой системе (ищите в /lib/modules/`uname -r`.* ... - кавычка та, где на клавиатуре буква 'Ё' ;)) сам файл rtsx_usb.ko, то можете для него конкретно:
Код:
# insmod rtsx_usb.ko
 
Последнее редактирование:

nik

New member
Сообщения
21
#27
по адресу lib/modules/4.15.3-1generic/kernel/drivers/misc/cardreader нашёл два файла: 1. rtsx_pci.ko и 2. rtsx_usb.co
 

Olej

New member
Сообщения
1 307
#29
по адресу lib/modules/4.15.3-1generic/kernel/drivers/misc/cardreader нашёл два файла: 1. rtsx_pci.ko и 2. rtsx_usb.co
У себя посмотрел:
Код:
root@astra:/lib/modules/4.15.3-1-generic/kernel/drivers/misc/cardreader# ls
rtsx_pci.ko  rtsx_usb.ko
:cry:
ТщательнЕе надо
(с) М.Жванецкий

Теперь, находясь в этом каталоге, попробуйте выполнить:
Код:
# insmod rtsx_usb.ko
(естественно, от root или с sudo)

А дальше:
Код:
$ lsmod  | grep rtsx
 

Olej

New member
Сообщения
1 307
#30
по адресу lib/modules/4.15.3-1generic/kernel/drivers/misc/cardreader нашёл два файла: 1. rtsx_pci.ko и 2. rtsx_usb.co
Подсмотрел я ваш драйвер:
Код:
root@astra:/lib/modules/4.15.3-1-generic/kernel/drivers/misc/cardreader# modinfo rtsx_usb.ko
filename:       /lib/modules/4.15.3-1-generic/kernel/drivers/misc/cardreader/rtsx_usb.ko
description:    Realtek USB Card Reader Driver
author:         Roger Tseng <rogerable@realtek.com>
license:        GPL v2
srcversion:     FDD62FB8C261D4B038F3C99
alias:          usb:v0BDAp0140d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp0139d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp0129d*dc*dsc*dp*ic*isc*ip*in*
depends:      
retpoline:      Y
intree:         Y
name:           rtsx_usb
vermagic:       4.15.3-1-generic SMP mod_unload
signat:         PKCS#7
signer:        
sig_key:      
sig_hashalgo:   md4
parm:           polling_pipe:polling pipe (0: ctl, 1: bulk) (int)
...0BDAp0129d... - это точно ваше устройство.
Там ещё у него есть 1 целочисленный (0/1) параметр загрузки: polling_pipe.
 

nik

New member
Сообщения
21
#31
вот:
root@x:/lib/modules/4.15.3-1-generic/kernel/drivers/misc/card
reader# insmod rtsx_usb.ko
insmod: ERROR: could not insert module rtsx_usb.ko: File exis
ts
root@x:/lib/modules/4.15.3-1-generic/kernel/drivers/misc/card
reader# lsmod | grep rtsx
rtsx_usb 20480 0
root@x:/lib/modules/4.15.3-1-generic/kernel/drivers/misc/card
reader#
 

Olej

New member
Сообщения
1 307
#32
Ну так у вас драйвер вашего устройства уже загружен (при загрузке системы, система его правильно определяет). Значит вы с ним дальше что-то не так делаете.
Вставьте SD карточку и:
Код:
$ ls -l /dev/mmcblk*
 

nik

New member
Сообщения
21
#33
x@x:~$ ls -l /dev/mmcblk*
ls: невозможно получить доступ к '/dev/mmcblk*': Нет такого файла или каталога
x@x:~$ su -
Пароль:
root@x:~# ls -l /dev/mmcblk*
ls: невозможно получить доступ к '/dev/mmcblk*': Нет такого файла или каталога
root@x:~#
 

Olej

New member
Сообщения
1 307
#34
1. Попробуйте глянуть:
Код:
$ lsmod | grep mmc
И если нет, то сделать загрузку:
Код:
# modprobe mmc_block
И что там станет в /dev

2. Посмотрите что у вас там в файле /etc/modprobe.d/blacklist.conf ?
И нет ли там в списке чего-нибудь, связанного с mmc ?

3. Остаётся подсмотреть что у вас там загружается из связанных (с rtsx_usb.ko) модулей в Mint:
Код:
$ lsmod | grep rtsx
И что будет отличаться (не хватать) по той же команды в Astra?
 
Последнее редактирование:

nik

New member
Сообщения
21
#35
вот ответы в старой ОС:
lsmod | grep mmc
rtsx_usb_sdmmc 21195 0
rtsx_usb 14963 2 rtsx_usb_sdmmc,rtsx_usb_ms

lsmod | grep rtsx
rtsx_usb_ms 13419 0
memstick 12110 1 rtsx_usb_ms
rtsx_usb_sdmmc 21195 0
rtsx_usb 14963 2 rtsx_usb_sdmmc,rtsx_usb_ms


новая не отвечает!
 

nik

New member
Сообщения
21
#36
вот ответы новой ОС:
x@x:~$ lsmod | grep mmc
x@x:~$ modprobe mmc_block
bash: modprobe: команда не найдена
x@x:~$ lsmod | grep rtsx
rtsx_usb 20480 0
x@x:~$
 

Olej

New member
Сообщения
1 307
#37
Ну, у вас в Astra не хватает 2-х модулей ядра: rtsx_usb_sdmmc & rtsx_usb_ms.
Попробуйте загрузить их по имени (modprobe) и поискать их файлы в /lib/modules/`uname -r`/...

P.S. Вот, для примера, ваши 3 модуля в Debian 10, вместе с их местоположение:
Снимок экрана от 2019-06-12 12-31-51.png
 

Olej

New member
Сообщения
1 307
#38
А вот оно же в Astra CE (здесь только 1 из 3 ... тут вам сильно не повезло):
Screenshot_20190612_123807.png
 
Последнее редактирование:

Olej

New member
Сообщения
1 307
#39
А вот оно же в Astra CE (здесь только 1 из 3):
У вас есть 2 варианта действий:
1. Обратиться в техподдержку Astra (может в багрепорт) - это их недосмотр, косяк - показать им эти картинки ... с просьбой собрать добавить.
2. Взять самому исходники rtsx_usb_sdmmc.c и rtsx_usb_ms.с - из kernel.org или подобного места + собрать самостоятельно + установить (по тем путям, которые показаны на картинке Debian) ... и получать удовольствие :D
Можете воспользоваться 2-мя способами одновременно.

P.S. В принципе, в способе 2 нет ничего особенно мудрёного ... но только тягомутно и хлопотно. Рассказывать долго ... можете взять для этого мою книжку здесь, можно всё не читать (там 422 стр.;)) - только мельком глянуть, пробежать начало, там всё понятно.
 
Последнее редактирование: