Saya mengalami kesulitan hostapd
untuk memulai sebagai layanan. Gagal ketika saya mencoba memulainya:
$ sudo service hostapd start
[FAIL] Starting advanced IEEE 802.11 management: hostapd failed!
Dari apa yang saya mengerti, ini menggunakan konfigurasi di /etc/default/hostapd
:
$ cat /etc/default/hostapd
# Defaults for hostapd initscript
#
# See /usr/share/doc/hostapd/README.Debian for information about alternative
# methods of managing hostapd.
#
# Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration
# file and hostapd will be started during system boot. An example configuration
# file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
#DAEMON_CONF=""
DAEMON_CONF=”/etc/hostapd/hostapd.conf”
# Additional daemon options to be appended to hostapd command:-
# -d show more debug messages (-dd for even more)
# -K include key data in debug messages
# -t include timestamps in some debug messages
#
# Note that -B (daemon mode) and -P (pidfile) options are automatically
# configured by the init.d script and must not be added to DAEMON_OPTS.
#
DAEMON_OPTS="-d"
File konfigurasi daemon saya adalah sebagai berikut:
$ cat /etc/hostapd/hostapd.conf
interface=wlan0
bridge=br0
driver=rtl871xdrv
country_code=USA
ctrl_interface=wlan0
ctrl_interface_group=0
ssid=KITT
hw_mode=g
channel=1
wpa=3
wpa_passphrase=georgeisyourfriend
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
macaddr_acl=0
wmm_enabled=1
eap_reauth_period=360000000
Meskipun layanan gagal untuk memulai, saya dapat memulainya secara langsung tanpa kesalahan:
$ sudo hostapd -d /etc/hostapd/hostapd.conf
random: Trying to read entropy from /dev/random
Configuration file: /etc/hostapd/hostapd.conf
ctrl_interface_group=0
drv->ifindex=3
Configure bridge br0 for EAPOL traffic.
BSS count 1, BSSID mask 00:00:00:00:00:00 (0 bits)
Completing interface initialization
Mode: IEEE 802.11g Channel: 1 Frequency: 2412 MHz
RATE[0] rate=10 flags=0x1
RATE[1] rate=20 flags=0x1
RATE[2] rate=55 flags=0x1
RATE[3] rate=110 flags=0x1
RATE[4] rate=60 flags=0x0
RATE[5] rate=90 flags=0x0
RATE[6] rate=120 flags=0x0
RATE[7] rate=180 flags=0x0
RATE[8] rate=240 flags=0x0
RATE[9] rate=360 flags=0x0
RATE[10] rate=480 flags=0x0
RATE[11] rate=540 flags=0x0
Flushing old station entries
Deauthenticate all stations
+rtl871x_sta_deauth_ops, ff:ff:ff:ff:ff:ff is deauth, reason=2
rtl871x_set_key_ops
rtl871x_set_key_ops
rtl871x_set_key_ops
rtl871x_set_key_ops
Using interface wlan0 with hwaddr 80:1f:02:d3:cb:b8 and ssid 'KITT'
Deriving WPA PSK based on passphrase
SSID - hexdump_ascii(len=4):
4b 49 54 54 KITT
PSK (ASCII passphrase) - hexdump_ascii(len=18): [REMOVED]
PSK (from passphrase) - hexdump(len=32): [REMOVED]
rtl871x_set_wps_assoc_resp_ie
rtl871x_set_wps_beacon_ie
rtl871x_set_wps_probe_resp_ie
urandom: Got 20/20 bytes from /dev/urandom
GMK - hexdump(len=32): [REMOVED]
Key Counter - hexdump(len=32): [REMOVED]
WPA: group state machine entering state GTK_INIT (VLAN-ID 0)
GTK - hexdump(len=32): [REMOVED]
WPA: group state machine entering state SETKEYSDONE (VLAN-ID 0)
rtl871x_set_key_ops
rtl871x_set_beacon_ops
rtl871x_set_hidden_ssid ignore_broadcast_ssid:0, KITT,4
rtl871x_set_acl
wlan0: Setup of interface done.
networking
services
init-script
init.d
hostapd
gnychi
sumber
sumber
hostapd
untuk dijalankan melaluiinit.d
(service hostapd start
) dan sepertinya tidak ada yang terjadi ... lihat posting forum ini .Jawaban:
Yang harus Anda lakukan adalah menulis perintah ini:
itu akan mencantumkan Anda semua kesalahan, Anda kemudian dapat memperbaikinya dalam
hostapd.conf
filesumber
Anda harus mengonfigurasi:
Temukan baris di atas dan beri tahu konfigurasi defaul di mana Anda berada.
sumber
Ini masalah bagi saya juga dan jelas masih ada. Saya tetap kesalahan dengan menghapus hostapd dari /etc/rc2.d/ dan /etc/networking/if-pre-up.d/
/ etc / network / interfaces mengontrol hostapd sekarang ..
Sebuah reboot dikonfirmasi akan memunculkan antarmuka; dan Stasiun terhubung dengan baik. Sebelumnya saya harus ssh in dan menghentikan isc dan hostapd dan melakukan apa yang dilakukan post-up sekarang (dalam urutan itu)
sumber
/etc/defaults/hostapd
sebagai @Matt (bukan saya) menyarankan dalam jawaban lain (daripada dengan diam-diam memasukkannya/etc/init.d/hostapd
seperti yang disarankan vlad). Yang mengatakan, jawaban khusus Anda di sini membahas kondisi ras yang ada bahkan setelah DAEMON_CONF ditetapkan, yang lebih merupakan bug dalam bagaimana skrip startup hostapd diimplementasikan daripada apa pun. Jadi terimakasih untuk itu!!start-stop-daemon
dan melakukan pekerjaan buruk dalam memulai daemon sysv (baik udhcpd dan hostapd). Saya tidak tahu apa yang bisa salah, karena sejauh systemd berjalan itu melakukan pekerjaannya (dan daemon "keluar"). Jadi, jika Anda memiliki post-up, gunakan itu.Saya baru saja mengalami masalah ini. Secara default menginstal pada wheezy raspian saya, hostapd dimulai sebagai S01 dalam layanan. Ini membuatnya mulai sebelum
ifplugd
mengkonfigurasi eth0 dan wlan0. Alasan untuk ini adalahS01h[ostapd]
<S01i[fplugd]
karena skrip diurutkan dalam urutan abjad untuk dieksekusi.Saya pikir jembatan sulit dikonfigurasikan sebelum yang lainnya. Memindahkannya ke S05 juga tidak membantu, jadi saya memindahkannya ke rc.local, yang dieksekusi "sementara" setelah yang lainnya. Saya juga menghapus semua tautan dari rc [2-5] .d ke
hostapd
. Saya pikir S05 masih terlalu cepat untuk diselesaikan dengan benar. Saya tidak yakin ini sesuai dengan praktik terbaik. Apa yang tampaknya terjadi sekarang adalah jika ifplugd gagal untuk membesarkanbr0
tetapieth0
lebih kooperatif. Saya tidak yakin mengapa wpa_supplicant gagal di sini, mungkin karenawlan0
sudah dijanjikanbr0
. Bagaimanapun juga itu perlu dinonaktifkan. Kemudian, hostapd mencoba untuk membukabr0
kembali dan berhasil karenaeth0
tidak masalah dan tidak ada yang mengambil kendaliwlan0
.Ada konfigurasi lain yang memungkinkan di mana Anda dapat menentukan opsi
post-up
/pre-down
untukbr0
di/etc/network/interfaces
(antarmuka manusia). Anda bisa mulai / berhentihostapd
dari sana. Saya tidak berhasil membuatnya bekerja, tetapi ini sepertinya solusi yang jauh lebih bersih.sumber
Saya pikir masalahnya adalah dengan kutipan Anda pada baris 11 dari
/etc/default/hostapd
:Yang harus dibaca:
Posting Anda sebenarnya membantu saya memecahkan masalah saya, jadi terima kasih!
sumber
Anda perlu mengatur
DAEMON_CONF
di/etc/init.d/hostpad
.Ini benar-benar sangat jelas jika Anda melihat ke dalam
/etc/init.d/hostapd
, defaultnya terlihat seperti ini:karena
DAEMON_CONF
kosong untuk memulai, skrip keluar pada baris 24. Sayang sekali tidak ada pesan kesalahan atau apa pun. Mengubah baris 17 menjadidan menempatkan konfigurasi dalam file yang ditentukan bekerja untuk saya.
sumber
/etc/init.d/hostapd
(yang Anda salah eja sebagai hostPAD di baris pertama Anda) juga/etc/defaults/hostapd
.Di Arch linux, di mana systemd tampaknya norma di atas rc / init.d Saya punya masalah yang sama. Jawaban ini berbeda dari yang lain dalam cara berikut:
File konfigurasi tidak berada
/etc/init.d
tetapi di suatu tempat di bawah/etc/systemd/system/
. Secara khusus/etc/systemd/system/multi-user.target.wants/hostapd
, dalam kasus saya, di manaExecStart
garis menunjuk ke file konfigurasi yang digunakan.Yang penting file konfigurasi ini juga menunjuk ke biner yang digunakan, yaitu
/usr/bin/hostapd
.Cara mengatasinya adalah untuk memeriksa file hostapd mana yang sebenarnya Anda jalankan. running
whereis
akan memberi tahu Anda versi apa yang tersedia dan di mana mereka berada. Begitumenghasilkan sesuatu seperti
Menguji masing-masing dengan secara sistematis memanggil
PATH/hostapd /etc/hostapd/hostapd.conf
masing-masingPATH
mengidentifikasi mana yang Anda benar-benar memohon dan mana yang systemd memohon. Sekali lagi dalam kasus saya, jalan terakhir adalah apa yang saya minta ketika saya menekansudo hostapd /etc/hostapd/hostapd.conf
. Yang kedua adalah apa yang dipanggil systemd.Caranya adalah dengan menyalin biner dari
/usr/bin/local
ke/usr/bin
atau ke titik systemd ke hostapd yang berfungsi. Saya percaya yang pertama adalah opsi "lebih aman".Sekali lagi dalam kasus saya biner di bawah
/usr/bin/local
berasal dari kompilasi driver Realtek dari sumber dari situs web mereka seperti yang dijelaskan di sini . Bagus sekali bagi Realtek untuk mendukung Linux.Semoga ini bisa membantu, tidak spesifik untuk sistem saya (Arch (Arm) Linux pada Raspberry Pi B) dan memenuhi syarat sebagai jawaban yang sesuai menurut aturan UE.
sumber
Menambahkan 10 detik tidur dalam file
/etc/init.d/hostapd
memperbaiki masalah bagi saya.1)
sudo nano /etc/init.d/hostapd
2) Tambahkan bagiansleep
dalamstart)
seperti di bawah inisumber