Wi-Fi Arch Linux працює вручну, як зробити його автоматичним?


22

Запуск Arch Linux з ядром 3.6.11-12-ARCH + на моєму Raspberry Pi.

У мене є Linksys wifi usb dongle (WUSB54GC v3), який працює і працює після виконання наступних команд:

$> 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

Як змусити роботу Wi-Fi на цьому пристрої кожного разу після завантаження? Врешті-решт я хочу розгорнути його в місці без дротового з'єднання (звідси і Wi-Fi), але я, очевидно, не можу цього зробити, якщо мені доведеться щоразу вручну запускати / підключати Wi-Fi.


Бездротовим зв’язком найкраще керувати через демон, наприклад, network-managerабо wicd.
Йорданм

1
Ви спробували цю інструкцію для автоматичного підключення до бездротових мереж: wiki.archlinux.org/index.php/Netcfg
Раза

3
netcfg знецінюється на користь netctl (не впевнений, що ця зміна знайшла відображення в ремонті ARM ще Arch), але так, це спосіб обробки вашої мережевої конфігурації.
fukawi2

Відповіді:


18

Ви повинні використовувати netctl. Це Arch Linux, вбудований в систему управління мережею. Якщо він ще не встановлений (це повинно бути), запустіть, pacman -Syu netctlтоді загляньте /etc/netctl. Приклади файлів конфігурації в /etc/netctl/examples.

Щоб швидко встати та працювати:

  1. Зверніть увагу на назву пристрою вашого бездротового адаптера. Замініть всі екземпляри wlan0моїх прикладів на ім'я, яке відповідає вашим налаштуванням.
  2. Переконайтеся, що ви встановили необхідні пакети.

    pacman -Syu wpa_supplicant dhcpcd

    1. wpa_supplicant потрібен для захищених точок доступу WPA, а dhcpcd необхідний для отримання IP-адреси з будь-якої мережі за допомогою сервера DHCP, як зазначено у вікі Arch Arch Linux.
  3. Скопіюйте відповідний приклад:

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

  4. Відредагуйте нову конфігурацію на, /etc/netctl/somedescriptivenameщоб відповідати вашим налаштуванням.
  5. Увімкніть сервіс netctl-auto для вашого бездротового адаптера. Знову замініть wlan0 на ім'я пристрою для вашої установки.

    systemctl enable netctl-auto@wlan0.service

Кілька речей, які слід зазначити:

  • netctl автоматично підключиться до будь-яких профілів, які у вас є в / etc / netctl, коли ви перейдете в діапазон точки доступу
  • Ця настройка працюватиме лише з профілями, що використовують Security=wpa-configsectionі Security=wpa.
  • Вимкнути всі раніше ввімкнені профілі Wi-Fi, використовуючи netctl disable profilenameінакше netctl, запустити їх двічі під час завантаження, як тільки буде включено netctl-auto.

Для отримання додаткової інформації, будь ласка, зверніться до статті Вікі Netctl .


що netctl-auto listне повертає ніяких профілів, тоді як 4 налаштовані, і робота з ручним netctl очікується чи ненормальна? Як я можу використовувати, netctl-auto switch-to Xякщо, здається, немає дійсних значень X? Мені здається, що запис у wiki netctl-arch arch дивно не допомагає, можливо, ви знаєте, де знайти кращого документа?
Nikana Reklawyks

Nikana, я не netctl-autoдуже використовую , але лише кілька порад: 1. netctl-autoпризначений лише для бездротових з'єднань. Якщо ви хочете використовувати його для ethernet, використовуйте netctl-ifplugd. 2. Переконайтеся, що ви не використовуєте wpa-configяк метод захисту, а замість wpa-configsectionабо wpa. Профілі не відображатимуться під час використанняwpa-config
Jacob Wiltse

Дякую. На жаль для майбутніх глядачів, моя установка працює зараз, не те, що я пригадую робити щось особливе. netctl-auto listповертає купу профілів як слід. Я думаю, що, можливо, один із моїх профілів не був сумісний з netctl-auto через цю відсутність wpa-configвимоги, що заважало їм усім з’являтися.
Nikana Reklawyks

Як було сказано у моїй відповіді, перед тим, як увімкнути netctl-auto, потрібно видалити профілі, створені за допомогою netctl. Потім, після запуску netctl-auto, додайте їх повторно.
Джоні, чому

Ви не використовуєте wlan0, як показано тут. Ви повинні використовувати свій правильний ідентифікатор WiFi.
Джоні, чому

5

Простіший спосіб, який виключає деякі здогадки про те, як зробити профілі netctl(взяті зі netctlсторінки в аркі вікі):

Крок 1. Налаштуйте бездротовий Інтернет вручну, використовуючи, wpa_supplicantяк описано в ОП. Якщо ваша система не встановлена, зробіть це $ pacman -S wpa_supplicant.

Крок 2. Вам також знадобиться dialogпакет, так що $ pacman -S dialog. Тоді ви можете або перезавантажити систему, або відключитись від бездротової мережі.

Крок 3. Запустіть $ wifi-menu -o, а потім пройдіть через дуже прості налаштування Windows / Mac-esque. Ви можете перевірити задане значення мережевого ідентифікатора вашої системи за допомогою $ sudo netctl list. Значення було б у форматі wlan098-SSID. (де SSID = ім'я вашої WLAN)

Крок 4. Нарешті запустіть $ netctl enable wlan098-SSIDі перезавантажте систему$ reboot

Тим не менш, час від часу ви можете отримати повідомлення про помилку з чимось подібним temporarily unable to resolve nameабо чимось, але просто спробуйте пінг знову, і це має спрацювати.


Без netctl-auto ви не підключитесь автоматично, оскільки точки доступу знаходяться в межах. Дивіться мою відповідь щодо налаштування.
Джоні, чому

3

Я вважаю, що всі інші відповіді є помилковими, як це пояснено в моїх коментарях до них.

Ці кроки автоматично підключаться до найсильнішої точки доступу. Тестовано на стандартній арці, встановленій systemd (може працювати в інших ОС):

Одноразова настройка:

  • Переконайтесь, що встановлено наступне: діалогове вікно, wpa_supplicant, dhcpcd, netctl, wifi-меню.

  • на xfce додайте плагін xfce4-wavelan. Це просто індикатор, який показує, коли ви підключені. Це не має іншого призначення.

  • Переконайтесь, що всі інші мережеві менеджери та служби видалені або вимкнено. https://wiki.archlinux.org/index.php/Netctl#Wireless

  • видаліть усі створені раніше мережеві профілі. https://www.ostechnix.com/fix-job-netctl-service-failed-error-arch-linux/

  • Отримайте свій ідентифікатор WiFi пристрою basename $(ls -d /sys/class/net/w*)

  • включити сервіс netctl-auto. Це послуга, яка автоматично підключиться. systemctl enable netctl-auto@YourWifiDeviceID.service

Перше підключення до точки доступу:

  • Біжи wifi-menu. Потрібен корінь. pkexec wifi-menu -o або sudo wifi-menu -o

Залиште, -oщоб побачити мережеві паролі під час введення.

  • Стрілка вниз, виберіть потрібне з'єднання, натисніть клавішу Enter, прийміть ім'я з'єднання, введіть пароль.

Додайте більше точок доступу. Після цього netctl-auto автоматично підключиться до найсильнішої доступної точки доступу.


Відповідь покращена
johny чому
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.