ฉันจะป้องกันการจัดการพลังงานของ iwconfig ไม่ให้เปิดใช้งานได้อย่างไร


37

ฉันกำลังรับผลกระทบจากปัญหานี้: 869502

วิธีแก้ปัญหาที่ดูเหมือนว่าจะหยุดเคอร์เนล panics สำหรับฉันคือการปิดการใช้งานการจัดการพลังงาน wlan0:

sudo iwconfig wlan0 power off

อย่างไรก็ตามดูเหมือนว่าจะเปิดการจัดการพลังงานโดยอัตโนมัติเมื่อฉันถอดสายไฟและฉันคิดว่าหลายครั้งเช่นกัน

มีบางอย่างที่อาจทำให้เกิดปัญหานี้หรือไม่? ไม่มีใครรู้ว่าฉันจะป้องกันได้อย่างไร



1
7 ปีและการนับ นี่เป็นข้อบกพร่องหรือคุณสมบัติหรือไม่?
Ufos

คำตอบ:


25

powermanagement pm-utilsไร้สายจะดำเนินการโดยเบ็ดใน คุณสามารถปิดได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้:

/etc/pm/config.dสร้างไฟล์ใน ฉันตั้งชื่อบัญชีดำแล้ว:

gksu gedit /etc/pm/config.d/blacklist

และภายในไฟล์เก็บ:

HOOK_BLACKLIST="wireless"

หากคุณต้องการที่จะปิดการใช้งานอื่น ๆ /usr/lib/pm-utils/power.d/ตะขอตะขอเริ่มต้นจะอยู่ที่

หรือ

คุณก็สามารถสร้างเบ็ดที่ว่างเปล่าทั้งในหรือ/etc/pm/sleep.d /etc/pm/power.dดูว่าอันไหนที่เหมาะกับคุณ กล่าวคือ

แค่ทำ

sudo touch /etc/pm/sleep.d/wireless

หรือ

sudo touch /etc/pm/power.d/wireless

ฉันใช้วิธีแรก มันใช้งานได้ดี ขอบคุณ!
อเล็กซ์

2
ไม่มีวิธีใดที่เหมาะกับฉัน
Mihai Capotă

1
เราจะทำอย่างไรchmod -x /usr/lib/pm-utils/power.d/wirelessแทน
Emad Arshad Alam

23

พิมพ์iwconfigและดูผลลัพธ์ คุณควรเห็นชื่อชุดชิปของคุณเช่นเดียวกับการจัดการพลังงานที่ปิดหรือเปิด ถ้ามันไม่พูดก็คงเป็นไปได้

หากต้องการปิดการจัดการพลังงานให้ไปที่/etc/NetworkManager/conf.d/default-wifi-powersave-on.confแล้วคุณจะเห็น

[connection]
wifi.powersave = 3

เปลี่ยน3เป็น a 2และรีบูต

จากนั้นเรียกใช้และถ้ามันทำงานคุณจะเห็นiwconfigPower Management:off

ที่มา: https://sites.google.com/site/easylinuxtipsproject/internet


นี่เป็นการปิดการจัดการพลังงานของฉัน!
user3273814

นี่ก็ดูเหมือนจะเป็นวิธีที่ถูกต้องที่จะทำ
Ufos

สิ่งนี้ใช้ได้กับฉันใน Ubuntu 17.10 ดูเหมือนจะตรงไปตรงมาและสามารถพลิกกลับได้ง่ายกว่าวิธีอื่น ๆ (เช่นการขึ้นบัญชีดำ)
josephwb

22

หากปิดการจัดการพลังงานสำหรับอินเทอร์เฟซไร้สายของคุณจะเพิ่มความเร็วอินเทอร์เน็ตเช่นนี้:

sudo iwconfig wlan0 power off

กว่าที่จะทำให้มันเรียกใช้คำสั่งถาวรดังนี้:

  1. cd /etc/pm/power.d

  2. sudo gedit wifi_pwr_off

    นี่จะเป็นการเปิดไฟล์เปล่าคัดลอกโค้ดด้านล่างลงไป:

    #!/bin/sh 
    /sbin/iwconfig wlan0 power off
    
  3. บันทึกไฟล์อย่าลืม

    sudo chmod +x wifi_pwr_off
    

    และรีสตาร์ท


2
เมื่อฉันเขียนsudo iwconfig wlan0 power offฉันได้รับข้อความนี้: ข้อผิดพลาดสำหรับคำขอไร้สาย "ตั้งค่าการจัดการพลังงาน" (8B2C): SET ล้มเหลวบนอุปกรณ์ wlan0; ไม่มีอุปกรณ์ดังกล่าว
Murhaf Sousli

3
เรียกใช้ iwconfig โดยไม่มี agrument ใด ๆsudo iwconfigและตรวจสอบว่าอินเทอร์เฟซใดมีส่วนขยายไร้สาย eth1บางครั้งก็เป็น
Dilawar

6

วิธีที่ฉันชอบคือการเพิ่มบรรทัดต่อไปนี้ใน/etc/network/interfacesการตั้งค่าอินเทอร์เฟซไร้สายของฉัน:

post-up iwconfig wlan0 power off

นี่คือตัวอย่างที่สมบูรณ์:

