ปิดใช้งาน WiFi (wlan0) บน Pi 3


109

มี Pi 3 ซึ่งจะใช้อีเธอร์เน็ตอยู่เสมอดังนั้นพยายามหาวิธีปิดการใช้งาน WiFi เพื่อให้ไม่สามารถเปิดใช้งานได้หลังจากรีบูต

ถ้าฉันทำifconfigฉันเห็นwlan0อุปกรณ์ ฉันสามารถทำได้ifconfig wlan0 downแต่มันจะกลับมาอีกครั้งหลังจากรีบูต

ฉันพยายามแสดงความคิดเห็นอะไรเกี่ยวกับwlan0(และwlan1) ใน/etc/network/interfacesแต่นั่นก็ไม่ได้สร้างความแตกต่าง

eth0 ไม่ได้ใส่ความคิดเห็นเพื่อให้สามารถใช้งานได้


คุณแสดงความคิดเห็นwlan1ในไฟล์นั้นด้วยหรือไม่?
Patrick Cook

ใช่. เหลือแค่โลและ eth0
Evan

2
การตั้งค่าสำหรับคืออะไรwlan0ใน/etc/network/interfaces? ถ้ามันเป็นautoเปลี่ยนไปตามmanual ifdown wlan0
ott--


ขอบคุณ @ott คุณเพิ่งเตือนฉันถึงวิธีการให้หยุดภายในคว้าที่อยู่ DHCP ในขณะที่หน่วย USB WLAN เชื่อมต่อกับคงที่ ฉันเพิ่งแสดงความคิดเห็นในบรรทัด wpa_supplicant และเพิ่ม ifdown wlan0 - ขอบคุณอีกครั้ง
SDsolar

คำตอบ:


39

ดูคำตอบของ Ludovic Ronsin ด้านล่างเกี่ยวกับการใช้ dtoverlay ซึ่งเป็นวิธีการที่เพิ่มในเดือนมกราคม 2017

โพสต์นี้ดูเหมือนจะพูดถึงเรื่องนี้ คำตอบพูดถึงการปิดการใช้งานไดรเวอร์โดยแก้ไขไฟล์/etc/modprobe.d/raspi-blacklist.confและเพิ่ม:

blacklist brcmfmac
blacklist brcmutil

หรือคุณสามารถใช้crontab -eและเพิ่ม:

@reboot sudo ifdown wlan0

ดังนั้นคำสั่งนั้นจะรันในการบู๊ตแต่ละครั้ง

หวังว่าจะช่วยได้ฉันยังคงรอ Pi 3 ของฉันมาถึง


5
วิธีบัญชีดำทำงานได้สำหรับฉัน เพิ่งสร้าง/etc/modprobe.d/local-blacklist.confไฟล์แทนที่จะต่อท้ายไฟล์ที่มีอยู่
Evan

เท่าที่ฉันทราบวิธีบัญชีดำอยู่ใกล้กับส่วนต่อประสานที่ลดลง มันไม่ได้ปิดอินเทอร์เฟซทั้งหมดอย่างสมบูรณ์
jww

2
@Patrick Cook วิธีที่สองใช้งานได้สำหรับฉัน แต่ฉันต้องการเรียกใช้คำสั่งในฐานะที่เป็น root:sudo crontab -e
Matthias Herrmann

1
ฉันชอบใช้ crontab เพื่อทำมัน เป็นเรื่องของสไตล์ฉันจะแก้ไข crontab รากแทนการใช้งานอื่น ๆ sudoและออก สำหรับการยืดคุณต้องใช้ip link set wlan0 downแทนifdown
สาม

1
หากคุณกำลังใช้ debian stretch และ ifdown จะส่งคืนอินเตอร์เฟสที่ไม่รู้จัก wlan0 ให้ใช้: sudo ifconfig wlan0 downแทน หากยังใช้งานไม่ได้ให้ใช้ifconfigเพื่อแสดงรายการอินเตอร์เฟสเครือข่ายที่มีอยู่ทั้งหมด
พรม

