Последнее обновление Xenial Software сломало драйвер rtl8812au [dубликат]

У меня есть драйверы ядра github dkms для rtl8812au (v4.3.14) и rtl8814au (v4.3.21) USB-ключи беспроводной сети USB, которые отлично работали в 17.04, но не смогли построить во время обновления до 17.10.

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

Если я использую стандартную команду make, вместо обычной dkms add/build/install последовательности, я вижу ошибку

Вот ошибки для версии 4.3.14 для кода rtl8812au (что новее того, что найдено в текущих репозиториях Ubuntu) ...

user@Satellite-E55:~/src/rtl8812AU$ make make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.13.0-16-generic/build M=/home/user/src/rtl8812AU modules make[1]: Entering directory '/usr/src/linux-headers-4.13.0-16-generic' CC [M] /home/user/src/rtl8812AU/core/rtw_cmd.o In file included from /home/user/src/rtl8812AU/include/drv_types.h:32:0, from /home/user/src/rtl8812AU/core/rtw_cmd.c:22: /home/user/src/rtl8812AU/include/osdep_service.h: In function ‘thread_enter’: /home/user/src/rtl8812AU/include/osdep_service.h:343:2: error: implicit declaration of function ‘allow_signal’; did you mean ‘do_signal’? [-Werror=implicit-function-declaration] allow_signal(SIGTERM); ^~~~~~~~~~~~ do_signal /home/user/src/rtl8812AU/include/osdep_service.h: In function ‘flush_signals_thread’: /home/user/src/rtl8812AU/include/osdep_service.h:353:6: error: implicit declaration of function ‘signal_pending’; did you mean ‘timer_pending’? [-Werror=implicit-function-declaration] if (signal_pending (current)) ^~~~~~~~~~~~~~ timer_pending /home/user/src/rtl8812AU/include/osdep_service.h:355:3: error: implicit declaration of function ‘flush_signals’; did you mean ‘do_signal’? [-Werror=implicit-function-declaration] flush_signals(current); ^~~~~~~~~~~~~ do_signal cc1: some warnings being treated as errors scripts/Makefile.build:302: recipe for target '/home/user/src/rtl8812AU/core/rtw_cmd.o' failed make[2]: *** [/home/user/src/rtl8812AU/core/rtw_cmd.o] Error 1 Makefile:1546: recipe for target '_module_/home/user/src/rtl8812AU' failed make[1]: *** [_module_/home/user/src/rtl8812AU] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-16-generic' Makefile:1576: recipe for target 'modules' failed make: *** [modules] Error 2 user@Satellite-E55:~/src/rtl8812AU$

Код, упомянутый в osdep_service.h выглядит так:

#ifdef PLATFORM_LINUX #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0)) daemonize("%s", name); #endif allow_signal(SIGTERM); #endif #ifdef PLATFORM_FREEBSD printf("%s", "RTKTHREAD_enter"); #endif } __inline static void flush_signals_thread(void) { #ifdef PLATFORM_LINUX if (signal_pending (current)) { flush_signals(current); } #endif

Ошибки и код для rtl8814au выглядят одинаково, поэтому я не буду публиковать их, если они не запрошены / необходимы.

]Пожалуйста помоги. Я хотел бы вернуть свои беспроводные сети в сети.

1
задан 24 October 2017 в 17:52

4 ответа

Вы можете попробовать:

git clone https://github.com/zebulon2/rtl8814au.git cd rtl8814au make sudo make install sudo modprobe 8814au

Он отлично работает на моей системе 17.10. Я не уверен, что могу рекомендовать процесс dkms, поэтому обновления ядра требуют перекомпиляции.

2
ответ дан 17 July 2018 в 21:11

Вы можете попробовать:

git clone https://github.com/zebulon2/rtl8814au.git cd rtl8814au make sudo make install sudo modprobe 8814au

Он отлично работает на моей системе 17.10. Я не уверен, что могу рекомендовать процесс dkms, поэтому обновления ядра требуют перекомпиляции.

2
ответ дан 23 July 2018 в 21:50

Спасибо @ chili555 за то, что указали мне в правильном направлении. Драйвер rtl8814au, упомянутый в ссылке git clone, работает с 17.10, и тот же автор также имеет рабочий драйвер rtl8812au, который также работает с 17.10.

Из памяти ...

rtl8812au (Edimax EW-7822UAC)

sudo git clone https://github.com/zebulon2/rtl8812au-driver-5.2.9.git note: dkms.conf file already included sudo cp -r rtl8812au-driver-5.2.9 /usr/src/rtl8812au-5.2.9 sudo dkms add rtl8812au/5.2.9 sudo dkms build rtl8812au/5.2.9 sudo dkms install rtl8812au/5.2.9 dkms status

rtl8814au (Edimax EW-7833UAC & D-Link DWA-192)

sudo git clone https://github.com/zebulon2/rtl8814au.git create dkms.conf and add these lines... ---- # rtl8814AU-4.3.21_17997.20160531 # # PACKAGE_NAME="rtl8814au" PACKAGE_VERSION="4.3.21_17997.20160531" MAKE[0]="'make' all KVER=${kernelver}" BUILT_MODULE_NAME[0]="8814au" DEST_MODULE_LOCATION[0]="/updates/dkms" AUTOINSTALL="YES" REMAKE_INITRD="NO" ---- sudo cp -r rtl8814au /usr/src/rtl8814au-4.3.21 sudo dkms add rtl8814au/4.3.21 sudo dkms build rtl8814au/4.3.21 sudo dkms install rtl8814au/4.3.21 dkms status
2
ответ дан 17 July 2018 в 21:11

Спасибо @ chili555 за то, что указали мне в правильном направлении. Драйвер rtl8814au, упомянутый в ссылке git clone, работает с 17.10, и тот же автор также имеет рабочий драйвер rtl8812au, который также работает с 17.10.

Из памяти ...

rtl8812au (Edimax EW-7822UAC)

sudo git clone https://github.com/zebulon2/rtl8812au-driver-5.2.9.git note: dkms.conf file already included sudo cp -r rtl8812au-driver-5.2.9 /usr/src/rtl8812au-5.2.9 sudo dkms add rtl8812au/5.2.9 sudo dkms build rtl8812au/5.2.9 sudo dkms install rtl8812au/5.2.9 dkms status

rtl8814au (Edimax EW-7833UAC & D-Link DWA-192)

sudo git clone https://github.com/zebulon2/rtl8814au.git create dkms.conf and add these lines... ---- # rtl8814AU-4.3.21_17997.20160531 # # PACKAGE_NAME="rtl8814au" PACKAGE_VERSION="4.3.21_17997.20160531" MAKE[0]="'make' all KVER=${kernelver}" BUILT_MODULE_NAME[0]="8814au" DEST_MODULE_LOCATION[0]="/updates/dkms" AUTOINSTALL="YES" REMAKE_INITRD="NO" ---- sudo cp -r rtl8814au /usr/src/rtl8814au-4.3.21 sudo dkms add rtl8814au/4.3.21 sudo dkms build rtl8814au/4.3.21 sudo dkms install rtl8814au/4.3.21 dkms status
2
ответ дан 23 July 2018 в 21:50

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

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