Не компилируется драйвер RT5572 на Raspberry PI

Рейтинг: 0Ответов: 1Опубликовано: 07.01.2015

Не получается скомпилировать драйвер для WI-Fi usb: rt5572sta.ko

Исходники, Инструкция

Проблема:

root@Quareal:~/DPA_RT5572_LinuxSTA_2.6.1.4_20121211# make
make -C UTIL/ osutil
make[1]: Entering directory `/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL'
cp -f os/linux/Makefile.6.util /root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux/Makefile
make -C /lib/modules/3.12.34+/build SUBDIRS=/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux modules
make[2]: Entering directory `/usr/src/linux-headers-3.12-1-rpi'
  CC [M]  /root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux/../../os/linux/rt_linux.o
/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘__RtmpOSFSInfoChange’:
/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux/../../os/linux/rt_linux.c:1209:20: error: incompatible types when assigning to type ‘int’ from type ‘kuid_t’
/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux/../../os/linux/rt_linux.c:1210:20: error: incompatible types when assigning to type ‘int’ from type ‘kgid_t’
/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsFreeSpinLock’:
/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux/../../os/linux/rt_linux.c:4429:8: warning: assignment from incompatible pointer type [enabled by default]
make[5]: *** [/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux/../../os/linux/rt_linux.o] Error 1
make[4]: *** [_module_/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL/os/linux] Error 2
make[3]: *** [sub-make] Error 2
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-3.12-1-rpi'
make[1]: *** [osutil] Error 2
make[1]: Leaving directory `/root/DPA_RT5572_LinuxSTA_2.6.1.4_20121211/UTIL'
make: *** [all] Error 2

Ответы

▲ 2

error: incompatible types when assigning to type ‘int’ from type ‘kuid_t’
error: incompatible types when assigning to type ‘int’ from type ‘kgid_t’

используемая вами версия «драйвера» слишком стара для используемой вами версии программы linux — не учитываются изменения, которые произошли в структурах в заголовочных файлах.

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

но нет гарантии, что хоть один из них вам подойдёт. остаётся только требовать обновлений кода «драйвера» от производителя данного устройства.