Periodic disconnection when connecting to serial via a Mac on Netgate 2100
-
So I followed the official instructions here: https://docs.netgate.com/pfsense/en/latest/hardware/connect-to-console.html
And I am able to get a connection with the command:
sudo screen /dev/cu.usbserial-2120 115200
Here's the problem: the connection seems to get lost after a minute or so. I definitely can't input anything, even though output usually continues to come through.
Unplugging and replugging the USB-C hub I'm using and re-issuing the command works. If I don't unplug and re-plug, it says the device is busy.
But I had a hell of a time today upgrading one of the old UFS 2100s (with the too small EFI partition) to the latest firmware because I had to keep disconnecting and reconnecting. I did eventually succeed but it was rough.
I see the post about Serial but $40 is a bit steep for something that is mostly working, should be working, but is just unreliable.
So, any thoughts or experience with this issue? The only other posts I see are about people who are unable to connect entirely. I can connect, it's just not reliable.
I'm using the cable that came with the device, the USB-A to Micro-USB one. The hub I'm using works fine for everything else, including flashing the drive to perform the upgrade, same exact USB port on the hub.
This is not just one Netgate device, this happens across all of them to varying degrees.
-
After more digging here at the page specific to the 2100, I might have to try screen with the -ixoff switch. I'll try that and report back. The post might be useful for someone else, as the example is given low on the page and actually gives an example for turning it on which doesn't seem to be what one would want.
-
Hmm, not seen disconnects like that. What Mac device are you using? What Mac OS version?
Steve
-
@stephenw10 2021 MacBook Pro M1 Pro. Whatever the latest public release is.
Actually just ran into another client with one of these. I’m about to have to figure this out. I’m going to try another cable and also a usb extension cable since balancing this laptop within 1m of the router is not fun.
I’m going to try with flow control off, and make sure the settings in screens are exactly according to the documentation in the 2100 manual. The only argument I specified was the speed, but it’s possible something else is off.
If you’re using a Mac and screens, are you using the same command? Different usb device name of course.
-
What software are you using to connect? Hyper terminal? Putty? Do you have flow control on or off?
-
@stephenw10 said in Periodic disconnection when connecting to serial via a Mac on Netgate 2100:
Hmm, not seen disconnects like that. What Mac device are you using? What Mac OS version?
Steve
@JonathanLee said in Periodic disconnection when connecting to serial via a Mac on Netgate 2100:
What software are you using to connect? Hyper terminal? Putty? Do you have flow control on or off?
So right now I'm trying it on a brand new out of the box device that came with 24.03. I'm using the brand new cable. I tried the exact same command as in the original post, but at the end added -ixoff to specifically turn flow control off.
I tried it again without -ixoff and had it factory reset, and now every capital N is missing from the output.
I tried again with -ixoff and now it seems to work properly again.
I'll report back one last time when I do the actual update on the actual old router.
I might suggest that the documentation be updated. There is already an example line including the baud rate. Adding -ixoff to the example won't hurt and quite possibly may be necessary.
Specifically this page: Connecting to the console, GNU Screen
-
Trying it with an older model which is also currently running 24.03, I see the same issue.
I get "resizewin: timeout reading from terminal" and shortly after, no more input.
-
Hmm, interesting. We have been investigating that recently on a different model but never seen it on a 2100. Let me see if anything there applies...
-
@CarAnalogy I normally use the usb for command line, and I access the GUI over https
-
Using the exact command to specify the exact settings in the support article: sudo screen /dev/cu.usbserial-2120 115200 cs8 -parenb -cstopb -ixoff
I can press enter one time to get the menu to appear, then no more input.
I did start the trial of Serial. Once I input those settings, it connects immediately and works perfectly.
I don't know if there's something I'm missing in the screen command or what.
-
Hmm. Are you able to test from any other client? Screen in OSX has always been a bit flaky. One thing I've seen a number of times is when it allows multiple client instances to connect to the same port resulting in no input or garbled output.
-
@stephenw10 Here's what I can say from testing.
A brand new Netgate 2100 that shipped with 24.03 has no issues. Screen works perfectly fine.
I then tried it on my personal Netgate 2100, which is an older one that was upgraded. That one and all the others I've needed to connect to the console in order to do the usbrecovery install of 24.03, has had the issue.
I don't think it's actually a problem with the router, because I basically gave up and had work buy me a copy of Serial 2. Serial works absolutely flawlessly. Connects instantly and is perfectly responsive on my router.
All the same hardware, only difference was the routers. I can give you the serial numbers of each if you'd like to compare the hardware.
I seem to recall reading that older devices had a different firmware or something related to this. I'll see if I can dig up the reference in the changelog.
So I really don't know what could be going on here. Both devices are on 24.03, same cable, same everything. I don't know why the older one would have a problem with screen, yet work perfectly in Serial.
I can't give as many details but I even had trouble using Putty in Windows in a similar situation.
With regard to multiple instances, when it stops working, I just kill screen and can't connect to the device without unplugging and replugging. It seems like it should work fine, I give it all the exact same options I give Serial.
-
Hmm, as far as I know there has only ever been one version uboot that shipped on the 2100.
Does it stop responding in uboot? In the installer? Both equally?
I wouldn't expect much difference there because the USB/serial IC itself is separate from either.
-
@stephenw10 in my latest test on the older 2100, I was able to press enter to bring up the main menu, and then unable even to enter a single option right away. This is actually the worst it’s ever been.
And then I simply launch Serial, click on the usb device, and bam it’s right in and as responsive as a local terminal, better than screen ever did.
And on the other hand, same exact scenario as on the older device that doesn’t work at all, the newer device worked fine with screen, without any extra options except flow control, which made no difference on the older device.
I hope I’ve explained this clearly, I can’t see any consistent factor that could be causing a problem.
-
Just wiped and reinstalled my Netgate 2100 today, using included USB 2 A to USB 2 Mini-B + USB A->C adapter, plugged into a Mac M2.
I had no disconnects.
I choose XTerm when the option arose, if that makes any difference.
To find the serial connection - and then connect to it, I used the command:
% ls -l /dev/cu.* % sudo screen /dev/cu.usbserial-[replace with your results from above] 115200
-
Thing is, that worked perfectly for me on a newer one. But it doesn't work for me on older ones.
I did a little further experimentation last night and found that the one that gives me so much trouble in screen works just fine with PuTTY. It works fine with Serial on the Mac. Just not with screen.
I'm very confused here but the only actual problem seems to be with screen. It definitely isn't a hardware problem. Both PuTTY and Serial give a nice easy GUI way to specify the serial options. I even gave screen the exact command line to explicitly specify those options.
At this point I've given up and uninstalled the drivers on my Mac and took it back to "Full Security" in the Startup Settings. Work bought me a copy of Serial and it works great, PuTTY will work fine when I have a Windows computer.
I'm just chalking this up to a "me" issue since it seems the verbatim instructions from the manual work for everyone else.
-
@CarAnalogy I have only accessed my system over putty with Windows 10, and Windows 11, and OSX iMac 2009 era with a special set of software to access terminal sessions. Never putty on iMac