Arch linux wifi el ile çalışır, nasıl otomatik hale getirilir?


21

Raspberry Pi'mde Arch Linux'u çekirdek 3.6.11-12-ARCH + ile çalıştırmak.

Aşağıdaki komutları uyguladıktan sonra çalışan ve çalışan bir Linksys wifi usb dongle'ım (WUSB54GC v3) var:

$> sudo ifconfig wlan0 up
$> sudo iwlist scan
$> sudo iwconfig wlan0 mode managed essid myssid key "mykey" retry 7
   # Only had to do this next one the first time
$> sudo wpa_passphrase myssid "mypassword" > /etc/wpa_supplicant/wpa_supplicant.conf 
$> sudo wpa_supplicant -B -Dwext -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
$> sudo dhcpcd wlan0

Önyüklemeden sonra her seferinde bu aygıtta wifi çalışmasını nasıl sağlayabilirim? Sonunda, kablolu bağlantı olmadan (dolayısıyla wifi) yerinde dağıtmak istiyorum, ancak her seferinde elle wifi başlatmak / bağlanmak zorunda kalsam açıkça yapamam.


Kablosuz en iyi network-managerveya gibi bir daemon üzerinden yönetilir wicd.
jordanm

1
Otomatik olarak kablosuz ağlara bağlanmak için bu talimatı denedin mi: wiki.archlinux.org/index.php/Netcfg
Raza

3
netcfg, netctl lehine amortismana tabi tutulmuştur (bu değişikliğin henüz Arch'ın ARM'e yansımış olmasına rağmen emin değilim), ama evet, ağ yapılandırmanızı idare etmenin yolu budur.
fukawi2

Yanıtlar:


17

Netctl kullanmalısın. Ağ yönetim sisteminde yerleşik olan Arch Linux'tur. Zaten yüklü değilse (olması gerektiği gibi), çalıştırın ve pacman -Syu netctlsonra bakın /etc/netctl. İçinde örnek yapılandırma dosyaları var /etc/netctl/examples.

Hızlı bir şekilde kalkıp koşmak için:

  1. Kablosuz adaptörünüzün cihaz adını not edin. wlan0Örneklerimdeki tüm örnekleri kurulumunuza uygun bir adla değiştirin .
  2. Gerekli paketleri kurduğunuzdan emin olun.

    pacman -Syu wpa_supplicant dhcpcd

    1. WPA korumalı erişim noktaları için wpa_supplicant ve Arch Linux wiki'de listelenen DHCP sunucusu kullanan herhangi bir ağdan IP almak için dhcpcd gereklidir.
  3. Uygun bir örneği kopyalayın:

    cp /etc/netctl/example/wireless-wpa /etc/netctl/somedescriptivename

  4. Yeni yapılandırmanızı /etc/netctl/somedescriptivenamekurulumunuza uyacak şekilde düzenleyin.
  5. Kablosuz adaptörünüz için netctl-auto servisini etkinleştirin. Yine, wlan0'ı kurulumunuzun cihaz adı ile değiştirin.

    systemctl enable netctl-auto@wlan0.service

Unutulmaması gereken birkaç şey:

  • netctl, erişim noktası aralığına geçtiğinizde / etc / netctl içindeki herhangi bir profile otomatik olarak bağlanacaktır.
  • Bu kurulum sadece profiller kullanılarak çalışır Security=wpa-configsectionve Security=wpa.
  • netctl disable profilenameNetctl-auto etkinleştirildiğinde, önceden etkinleştirilmiş tüm wifi profillerini devre dışı bırakarak netctl bunları iki kez başlatacaktır.

Daha fazla bilgi için lütfen Netctl wiki girişine bakın .


bu netctl-auto listgeri dönüş herhangi bir profil, 4 ise yapılandırılır ve manuel NetCTL ile çalışma beklenen veya anormal olduğu? netctl-auto switch-to XGörünüşe göre geçerli bir X değeri yoksa nasıl kullanabilirim ? Netctl-auto arch wiki girişini şaşırtıcı derecede yararsız buluyorum, belki daha iyi bir dokümanın nerede olduğunu biliyorsunuzdur?
Nikana Reklawyks

Nikana, netctl-autoçok fazla kullanmıyorum ama sadece birkaç ipucu: 1. netctl-autosadece kablosuz bağlantılar içindir. Ethernet için kullanmak istiyorsanız, netctl-ifplugd kullanın. 2. wpa-configGüvenlik yöntemi olarak kullanmadığınızdan wpa-configsectionveya yerine kullandığınızdan emin olun wpa. Kullanırken profiller gösterilmeyecekwpa-config
Jacob Wiltse 20

