ワイヤレス インターフェイスで ping が機能しないのはなぜですか?

ワイヤレス インターフェイスで ping が機能しないのはなぜですか?

Yocto イメージに WiFi モジュールを統合しています。これを使用して 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 マシンから携帯電話に ping を送信しています。しかし、応答がありません。

3 台目のマシンも Wi-Fi に接続してセットアップしました。このマシンは、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

しかし、リンクは機能していないようです。uap0ip link showインターフェースではキャリアなし

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

ping が機能しない理由について何かご存知ですか? また、どの部分が正しく機能していないかを評価するために他にどのようなテストを実行できますか?

役に立つかもしれない追加情報:

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 に変更したら動作するようになりました。

関連情報