auto wlan0
iface wlan0 inet static
 address 192.168.1.2
 network 192.168.1.0
 netmask 255.255.255.0
 broadcast 192.168.1.255
 gateway 192.168.1.254
 post-up iwconfig wlan0 power off
 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

โปรดทราบman interfacesว่าพฤติกรรมของpost-upอาจมีการเปลี่ยนแปลงในอนาคต


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

ตัวเลือกนี้ใช้งานได้อย่างมีเสน่ห์ใน Raspbian Stretch สำหรับฉันเป็นตัวเลือกที่ดีกว่า
Jagoliveira

3

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

sudo gedit /etc/rc.local

และเพิ่มบรรทัดต่อไปนี้ก่อนexit 0:

( sleep 30 && iwconfig wlan0 power off )&

ที่จะปิดการจัดการพลังงาน 30 วินาทีหลังจากเข้าสู่ ...

แก้ไข: จริง ๆ แล้วยังไม่เพียงพอ ฉันพยายามทำสิ่งต่างๆมากมายรวมถึงhttps://askubuntu.com/a/614245ซึ่งฉันคิดว่าจะแก้ปัญหาของฉันได้ (หวังว่า)


3

อีกวิธีหนึ่งคือการเพิ่มคำสั่งที่ชัดเจน ( wireless-power) เพื่อควบคุมการจัดการพลังงานใน/etc/network/interfacesไฟล์กำหนดค่า (เช่นปิดการใช้งานสำหรับ wlan0 ด้วย DHCP):

auto wlan0
iface wlan0 inet dhcp     
  wireless-power off

1

คำแนะนำที่ดี 'sudo iwconfig wlan0 power off' ดูเหมือนเป็นวิธีเดียวที่จะทำให้โมดูล ath9k ของฉันทำงานได้อย่างมีประสิทธิภาพ (ด้วยเคอร์เนล 3.2 - อยากรู้อยากเห็นในเคอร์เนล> 3.5 ดูเหมือนว่าจะไม่มีปัญหา แต่เมล็ดนั้นเนื่องจากปัญหาการระงับการ ram / ดิสก์ของพวกเขาด้วย amd64 ดูเหมือนจะเป็นไปไม่ได้โชคไม่ดี ... :-()


1

แนวทางที่ดีกว่า (อย่างน้อยใน Ubuntu 16.04) คือการสร้าง/etc/network/if-up.d/wifi-powerman-offเนื้อหาต่อไปนี้:

#!/bin/sh

IWCONFIG=/sbin/iwconfig
WLAN_IFACE=<your wireless device here>

if [ ! -x $IWCONFIG ]; then
    exit 1
fi

if [ "$IFACE" = $WLAN_IFACE ]; then
    $IWCONFIG $IFACE power off
fi

และตั้งเป็นปฏิบัติการ การจัดการพลังงานจะถูกปิดในครั้งต่อไปที่คุณเชื่อมต่อกับเครือข่าย

สิ่งนี้ทำงานได้ดีกับ NetworkManager


ฉันหวังว่างานนี้ ฉันหวังว่าฉันหวังว่าฉันหวังว่า !!! เบื่อ Linux กับการเชื่อมต่อ wifi ของฉันในเวลาที่สุ่ม / rant Ubuntu 16.04 มีปัญหาที่สำคัญบางอย่างที่นี่ / endrant
RyanNerd

Nope ไม่ทำงาน Intel 7260 เป็นชิ้นส่วนของอึ! ฉันยอมแพ้
RyanNerd

1

หากคุณใช้งานlaptop-mode-toolsคุณสามารถปิดใช้งานการจัดการพลังงานไร้สายได้โดยการแก้ไข/etc/laptop-mode/conf.d/wireless-iwl-power.conf(Ubuntu 14.04):

# Control Intel IWL wireless power?
# Set to 0 to disable
CONTROL_IWL_POWER=0

0

ฉันสร้างต่อไปนี้บริการ systemdจะเสมอฆ่าการจัดการพลังงานใน WiFi ทั่วเรียบ ผ่านการทดสอบและเป็นที่รู้จักในการทำงาน เพียงวางสคริปต์ทุบตีด้านล่างลงในไฟล์chmod 700ไฟล์และsudo ./yourFileName.sh:

if [ -d /root/scripts ]; then
    mkdir /root/scripts
fi

apt-get -y install iw
apt-get -y install wireless-tools

cat <<EOF> /root/scripts/pwr-mgmnt-wifi-disable.sh
#!/bin/bash
iw dev wlan0 set power_save off
EOF

chmod 700 /root/scripts/pwr-mgmnt-wifi-disable.sh


cat <<EOF> /etc/systemd/system//pwr-mgmnt-wifi-disable.service
[Unit]
Description=Disable WiFi Power Management
Requires=network-online.target
After=hostapd.service

[Service]
User=root
Group=root
Type=oneshot
ExecStart=/root/scripts/pwr-mgmnt-wifi-disable.sh

[Install]
WantedBy=multi-user.target

EOF

chmod 644 /etc/systemd/system/pwr-mgmnt-wifi-disable.service

systemctl enable pwr-mgmnt-wifi-disable.service
systemctl start pwr-mgmnt-wifi-disable.service
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.