시스템이 다시 시작된 후 AP로 구성된 WiFi 인터페이스가 종료됩니다.

시스템이 다시 시작된 후 AP로 구성된 WiFi 인터페이스가 종료됩니다.

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.serviceHostapd를 다시 시작하기 전 결과:

● 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.serviceHostapd가 다시 시작된 후의 결과:

 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 인터페이스를 설정할 수 없는 것 같지만, 인터페이스가 정상적으로 작동했기 때문에 곧 설정될 수도 있습니다.

관련 정보