Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

824
Views
MQTT Socket error on client <unknown>

I have setup MQTT on a Raspberry Pi and configured an Arduino Uno to the broker, but I am seeing the following entry in the /var/log/mosquitto/mosquitto.log file:

New connection from 192.168.10.114 on port 1883.
Socket error on client <unknown>, disconnecting.

The Pi is setup with ETH0 wired to my local LAN and has an IP address of 192.168.1.50

There is also a WiFi AP setup on the Pi. The Arduino Uno connects via WiFi to send/receive MQTT messages. The WiFi AP has an IP address of 192.168.10.1 and provides DHCP leases via dnsmasq.

I have tried publishing and subscribing test on the local MQTT broker server (the Pi) and get the same error:

Command:
mosquitto_sub -h 192.168.10.1 -t topic

mosquitto.log:
New connection from 192.168.10.1 on port 1883.
New client connected from 192.168.10.1 as mosqsub/1837-raspberryp (cl, k60).
Socket error on client <unknown>, disconnecting.

Here is /etc/mosquitto/mosquitto.conf:

pid_file /var/run/mosquitto.pid

persistence true
log_dest file /var/log/mosquitto/mosquitto.log

allow_anonymous true

include_dir /etc/mosquitto/conf.d

sudo service mosquitto stop sudo service mosquitto start:

mosquitto version 1.4.8 terminating
mosquitto version 1.4.8 (build date Sun, 14 Feb 2016 15:06:55 +0000) starting
Config loaded from /etc/mosquitto/mosquitto.conf.
Opening ipv4 listen socket on port 1883.
Opening ipv6 listen socket on port 1883.

There might be an issue in my interfaces configuration. Here is /etc/network/interfaces:

source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.10.1
    netmask 255.255.255.0

Can anyone point me on where the socket error is coming from on MQTT?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

I came to this thread because I was facing the same error. After some more troubleshooting, it was related to the authentication configuration - the client (Arduino) was trying to connect anonymously (with no password), while the broker (Pi) was set up to only allow authenticated connections (allow_anonymous false in the MQTT configuration).

Adding the correct password to the Arduino connection code solved the issue for me.

over 4 years ago · Santiago Trujillo Report

0

Note that this error will be raised by MQTT if the client fails for any reason. I spent several hours digging through MQTT thinking that the pub/sub mechanism was busted. But instead the problem was simply an error in my own hand-written unmarshalling procedure that contained a python assert statement. The assert failed, killing the client, and generating the MQTT error, but no record of the assert failing showed up on my console, leading me down the garden path for awhile. The cause was my executing sys.exit(-1) at that point, killing the notification to the console. (Even in prototyping code, its best to do the right thing when you can, and not silly stuff like this!)

over 4 years ago · Santiago Trujillo Report

0

I was encountering similar issues from an Arduino connecting to mosquitto:

mosquitto_1  | 1551412354: New connection from 10.0.3.9 on port 1883.
mosquitto_1  | 1551412354: New client connected from 10.0.3.9 as weather-station (c1, k15).
mosquitto_1  | 1551412376: Client weather-station has exceeded timeout, disconnecting.
mosquitto_1  | 1551412376: Socket error on client weather-station, disconnecting.
mosquitto_1  | 1551412402: New connection from 10.0.3.9 on port 1883.
mosquitto_1  | 1551412402: New client connected from 10.0.3.9 as weather-station (c1, k15).
mosquitto_1  | 1551412424: Client weather-station has exceeded timeout, disconnecting.
mosquitto_1  | 1551412424: Socket error on client weather-station, disconnecting.

The initial connection would work, then it would encounter frequent socket errors, eventually totally failing to work.

After some digging, I discovered I wasn't calling the loop() function of PubSubClient. Without this the connection isn't properly serviced, resulting in timeouts and socket errors. Try adding client.loop() to your loop() function.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!