रिबूट के बिना वाईफाई से कैसे जुड़ें?


17

मैंने बस एक रास्पबेरी पाई जीरो डब्ल्यू में 2017-09-07-रास्पियन-स्ट्रेच-लाइट के साथ एक ताज़ा चमकता हुआ कार्ड डाला।

फिर मैंने इन पंक्तियों को जोड़ा:

network={
    ssid="myWifiSsid"
    psk="myWifiPassword"
}

को /etc/wpa_supplicant/wpa_supplicant.conf

दर्ज किया गया डेटा 100% सही था। मैंने 10 मिनट इंतजार किया और जाँच की: यह स्वतः कनेक्ट नहीं हुआ।

फिर मैं आधिकारिक निर्देशों पर वापस गया और sudo wpa_cli reconfigureसुझाव के अनुसार भागा । समान परिणाम: यह कनेक्ट नहीं हुआ।

तब मैंने मैन्युअल रूप से wlan0 को पुनः आरंभ करने का प्रयास किया:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

अभी भी वही है: कनेक्ट नहीं है।

फिर मैंने एक रिबूट किया और यह तुरंत स्वचालित रूप से जुड़ा हुआ था।

यह बहुत निराशा होती है। ऐसा लगता है कि आधिकारिक निर्देशों का परीक्षण बिल्कुल नहीं किया गया है।

तो यहां क्या याद आ रहा है, यह बिना रिबूट के कैसे किया जा सकता है?


1
मैंने इस पर भी गौर किया है। अधिक निराश!
क्विंटन बाल्सडन

जवाबों:


20

मैंने भी अपने रास्पबेरीपी ज़ीरो डब्ल्यू का उपयोग करके इस मुद्दे को देखा 2017-09-07-raspbian-stretch-lite

wpa_supplicant.confफ़ाइल अपडेट करना sudo wpa_cli reconfigure, और sudo systemctl restart wpa_supplicantकाम नहीं किया। मेरे पाई को आईपी नहीं मिलेगा wlan0

मैंने देखा कि सेवा के wpa_supplicantएक बच्चे के रूप में देखा जाता है dhcpcd

$ sudo systemctl status

└─dhcpcd.service
  ├─890 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
  └─912 /sbin/dhcpcd -q -w

मैंने पाया कि डेमन-रीलोड का उपयोग करना और dhcpcd.serviceयूनिट को फिर से शुरू करना मेरे लिए काम किया।

sudo systemctl daemon-reload
sudo systemctl restart dhcpcd

ऐसा लगता हैsudo systemcl daemon-reload कि पुनरारंभ करने से पहले आपको पहले चलना चाहिए dhcpcd। मुझे पूरी तरह से यकीन नहीं है कि क्यों, लेकिन ऐसा लगता है कि daemon-reloadसेवा इकाइयों को फ़ाइल परिवर्तनों को कॉन्फ़िगर करने के लिए सतर्क करेगा।

अगर मैं dhcpcdबिना दौड़े फिर से चल daemon-reloadपड़ा, तो मुझे यह चेतावनी मिली। Warning: dhcpcd.service changed on disk. Run 'systemctl daemon-reload' to reload units., लेकिन यह फिर से या बिना ठीक शुरू हुआ daemon-reload। इसलिए मुझे नहीं लगता कि यह महत्वपूर्ण है, लेकिन शायद एक अच्छा अभ्यास है।


यह काम करता है और सही समाधान है। लेकिन, जो कोई भी दोहरी मोड वाईफाई करना चाहता है (यानी रास्पबेरी पाई एक हॉटस्पॉट के साथ-साथ बेस स्टेशन के रूप में कार्य कर रहा है) कृपया ध्यान दें कि यह काम नहीं करेगा। यदि आप दोहरी मोड वाईफाई स्थापित कर रहे हैं, तो यहां इस गाइड का पालन करें: raspberrypi.stackexchange.com/questions/89803/… । यह मानते हुए कि आपने इस गाइड के अनुसार कॉन्फ़िगरेशन किया है, और रिबूट के बिना चलने वाली चीजों को प्राप्त करना चाहते हैं; बस sudo systemctl को पुनः आरंभ करें wpa_supplicant@wlan0.service के बाद sudo systemctl daemon-reload
awebjackal


4

मैं एक रास्पबेरी पाई 3 का उपयोग कर रहा हूं 2018-03-13-raspbian-stretchऔर मेरा मुद्दा थोड़ा अलग है, लेकिन मुझे एक समाधान मिला, इसलिए मुझे लगता है कि यह आपकी भी मदद कर सकता है।

