Проблемы с WIFI адаптерами RTL8821CE в Linux

Добрый день всем, кто оказался на данном сайте. В последнее время можно сталкнуться с тем, что нет драйвера на WIFI адаптер RTL8821CE. К примеру, я сталкнулся с этой проблемой когда приобрел новый ноутбук. Хотя например в Ubuntu 19.10 этот драйвер есть в репозиториях. Но, например в Debian и MX Linux его нет. Решается это довольно просто. Установкой его с gihub. И так, приступ. Для начала установим git:

 sudo apt install git

Теперь можно приступать к скачиванию исходного пакета с gihub:

git clone https://github.com/tomaspinho/rtl8821ce

После чего переходим в папку с нашим исходником и приступаем к установке. Для начала скомпилируем исходник командой “make” и потом установим при помощи команды “install”

cd rtl8821ce
make
sudo make install

После успешной установки, нужно перезагрузить систему. После чего WIFI устройство обнаружиться системой и будет работать. А на этом сегоня все. Надеюсь данная статья будет вам полезна.

17 комментариев к «Проблемы с WIFI адаптерами RTL8821CE в Linux»

  1. HP, Elementary – нет wifi, Linux Mint – тоже нет. Просмотрел, перечитал кучу информации -ничего. Случайно наткнулся на ваш сайт – 10 минут и проблема решена. Благодарю Вас за краткость и доступность.

    1. Можно подключиться по витой паре – по проводу, скачать и установить. А вообще, щас в ядро Linux уже добавили данный драйвер, его только в настройках активировать и все работает

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

  3. Блаеодарю! думал уже на другую OS переходить
    Все сработало на отлично, я снова с WIFI
    ядро 5.10.6-desktop-1.mga7
    ноут ASUS 2019 г.
    карточка RTL8821ce
    OS Mageia 7

  4. Спасибо автору. Всё чётко и разумно. Для первичного подключения к сети использовал телефон через USB кабель.

  5. Не работает. Ошибка.

    make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.4.0-58-generic/build M=/home/a/rtl8821ce modules
    make[1]: вход в каталог «/usr/src/linux-headers-5.4.0-58-generic»
    CC [M] /home/a/rtl8821ce/os_dep/osdep_service.o
    In file included from /home/a/rtl8821ce/include/drv_types.h:35,
    from /home/a/rtl8821ce/os_dep/osdep_service.c:24:
    /home/a/rtl8821ce/include/wifi.h:1019: warning: “IEEE80211_MAX_AMPDU_BUF” redefined
    1019 | #define IEEE80211_MAX_AMPDU_BUF 0x40
    |
    In file included from /home/a/rtl8821ce/include/osdep_service_linux.h:86,
    from /home/a/rtl8821ce/include/osdep_service.h:48,
    from /home/a/rtl8821ce/include/drv_types.h:32,
    from /home/a/rtl8821ce/os_dep/osdep_service.c:24:
    ./include/linux/ieee80211.h:1460: note: this is the location of the previous definition
    1460 | #define IEEE80211_MAX_AMPDU_BUF 0x100
    |
    /home/a/rtl8821ce/os_dep/osdep_service.c: In function ‘isFileReadable’:
    /home/a/rtl8821ce/os_dep/osdep_service.c:2088:10: error: implicit declaration of function ‘get_ds’; did you mean ‘get_da’? [-Werror=implicit-function-declaration]
    2088 | set_fs(get_ds());
    | ^~~~~~
    | get_da
    /home/a/rtl8821ce/os_dep/osdep_service.c:2088:10: error: incompatible type for argument 1 of ‘set_fs’
    2088 | set_fs(get_ds());
    | ^~~~~~~~
    | |
    | int
    In file included from ./include/linux/uaccess.h:11,
    from ./include/linux/sched/task.h:11,
    from ./include/linux/sched/signal.h:9,
    from /home/a/rtl8821ce/include/osdep_service.h:47,
    from /home/a/rtl8821ce/include/drv_types.h:32,
    from /home/a/rtl8821ce/os_dep/osdep_service.c:24:
    ./arch/x86/include/asm/uaccess.h:29:40: note: expected ‘mm_segment_t’ {aka ‘struct ’} but argument is of type ‘int’
    29 | static inline void set_fs(mm_segment_t fs)
    | ~~~~~~~~~~~~~^~
    /home/a/rtl8821ce/os_dep/osdep_service.c: In function ‘retriveFromFile’:
    /home/a/rtl8821ce/os_dep/osdep_service.c:2126:11: error: incompatible type for argument 1 of ‘set_fs’
    2126 | set_fs(get_ds());
    | ^~~~~~~~
    | |
    | int
    In file included from ./include/linux/uaccess.h:11,
    from ./include/linux/sched/task.h:11,
    from ./include/linux/sched/signal.h:9,
    from /home/a/rtl8821ce/include/osdep_service.h:47,
    from /home/a/rtl8821ce/include/drv_types.h:32,
    from /home/a/rtl8821ce/os_dep/osdep_service.c:24:
    ./arch/x86/include/asm/uaccess.h:29:40: note: expected ‘mm_segment_t’ {aka ‘struct ’} but argument is of type ‘int’
    29 | static inline void set_fs(mm_segment_t fs)
    | ~~~~~~~~~~~~~^~
    /home/a/rtl8821ce/os_dep/osdep_service.c: In function ‘storeToFile’:
    /home/a/rtl8821ce/os_dep/osdep_service.c:2161:11: error: incompatible type for argument 1 of ‘set_fs’
    2161 | set_fs(get_ds());
    | ^~~~~~~~
    | |
    | int
    In file included from ./include/linux/uaccess.h:11,
    from ./include/linux/sched/task.h:11,
    from ./include/linux/sched/signal.h:9,
    from /home/a/rtl8821ce/include/osdep_service.h:47,
    from /home/a/rtl8821ce/include/drv_types.h:32,
    from /home/a/rtl8821ce/os_dep/osdep_service.c:24:
    ./arch/x86/include/asm/uaccess.h:29:40: note: expected ‘mm_segment_t’ {aka ‘struct ’} but argument is of type ‘int’
    29 | static inline void set_fs(mm_segment_t fs)
    | ~~~~~~~~~~~~~^~
    /home/a/rtl8821ce/os_dep/osdep_service.c: At top level:
    /home/a/rtl8821ce/os_dep/osdep_service.c:2818:1: fatal error: opening dependency file /home/a/rtl8821ce/os_dep/.osdep_service.o.d: Отказано в доступе
    2818 | }
    | ^
    cc1: some warnings being treated as errors
    compilation terminated.
    make[2]: *** [scripts/Makefile.build:275: /home/a/rtl8821ce/os_dep/osdep_service.o] Ошибка 1
    make[1]: *** [Makefile:1757: /home/a/rtl8821ce] Ошибка 2
    make[1]: выход из каталога «/usr/src/linux-headers-5.4.0-58-generic»
    make: *** [Makefile:1902: modules] Ошибка 2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *