Проблемы с картридером Realtek RTS5227

Я нахожусь на Ubuntu 15.10, и она не обнаруживает мои вставки SD-карты. Я попробовал несколько решений, которые, кажется, общий ответ для проблемы как это, но никакой успех.

Я видел это обсуждение, которое указало, что существует драйвер Realtek для аналогичного устройства, и что некоторые незначительные взломы обычно решают проблему для моего определенного устройства.

После выполнения тех шагов и выполнения make, Я получаю следующие ошибки:

cp -f ./define.release ./define.h
make -C /lib/modules/4.2.0-34-generic/build/ SUBDIRS=/home/anti/Software/rts5227 modules
make[1]: Entering directory '/usr/src/linux-headers-4.2.0-34-generic'
  CC [M]  /home/anti/Software/rts5227/rtsx.o
/home/anti/Software/rts5227/rtsx.c: In function ‘proc_info’:
/home/anti/Software/rts5227/rtsx.c:148:55: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
  SPRINTF("        Build: %s, %s\n", __DATE__, __TIME__);
                                                       ^
/home/anti/Software/rts5227/rtsx.c:148:55: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
In file included from include/linux/printk.h:6:0,
                 from include/linux/kernel.h:13,
                 from include/linux/sched.h:17,
                 from include/linux/blkdev.h:4,
                 from /home/anti/Software/rts5227/rtsx.c:23:
/home/anti/Software/rts5227/rtsx.c: In function ‘rtsx_control_thread’:
include/linux/kern_levels.h:4:18: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘u64 {aka long long unsigned int}’ [-Wformat=]
 #define KERN_SOH "\001"  /* ASCII Start Of Header */
                  ^
include/linux/kern_levels.h:10:18: note: in expansion of macro ‘KERN_SOH’
 #define KERN_ERR KERN_SOH "3" /* error conditions */
                  ^
/home/anti/Software/rts5227/rtsx.c:521:11: note: in expansion of macro ‘KERN_ERR’
    printk(KERN_ERR "Bad target number (%d:%d)\n",
           ^
include/linux/kern_levels.h:4:18: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘u64 {aka long long unsigned int}’ [-Wformat=]
 #define KERN_SOH "\001"  /* ASCII Start Of Header */
                  ^
include/linux/kern_levels.h:10:18: note: in expansion of macro ‘KERN_SOH’
 #define KERN_ERR KERN_SOH "3" /* error conditions */
                  ^
/home/anti/Software/rts5227/rtsx.c:527:11: note: in expansion of macro ‘KERN_ERR’
    printk(KERN_ERR "Bad LUN (%d:%d)\n",
           ^
/home/anti/Software/rts5227/rtsx.c: In function ‘rtsx_probe’:
/home/anti/Software/rts5227/rtsx.c:921:39: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
  printk(KERN_INFO "--- %s, %s ---\n", __DATE__, __TIME__);
                                       ^
/home/anti/Software/rts5227/rtsx.c:921:49: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
  printk(KERN_INFO "--- %s, %s ---\n", __DATE__, __TIME__);
                                                 ^
/home/anti/Software/rts5227/rtsx.c: At top level:
/home/anti/Software/rts5227/rtsx.c:132:12: warning: ‘proc_info’ defined but not used [-Wunused-function]
 static int proc_info (struct Scsi_Host *host, char *buffer,
            ^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/home/anti/Software/rts5227/rtsx.o' failed
make[2]: *** [/home/anti/Software/rts5227/rtsx.o] Error 1
Makefile:1398: recipe for target '_module_/home/anti/Software/rts5227' failed
make[1]: *** [_module_/home/anti/Software/rts5227] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.2.0-34-generic'
Makefile:35: recipe for target 'default' failed
make: *** [default] Error 2

Есть ли какой-либо способ, которым я могу решить это и использовать этот драйвер для использования моего читателя?

Моя версия ядра 4.2.0-34-generic.

Это - вывод для lspci -v | grep Reader

02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)

Я обеспечу любой другой вывод, который мог бы быть необходим для решения вопроса.

Заранее спасибо!

2
задан 1 April 2016 в 21:50

1 ответ

Хорошо, я понял это.

Проблема, вызывающая проблемы, заключается в неявном объявлении функции vmalloc() в различных файлах источника драйвера.

Я добавил #include <linux/vmalloc.h> в соответствующие файлы, которые rtsx.c, rtsx_chip.c, rtsx_scsi.c и ms.c.

Я все еще получал много предупреждений и заметок при запуске make, но смог скомпилировать и установить драйвер, и SD-карты теперь работают!

1
ответ дан 2 December 2019 в 04:58

Другие вопросы по тегам:

Похожие вопросы: