Hostapd를 사용하여 AP 모드에서 WiFi 인터페이스를 설정하려고 합니다. 그러나 시스템이 다시 시작된 후 약 2분 동안 시작이 중단됩니다.
A start job is running for Wait for Network to be Configured
WiFi 인터페이스가 시작되지 않은 것 같습니다. 이로 인해 systemd-networkd-wait-online.service가 중단됩니다. systemd-networkd-wait-online.service에서 WiFi 인터페이스를 무시하도록 설정하면 아니요, 하지만 일반적인 문제는 해결되지 않습니다.
시스템이 시작된 후 ip addr
명령을 실행하면 다음 출력이 표시됩니다.
3: wlxc04a0010118a: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether c0:4a:00:10:11:8a brd ff:ff:ff:ff:ff:ff
예상대로 인터페이스가 다운되었습니다.
sudo ip link set wlxc04a0010118a up
인터페이스 상태는 변경되지 않습니다. 시작하고 문제를 해결하려면 실행해야했습니다.systemctl restart hostapd.service
그런 다음 ip addr
명령은 다음을 반환합니다.
3: wlxc04a0010118a: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether c0:4a:00:10:11:8a brd ff:ff:ff:ff:ff:ff
inet 172.24.1.1/24 brd 172.24.1.255 scope global wlxc04a0010118a
valid_lft forever preferred_lft forever
다른 서비스가 이 인터페이스에 의존하고 결국 인터페이스가 부팅될 때 수동으로 시작해야 하기 때문에 이 문제를 해결하고 이 수동 단계를 요구하지 않고 시스템 부팅 후 WiFi AP를 구성하고 싶습니다. 여러 가지 방법을 시도했지만 여전히 이 문제를 해결할 수 없습니다. 귀하의 도움에 감사드립니다.
내 거 /etc/hostapd/hostapd.conf
:
interface=wlxc04a0010118a
# Use the nl80211 driver with the brcmfmac driver
driver=nl80211
ssid=Wifinetwork
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
# Enable 40MHz channels with 20ns guard interval
#ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=Wifipassword
rsn_pairwise=CCMP
인터페이스 구성: /lib/systemd/network/80-wifi-ap.network
:
[Match]
Name=wlxc04a0010118a
[Network]
Address=172.24.1.1/24
DHCPServer=no
IPForward=ipv4
IPMasquerade=no
/etc/dnsmasq.conf
:
interface=wlxc04a0010118a # Use interface wlan0
listen-address=172.24.1.1 # Explicitly specify the address to listen on
bind-dynamic # Bind to the interface to make sure we aren't sending things elsewhere
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
bogus-priv # Never forward addresses in the non-routed address spaces.
dhcp-option=6,172.24.1.1,192.168.1.1
domain=domain1
dhcp-range=172.24.1.50,172.24.1.150,12h
systemctl status hostapd.service
Hostapd를 다시 시작하기 전 결과:
● hostapd.service - Hostapd IEEE 802.11 Access Point
Loaded: loaded (/etc/systemd/system/hostapd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-11-10 16:42:02 UTC; 4min 48s ago
Process: 780 ExecStartPre=/sbin/ip link set wlxc04a0010118a up (code=exited, status=0/SUCCESS)
Process: 794 ExecStart=/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf -P /var/run/hostapd.pid (code=exited, sta>
Main PID: 966 (hostapd)
Tasks: 1 (limit: 4596)
Memory: 2.4M
CGroup: /system.slice/hostapd.service
└─966 /usr/sbin/hostapd -B /etc/hostapd/hostapd.conf -P /var/run/hostapd.pid
Nov 10 16:41:58 domain1 systemd[1]: Starting Hostapd IEEE 802.11 Access Point...
Nov 10 16:41:58 domain1 hostapd[794]: Configuration file: /etc/hostapd/hostapd.conf
Nov 10 16:42:00 domain1 hostapd[794]: Using interface wlxc04a0010118a with hwaddr c0:4a:00:10:11:8a and ssid ">
Nov 10 16:42:02 domain1 hostapd[794]: wlxc04a0010118a: interface state UNINITIALIZED->ENABLED
Nov 10 16:42:02 domain1 hostapd[794]: wlxc04a0010118a: AP-ENABLED
Nov 10 16:42:02 domain1 systemd[1]: hostapd.service: Can't open PID file /run/hostapd.pid (yet?) after start: >
Nov 10 16:42:02 domain1 systemd[1]: Started Hostapd IEEE 802.11 Access Point.
systemctl status hostapd.service
Hostapd가 다시 시작된 후의 결과:
hostapd.service - Hostapd IEEE 802.11 Access Point
Loaded: loaded (/etc/systemd/system/hostapd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-11-10 17:32:36 UTC; 6min ago
Process: 1499 ExecStartPre=/sbin/ip link set wlxc04a0010118a up (code=exited, status=0/SUCCESS)
Process: 1514 ExecStart=/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf -P /var/run/hostapd.pid (code=exited, s>
Main PID: 1522 (hostapd)
Tasks: 1 (limit: 4596)
Memory: 816.0K
CGroup: /system.slice/hostapd.service
└─1522 /usr/sbin/hostapd -B /etc/hostapd/hostapd.conf -P /var/run/hostapd.pid
Nov 10 17:32:30 domain1 systemd[1]: Stopping Hostapd IEEE 802.11 Access Point...
Nov 10 17:32:30 domain1 systemd[1]: hostapd.service: Succeeded.
Nov 10 17:32:30 domain1 systemd[1]: Stopped Hostapd IEEE 802.11 Access Point.
Nov 10 17:32:30 domain1 systemd[1]: Starting Hostapd IEEE 802.11 Access Point...
Nov 10 17:32:30 domain1 hostapd[1514]: Configuration file: /etc/hostapd/hostapd.conf
Nov 10 17:32:34 domain1 hostapd[1514]: Using interface wlxc04a0010118a with hwaddr c0:4a:00:10:11:8a and ssid>
Nov 10 17:32:36 domain1 hostapd[1514]: wlxc04a0010118a: interface state UNINITIALIZED->ENABLED
Nov 10 17:32:36 domain1 hostapd[1514]: wlxc04a0010118a: AP-ENABLED
Nov 10 17:32:36 domain1 systemd[1]: hostapd.service: Can't open PID file /run/hostapd.pid (yet?) after start:>
Nov 10 17:32:36 domain1 systemd[1]: Started Hostapd IEEE 802.11 Access Point.
답변1
이미 XFCE 데스크탑 환경을 설치했기 때문에 NetworkManager도 설치되었습니다. 어떻게든 내 구성이 손상되어 Wi-Fi 인터페이스가 계속 다운된 것 같습니다. 이를 방지하려면 /etc/NetworkManager/conf.d/unmanaged.conf
다음 내용을 포함하는 파일을 만들어야 합니다 .
unmanaged-devices=interface-name:wlxc04a0010118a
NetworkManager는 현재 이 인터페이스를 관리하지 않습니다. 그러나 부팅 중에 시스템이 여전히 정지됩니다.
A start job is running for Wait for Network to be Configured
이를 방지하려면 다음을 추가해야 합니다.
[Link]
RequiredForOnline=no
보관소 /lib/systemd/network/80-wifi-ap.network
. 이제 시스템이 시작되고 Wi-Fi AP가 예상대로 작동할 때 이 일시 중지가 발생하지 않습니다. 왜 이것을 추가해야 했는지 아직도 잘 모르겠습니다 RequiredForOnline=no
. 현재 부팅 과정 단계에서는 Wi-Fi 인터페이스를 설정할 수 없는 것 같지만, 인터페이스가 정상적으로 작동했기 때문에 곧 설정될 수도 있습니다.