188

หากต้องการปิดการใช้งาน onboard WiFi อย่างสมบูรณ์จากเฟิร์มแวร์ใน Pi3 ให้เพิ่ม

dtoverlay=disable-wifi

ใน/boot/config.txt

นี้เป็นเอกสารที่นี่ โปรดให้แน่ใจว่าจะใช้งานได้ถึงวันที่เฟิร์มให้คุณลักษณะนี้ถูกเพิ่มเข้ามาในมกราคม 2017

นอกจากนี้ยังมีการซ้อนทับปิดการใช้งานบลูทู ธ disable-btonboard: หากคุณต้องการปิดใช้งานทั้ง wifi และบลูทู ธ คุณต้องเพิ่ม 2 บรรทัดเหล่านี้:

dtoverlay=disable-wifi
dtoverlay=disable-bt

18
แก้ไข. /boot/config.txtเป็นวิธีที่สะอาดที่สุดในการปิดใช้งาน WiFi และอุปกรณ์ต่อพ่วงอื่น ๆ
Andrejs Cainikovs

5
ใช่ คำตอบที่ยอมรับจะพาคุณไปที่นั่น แต่นี่เป็นวิธีที่ดีกว่ามาก
Clay

3
ในขณะที่ฉันเขียนคำตอบของฉัน (ปัจจุบันเป็นที่ยอมรับ) ฉันไม่รู้วิธีนี้หรือไม่รู้ว่ามันเป็นตัวเลือกในเวลานั้น นี่เป็นวิธีที่เหนือกว่าวิธีที่ได้อธิบายไว้ในคำตอบของฉัน
Patrick Cook

2
การซ้อนทับไม่มีอยู่ในขณะที่คุณเขียนคำตอบ ตามที่ระบุไว้ในคำตอบของฉันนี้ถูกเพิ่มในเดือนมกราคม 2017 ดังนั้นไม่ต้องกังวลคุณพูดถูก!
Ludovic Ronsin

2
@deanresin โปรดดูการตอบสนองที่ปรับปรุงแล้ว TL; DR; วิธีที่การกำหนดค่า dtoverlay สามารถมองเห็นได้เป็นลำดับของคำสั่ง พวกเขาจะดำเนินการตามลำดับที่พบ ดังนั้นคุณสามารถประกาศได้มากกว่าหนึ่งครั้ง พารามิเตอร์ซ้อนทับถ้ามีถูกกำหนดด้วยคำสั่งและอ้างถึงประกาศก่อนหน้านี้dtparam=... dtoverlayสำหรับข้อมูลเพิ่มเติมดูเอกสารอย่างเป็นทางการที่raspberrypi.org/documentation/configuration/ …
Ludovic Ronsin

20

คุณสามารถใช้ได้

sudo iwconfig wlan0 txpower off

สิ่งนี้ควรปิดใช้งานอแด็ปเตอร์ไร้สาย

ใช้sudo iwconfig wlan0 txpower onเพื่อเปิดใช้งานอีกครั้ง

การอ้างอิง: https://manpages.debian.org/buster/wireless-tools/iwconfig.8.en.html


ไม่จริง ๆ แล้วมันจะปิดอะแดปเตอร์อย่างถาวรจนกว่าคุณจะสร้างมันขึ้นมาอีกครั้ง
yavuzaksan

ฉันจะเอาคำพูดของคุณ ในอนาคตคุณอาจต้องการรวมคำอธิบายเพิ่มเติมในคำตอบของคุณเนื่องจากสิ่งนี้ได้ถูกตั้งค่าสถานะโดยอัตโนมัติเมื่อวานนี้เป็น "คุณภาพต่ำ" (เนื่องจากฉันคิดว่าจะมีความยาวและไม่มีการจัดรูปแบบ) โดยระบบซึ่งเป็นเมื่อฉันสังเกตเห็น ในตัวของมันเองนั้นไม่สำคัญ ฉันไล่ออกธง อย่างไรก็ตามผู้ดำเนินรายการสามารถยกเลิกการตั้งค่าสถานะ (ไม่ดำเนินการกับมัน) ในฐานะ "เป็นประโยชน์" และหากเป็นค่าสถานะ "คุณภาพต่ำ" นั่นจะทำให้คุณ
โหวต

