آیا تا به حال از کارت Intel Corporation Wireless / WiFi 8265/8275 (rev 78) در سیستم عامل Debian استفاده کرده‌اید؟ آیا می‌دانید چگونه می‌توان این کارت را پیکربندی کرد؟ چنانچه آن را به درستی پیکربندی نکرده باشید، حتما با خطای “iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-36.ucode” برخورد کرده‌اید.

 

امّا چگونه می‌توان برای رفع این خطا، firmeware (ترکیبی از کدهای برنامه، حافظه دائمی سیستم و داده‌هایی که درون آن‌ها ذخیره شده‌اند) iwlwifi-8265-36 را بارگیری کرد. چگونه می‌توان این کارت را در Debian فعال کرده و با استفاده از DHCP، یک آدرس IP به آن اختصاص داد؟

دستگاه Intel WiFi، به یک firmware نیاز دارد که باید هنگام راه‌اندازی اولیه دستگاه در درایور آن بارگیری شود. برخی از firmwareها منبع باز هستند و بنابراین بارگذاری آن‌ها رایگان است. امّا، بارگذاری firmware مربوط به درایور Intel WiFi به یک بخش غیر رایگان نیز نیاز دارد.

در این مقاله، نحوه پیکربندی Intel WiFi بر روی دبیان به منظور بارگیری firmware و پیکربندی شبکه آن با استفاده از خط فرمان شرح داده شده است.

قبل از دنبال کردن این آموزش، به موارد زیر نیاز دارید:

  • دسترسی root
  • سیستم عامل Debian 10 یا Debian 11

 

این مطلب نیز ممکن است برای شما مفید باشد: یافتن رمز عبور WiFi شبکه های متصل در لینوکس

 

خطایی که قبل از پیکربندی، هنگام اجرای دستور dmesg وجود دارد، به صورت زیر است:

[   85.227230] iwlwifi 0000:01:00.0: enabling device (0000 -> 0002)
[   85.233019] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-36.ucode (-2)
[   85.233059] firmware_class: See https://wiki.debian.org/Firmware for information about missing firmware
[   85.233101] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-36.ucode failed with error -2
[   85.233110] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-35.ucode (-2)
[   85.233146] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-35.ucode failed with error -2
[   85.233153] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-34.ucode (-2)
[   85.233191] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-34.ucode failed with error -2
[   85.233201] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-33.ucode (-2)
[   85.233238] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-33.ucode failed with error -2
[   85.233246] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-32.ucode (-2)
[   85.233248] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-32.ucode failed with error -2
[   85.233255] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-31.ucode (-2)
[   85.233334] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-31.ucode failed with error -2
[   85.233343] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-30.ucode (-2)
[   85.233386] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-30.ucode failed with error -2
[   85.233395] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-29.ucode (-2)
[   85.233434] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-29.ucode failed with error -2
[   85.233444] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-28.ucode (-2)
[   85.233482] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-28.ucode failed with error -2
[   85.233490] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-27.ucode (-2)
[   85.233528] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-27.ucode failed with error -2
[   85.233537] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-26.ucode (-2)
[   85.233575] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-26.ucode failed with error -2
[   85.233584] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-25.ucode (-2)
[   85.233630] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-25.ucode failed with error -2
[   85.233639] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-24.ucode (-2)
[   85.233677] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-24.ucode failed with error -2
[   85.233686] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-23.ucode (-2)
[   85.233724] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-23.ucode failed with error -2
[   85.233732] iwlwifi 0000:01:00.0: firmware: failed to load iwlwifi-8265-22.ucode (-2)
[   85.233772] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8265-22.ucode failed with error -2
[   85.233774] iwlwifi 0000:01:00.0: minimum version required: iwlwifi-8265-22
[   85.233807] iwlwifi 0000:01:00.0: maximum version supported: iwlwifi-8265-36
[   85.233843] iwlwifi 0000:01:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

علاوه بر این پیام دیگری نیز نمایش داده می‌شود که نشان می‌دهد Intel GPU firmware بارگیری نشده است:

[   85.310393] i915 0000:00:02.0: firmware: failed to load i915/kbl_dmc_ver1_04.bin (-2)
[   85.310399] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_04.bin failed with error -2

و خطای زیر نشان می‌دهد که Bluetooth firmware بارگیری نشده است:

[   85.317912] bluetooth hci0: firmware: failed to load intel/ibt-12-16.sfi (-2)
[   85.317918] bluetooth hci0: Direct firmware load for intel/ibt-12-16.sfi failed with error -2

 

پیکربندی Intel WiFi بر روی دبیان به منظور بارگذاری binary firmware

فایل /etc/apt/sources.list را ویرایش کرده و مطمئن شوید موارد non-free به فایل source.list اضافه شده است.

sudo vim /etc/apt/sources.list

این موارد می‌تواند به صورت زیر باشد:

deb http://deb.debian.org/debian/ buster main non-free
deb-src http://deb.debian.org/debian/ buster main non-free

deb http://security.debian.org/debian-security buster/updates main non-free
deb-src http://security.debian.org/debian-security buster/updates main non-free

# buster-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ buster-updates main non-free
deb-src http://deb.debian.org/debian/ buster-updates main non-free

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.

 

پس از آن با اجرای دستور apt به صورت زیر، مخزن (repo) خود را به روز کرده و تمام به روزرسانی‌های امنیتی را در Debian اعمال کنید:

sudo apt update
sudo apt upgrade

