무선 인터페이스에서 핑이 작동하지 않는 이유는 무엇입니까?

무선 인터페이스에서 핑이 작동하지 않는 이유는 무엇입니까?

Yocto 이미지에 Wi-Fi 모듈을 통합하고 있으며 이를 사용하여 AP를 생성하고 해당 인터페이스에서 트래픽을 전달하고 싶지만 연결이 작동하지 않습니다. 인터페이스가 작동하는 것을 볼 수 있습니다 ifconfig.

uap0      Link encap:Ethernet  HWaddr cc:f9:57:e0:15:81  
          inet addr:192.168.33.1  Bcast:192.168.33.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

이 인터페이스를 사용하여 Wi-Fi 핫스팟을 만들고 있습니다. Wi-Fi 네트워크를 볼 수 있고 전화기로 연결할 수 있습니다(모두 고정 IP 사용). 인터페이스가 제대로 작동하는지 확인하기 위해 yocto 시스템에서 전화기에 핑을 보냈습니다. 그러나 나는 어떤 응답도 받지 못했습니다.

무선 네트워크에 연결하기 위해 세 번째 컴퓨터도 설정했습니다. 이 시스템은 Wireshark를 사용하여 모니터 모드에서 트래픽을 스니핑합니다. 하지만 Wi-Fi 인터페이스에서 나가는 ARP 또는 ICMP 패킷은 표시되지 않습니다.

라우팅 테이블이 좋아 보입니다.

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.13.229.156   0.0.0.0         UG    0      0        0 inm0
192.168.32.0    0.0.0.0         255.255.255.0   U     0      0        0 usb0
192.168.33.0    0.0.0.0         255.255.255.0   U     0      0        0 uap0
192.168.201.0   0.0.0.0         255.255.255.0   U     0      0        0 usb0.1

그러나 링크가 작동하지 않는 것 같습니다. ip link showuap0 인터페이스 가이동통신사 없음

ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default 
    link/sit 0.0.0.0 brd 0.0.0.0
3: inm0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 00:49:4e:4d:30:00 brd ff:ff:ff:ff:ff:ff
4: inm1: <BROADCAST,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
...
...
15: usb0.4@usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
    link/ether d4:ca:6e:f2:00:01 brd ff:ff:ff:ff:ff:ff
16: mlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether cc:f9:57:e0:14:81 brd ff:ff:ff:ff:ff:ff
17: uap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether cc:f9:57:e0:15:81 brd ff:ff:ff:ff:ff:ff

ifconfig uap0 down그러면 ifconfig uap0 up이 오류 메시지가 나타납니다.

root:$~ dmesg -wH
     +26.612727] IPv6: ADDRCONF(NETDEV_UP): uap0: link is not ready

핑이 제대로 작동하지 않는 이유나 제대로 작동하지 않는 부분을 평가하기 위해 수행할 수 있는 다른 테스트가 무엇인지 아시나요?

도움이 될 수 있는 추가 정보:

ethtool -i uap0  
driver: wlan_sdio
version: 3.14.55-yocto-standard
firmware-version: N/A
bus-info: mmc1:0001:1
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

답변1

동작하지 않는 이유는 SD/MMC 클럭 속도 변화와 관련이 있습니다.

Wi-Fi 모듈용 드라이버는 처음에 특정 속도로 펌웨어를 다운로드합니다. 펌웨어를 다운로드하면 SD/MMC 클럭이 200MHz로 증가됩니다. 이로 인해 하드웨어 제한으로 인해 모듈과의 통신이 일관되지 않게 됩니다.

속도를 25MHz로 변경했는데 지금은 잘 작동합니다.

관련 정보