Yeniden başlatmadan WiFi'ye nasıl bağlanılır?


17

Yeni bir flash kart (2017-09-07-raspbian-stretch-lite ile) bir Raspberry Pi Zero W içine koydum.

Sonra şu satırları ekledim:

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

için /etc/wpa_supplicant/wpa_supplicant.conf.

Girilen veriler% 100 doğruydu. 10 dakika bekledim ve kontrol ettim: Otomatik olarak bağlanmadı.

Sonra resmi talimatlara geri döndüm ve sudo wpa_cli reconfigureönerildiği gibi koştum . Aynı sonuç: Bağlanmadı.

Sonra wlan0 el ile yeniden başlatmak için çalıştı:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

Hala aynı: Bağlanmıyor.

Sonra yeniden başlattım ve anında otomatik olarak bağlandı.

Çok sinir bozucu. Resmi talimatlar hiç test edilmemiş gibi geliyor.

Peki burada eksik olan şey, yeniden başlatma olmadan nasıl yapılabilir?


1
Bunu da fark ettim. Çok sinir bozucu!
Quintin Balsdon

Yanıtlar:


20

Ben de RaspberryPi Zero W kullanarak bu sorunu gördüm 2017-09-07-raspbian-stretch-lite.

Güncellenmesi wpa_supplicant.conf, dosyayı sudo wpa_cli reconfigureve sudo systemctl restart wpa_supplicantçalışma yoktu. Pi'm IP almayacaktı wlan0.

Hizmetin wpa_supplicantbir çocuğu olarak doğdu fark ettim dhcpcd.

$ sudo systemctl status

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

Daemon-reload ve dhcpcd.serviceüniteyi yeniden başlatmanın benim için işe yaradığını gördüm .

sudo systemctl daemon-reload
sudo systemctl restart dhcpcd

Bu gibi görünüyor ilk çalışması gerektiğini sudo systemcl daemon-reloadyeniden başlatmadan önce dhcpcd. Neden olduğundan tam olarak emin değilim, ancak daemon-reloaddosya değişikliklerini yapılandırmak için servis birimlerini uyaracak gibi görünüyor .

Eğer koşmadan tekrar dhcpcdbaşlasam daemon-reload, bu uyarıyı aldım. Warning: dhcpcd.service changed on disk. Run 'systemctl daemon-reload' to reload units., ancak olsun veya olmasın iyi başladı daemon-reload. Bu yüzden bunun hayati olduğunu düşünmüyorum, ama muhtemelen iyi bir uygulama.


Bu işe yarar ve doğru çözümdür. Ancak, çift modlu wifi yapmak isteyen herkes için (yani bir hotspot barındıran ve bir baz istasyonu gibi davranan Raspberry pi) bunun işe yaramayacağını lütfen unutmayın. Çift modlu wifi kuruyorsanız, şu kılavuzu izleyin: raspberrypi.stackexchange.com/questions/89803/… . Bu kılavuza göre yapılandırmayı yaptığınızı ve yeniden başlatmadan bir şeyleri çalıştırmak istediğinizi varsayarsak; wudo_supplicant@wlan0.service ardından sudo systemctl yeniden başlatın çalıştırmak sudo systemctl daemon-reload
thewebjackal


4

Bir Raspberry Pi 3 kullanıyorum 2018-03-13-raspbian-stretchve sorunum marjinal olarak farklı, ama bir çözüm buldum, bu yüzden bu size de yardımcı olabilir.

Birlikte RPI'nin önyükleme /etc/wpa_supplicant/wpa_supplicant.confyüzden bir SSID ve şifre seti ve çizme yapılandırılan SSID otomatik RPI erişim sağlanır sahip olduğunu kurdu. Buna ek olarak, bazı otomatik metin işleme komut dosyası kullanarak değiştirmek /etc/wpa_supplicant/wpa_supplicant.conf ve sonra wifi ayarlarını yeniden yüklemek istedim .

Biraz aradıktan sonra, bu yazıyı resmi Raspberry Pi forumlarında buldum ve içinde en azından benim için çalışan bu komutlar kümesini buldum:

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

Nasıl veya neden çalıştıklarını bilmiyorum, bu yüzden garanti yok ...


Bu benim için, ahududu streç ile Pi3 üzerinde de işe yarayan tek cevap - teşekkürler!
smörkex

3

Wpa_supplicant.conf dosyasına bir ağ ekledikten sonra:

Cli
komutunu çalıştırın (burada 3 komut kullanılır: arabirim, yeniden yapılandırma ve çıkma)

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

Ardından bir IP adresiniz olduğunu doğrulayın.

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

Ağı yeniden başlatmak için bu komut satırını çalıştırmalısınız

/etc/init.d/networking yeniden başlatma


3
Gergin değil!
MatsK

