Por que os pings não funcionam na minha interface sem fio?

Por que os pings não funcionam na minha interface sem fio?

Estou integrando um módulo wifi em uma imagem Yocto. Quero criar um AP com ele e encaminhar o tráfego dessa interface mas a conexão não está funcionando. Consigo ver a interface em execução 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)

Estou criando um hotspot wifi com esta interface. Consigo ver a rede wifi com meu celular e conectar-me a ela (tudo usando IP estático). Para verificar se a interface está funcionando estou fazendo pings da minha yocto-machine para o celular. No entanto, não estou obtendo resposta.

Eu configurei uma terceira máquina também conectada ao wifi. Esta máquina está farejando o tráfego no modo monitor com o wireshark. Porém não vejo o ARP nem o pacote ICMP saindo da interface wifi.

As tabelas de roteamento parecem boas:

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

No entanto, o link parece não estar funcionando. Posso ver que com ip link showa interface uap0 temSEM PORTADORA

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

Fazer ifconfig uap0 downe então ifconfig uap0 upgera esta mensagem de erro.

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

Você tem alguma ideia de por que os pings podem não estar funcionando ou que outro teste eu poderia fazer para avaliar qual parte não está funcionando corretamente?

Informações adicionais que podem ser úteis:

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

Responder1

A razão para não funcionar estava relacionada a uma mudança na velocidade do clock SD/MMC.

O driver do módulo wifi inicialmente baixa o firmware a uma determinada velocidade. Após o download do firmware, o clock do SD/MMC foi aumentado para 200MHz. Devido à limitação de hardware, isso estava causando comunicação inconsistente com o módulo.

Mudei a velocidade para 25MHz e agora está funcionando.

informação relacionada