Я ранее компилировал этот драйвер на, как я полагаю, старом ядре. Однако сейчас я на 15.10 и просто не могу разобраться.
dylan@xaelah:~$ uname -r
4.2.0-18-generic
Здесьэто выходsudo lshw
Я скачал исходник сздесь
Затем я перехожу в каталог и выдаю sudo make
следующий результат:
make -C tools
make[1]: Entering directory '/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory '/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/tools'
/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/tools/bin2h
cp -f os/linux/Makefile.6 /home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/Makefile
make -C /lib/modules/4.2.0-18-generic/build SUBDIRS=/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux modules
make[1]: Entering directory '/usr/src/linux-headers-4.2.0-18-generic'
CC [M] /home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.o
In file included from /home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/include/rtmp_os.h:44:0,
from /home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/include/rtmp_comm.h:69,
from /home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/include/rt_config.h:33,
from /home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.c:28:
/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.c: In function ‘RTMPQueryInformation’:
/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.c:3953:30: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
DBGPRINT(RT_DEBUG_TRACE, ("sizeof UCHAR=%d, channel=%d \n", sizeof(UCHAR), p
^
/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/include/os/rt_linux.h:665:16: note: in definition of macro ‘DBGPRINT_RAW’
printk Fmt; \
^
/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.c:3953:4: note: in expansion of macro ‘DBGPRINT’
DBGPRINT(RT_DEBUG_TRACE, ("sizeof UCHAR=%d, channel=%d \n", sizeof(UCHAR), p
^
/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.c: In function ‘RTMPIoctlShow’:
/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.c:4896:85: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
intf(extra, size, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, _
^
/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.c:4896:95: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
, size, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, __TIME__ );
^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.o' failed
make[2]: *** [/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux/../../sta/sta_cfg.o] Error 1
Makefile:1398: recipe for target '_module_/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux' failed
make[1]: *** [_module_/home/dylan/Downloads/patched-Asus-PCE-N53-linux-driver-master/os/linux] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.2.0-18-generic'
Makefile:384: recipe for target 'LINUX' failed
make: *** [LINUX] Error 2
Очевидно, я не могуsudo make install
Меня также не беспокоят несоответствия типов и другие предупреждения, поскольку они появились в предыдущей сборке, и она все еще работала. Я также пробовал, но sudo make -i
безуспешно
Я загрузил необходимые компоненты для сборки, исходный код ядра и заголовочные файлы...
Пожалуйста, дайте мне знать, если вам что-то еще понадобится. Я искал в Google и нашел похожие проблемы, но никаких решений. Есть дажеэтотна этом сайте, но ответа нет, а другие альтернативы не работают.
Любая помощь будет оценена по достоинству!
РЕДАКТИРОВАТЬ:
Я также попробовал запустить make следующим образом:
sudo make RT_CFLAGS="-Wno-error=date-time"
Те же ошибки...
Затем я сделал sudo make clean
а затем побежалsudo make RT_CFLAGS="-Wno-error=date-time" -i
вот pastbin
решение1
Я мог бы составить это на ее основе:
$ lsb_release -dc
Description: Ubuntu 15.10
Codename: wily
$ uname -r
4.2.0-18-generic
Не рекомендуется использовать sudo
для компиляции. Если инструкции ниже не сработали, возможно, вам следует начать заново.
Клонировал репозиторий git.
git clone https://github.com/unused/patched-Asus-PCE-N53-linux-driver.git cd patched-Asus-PCE-N53-linux-driver/
Добавить
-Wno-error=date-time
к флагам компиляцииvim os/linux/config.mk +178
Искать
WFLAGS:=
WFLAGS := -DAGGREGATION_SUPPORT -DPIGGYBACK_SUPPORT -DWMM_SUPPORT -DLINUX -Wall -Wstrict-prototypes -Wno-trigraphs -Wno-error=date-time
Компилировать
make
На этом этапе модуль был успешно скомпилирован:
ls -l os/linux/rt5592sta.ko
-rw-rw-r-- 1 user user 1767056 Nov 21 10:29 /home/user/Desktop/sand_box/patched-Asus-PCE-N53-linux-driver/os/linux/rt5592sta.ko
modinfo /home/user/Desktop/sand_box/patched-Asus-PCE-N53-linux-driver/os/linux/rt5592sta.ko
filename: /home/user/Desktop/sand_box/patched-Asus-PCE-N53-linux-driver/os/linux/rt5592sta.ko version: 2.6.0.0_20120326 srcversion: 150B71061DC1EBE4DE31E22 alias: pci:v00001814d00005592sv*sd*bc*sc*i* depends: vermagic: 4.2.0-18-generic SMP mod_unload modversions parm: mac:rt28xx: wireless mac addr (charp)
Но мне кажется странным, что make
скрипт пытался скопировать его в /tftpboot
папку. Может быть, разработчик искал быстрый способ обновить/протестировать его на другой машине.
LD [M] /home/user/Desktop/sand_box/patched-Asus-PCE-N53-linux-driver/os/linux/rt5592sta.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.2.0-18-generic'
cp -f /home/user/Desktop/sand_box/patched-Asus-PCE-N53-linux-driver/os/linux/rt5592sta.ko /tftpboot
cp: cannot create regular file ‘/tftpboot’: Permission denied
Makefile:384: recipe for target 'LINUX' failed
make: *** [LINUX] Error 1
В любом случае, попробуйте выполнить оставшиеся шаги установки. Дайте мне знать, если у вас возникнут какие-либо связанные с этим проблемы.