6
İdeal olarak jessie de değil, çünkü aynı zamanda sistemd (SysV değil) tabanlı; bu komut anakronistiktir ve en iyi şekilde geriye dönük uyumluluk için desteklenir.
goldilocks

Hayır, çalışmıyor. Wpa supplicant yeniden yapılandırmak ve yeniden başlatmak gerekir dhcpcd
Hola Soy Edu Feliz Navidad

0

nmcliBir bağlantı profilini ayarlamak için komutları kullanan NetworkManager aracını kullanabilirsiniz .

Apt kullanarak yükleyin:

sudo apt-get install network-manager

Yorum wlanve Ethernetarayüzleri /etc/network/interfaces.

Cihazı yeniden başlat.

Sonra kullan:

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

bir Wi-Fi ağına bağlanmak için.


Lütfen halihazırda mevcut olan üç araçla (dhcpcd, Debian ağ iletişimi ifupdown, systemd-networkd) başka bir ağ oluşturma aracını karıştırmanızı önermeyin. Ağ yöneticisi Raspbian tarafından desteklenmediği için hepsini elle yapılandırmanız gerekir. Öncelikle çelişen dhcpcdve ifupdown. Cevabınızda ona saygı duymuyorsunuz. Sonra Raspbian Stretch'te hiçbir giriş yok, /etc/network/interfacesbu yüzden yorum yapacak bir şey yok.
Ingo

Evet haklısın, diğer dhcpcd ve ifupdown ile ağ ile çatışıyorlar. Ancak NetworkManager yukarıdaki tavsiyeleri takip ettikten sonra bunu yapmanın tek yolu gibi görünüyor. Raspberry pi'nin raspbian lite versiyonlarının nmcli'den başka bir seçeneği yoktur. Stretch üzerinde denemedim, ancak kurulum sırasında Ağ yöneticisinin kendisi çakışma uyarısı verecektir. Bir çözümünüz varsa, her zaman bu yöntemi öğrenmeye hazırım.
Rituraj Rautela

Sadece ile sudo systemctl stop wpa_supplicant@wlan0.serviceve sudo systemctl start wpa_supplicant@wlan0.serviceistediğiniz gibi bir WiFi bağlantısını durdurabilir ve başlatabilirsiniz. Nasıl yapılır Ahududu Pi'yi bir erişim noktası olarak ayarlamaya bakabilirsiniz - Köprü ile isteğe bağlı olarak veya WiFi istemcisi ile yeniden başlatma veya diğer benzer çözümler olmadan erişim noktası arasında geçiş yapmanın kolay yolu veya WiFi tekrarlayıcı olarak erişim noktası .
Ingo

1
@Ingo tarafından çok geçerli bir nokta. Sadece eklemek için - Node.js kullanıyorsanız ve npm paketlerini kullanarak bir şeyler yapmak istiyorsanız, belgeleri iyice kontrol edin. Npm paketlerinin çoğu, arka planda ahududu pi üzerinde çalışmayan nmcli kullanır. Yüklü bile değil. Bu yüzden, lütfen dikkatli olun.
thewebjackal

Raspbian'da network-manager(veya wicdbu konudaki herhangi bir ağ aracını) kullanmak gerçekten mümkündür . Ancak bunları nasıl kuracağınızı açıklarsanız yararlı olur.
Dmitry Grigoryev

0

Raspbian GNU / Linux 10 (buster) ile benzer bir sorun yaşadım. Wpa_supplicant.conf dosyasında değişiklikler yaptım ve çalıştırdım

# wpa_cli -i wlan0 reconfigure

Ancak bu işe yaramadı.

# dhclient -v

işe yaradı.

Https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhclient adresinde bilgi buldum

Çıktı

$ 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

DÜZENLEME 1:

Ahududu pi Sıfır W ile bir çift mod wifi yapılandırılmış bu cevap indi ve ben (bir barındırılan REST API vardı ap0 arayüzü üzerinden paylaşarak wifi kimlik bilgilerini (wlan0 bağlamak gerekir wifi yönlendirici) değiştirmek istedim bir mobil uygulama ile).

Mesele şu ki, kabul edilen cevabın veya diğer cevapların benim durumumda çalışacağını varsaydım. Ama bu durum böyle değildi.

Bu yüzden, tıpkı benim gibi buraya inen herkes için lütfen burada belirtilen kurulum adımlarını izleyin .

Sonra, yeniden başlatmadan wifi bağlantısında bir değişiklik için, şu anda 2 yolla test ediyorum:

  1. wpa_cli -i wlan0 yeniden yapılandır
  2. sudo systemctl yeniden başlatma wpa_supplicant@wlan0.service

Testler yapıldıktan sonra, burada güncelleyeceğim.


Şu anda bir şeyleri test etme sürecindeyim. Bunu güncel tutacak.
thewebjackal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.