meshtastic / python

The Python CLI and API for talking to Meshtastic devices
https://meshtastic.org
411 stars 172 forks source link

[Bug]: RAK Ethernet Module Timeouts #492

Closed kravietz closed 2 months ago

kravietz commented 9 months ago

Category

Other

Hardware

Rak4631

Firmware Version

2.2.21.7f7c5cb

Description

I run Meshtastic on RAK4631 with Ethernet (RAK13800) and PoE (RAK13800) modules, connected to a PoE switch over Ethernet cable. The device powers up and radio works perfectly well, the IP address is assigned over DHCP and ping works. However, when trying to contact the device using CLI around 90% fails on timeout, while 10% works OK. Using --debug flag indicates that the TCP connection is actually established each time and plenty of API data is being exchanged, but in most cases it fails to finish the requested action.

Relevant log output

With no debug flag:

> meshtastic --host WIZnet6D1927 --info
Error connecting to WIZnet6D1927:Timed out waiting for connection completion

With debug flag:

> meshtastic --host WIZnet6D1927 --info --debug
DEBUG file:__main__.py common line:938 Not logging serial output
DEBUG file:tcp_interface.py __init__ line:33 Connecting to WIZnet6D1927
DEBUG file:stream_interface.py __reader line:129 in __reader()
DEBUG file:stream_interface.py _sendToRadioImpl line:109 Sending: want_config_id: 2656250789
DEBUG file:stream_interface.py _sendToRadioImpl line:114 sending header:b'\x94\xc3\x00\x06' b:b'\x18\xa5\xd7\xcc\xf2\t'
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x1a\n\x08\xa7\xb2\xb4\x93\x04X\xf8\xeb\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: my_info {
  my_node_num: 1114446119
  min_app_version: 30200
}

