I’ve had my X1C for about 3 months now and finally managed to fix the WiFi. I’m in a remote area with virtually no other wifi networks around. I use access points running OpenWRT and the one close to the printer has 5Ghz and multiple SSIDs. I did not have any difficulty setting the printer up to connect to the 2.4Ghz network but it would stop communicating every few hours. It wasn’t dropping off the wifi: I could still see it connected to the AP and I could tell the AP to disconnect it, so the two were still communicating. They just weren’t exchanging IP packets. I have a dozen ESP32’s connected to the same AP without problems, so it’s bad coding on Bambu’s side or not knowing how to deal with ESP-IDF properly.
My temporary fix 'til now had been to run a script that detects when the X1C became unresponsive and then tell the AP to disconnect the X1C so it’s forced to reconnect cleanly. This sort of worked, except that it would connect to a more distant AP with poor signal. So I created an SSID just for the X1C so it had only one AP to connect to. This has worked, except that it disconnected regularly and it took a minute or two to reconnect, which causes issues when running the automatic calibration (Bambu Studio gets confused and doesn’t allow me to finish the calibration).
What now looks like a final fix is to use a $30 Gl.Inet router (AR300M) in access-point mode with an SSID just for the X1C. The printer has now been connected for over 24hrs without disconnect or packet loss. So if your X1C doesn’t like your wifi you may want to try something like this.
Hmm. My printer is on a Netgear Nighthawk 7000 router with a few dozen other devices, PCs, Phones, Tablets, Home Automation stuff, as well as some ESP32 projects of my own design. But I’m not using the Nighthawk’s WiFi, I have a Linksys Velop mesh system for WiFi (so I can reach the entire house with a solid signal). My X1C has been rock solid. Far as I know, it hasn’t lost a connection even once after months of use. So I’m not sure I’d agree that BBL’s WiFI implementation is flawed. Particularly because your own fix is to connect to an AP that I’m guessing is not running OpenWRT. Assuming my guess is correct, this seems just as likely to be an OpenWRT issue, no?
It’s flawed in that other ESP32 devices work fine, as do over 100 other devices on the network. Incidentally Gl.Inet also runs OpenWRT, they make their own release adding their more user-friendly UI. The fact that it works in your situation doesn’t mean it works in others and doesn’t have bugs. It probably depends on some idiosyncrasies of how the network is configured or on timing of things.
That’s what I’m thinking. Everyone obeys the protocol, but not exactly the same way. I run in to this all the time in my “day job”. Specifications often have some room for interpretation. I get fully compliant implementations that don’t work with each other because of it.
I have an X1C and P1P right next to each other, both connected to an Eero mesh access point a few feet away. The X1C has constant connection issues, and often can’t maintain a video stream. While the P1P has no issues at all. Resetting the wifi helps for a bit, but I’m hoping to find a better solution. I do think there is something different about the X1C wifi implementation, at least compared to the P1P.
No kidding… If you have some cheap access point / router laying around you could try using that as wifi repeater (presenting a different SSID to the X1C). That may work…
I have an Eero mesh using 6 pros and a regular 6 in the form of a Ring Alarm Pro. No issues with my X1C.
Distance is not necessarily indicative of performance, and devices may steer to a different AP for different reasons so it might not even be connected to the closest one.
I checked the connection, and it was indeed connected to the furthest one away, with a very weak signal, while the P1P was connected to the one a few feet away.
According to Eero forums, the access point can’t control this behavior, because the device chooses the access point, which makes me think the X1C doesn’t support modern protocols for connecting to the nearest access point, or it’s buggy.
For now I set up the nearby access point with a separate network and SSID, which should prevent the X1C from connecting to the other ones, but it’s still not a great solution.
The X1C generally connects to the AP with the strongest signal. But if there is a hiccup, for example if that AP gets reconfigured and cuts the wifi signal for a moment as a result, then the X1C will connect to the next best AP at that moment. From my experience it never switches back. You can force it to switch back by having the AP it’s connected to send it a disconnect packet, which causes the X1C to again scan for the strongest AP. In my experience what you did is the most practical solution.
There seems to be a problem with OpenWRT and the X1C, we are using a Teltonika AP (OS based on OpenWRT) to connect our X1C and the printer loses connection all the time. It now even disables the wifi on the printer and you have to turn it on manually again. No idea how this happens.
We have now placed an TP-Link TL-WR802N next to the printer in hotspot mode (connects via Wifi to the Teltonika and broadcasts a wifi for the X1C). Now we have to see if this helps. All of this wouldn’t be a problem if the X1C would have Ethernet…
I am also using OpenWRT (running 22.03) on my routers (old but still perfectly good Netgear Nighthawk R7800s), and I don’t have any particular issues with the X1C. I have seen random disconnects, but rarely and not consistent.
That doesn’t mean there couldn’t be an issue with OpenWRT and the X1C, just that I am not really seeing it.