मैं आरपीआई को /etc/wpa_supplicant/wpa_supplicant.confसेट अप के साथ बूट करता हूं ताकि मेरे पास एक एसएसआईडी और पासवर्ड सेट हो और आरपीआई बूट पर कॉन्फ़िगर एसएसआईडी से स्वचालित रूप से कनेक्ट हो जाए। इसके अलावा, मैं कुछ स्वचालित टेक्स्ट प्रोसेसिंग स्क्रिप्ट का उपयोग कर बदलना चाहता था /etc/wpa_supplicant/wpa_supplicant.confऔर फिर वाईफाई सेटिंग्स को फिर से लोड करता था

आसपास थोड़ी खोज करने के बाद, मैंने इस पोस्ट को आधिकारिक रास्पबेरी पाई मंचों पर पाया और अंदर के आदेशों के इस सेट को पाया, जो कि इस संस्करण के लिए काम करते थे:

sudo dhclient -r wlan0
sudo ifdown wlan0
sudo ifup wlan0
sudo dhclient -v wlan0

मुझे नहीं पता कि वे कैसे या क्यों काम करते हैं, इसलिए कोई गारंटी नहीं है ...


यह एकमात्र उत्तर है जिसने मेरे लिए काम किया, वह भी रसियन खिंचाव के साथ Pi3 पर - धन्यवाद!
स्मोक्सएक्स

3

Wpa_supplicant.conf में नेटवर्क जोड़ने के बाद:

Cli चलाएँ
(3 कमांड का उपयोग यहाँ किया गया है: इंटरफ़ेस, पुन: कॉन्फ़िगर और छोड़ें)

root@raspberrypi:~# wpa_cli
wpa_cli v2.4
Copyright (c) 2004-2015, Jouni Malinen <j@w1.fi> and contributors

This software may be distributed under the terms of the BSD license.
See README for more details.


Selected interface 'p2p-dev-wlan0'

Interactive mode