... ฉันไม่ได้ทำเช่นนั้น แต่หนึ่งใน mods อื่น ๆ อาจไม่เป็นนิสัย (หรือเพราะพวกเขาเห็นด้วยกับคำตอบที่โพสต์ครั้งแรกไม่ได้แสดงความพยายามมาก) ซึ่งเป็นวิธีที่คุณได้รับการโหวตลงหนึ่งครั้ง (อัตโนมัติ ) และอย่างน้อยหนึ่งรายการ (จากฉัน) เนื่องจากบางครั้งธงถูกปล่อยให้ตรวจสอบโดยตัวดัดแปลงหลายตัว หมายเหตุฉันไม่ชอบนโยบาย "downvote อัตโนมัติ" นี้และได้ร้องเรียนกับSE Metaเกี่ยวกับเรื่องนี้โดยไม่มีประโยชน์ (เหตุผลก็คือคนจริง ๆ ตั้งค่าสถานะคุณภาพต่ำ แต่ "ลืม" เพื่อ downvote ด้วย)
goldilocks

1
@yavuzaksan ฉันไม่สามารถเปิดได้อีกในตอนนี้
Erutan409

3
@ Erutan409 เพื่อเปิดใช้งานอะแดปเตอร์ไร้สายอีกครั้งคุณควรเขียนสองครั้ง "sudo iwconfig wlan0 txpower auto" แต่เป็นว่าคุณควรจะเขียนมันสองครั้งมิฉะนั้นมันเคยชินทำงาน (ผมเชื่อว่ามีความผิดพลาดบางอย่างในเฟิร์ม)
yavuzaksan

7

เราได้วัด RF จาก Pi 3 (เมื่อใช้เป็นฮอตสปอต WiFi) และยืนยันว่าคำสั่งนี้ปิดการใช้งานเครื่องส่งสัญญาณ WiDi ของ Pi เมื่อใช้เป็นฮอตสปอต:

sudo ifconfig wlan0 down

คุณยังสามารถสร้างปุ่มที่คลิกได้บนแถบงานเพื่อทำสิ่งนี้ คำแนะนำมีอยู่ที่นี่: http://orbisvitae.com/ubbthreads/ubbthreads.php?ubb=showflat&Number=81166#Post81166


5

นอกเหนือจากการขึ้นบัญชีดำที่มีความเสี่ยงของการล็อคในกรณีที่คุณต้องการรีบูตและไม่มีอีเธอร์เน็ตให้บริการคุณสามารถยกเลิกการโหลดโมดูลเคอร์เนลได้ดังต่อไปนี้:

sudo modprobe -r -v brcmfmac

แต่ฉันไม่แน่ใจว่าการยกเลิกการโหลดไดรเวอร์อุปกรณ์เป็นความคิดที่ดีเพราะฉันกลัวว่าอุปกรณ์ wlan0 อาจยังคงใช้พลังงานได้และยิ่งกว่านั้นดังนั้นหากคุณสมบัติการจัดการพลังงานของไดรเวอร์อุปกรณ์นั้นไม่ได้โหลดตอนนี้ฉันยังโหลดไดรเวอร์อยู่ เส้นทางเริ่มต้นผ่าน wlan0 ถูกปิดใช้งาน:

sudo ip route del default via <Gateway IP> dev wlan0

สิ่งนี้จะทำให้แน่ใจได้ว่าทราฟฟิกทั้งหมดจะผ่าน eth0 และ (หวังว่า) จะมีเสถียรภาพมากขึ้นเป็นต้นสำหรับ ntp daemon