با اجرای دستور زیر می‌توانید، Intel WiFi firmware را در Debian جستجو نمایید:

sudo apt search firmware-iwlwifi

که خروجی مشابه زیر را خواهید دید:

Sorting... Done
Full Text Search... Done
firmware-iwlwifi/stable 20190114-2 all
  Binary firmware for Intel Wireless cards

 

اکنون، به منظور نصب درایور Intel WiFi firmware در Debian می‌توانید از دستور زیر استفاده کنید:

sudo apt install firmware-iwlwifi

که خروجی مشابه زیر را نمایش می‌دهد:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  linux-image-4.19.0-11-amd64
Use 'apt autoremove' to remove it.
The following NEW packages will be installed:
  firmware-iwlwifi
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 5,318 kB of archives.
After this operation, 45.1 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian buster/non-free amd64 firmware-iwlwifi all 20190114-2 [5,318 kB]
Fetched 5,318 kB in 1s (5,312 kB/s)        
Selecting previously unselected package firmware-iwlwifi.
(Reading database ... 36546 files and directories currently installed.)
Preparing to unpack .../firmware-iwlwifi_20190114-2_all.deb ...
Unpacking firmware-iwlwifi (20190114-2) ...
Setting up firmware-iwlwifi (20190114-2) ...

 

با اجرای دستور زیر می‌توانید firmware و درایور را برای Intel WiFI اضافه نمایید:

sudo modprobe -r iwlwifi
sudo modprobe iwlwifi
sudo dmesg

خروجی دستور مشابه زیر خواهد بود:

[ 1642.714145] Intel(R) Wireless WiFi driver for Linux
[ 1642.714146] Copyright(c) 2003- 2015 Intel Corporation
[ 1642.714842] iwlwifi 0000:01:00.0: firmware: direct-loading firmware iwlwifi-8265-36.ucode
[ 1642.715204] iwlwifi 0000:01:00.0: loaded firmware version 36.9f0a2d68.0 op_mode iwlmvm
[ 1642.758139] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 8265, REV=0x230
[ 1642.817159] iwlwifi 0000:01:00.0: base HW address: b4:6b:fc:32:7a:12
[ 1642.901773] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[ 1642.901990] thermal thermal_zone5: failed to read out thermal zone (-61)
[ 1642.904612] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0

که "wlp1s0" نام رابط WiFi است.

 

به منظور پیدا کردن نام رابط Intel Wifi در Debian، دستور زیر را اجرا کنید:

ip -c a s
ip -c link show

خروجی دستور مشابه زیر خواهد بود:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 54:b2:03:09:00:be brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.166/24 brd 192.168.2.255 scope global dynamic eno1
       valid_lft 5374sec preferred_lft 5374sec
    inet6 fe80::56b2:3ff:fe09:be/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp1s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b4:6b:fc:32:7a:12 brd ff:ff:ff:ff:ff:ff

همانطور که مشاهده می‌نمایید، مقابل wlp1s0 عبارت down آمده است؛ زیرا روتر WiFi ما نیاز به احراز هویت دارد. علاوه‌براین، باید با استفاده از DHCP، یک آدرس IP به آن اختصاص داده شود.

پس از فعال شدن درایور firmware، دستگاه Intel Wifi با استفاده از روش‌های مختلف در دبیان قابل پیکربندی است. چند نمونه عبارت است از:

  • دستور nmcli
  •  
  • ابزار گرافیکی تنظیمات شبکه GNOME یا KDE
  •  
  • دستور wpa_supplicant

 

پیکربندی Intel Wifi در دبیان با DHCP

در اینجا، به منظور پیکربندی Intel Wifi از دستور wpa_supplicant استفاده می‌کنیم که یک دستور مستقل از پلت فرم و دارای پشتیبانی از WEP ،WPA و WPA2 است.

ابتدا با اجرای دستور زیر، ابزار wpa_supplicant را نصب کنید:

sudo apt install wpasupplicant

سپس یک فایل پیکربندی جدید به صورت زیر ایجاد نمایید:

sudo sh -c 'wpa_passphrase your_ssid "wifi_password" > /etc/wpa_supplicant/wpa_supplicant.conf

و برای ویرایش فایل /etc/wpa_supplicant/wpa_supplicant.conf، دستور زیر را اجرا کنید:

sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

با افزودن ctrl_interface و update_config به صورت زیر، فایل پیکربندی را به روز نمایید:

network={
	ssid="your_ssid"
	psk=some_random_encrypted_wifi_password
}
ctrl_interface=/run/wpa_supplicant 
update_config=1

 

تا اینجا، WiFi SSID و رمز عبور برای روتر تنظیم شد. اکنون، یک فایل پیکربندی جدید برای رابط کاربری خود ایجاد کنید:

sudo vim /etc/network/interfaces.d/wlp1s0.conf

و تنظیمات زیر را اضافه نمایید:

allow-hotplug wlp1s0
iface wlp1s0 inet dhcp
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

با استفاده از دستور systemctl، سرویس‌ها را مجدداً راه‌اندازی کنید:

sudo systemctl reenable wpa_supplicant.service
sudo systemctl restart wpa_supplicant.service
sudo systemctl restart networking.service

با استفاده از دستور ping، آدرس IP و قابلیت اطمینان آن را تأیید نمایید:

ip -br -c link show
ip -br -c addr show
ip -c addr show wlp1s0
ping -c 4 jeyserver.com

 

 

 

منبع:

cyberciti