Tengo una configuración de Raspberry Pi como punto de acceso WiFi (es un servidor DHCP y tiene HOSTAPD en ejecución). No tiene conexión a internet y no está enrutando tráfico. Los clientes solo se conectan a su red cuando quieren comunicarse con ella.
Tengo una secuencia de comandos de python en la Raspberry Pi que está enviando un mensaje UDP ~ 5 segundos.
Puedo ver los paquetes que se envían a través de Wireshark (que he instalado en la Raspberry Pi), pero ninguno de los clientes que se conectan a la red de Pi puede ver esos paquetes. Es como si estuvieran en un callejón sin salida en algún lugar antes de salir del Pi.
También debo mencionar que los clientes tienen sus firewalls apagados.
Aquí hay algunas capturas de pantalla del Pi: Puedes ver que Wireshark muestra los paquetes que se envían. También puede ver que BROADCAST está habilitado en wlan0.
El cliente (una computadora con Windows 10 en este caso) también está ejecutando Wireshark y también puede ver la información de la red:
¿Qué me falta en la configuración de la red que impide que esta transmisión llegue a los clientes? Si conecto la Raspberry Pi a un enrutador real, los clientes en esa red pueden ver bien los mensajes UDP. Eso me hace pensar que hay algo mal con la configuración de hostpot hospedada por mí mismo.
Gracias por cualquier información que pueda proporcionar.
El contenido de la configuración de hostapd:
interface=wlan0
driver=nl80211
#driver=rtl871xdrv
ssid=PI032378
channel=6
dtim_period=1
beacon_int=400
Aquí está la información de Wireshark sobre los paquetes que se envían, pero no se reciben:
Frame 162: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0
Interface id: 0 (wlan0)
Encapsulation type: Ethernet (1)
Arrival Time: Feb 21, 2017 16:45:08.000647000 Central Standard Time
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1487717108.000647000 seconds
[Time delta from previous captured frame: 0.007711000 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 1.299469000 seconds]
Frame Number: 162
Frame Length: 60 bytes (480 bits)
Capture Length: 60 bytes (480 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ip:udp:data]
[Coloring Rule Name: UDP]
[Coloring Rule String: udp]
Ethernet II, Src: Shenzhen_0c:b4:25 (40:a5:ef:0c:b4:25), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Source: Shenzhen_0c:b4:25 (40:a5:ef:0c:b4:25)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.42.1, Dst: 192.168.42.255
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
Total Length: 46
Identification: 0xa04d (41037)
Flags: 0x02 (Don't Fragment)
Fragment offset: 0
Time to live: 64
Protocol: UDP (17)
Header checksum: 0xc420 [validation disabled]
[Header checksum status: Unverified]
Source: 192.168.42.1
Destination: 192.168.42.255
[Source GeoIP: Unknown]
[Destination GeoIP: Unknown]
User Datagram Protocol, Src Port: 44661, Dst Port: 5003
Source Port: 44661
Destination Port: 5003
Length: 26
Checksum: 0x779c [unverified]
[Checksum Status: Unverified]
[Stream index: 3]
Data (18 bytes)
Data: 426c756562657272793a5049303332333738
[Length: 18]
fuente
Respuestas:
Las transmisiones y transmisiones por 802.11 se deben enviar utilizando un esquema de modulación (velocidad de datos) que cada cliente puede recibir. Deben ser una de las tarifas en el Conjunto de tarifas básicas (tarifa obligatoria establecida) para esa red, y deben estar cifradas con la clave de grupo y el cifrado de grupo para esa red.
Aunque es posible que tenga un problema de velocidad de multidifusión, si está utilizando el cifrado (es decir, WPA2-PSK), es más probable que sea un problema de cifrado. Como prueba, intente desactivar el cifrado inalámbrico en su configuración de hostapd y ver si el problema desaparece.
fuente
Podría ser que la interfaz de red en la Raspberry Pi esté calculando incorrectamente las sumas de comprobación UDP. Puede verificar si la suma de comprobación está descargada en la interfaz de red ejecutando
ethtool -k eth0
(oethtool -k wlan0
, o cualquiera que sea la interfaz de red en la que está sirviendo el servidor DHCP) en la Raspberry Pi. Si su salida muestra que la suma de comprobación está activada (es decir,tx-checksumming: on
), puede intentar deshabilitar la suma de comprobación:He tenido este problema, y hay una pregunta relevante En el stackexchange de Raspberry Pi.
fuente