2

ฉันใช้คำสั่งต่อไปนี้wpa_cli terminateฉันมีคำสั่งนั้นในของฉัน/etc/rc.local


1
สิ่งนี้จะปิดใช้งานไคลเอนต์ WPA ดังนั้นโดยทั่วไปคุณจึงปิดการเชื่อมต่อไร้สายโดยสิ้นเชิง อย่าทำมัน
Zimano

2

ฉันแก้ไข rc.local โดยใช้คำสั่ง sudo nano /etc/rc.local และเพิ่ม ifconfig wlan0 ลงไป อย่างไรก็ตามหากไม่ได้เชื่อมต่ออีเธอร์เน็ตหรือ IP ไม่ได้ถูกกำหนดให้กับอินเตอร์เฟสแบบมีสายแสดงว่า WiFi เปิดอยู่ นี่เป็นวิธีสำรองเพื่อเชื่อมต่อ RasPi เมื่อใช้งานโดยไม่ต้องมีหัว

ดูเหมือนว่าด้านล่าง

_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# Disable WiFi if wired.
logger "Checking Network interfaces..."
if ethtool eth0 | egrep "Link.*yes" && ifconfig eth0 | grep "inet addr"; then
  logger 'Disabling WiFi...'
  ifconfig wlan0 down
else
  logger 'WiFi is still enabled: Ethernet is down or ethtool is not installed.'
fi

exit 0

จากนั้นบันทึกโดยใช้ CTRL + X และรีบูต ดูเหมือนว่าจะทำงานให้ฉันหลังจากรีบูต ifconfig ไม่ได้ให้ wlan0


2

ฉันใช้ pi เป็นจุดเชื่อมต่อ (ฮอตสปอต wifi) สิ่งนี้ใช้ได้กับฉัน:

# Turn off
sudo service hostapd stop && sudo service isc-dhcp-server stop && sudo ifconfig wlan0 down && sudo service isc-dhcp-server start

และหากต้องการเปิดใหม่โดยไม่ต้องรีสตาร์ท pi ให้รันสิ่งนี้:

# Turn on
sudo service isc-dhcp-server stop && sudo ifconfig wlan0 up && sudo service hostapd start && sudo service isc-dhcp-server start

0

ทางออกอื่นคือแก้ไข/etc/network/interfacesไฟล์แสดงความคิดเห็น / ลบบรรทัดที่เกี่ยวกับการเชื่อมต่อ Wi-Fi (wlan0) และเพิ่มบรรทัด:

iface wlan0 inet manual

-4

วิธีที่ง่ายที่สุดในการตัดการเชื่อมต่อจากเครือข่าย Wifi ใน Pi 3 คือการใส่รหัสผ่านที่ไม่มีประโยชน์! คลิกที่เครือข่ายไร้สายของคุณมันจะถามรหัสผ่านอีกครั้ง แต่คราวนี้ป้อนข้อความแบบสุ่มและคุณจะถูกตัดการเชื่อมต่อ


5
มีความแตกต่างระหว่างการเปิดใช้งานอินเทอร์เฟซอุปกรณ์ที่เปิดใช้งาน (ซึ่งคำถามนี้เกี่ยวกับ) และการเชื่อมต่อกับเครือข่ายซึ่งเป็นสิ่งที่คุณกำลังพูดถึง ฉันไม่คิดว่า OP เกี่ยวข้องกับเรื่องนั้น
goldilocks

@ goldilocks ดีถ้า Wifi ถูกตัดการเชื่อมต่อด้วยวิธีนี้มันจะใช้อีเทอร์เน็ตเสมอและนั่นคือสิ่งที่ OP ต้องการ
Chinmay Sarupria

หรือแก้ไขการใช้sudo nano /etc/wpa_supplicant/wpa_supplicant.confสำหรับผู้ที่ต้องการใช้วิธีนี้
101
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.