Tôi không thể tìm ra cách mang đúng thẻ wi-fi trên máy tính xách tay của mình. Khi tôi bật nó lên và phát hành
$ Sudo iwconfig wlan0 txpower auto
$ Sudo iwlist wlan0 scan
wlan0 Interface doesn't support scanning : Network is down
nó báo cáo rằng mạng bị hỏng. Cố gắng để đưa nó lên thất bại quá:
$ Sudo ifup wlan0
wlan0 no private ioctls.
Failed to bring up wlan0.
Rõ ràng tôi đang thiếu một số cấp độ cơ bản iw...
chỉ huy.
Khi tôi phát hành dhclient
trên giao diện:
$ Sudo dhclient -v wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
^C$
và làm gián đoạn nó, nó đưa thiết bị lên bằng cách nào đó và sau đó quét, vv hoạt động. Tôi muốn tránh bước rõ ràng không cần thiết này.
Sudo ip link set wlan0 up
hoặc là Sudo ifconfig wlan0 up
.
Trả lời từ ngày 13 tháng 4 năm 17:
Để giải thích về câu trả lời của Martin:
Các lệnh ifup
và ifdown
là một phần của gói ifupdown , mà bây giờ được coi là giao diện kế thừa cho cấu hình mạng , so với các lệnh mới hơn, nhu la network manager
.
Khi ifup
ifupdown
đọc cài đặt cấu hình từ /etc/network/interfaces
; nó chạy pre-up
, post-up
và post-down
tập lệnh từ /etc/network
, bao gồm bắt đầu /etc/wpasupplicant/ifupdown.sh
xử lý thêm wpa-*
tùy chọn cấu hình cho wifi wpa, trong /etc/network/interfaces
(xem zcat /usr/share/doc/wpasupplicant/README.Debian.gz
cho tài liệu). Dành cho WEP wireless-tools
gói đóng vai trò tương tự như wpa-supplicant
. iwconfig
là từ wireless-tools
, quá.
ifconfig
cùng một lúc là một công cụ cấp thấp hơn , được sử dụng bởi ifupdown
và cho phép linh hoạt hơn. Chẳng hạn, có 6 chế độ hoạt động của bộ điều hợp wifi và IIRC ifupdown
chỉ bao gồm chế độ được quản lý (+ chế độ chuyển vùng, chính thức không phải là chế độ?). Với iwconfig
và ifconfig
bạn có thể bật ví dụ: chế độ màn hình của thẻ không dây của bạn, trong khi với ifupdown
bạn sẽ không thể làm điều đó trực tiếp.
Lệnh ip
là một công cụ mới hơn hoạt động trên đỉnh ổ cắm netlink , một cách mới để định cấu hình ngăn xếp mạng kernel từ không gian người dùng (các công cụ như ifconfig
được xây dựng trên đầu trang của ioctl gọi hệ thống).
Thử ifconfig wlan0 up
thay vì ifup
.
Kể từ Ubuntu 18.04 (và các phiên bản Debian tương ứng) ifconfig
và ifup
/ifdown
không được dùng nữa và cách được đề xuất để hiển thị giao diện là với ip
chỉ huy:
ip link set dev <interface> up
ip link set dev <interface> down
Và bạn có thể kiểm tra các giao diện có sẵn của mình với:
ip link
Và bạn có thể hiển thị địa chỉ IP được gán của giao diện của mình với:
ip addr show
Hay cụ thể hơn:
ip addr show scope global | grep inet
Đây là những gì tôi sử dụng để kết nối với điểm truy cập WEP hàng ngày:
#!/bin/bash
DEV=$(iw dev | awk '/Interface/ {interf=$2} END {print interf}')
PIDFILE=/var/run/dhcpcd-$DEV.pid
if [[ -f $PIDFILE ]] && kill -0 $(cat /var/run/dhcpcd-$DEV.pid)
then
dhcpcd -k $DEV
fi
ifconfig $DEV down
sleep 1
iwconfig $DEV mode managed
iwconfig $DEV key blabfoobar
ifconfig $DEV up
iwconfig $DEV essid 'Unindicted Co-conspirator'
iwconfig $DEV ap 00:0D:51:EB:E5:1E
sleep 5
dhcpcd --noipv6rs --noarp $DEV
Bạn sẽ phải đặt ESSID và MAC cho bất kỳ điểm truy cập nào bạn muốn.
Khó hơn một chút cho mã hóa WPA. Bạn phải có wpa_supplicant.conf
tập tin với một mục thích hợp. Như thế này:
# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
network={
ssid="FaveCoffeeHouse"
psk="cafe241800"
priority=1
}
Khi bạn có một tệp conf như vậy, thì bạn có thể chạy tập lệnh này:
#!/bin/bash
DEV=$(iw dev | awk '/Interface/ {print $2}')
ifconfig $DEV down
iwconfig $DEV mode managed
ifconfig $DEV up
iwconfig $DEV essid 'FaveCoffeeHouse'
iwconfig $DEV ap 00:21:1e:3d:2a:80
echo now run: wpa_supplicant -Dnl80211 -i$DEV -c./wpa_supplicant.conf
Cập nhật, 2014-12-03 :
Arch Linux là như vậy, kịch bản kết nối với WEP của tôi khác rất nhiều. Tôi nghĩ rằng tôi nên thêm nó vào câu trả lời này để giữ cho nó cập nhật.
#!/bin/bash
DEV=wlp12s0
if [[ -f /run/dhcpcd-$DEV.pid ]]
then
kill -QUIT $(cat /run/dhcpcd-$DEV.pid)
fi
ifconfig $DEV down
iw dev $DEV set type managed
ifconfig $DEV up
sleep 2
iw dev wlp12s0 connect -w 'Akond of Swat' 2462 00:7c:41:eb:e5:1e key 0:befedade
sleep 15
dhcpcd -4 --nohook 10-wpa_supplicant --noarp --noipv6rs $DEV
Tôi đã phải chuyển sang sử dụng iw
rất đột ngột. Đôi điều về nhân Arch LTS hoặc trình điều khiển WiFi (máy tính xách tay của tôi có thẻ Intel WiFi sử dụng trình điều khiển "iwl4965") đã thay đổi cách đây không lâu. Bạn sẽ phải thay đổi tần số ("2462") và địa chỉ MAC của điểm truy cập để làm cho điều này hoạt động.