<3>CTRL-EVENT-SCAN-RESULTS
> interface wlan0
Connected to interface 'wlan0.
> reconfigure
OK
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>Trying to associate with XX:Xa:aX:Xa:XX:Xa (SSID='wifissid' freq=2437 MHz)
<3>Associated with XX:Xa:aX:Xa:XX:Xa
<3>WPA: Key negotiation completed with XX:Xa:aX:Xa:XX:Xa [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to XX:Xa:aX:Xa:XX:Xa completed [id=0 id_str=]
> quit

फिर सत्यापित करें कि आपके पास एक आईपी पता है।

root@raspberrypi:~# ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.XX.XXX  netmask 255.255.255.0  broadcast 10.10.XX.XXX
        inet6 fe80::aab2:d96e:d3ef:836d  prefixlen 64  scopeid 0x20<link>
        ether bX:XX:Xb:XX:Xe:aX  txqueuelen 1000  (Ethernet)
        RX packets 162  bytes 31128 (30.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 75  bytes 11385 (11.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1

आपको नेटवर्क को पुनरारंभ करने के लिए इस कमांड लाइन को चलाना चाहिए

/etc/init.d/networking पुनरारंभ करें


3
खिंचाव में नहीं!
MatsK

6
आदर्श रूप से यासी में नहीं है, क्योंकि यह भी प्रणालीगत (SysV नहीं) आधारित है; यह कमांड एनाक्रोनोस्टिक है और पिछड़े अनुकूलता के लिए सर्वोत्तम रूप से समर्थित है।
गोल्डीलॉक्स

नहीं, यह काम नहीं करता है। आपको wpa supplicant को फिर से कॉन्फ़िगर करना होगा और dhcpcd को फिर से शुरू करना होगा
Hola Soy Edu Feliz Navidad

0

आप NetworkManager टूल का उपयोग कर सकते हैं, जो nmcliकनेक्शन प्रोफ़ाइल को सेट करने के लिए कमांड का उपयोग करता है ।

Apt का उपयोग कर इसे स्थापित करें:

sudo apt-get install network-manager

टिप्पणी करें wlanऔर इसमें Ethernetइंटरफेस करें /etc/network/interfaces

डिवाइस को रिबूट करें।

फिर उपयोग करें:

sudo nmcli device wifi con "SSID" password "PSK" 

वाई-फाई नेटवर्क से कनेक्ट करने के लिए।


कृपया पहले से मौजूद तीन (dhcpcd, डेबियन नेटवर्किंग ifupdown, systemd-networkd) के साथ एक और नेटवर्किंग टूल को मिलाने की सलाह न दें। नेटवर्क प्रबंधक रास्पियन द्वारा समर्थित नहीं है, इसलिए आपको इसे सभी हाथों से कॉन्फ़िगर करना होगा। पहले यह dhcpcdऔर के साथ संघर्ष करता है ifupdown। आप अपने जवाब में इसका सम्मान नहीं करते हैं। फिर रस्पियन स्ट्रैच में कोई प्रविष्टि नहीं है, /etc/network/interfacesइसलिए बाहर टिप्पणी करने के लिए कुछ भी नहीं है।
ingo

हाँ, आप सही दोस्त हैं, वे अन्य dhcpcd और ifupdown के साथ नेटवर्क के साथ संघर्ष करते हैं। लेकिन उपरोक्त सलाह के बाद NetworkManager को ऐसा करने का एकमात्र तरीका प्रतीत होता है। रास्पबेरी पाई के रास्पियन लाइट संस्करणों में एनएमसीली के अलावा कोई अन्य विकल्प नहीं है। मैंने इसे स्ट्रेच पर आजमाया नहीं है, लेकिन स्थापना के दौरान नेटवर्क प्रबंधक स्वयं संघर्ष की चेतावनी देगा। यदि आपके पास एक समाधान है तो मैं उस पद्धति को सीखने के लिए हमेशा तैयार हूं।
ऋतुराज रौतेला

बस sudo systemctl stop wpa_supplicant@wlan0.serviceऔर sudo systemctl start wpa_supplicant@wlan0.serviceआप के रूप में आप की तरह एक वाईफाई कनेक्शन को रोकने और शुरू कर सकते हैं। इसे कैसे करें आप एक एक्सेस प्वाइंट के रूप में रास्पबेरी पाई स्थापित करने पर गौर कर सकते हैं - वाईफाई रिपीटर के रूप में आसान तरीका या एक्सेस प्वाइंट, पुल के साथ वैकल्पिक या रिबूट या अन्य समान समाधानों के बिना वाईफाई क्लाइंट और एक्सेस प्वाइंट के बीच स्विच
ingo

1
@Ingo द्वारा एक बहुत ही मान्य बिंदु। बस जोड़ने के लिए - यदि आप Node.js का उपयोग कर रहे हैं, और npm संकुल का उपयोग करके चीजें करना चाहते हैं, तो दस्तावेज़ को अच्छी तरह से जांचें। अधिकांश npm संकुल पृष्ठभूमि में nmcli का उपयोग करते हैं जो रास्पबेरी पाई पर काम नहीं करता है। यह भी स्थापित नहीं है। इसलिए, कृपया सावधानी से आगे बढ़ें।
हम्बेजल

रास्पियन पर network-manager(या wicdउस मामले के लिए किसी अन्य नेटवर्किंग उपकरण) का उपयोग करना वास्तव में संभव है । हालांकि यह उपयोगी होगा यदि आपने उन्हें स्थापित करने का तरीका बताया।
दिमित्री ग्रिगोरीव

0

मुझे रस्पियन जीएनयू / लिनक्स 10 (बस्टर) के साथ इसी तरह की समस्या थी। मैंने wpa_supplicant.conf और रन में बदलाव किए

# wpa_cli -i wlan0 reconfigure

लेकिन यह सभी तरह से काम नहीं किया।

# dhclient -v

यह काम किया।

मुझे https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhclient पर जानकारी मिली

से आउटपुट

$ sudo dhclient -v
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/a0:f3:c1:26:04:9c
Sending on   LPF/wlan0/a0:f3:c1:26:04:9c
Listening on LPF/eth0/b8:27:eb:1f:ab:6e
Sending on   LPF/eth0/b8:27:eb:1f:ab:6e
Sending on   Socket/fallback
DHCPREQUEST for 192.168.7.28 on wlan0 to 255.255.255.255 port 67
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPACK of 192.168.7.28 from 192.168.7.1
RTNETLINK answers: File exists
bound to 192.168.7.28 -- renewal in 1717 seconds.

0

संपादित करें 1:

मैं इस जवाब पर अपने रास्पबेरी पाई जीरो डब्ल्यू के साथ एक दोहरी मोड वाईफाई के रूप में कॉन्फ़िगर किया गया था और मैं एपीआई इंटरफेस पर उन्हें साझा करके वाईफाई कनेक्शन (wifi0 जो wlan0 कनेक्ट करना होगा) को बदलना चाहता था (जिस पर REST API होस्ट किया गया था) यह) एक मोबाइल ऐप के साथ।

बात यह है कि मुझे लगता है कि स्वीकृत उत्तर या कोई अन्य उत्तर मेरे मामले में काम करेगा। लेकिन बात वो नहीं थी।

इसलिए, जो कोई भी मेरी तरह यहां उतरा है, कृपया यहां बताए गए सेटअप चरणों का पालन करें

फिर, रिबूट के बिना वाईफाई कनेक्शन में बदलाव के लिए, मैं वर्तमान में 2 तरीकों से परीक्षण कर रहा हूं:

  1. wpa_cli -i wlan0 पुन: कॉन्फ़िगर करें
  2. sudo systemctl पुनरारंभ wpa_supplicant@wlan0.service

एक बार परीक्षण हो जाने के बाद, मैं इसे यहां अपडेट करूंगा।


मैं इस समय चीजों के परीक्षण की प्रक्रिया में हूं। इसे अपडेट रखेंगे।
हम्बेजल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.