DEBUG file:mesh_interface.py _handleFromRadio line:772 Received myinfo: my_node_num: 1114446119 min_app_version: 30200
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'j\x1f\n\x0e2.2.21.7f7c5cb\x10\x16\x18\x01(\x010\x018\x02@\xab\x06H\t'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: metadata {
  firmware_version: "2.2.21.7f7c5cb"
  device_state_version: 22
  canShutdown: true
  hasBluetooth: true
  hasEthernet: true
  role: ROUTER
  position_flags: 811
  hw_model: RAK4631
}
...

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'"4\x08\xc3\x91\xdc\xe9\n\x12,\n\t!ad3708c3\x12\x0fMeshtastic 08c3\x1a\x0408c3"\x06\xd3\xd8\xad7\x08\xc3(\t'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: node_info {
  num: 2906065091
  user {
    id: "!ad3708c3"
    long_name: "Meshtastic 08c3"
    short_name: "08c3"
    macaddr: "\323\330\2557\010\303"
    hw_model: RAK4631
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:791 Node without position
DEBUG file:mesh_interface.py _handleFromRadio line:793 Received nodeinfo: {'num': 2906065091, 'user': {'id': '!ad3708c3', 'longName': 'Meshtastic 08c3', 'shortName': '08c3', 'macaddr': '09itNwjD', 'hwModel': 'RAK4631'}}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'"4\x08\xf3\x90\xd8\x8e\n\x12,\n\t!a1d60873\x12\x0fMeshtastic 0873\x1a\x040873"\x06\xfd\xfa\xa1\xd6\x08s(\t'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: node_info {
  num: 2715158643
  user {
    id: "!a1d60873"
    long_name: "Meshtastic 0873"
    short_name: "0873"
    macaddr: "\375\372\241\326\010s"
    hw_model: RAK4631
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:791 Node without position
DEBUG file:mesh_interface.py _handleFromRadio line:793 Received nodeinfo: {'num': 2715158643, 'user': {'id': '!a1d60873', 'longName': 'Meshtastic 0873', 'shortName': '0873', 'macaddr': '/fqh1ghz', 'hwModel': 'RAK4631'}}
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'R\x07\x12\x03\x12\x01\x01\x18\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: channel {
  settings {
    psk: "\001"
  }
  role: PRIMARY
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'R\x04\x08\x01\x12\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: channel {
  index: 1
  settings {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'R\x04\x08\x02\x12\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: channel {
  index: 2
  settings {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'R\x04\x08\x03\x12\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: channel {
  index: 3
  settings {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'R\x04\x08\x04\x12\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: channel {
  index: 4
  settings {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'R\x04\x08\x05\x12\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: channel {
  index: 5
  settings {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'R\x04\x08\x06\x12\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: channel {
  index: 6
  settings {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'R\x04\x08\x07\x12\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: channel {
  index: 7
  settings {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x06\n\x04\x08\x02\x10\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: config {
  device {
    role: ROUTER
    serial_enabled: true
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x15\x12\x13\x08\xc0\xd1\x02\x18\x01(\x80\xa3\x058\xab\x06PdX\x1eh\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: config {
  position {
    position_broadcast_secs: 43200
    fixed_position: true
    gps_update_interval: 86400
    position_flags: 811
    broadcast_smart_minimum_distance: 100
    broadcast_smart_minimum_interval_secs: 30
    gps_mode: ENABLED
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x0e\x1a\x0c \x010\x80\xa3\x058\x80\xa3\x05@\n'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: config {
  power {
    wait_bluetooth_secs: 1
    sds_secs: 86400
    ls_secs: 86400
    min_wake_secs: 10
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x14"\x12*\x0e0.pool.ntp.org0\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: config {
  network {
    ntp_server: "0.pool.ntp.org"
    eth_enabled: true
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x04*\x02\x08\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: config {
  display {
    screen_on_secs: 1
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x0e2\x0c\x08\x018\x03@\x03H\x01P\x1bh\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: config {
  lora {
    use_preset: true
    region: EU_868
    hop_limit: 3
    tx_enabled: true
    tx_power: 27
    sx126x_rx_boosted_gain: true
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'*\x08:\x06\x10\x02\x18\xc0\xc4\x07'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: config {
  bluetooth {
    mode: NO_PIN
    fixed_pin: 123456
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J:\n8\x12\x13mqtt.meshtastic.org\x1a\x07meshdev"\nlarge4cats(\x01B\nmsh/EU_868'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  mqtt {
    address: "mqtt.meshtastic.org"
    username: "meshdev"
    password: "large4cats"
    encryption_enabled: true
    root: "msh/EU_868"
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02\x12\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  serial {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x0f\x1a\r\x08\x01\x10\xe8\x07\x18$ \x01(\x01p<'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  external_notification {
    enabled: true
    output_ms: 1000
    output: 36
    active: true
    alert_message: true
    nag_timeout: 60
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02"\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  store_forward {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02*\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  range_test {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x0b2\t\x08\x84\x07\x10\x84\x078\x84\x07'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  telemetry {
    device_update_interval: 900
    environment_update_interval: 900
    air_quality_interval: 900
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02:\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  canned_message {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02B\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  audio {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02J\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  remote_hardware {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x05R\x03\x10\x84\x07'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  neighbor_info {
    update_interval: 900
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b"J\nZ\x08\x10\n\x18m \x19('"
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  ambient_lighting {
    current: 10
    red: 109
    green: 25
    blue: 39
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x06b\x04\x10-8\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  detection_sensor {
    minimum_broadcast_secs: 45
    detection_triggered_high: true
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'J\x02j\x00'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: moduleConfig {
  paxcounter {
  }
}

DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'8\xa5\xd7\xcc\xf2\t'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: config_complete_id: 2656250789

DEBUG file:mesh_interface.py _handleFromRadio line:807 Config complete ID 2656250789
DEBUG file:node.py requestChannels line:77 requestChannels for nodeNum:1114446119
DEBUG file:node.py _requestChannel line:742 Requesting channel 0
DEBUG file:node.py _sendAdmin line:767 adminIndex:0
DEBUG file:mesh_interface.py sendData line:309 Serializing protobuf as data: get_channel_request: 1
DEBUG file:mesh_interface.py sendData line:312 len(data): 2
DEBUG file:mesh_interface.py sendData line:313 mesh_pb2.Constants.DATA_PAYLOAD_LEN: 237
DEBUG file:mesh_interface.py _sendPacket line:535 Sending packet: to: 1114446119 decoded { portnum: ADMIN_APP payload: "\010\001" want_response: true } id: 2850348338 hop_limit: 3
DEBUG file:stream_interface.py _sendToRadioImpl line:109 Sending: packet { to: 1114446119 decoded { portnum: ADMIN_APP payload: "\010\001" want_response: true } id: 2850348338 hop_limit: 3 }
DEBUG file:stream_interface.py _sendToRadioImpl line:114 sending header:b'\x94\xc3\x00\x18' b:b'\n\x16\x15\'\x19mB"\x08\x08\x06\x12\x02\x08\x01\x18\x0152\xdd\xe4\xa9H\x03'
DEBUG file:mesh_interface.py _sendToRadio line:721 packet a9e4dd32 got acked under us
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'Z\n\x10\x0f\x18\x10 \xee\xfb\x96\xda\x05'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: queueStatus {
  free: 15
  maxlen: 16
  mesh_packet_id: 1531297262
}

DEBUG file:mesh_interface.py _handleQueueStatusFromRadio line:740 TX QUEUE free 15 of 16, res = 0, id = 5b45bdee 
DEBUG file:mesh_interface.py _handleQueueStatusFromRadio line:752 Reply for unexpected packet ID 5b45bdee
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x126\r\'\x19mB\x15\xff\xff\xff\xff"\x1c\x08C\x12\x18\r@{\xcee\x12\x11\x08`\x15\xd5x\x85@\x1dgf\xa6@%\x030\x95?5\xed\xbdE[=@{\xceeH\x03X\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: packet {
  from: 1114446119
  to: 4294967295
  decoded {
    portnum: TELEMETRY_APP
    payload: "\r@{\316e\022\021\010`\025\325x\205@\035gf\246@%\0030\225?"
  }
  id: 1531297261
  rx_time: 1708030784
  hop_limit: 3
  priority: MIN
}

DEBUG file:mesh_interface.py _handlePacketFromRadio line:1038 Publishing meshtastic.receive.telemetry: packet={'from': 1114446119, 'to': 4294967295, 'decoded': {'portnum': 'TELEMETRY_APP', 'payload': b'\r@{\xcee\x12\x11\x08`\x15\xd5x\x85@\x1dgf\xa6@%\x030\x95?', 'telemetry': {'time': 1708030784, 'deviceMetrics': {'batteryLevel': 96, 'voltage': 4.171, 'channelUtilization': 5.2000003, 'airUtilTx': 1.1655277}, 'raw': time: 1708030784 device_metrics { battery_level: 96 voltage: 4.171 channel_utilization: 5.20000029 air_util_tx: 1.1655277 } }}, 'id': 1531297261, 'rxTime': 1708030784, 'hopLimit': 3, 'priority': 'MIN', 'raw': from: 1114446119 to: 4294967295 decoded { portnum: TELEMETRY_APP payload: "\r@{\316e\022\021\010`\025\325x\205@\035gf\246@%\0030\225?" } id: 1531297261 rx_time: 1708030784 hop_limit: 3 priority: MIN , 'fromId': '!426d1927', 'toId': '^all'} 
DEBUG file:__main__.py onReceive line:32 in onReceive() d:{'portnum': 'TELEMETRY_APP', 'payload': b'\r@{\xcee\x12\x11\x08`\x15\xd5x\x85@\x1dgf\xa6@%\x030\x95?', 'telemetry': {'time': 1708030784, 'deviceMetrics': {'batteryLevel': 96, 'voltage': 4.171, 'channelUtilization': 5.2000003, 'airUtilTx': 1.1655277}, 'raw': time: 1708030784
device_metrics {
  battery_level: 96
  voltage: 4.171
  channel_utilization: 5.20000029
  air_util_tx: 1.1655277
}
}}
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x121\rZ\x1d\xe8\xd9\x15\xff\xff\xff\xff"\t\x08B\x12\x05seq 25\xc6\'n?=K{\xceeE\x00\x00\xc8@H\x03`\xd7\xff\xff\xff\xff\xff\xff\xff\xff\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: packet {
  from: 3655867738
  to: 4294967295
  decoded {
    portnum: RANGE_TEST_APP
    payload: "seq 2"
  }
  id: 1064183750
  rx_time: 1708030795
  rx_snr: 6.25
  hop_limit: 3
  rx_rssi: -41
}

DEBUG file:mesh_interface.py _handlePacketFromRadio line:1038 Publishing meshtastic.receive.data.RANGE_TEST_APP: packet={'from': 3655867738, 'to': 4294967295, 'decoded': {'portnum': 'RANGE_TEST_APP', 'payload': b'seq 2'}, 'id': 1064183750, 'rxTime': 1708030795, 'rxSnr': 6.25, 'hopLimit': 3, 'rxRssi': -41, 'raw': from: 3655867738 to: 4294967295 decoded { portnum: RANGE_TEST_APP payload: "seq 2" } id: 1064183750 rx_time: 1708030795 rx_snr: 6.25 hop_limit: 3 rx_rssi: -41 , 'fromId': '!d9e81d5a', 'toId': '^all'} 
DEBUG file:__main__.py onReceive line:32 in onReceive() d:{'portnum': 'RANGE_TEST_APP', 'payload': b'seq 2'}
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x121\r\'\x19mB\x15\xff\xff\xff\xff"\x17\x08C\x12\x13\r\xb8{\xcee\x12\x0c\x08`\x15sh\x85@%f\xad\x96?5\xee\xbdE[=\xb8{\xceeH\x03X\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: packet {
  from: 1114446119
  to: 4294967295
  decoded {
    portnum: TELEMETRY_APP
    payload: "\r\270{\316e\022\014\010`\025sh\205@%f\255\226?"
  }
  id: 1531297262
  rx_time: 1708030904
  hop_limit: 3
  priority: MIN
}

DEBUG file:mesh_interface.py _handlePacketFromRadio line:1038 Publishing meshtastic.receive.telemetry: packet={'from': 1114446119, 'to': 4294967295, 'decoded': {'portnum': 'TELEMETRY_APP', 'payload': b'\r\xb8{\xcee\x12\x0c\x08`\x15sh\x85@%f\xad\x96?', 'telemetry': {'time': 1708030904, 'deviceMetrics': {'batteryLevel': 96, 'voltage': 4.169, 'airUtilTx': 1.1771667}, 'raw': time: 1708030904 device_metrics { battery_level: 96 voltage: 4.169 air_util_tx: 1.1771667 } }}, 'id': 1531297262, 'rxTime': 1708030904, 'hopLimit': 3, 'priority': 'MIN', 'raw': from: 1114446119 to: 4294967295 decoded { portnum: TELEMETRY_APP payload: "\r\270{\316e\022\014\010`\025sh\205@%f\255\226?" } id: 1531297262 rx_time: 1708030904 hop_limit: 3 priority: MIN , 'fromId': '!426d1927', 'toId': '^all'} 
DEBUG file:__main__.py onReceive line:32 in onReceive() d:{'portnum': 'TELEMETRY_APP', 'payload': b'\r\xb8{\xcee\x12\x0c\x08`\x15sh\x85@%f\xad\x96?', 'telemetry': {'time': 1708030904, 'deviceMetrics': {'batteryLevel': 96, 'voltage': 4.169, 'airUtilTx': 1.1771667}, 'raw': time: 1708030904
device_metrics {
  battery_level: 96
  voltage: 4.169
  air_util_tx: 1.1771667
}
}}
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x121\rZ\x1d\xe8\xd9\x15\xff\xff\xff\xff"\t\x08B\x12\x05seq 35,(n?=\xc3{\xceeE\x00\x00\xd0@H\x03`\xd8\xff\xff\xff\xff\xff\xff\xff\xff\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: packet {
  from: 3655867738
  to: 4294967295
  decoded {
    portnum: RANGE_TEST_APP
    payload: "seq 3"
  }
  id: 1064183852
  rx_time: 1708030915
  rx_snr: 6.5
  hop_limit: 3
  rx_rssi: -40
}

DEBUG file:mesh_interface.py _handlePacketFromRadio line:1038 Publishing meshtastic.receive.data.RANGE_TEST_APP: packet={'from': 3655867738, 'to': 4294967295, 'decoded': {'portnum': 'RANGE_TEST_APP', 'payload': b'seq 3'}, 'id': 1064183852, 'rxTime': 1708030915, 'rxSnr': 6.5, 'hopLimit': 3, 'rxRssi': -40, 'raw': from: 3655867738 to: 4294967295 decoded { portnum: RANGE_TEST_APP payload: "seq 3" } id: 1064183852 rx_time: 1708030915 rx_snr: 6.5 hop_limit: 3 rx_rssi: -40 , 'fromId': '!d9e81d5a', 'toId': '^all'} 
DEBUG file:__main__.py onReceive line:32 in onReceive() d:{'portnum': 'RANGE_TEST_APP', 'payload': b'seq 3'}
DEBUG file:mesh_interface.py _handleFromRadio line:764 in mesh_interface.py _handleFromRadio() fromRadioBytes: b'\x121\rZ\x1d\xe8\xd9\x15\xff\xff\xff\xff"\t\x08B\x12\x05seq 45\x92(n?=<|\xceeE\x00\x00\xc0@H\x03`\xd7\xff\xff\xff\xff\xff\xff\xff\xff\x01'
DEBUG file:mesh_interface.py _handleFromRadio line:768 Received from radio: packet {
  from: 3655867738
  to: 4294967295
  decoded {
    portnum: RANGE_TEST_APP
    payload: "seq 4"
  }
  id: 1064183954
  rx_time: 1708031036
  rx_snr: 6
  hop_limit: 3
  rx_rssi: -41
}

DEBUG file:mesh_interface.py _handlePacketFromRadio line:1038 Publishing meshtastic.receive.data.RANGE_TEST_APP: packet={'from': 3655867738, 'to': 4294967295, 'decoded': {'portnum': 'RANGE_TEST_APP', 'payload': b'seq 4'}, 'id': 1064183954, 'rxTime': 1708031036, 'rxSnr': 6.0, 'hopLimit': 3, 'rxRssi': -41, 'raw': from: 3655867738 to: 4294967295 decoded { portnum: RANGE_TEST_APP payload: "seq 4" } id: 1064183954 rx_time: 1708031036 rx_snr: 6 hop_limit: 3 rx_rssi: -41 , 'fromId': '!d9e81d5a', 'toId': '^all'} 
DEBUG file:__main__.py onReceive line:32 in onReceive() d:{'portnum': 'RANGE_TEST_APP', 'payload': b'seq 4'}
Error connecting to WIZnet6D1927:Timed out waiting for connection completion
daytonturner commented 7 months ago

I've hit the same issue, by the looks of it. I dont suppose anyone has made any progress with this? Looking at a pcap, I can see that the RAK board sends a FIN,ACK at the end of the transmission.. the client then sends an ACK to that, then nothing.. 30 seconds goes by and the client sends RST packet to force the connection closed.

micheljung commented 7 months ago

I'm writing my own software, and I'm also facing this issue, which probably confirms it's not an issue with the Python CLI. See https://github.com/meshtastic/firmware/issues/3618