rtl8821cu WiFi Bluetooth USB 0bda: c820

Довольно новичок в Linux, и это первый раз, когда я действительно работал над установкой драйверов. Ubuntu всегда был сервером и никогда не использовал его в качестве рабочего стола. Я создаю сервер openHAB и, следовательно, потребность в Wi-Fi и Bluetooth. Я не подумал и заказал этот «Адаптер Blueshadow USB WiFi Bluetooth 4.2 600 Мбит / с - двухдиапазонный внешний приемник беспроводной сети, мини-ключ WiFi для ПК / ноутбука / настольного компьютера, для всех Windows 10 8.1 8 7 XP Vista (600M)»

https : //www.amazon.com/gp/product/B08GSBG17K/ref=ppx_yo_dt_b_asin_title_o05_s00? ie = UTF8 & psc = 1

Ubuntu 18.04

uname -r
4.15.0-128-generic

lsusb
Bus 002 Device 003: ID 0bda:c820 Realtek Semiconductor Corp. 

https://github.com/andydvcalled_wireless_118 - wi-fi_dvd_w2118 - wi-fi_data_w211 - wi-fi работает.

https://github.com/andydvsn/rtl8821cu_bt - Я не могу установить драйвер Bluetooth

казался достаточно простым

git clone https://github.com/andydvsn/rtl8821cu_bt.git
Cloning into 'rtl8821cu_bt'...
remote: Enumerating objects: 44, done.
remote: Total 44 (delta 0), reused 0 (delta 0), pack-reused 44
Unpacking objects: 100% (44/44), done.
[16:58:49] root@linux1:~# cd rtl8821cu_bt
[16:59:00] root@linux1:~/rtl8821cu_bt# make
make -C 8821CU -s
Copy 8821CU firmware to /lib/firmware/rtl8821cu_fw
Copy 8821CU config to /lib/firmware/rtl8821cu_config
make -C ./bluetooth_usb_driver
make[1]: Entering directory '/root/rtl8821cu_bt/bluetooth_usb_driver'
make -C /lib/modules/4.15.0-128-generic/build M=/root/rtl8821cu_bt/bluetooth_usb_driver modules
make[2]: Entering directory '/usr/src/linux-headers-4.15.0-128-generic'
  CC [M]  /root/rtl8821cu_bt/bluetooth_usb_driver/rtk_coex.o
/root/rtl8821cu_bt/bluetooth_usb_driver/rtk_coex.c: In function ‘rtk_check_setup_timer’:
/root/rtl8821cu_bt/bluetooth_usb_driver/rtk_coex.c:544:3: error: implicit declaration of function ‘setup_timer’; did you mean ‘sk_stop_timer’? [-Werror=implicit-function-declaration]
   setup_timer(&(btrtl_coex.a2dp_count_timer),
   ^~~~~~~~~~~
   sk_stop_timer
/root/rtl8821cu_bt/bluetooth_usb_driver/rtk_coex.c: In function ‘rtk_btcoex_open’:
/root/rtl8821cu_bt/bluetooth_usb_driver/rtk_coex.c:2532:2: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
  init_timer(&btrtl_coex.polling_timer);
  ^~~~~~~~~~
  init_timers
cc1: some warnings being treated as errors
scripts/Makefile.build:330: recipe for target '/root/rtl8821cu_bt/bluetooth_usb_driver/rtk_coex.o' failed
make[3]: *** [/root/rtl8821cu_bt/bluetooth_usb_driver/rtk_coex.o] Error 1
Makefile:1587: recipe for target '_module_/root/rtl8821cu_bt/bluetooth_usb_driver' failed
make[2]: *** [_module_/root/rtl8821cu_bt/bluetooth_usb_driver] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.15.0-128-generic'
Makefile:10: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/root/rtl8821cu_bt/bluetooth_usb_driver'
Makefile:10: recipe for target 'install' failed
make: *** [install] Error 2
[16:59:06] root@linux1:~/rtl8821cu_bt# 

Я попытался удалить и начать заново, спасибо за чтение и любая помощь будет очень признательна.

0
задан 27 December 2020 в 03:03

1 ответ

Связанный вами репозиторий драйверов предназначен для более старого / другого ядра Linux. Насколько я понимаю, функция init_timer была заменена функцией timer_setup где-то в 2017 году , поэтому код не компилируется.

Вы могли попробуйте открыть PR или изменить код самостоятельно, или вы можете попробовать другой драйвер для bluetooth.

Я заказал аналогичное устройство USB , которое, похоже, использует тот же набор микросхем. Другой драйвер работал для части WiFi, а bluetooth просто работает с драйвером ядра btusb .

Одна небольшая неприятность в этой настройке заключается в том, что Wi-Fi должен быть активен в некоторых точка после загрузки для работы bluetooth. Я не уверен, относится ли это к моей настройке или проблема комбинированных устройств WiFi + Bluetooth.

Соответствующая часть вывода usb-устройств на моем компьютере выглядит так:

P:  Vendor=0bda ProdID=c820 Rev=02.00
S:  Manufacturer=Realtek
S:  Product=802.11ac NIC
S:  SerialNumber=123456
C:  #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I:  If#=0x1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I:  If#=0x2 Alt= 0 #EPs= 5 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8821cu

Обратите внимание, что я использую более новую версию ядра ( 5.8.0-7630-generic ), поэтому у вас все может работать по-другому. Драйвер README говорит, что 4.4.x и выше поддерживаются.

Удачи!

0
ответ дан 3 January 2021 в 22:44

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

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