بعد از تعویض لپتاپم و نصب Ubuntu 22.04 متوجه شدم که کارت شبکه وایرلس/Wireless Network Adapter من که از مدل Realtek RTL8821CE هست خوب کار نمیکنه و تو اتصال مشکل داره و به همین دلیل به دنبال راه حل رفتم و در نهایت تونستم مشکل رو رفع کنم.
اگه شما هم روی سیستمون از لینوکس/linux استفاده میکنین و با کارت شبکه Realtek RTL8821CE مشکل دارین ادامه این مقاله رو مطالعه کنین تا مشکلتون رو بتونید رفع کنید.
برای اینکه مشاهده کنید در حال حاضر سیستم شما از چه درایوری برای این نوع کارت شبکه استفاده میکنه دستور زیر رو تو ترمینالتون اجرا کنید:
$ sudo lspci -k | grep -iA2 wireless
خروجی دستور شبیه به تصویر زیر هست:
در تصویر بالا عبارت kernel driver in use مشخص کننده درایوری هست که در حال حاضر برای این کارت شبکه استفاده میشه که در اینجا برای لپتاپ من rtl8821ce هست و احتمالا برای شما rtw88_8821ce باشه.
درایور rtw88_8821ce به صورت پیشفرض روی هسته لینوکس وجود داره ولی این درایور مشکلات زیادی داشته و شما باید اونو با rtl8821ce جایگزین کنید.
به آدرس Realtek RTL8821CE Driver برین و منبع کد مربوط به این درایور رو دانلود کنید که این کار رو میتونین با Git یا از طریق دانلود فایل zip انجام بدین، بعد از دانلود در ترمینال لینوکس به مسیر کد دانلود شده رفته و دستورات زیر رو به ترتیب اجرا کنید:
$ sudo apt install bc module-assistant build-essential dkms $ sudo m-a prepare $ sudo ./dkms-install.sh
بعد از این کار درایور مورد نظر روی سیستم شما نصب شده و باید ابتدا درایور قبلی رو غیرفعال و بعد درایور جدید رو فعال کنید. دستورات زیر رو اجرا کنین:
$ sudo modprobe -r rtw88_8821ce $ sudo modprobe -b rtw88_8821ce $ sudo modprobe 8821ce
برای اینکه مطمئن بشیم کار رو درست انجام دادیم دستور زیر رو اجرا کنین:
$ sudo modprobe 8821ce --first-time
خروجی دستور بالا باید مقدار زیر باشه:
modprobe: ERROR: could not insert '8821ce': Module already in kernel
سیستم خودتون رو ریبوت کنین و درایور جدید رو تست کنین.