Intel Corporation PRO/Wireless 3945ABG
이 안내서는 인텔사의 PRO 3945ABG 무선 네트워크 카드를 리눅스에서 동작하도록 설정하는 방법을 설명합니다. 무선 네트워크 설정 자체는 이 안내서에서 다루지 않으므로, 이 내용을 찾아보려면 WiFi 페이지를 참고하십시오.
커널
하드웨어 감지
우선 하드웨어를 발견했는지 확인하십시오. 여러 접근 방식이 있습니다.
lspci
lspci로 PCI 기반 하드웨어를 검색할 수 있습니다:
root #
lspci -nnkv | sed -n '/Network/,/^$/p' | head -n -1
08:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02) Subsystem: Hewlett-Packard Company PRO/Wireless 3945ABG [Golan] Network Connection [103c:135c] Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at e8000000 (32-bit, non-prefetchable) [size=4K] Capabilities: [c8] Power Management version 2 Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [e0] Express Legacy Endpoint, MSI 00 Kernel driver in use: iwl3945 Kernel modules: iwl3945
lshw
lshw로 하드웨어 정보를 검색할 수 있습니다:
root #
lshw
*-core *-pci *-pci:0 *-network description: Ethernet interface product: PRO/Wireless 3945ABG [Golan] Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:08:00.0 logical name: wlp8s0 version: 02 serial: 00:1b:77:b1:c8:8e width: 32 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list ethernet physical configuration: broadcast=yes driver=iwl3945 driverversion=4.1.8-gentoo firmware=15.32.2.9 ip=192.168.178.23 latency=0 link=yes multicast=yes resources: irq:16 memory:e8000000-e8000fff
IEEE 802.11
Activate at least cfg80211 (CONFIG_CFG80211) and mac80211 (CONFIG_MAC80211).
[*] Networking support --->
[*] Wireless --->
<M> cfg80211 - wireless configuration API
[ ] nl80211 testmode command
[ ] enable developer warnings
[ ] cfg80211 certification onus
[*] enable powersave by default
[ ] cfg80211 DebugFS entries
[ ] support CRDA
[ ] cfg80211 wireless extensions compatibility
<M> Generic IEEE 802.11 Networking Stack (mac80211)
[*] Minstrel
[*] Minstrel 802.11n support
[ ] Minstrel 802.11ac support
Default rate control algorithm (Minstrel) --->
[ ] Enable mac80211 mesh networking (pre-802.11s) support
-*- Enable LED triggers
[ ] Export mac80211 internals in DebugFS
[ ] Trace all mac80211 debug messages
[ ] Select mac80211 debugging features ----
Minstrel and its 802.11n support is a rate control algorithm. Some wireless drivers might require it enabled.
In case the wireless configuration API (CONFIG_CFG80211) is built into the kernel (
<*>
) instead as a module (<M>
), the driver won't be able to load regulatory.db from /lib/firmware resulting in broken regulatory domain support. Please set CONFIG_CFG80211=m or add regulatory.db and regulatory.db.p7s (from net-wireless/wireless-regdb) to CONFIG_EXTRA_FIRMWARE.iwl3945 장치 드라이버 모듈
인텔 사 PRO/Wireless 3945ABG 장치는 iwlegacy로 알려진 iwl3945 드라이버가 필요합니다. 검색 결과(make menuconfig에서 /
입력)에서 어디서 찾았는지 보여줍니다:
Symbol: IWL3945 [=m]
Type : tristate
Prompt: Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)
Location:
-> Device Drivers
-> Network device support (NETDEVICES [=y])
(1) -> Wireless LAN (WLAN [=y])
Defined at drivers/net/wireless/iwlegacy/Kconfig:37
Depends on: NETDEVICES [=y] && WLAN [=y] && PCI [=y] && MAC80211 [=y]
Selects: IWLEGACY [=m]
여기 나타난대로 모듈<M>
로 설정하십시오. 커널 설정을 바꾸고 난 다음에는 잊지 마시고 커널을 다시 빌드 하십시오.
Device Drivers --->
...
[*] Network device support --->
--- Network device support
...
[*] Wireless LAN --->
...
--- Wireless LAN
< > Marvell 8xxx Libertas WLAN driver support with thin firmware
< > Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards
< > Atmel at76c50x chipset 802.11b support
< > Atmel at76c503/at76c505/at76c505a USB cards
< > Intersil Prism GT/Duette/Indigo PCI/Cardbus (DEPRECATED)
< > USB ZD1201 based Wireless device support
< > Wireless RNDIS USB support
< > Realtek 8180/8185/8187SE PCI support
< > Realtek 8187 and 8187B USB support
< > ADMtek ADM8211 support
< > Simulated radio testing tool for mac80211
< > Marvell 88W8xxx PCI/PCIe Wireless support
< > Atheros Wireless Cards ----
< > Broadcom 43xx wireless support (mac80211 stack)
< > Broadcom 43xx-legacy wireless support (mac80211 stack)
< > Broadcom IEEE802.11n PCIe SoftMAC WLAN driver
< > Broadcom IEEE802.11n embedded FullMAC WLAN driver
< > IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
< > Intel PRO/Wireless 2100 Network Connection
< > Intel PRO/Wireless 2200BG and 2915ABG Network Connection
< > Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
< > Intel Wireless WiFi 4965AGN (iwl4965)
<M> Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)
iwl3945 / iwl4965 Debugging Options --->
< > Marvell 8xxx Libertas WLAN driver support
< > Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)
< > Softmac Prism54 support
< > Ralink driver support ----
< > Realtek rtlwifi family of devices ----
[ ] TI Wireless LAN support ----
< > ZyDAS ZD1211/ZD1211B USB-wireless support
< > Marvell WiFi-Ex Driver
< > CW1200 WLAN support
< > Redpine Signals Inc 91x WLAN driver support
Intel PRO/Wireless 3945ABG/BG ...
줄에서 도움말(make menuconfig에서 h 키를 누르면 나타남) 화면에 들어가면 드라이버에 대한 자세한 정보를 보여줍니다:
CONFIG_IWL3945:
Select to build the driver supporting the:
Intel PRO/Wireless 3945ABG/BG Network Connection
This driver uses the kernel's mac80211 subsystem.
In order to use this driver, you will need a microcode (uCode)
image for it. You can obtain the microcode from:
<http://intellinuxwireless.org/>.
The microcode is typically installed in /lib/firmware. You can
look in the hotplug script /etc/hotplug/firmware.agent to
determine which directory FIRMWARE_DIR is set to when the script
runs.
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/kbuild/modules.txt>. The
module will be called iwl3945.
iwl3945 장치 드라이버 내장
드라이버를 모듈(<M>
)로 빌드하는 대신 커널에 내장(<*>
)해서 빌드했을 경우, 펌웨어 또한 커널에 빌드해야합니다.
Device Drivers --->
Generic Driver Options --->
-*- Userspace firmware loading support
[ ] Include in-kernel firmware blobs in kernel binary
(iwlwifi-3945-2.ucode) External firmware blobs to build into the kernel binary
(/lib64/firmware) Firmware blobs root directory
[ ] Fallback user-helper invocation for firmware loading
펌웨어
iwlwifi-3945-ucode-15.32.2.9.tgz(또는 이후 버전의) 펌웨어가 필요합니다. 이 펌웨어는 sys-kernel/linux-firmware 꾸러미에 들어있습니다.
root #
emerge --ask sys-kernel/linux-firmware
Network device names
This section is obsolete. See Udev#Optional: Disable_or_override_predictable_network_interface_naming for updated instructions.
Network device names such as eth0 or wlan0 as provided by the kernel are normally changed on system boot (see dmesg) by the /lib/udev/rules.d/80-net-name-slot.rules udev rule.
To keep the classic naming this rule can be overwritten with an equally named empty file in the /etc/udev/rules.d directory:
root #
touch /etc/udev/rules.d/80-net-name-slot.rules
설정 확인
모듈 불러오기
modprobe 명령에서는 어떤 오류도 반환하지 말아야합니다:
root #
modprobe iwl3945
드라이버 모듈에 대한 자세한 내용(지원 매개 변수)은 modinfo iwl3935에서 찾아볼 수 있습니다:
user $
modinfo iwl3935
filename: /lib/modules/4.1.15-gentoo-r1/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko firmware: iwlwifi-3945-2.ucode license: GPL author: Copyright(c) 2003-2011 Intel Corporation <ilw@linux.intel.com> version: in-tree:s description: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux srcversion: A279E9C3E47A7F92078CA7C alias: pci:v00008086d00004227sv*sd*bc*sc*i* alias: pci:v00008086d00004222sv*sd*bc*sc*i* alias: pci:v00008086d00004227sv*sd00001014bc*sc*i* alias: pci:v00008086d00004222sv*sd00001044bc*sc*i* alias: pci:v00008086d00004222sv*sd00001034bc*sc*i* alias: pci:v00008086d00004222sv*sd00001005bc*sc*i* depends: iwlegacy intree: Y vermagic: 4.1.15-gentoo-r1 SMP mod_unload parm: antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int) parm: swcrypto:using software crypto (default 1 [software]) (int) parm: disable_hw_scan:disable hardware scanning (default 1) (int) parm: fw_restart:restart firmware in case of error (int)
확인
dmesg
다시 부팅한 다음 08:00.0
, iwl3945
, wlp8s0
와 같은 식으로 dmesg 출력을 찾아보십시오:
user $
dmesg | grep -i '08:00.0\|iwl3945\|wlp8s0'
[ 0.148048] pci 0000:08:00.0: [8086:4222] type 00 class 0x028000 [ 0.148099] pci 0000:08:00.0: reg 0x10: [mem 0xe8000000-0xe8000fff] [ 0.148419] pci 0000:08:00.0: PME# supported from D0 D3hot D3cold [ 0.148518] pci 0000:08:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force' [ 7.198115] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s [ 7.198118] iwl3945: Copyright(c) 2003-2011 Intel Corporation [ 7.198183] iwl3945 0000:08:00.0: can't disable ASPM; OS doesn't have ASPM control [ 7.252250] iwl3945 0000:08:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels [ 7.252254] iwl3945 0000:08:00.0: Detected Intel Wireless WiFi Link 3945ABG [ 7.492257] iwl3945 0000:08:00.0 wlp8s0: renamed from wlan0 [ 7.504225] systemd-udevd[278]: renamed network interface wlan0 to wlp8s0 [ 15.828778] iwl3945 0000:08:00.0: loaded firmware version 15.32.2.9
추가 참조
- wifi - 다른 무선 네트워크 장치 안내서
- wpa_supplicant - 무선 네트워크 액세스 포인트 연결용으로 잘 알려진 도구
- Network_management - 네트워크 접근 관리 도구