Teşekkür ederim. Maalesef gelecekteki izleyiciler için kurulumum şimdi çalışıyor, özel bir şey yaptığımı hatırlamıyorum. netctl-auto listolması gerektiği gibi bir demet profil döndürür. Sanırım belki de profillerimden biri netctl-auto ile uyumlu değildi, çünkü bu wpa-configzorunluluk, hepsinin ortaya çıkmasını engelledi.
Nikana Reklawyks

Cevabımda belirtildiği gibi, netctl-auto işlevini etkinleştirmeden önce netctl ile oluşturulan profilleri kaldırmanız gerekir. Ardından netctl-auto başlattıktan sonra bunları yeniden ekleyin.
johny neden

Wlan0'ı burada gösterildiği gibi kullanmazsınız. Doğru WiFi kimliğinizi kullanmanız gerekir.
johny neden

5

Profillerin nasıl oluşturulacağına ilişkin tahmin çalışmalarının bir kısmını ortadan kaldırmanın daha kolay bir yolu netctl( netctlkemer wiki sayfasından alınmıştır ):

Adım 1. wpa_supplicantOP'de açıklandığı şekilde kablosuz interneti manuel olarak kurun. Sisteminizde yüklü değilse $ pacman -S wpa_supplicant.

Adım 2. Ayrıca dialog, paket gerekir $ pacman -S dialog. Ardından, sisteminizi yeniden başlatabilir veya kablosuz ağınızla bağlantınızı kesebilirsiniz.

Adım 3. Çalıştırın $ wifi-menu -o, ardından çok basit Windows / Mac-esque ayarlarından geçin. Sisteminizin ağ kimliğinin önceden ayarlanmış değerini, üzerinden kontrol edebilirsiniz $ sudo netctl list. Değer, biçiminde olur wlan098-SSID. (SSID = WLAN'ınızın adı)

Adım 4. Son olarak $ netctl enable wlan098-SSIDsistemi çalıştırın ve yeniden başlatın$ reboot

Yine de, bazen bir şey temporarily unable to resolve nameveya onun gibi bir şeyle ilgili bir hata mesajı alabilirsiniz , ancak tekrar ping yapmaya çalışın ve çalışması gerekir.


Netctl-auto olmadan, sıcak noktalar kapsama alanına girdiğinde otomatik olarak tekrar bağlanamazsınız. Kurulum için cevabımı gör.
johny neden

3

Onlarla ilgili yorumlarımda açıklandığı gibi, diğer tüm cevapların hatalı olduğuna inanıyorum.

Bu adımlar en güçlü etkin noktaya otomatik olarak bağlanacaktır. Standart bir arch kurulumunda systemd ile test edilmiştir (diğer işletim sistemlerinde çalışabilir):

Tek seferlik kurulum:

  • Aşağıdakilerin yüklendiğinden emin olun: dialog, wpa_supplicant, dhcpcd, netctl, wifi-menu.

  • xfce'de, xfce4-wavelan eklentisini ekleyin. Bu sadece bağlandığınızı gösteren bir gösterge ışığı. Başka bir amacı yok.

  • Diğer tüm ağ yöneticilerinin ve servislerin kaldırıldığından veya devre dışı bırakıldığından emin olun. https://wiki.archlinux.org/index.php/Netctl#Wireless

  • önceden oluşturulmuş ağ profillerini kaldırın. https://www.ostechnix.com/fix-job-netctl-service-failed-error-arch-linux/

  • WiFi cihaz kimliğinizi alın basename $(ls -d /sys/class/net/w*)

  • netctl-auto servisini etkinleştir. Bu otomatik olarak bağlanacak olan servistir. systemctl enable netctl-auto@YourWifiDeviceID.service

İlk önce bir sıcak noktaya bağlanın:

  • Run wifi-menu. Kök gerektirir. pkexec wifi-menu -o veya sudo wifi-menu -o

Yazarken -oağ şifrelerini görmek için bırak .

  • Aşağı ok, istediğiniz bağlantıyı seçin, enter tuşuna basın, bağlantı adını kabul edin, şifreyi girin.

Gerektiği gibi daha fazla sıcak nokta ekleyin. netctl-auto bundan sonra mevcut olan en güçlü etkin noktaya otomatik olarak yeniden bağlanacaktır.


Cevap gelişmiş
johny neden
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.