Keyboard Shortcuts
Likes
Search
Attention QDX Linux users
#qdx
Hi all This applies only to Linux users.? I knew this a long time ago due to QSX development. But it got forgotten in the mists of time. Now in talking with Chris KC0TKS about an issue on RPi400 (no CAT) I remembered the problem.? On Linux systems (most distros) when a new Virtual COM Port gets plugged in, there's a process called ModemManager which tries to initialize it as a modem. It sends various commands to the port like a decades' old Hayes At modem. After a while it surely includes a carriage return in its mutterings and this causes QDX to think it is talking to a terminal emulator like PuTTY and it starts up the QDX Terminal applications menu. And then it won't talk to a CAT controller.? So on your Linux computer press Ctrl-Alt-T to open up a terminal window. Type (it is one line) : sudo systemctl status ModemManager.service To solve this problem you have to type these two commands to stop and disable the ModemManger: sudo systemctl stop ModemManager.service sudo systemctl disable ModemManager.service Now you should be able to plug in QDX afresh and it should work normally.? Unfortunately when your computer reboots this ModemManager nonsense will be restarted. So you have to add those two commands to a startup script so that they run every time your computer starts. On RPi and some other Linux systems the commands need to be entered in the file /etc/rc.local but this might not be the same on all Linux distros, I don't know.? These commands stop and disable the ModemManager service. QDX (and other similar COM Port emulations) will then work correctly and normally. I don't know of any reason in 2021 where typically you would need this ModemManager service to be running. If for some reason you do, there is some more complicated way to make ModemManager ignore specific devices, but I don't know all the details right now.? Yes, I will be adding this Linux ModemManager stuff to the manual.? 73 Hans G0UPL http://qrp-labs.com |
开云体育Hi, I think that sudo systemctl disable
ModemManager prevents the service from being
started automagically when the system boots but other software can
still start it if they depend on it. Maybe you will have better
luck with sudo systemctl mask
ModemManager which may survive a reboot. Disclaimer: I haven't tried this myself yet, YMMV. 73 Johan SM6LKM Hans Summers wrote:
|
Ah, finally an explanation for the communication dropouts that actually makes sense. The "RF in?the shack" just did not explain what I was seeing (and none of my other radios - digital or analog - were affected by this.?
After making these changes, I was still not able to send CAT commands to the QDX, but when I shut down WSJTX again, and started up putty, I was able to see that the device was in the terminal mode. After exiting, WSJTX was happy. I take that as a confirmation that the modem manager was actually the guilty party.? -- Karl Heinz - K5KHK |
Hi Karl Heinz I don't think this explains all cases of communications dropouts. I don't think we're dealing with only one particular cause here. But this Modem Manager can be the solution to at least a proportion of possible problems.? 73 Hans G0UPL http://qrp-labs.com -------- Original message -------- From: Karl Heinz Kremer - K5KHK <khk@...> Date: Sun, Nov 14, 2021, 10:25 PM To: [email protected] Subject: Re: [QRPLabs] Attention QDX Linux users #qdx Ah, finally an explanation for the communication dropouts that actually makes sense. The "RF in?the shack" just did not explain what I was seeing (and none of my other radios - digital or analog - were affected by this.? |
Hi Hans,
This does give a clue as to what might cause the CAT command to work but not the USB audio.? There may be a carriage return in some of the Windows system USB management programs.? I think that I will look into ways to monitor what is going over the USB link during USB startup in a Windows system. 73 Evan AC9TU |
A more specific way would be to add a udev rule that let ModemManager ignore this specific device. For example based on the USB ID.
With lsusb I found the ID: lsusb?-vt So the VID/PID for the QDX is: 0483:a34c. Then, create the following rule and reload udev. # create UDEV rules (as root) cat > /etc/udev/rules.d/80-qdx.rules << 'EOF' ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a34c", ENV{ID_MM_DEVICE_IGNORE}="1" EOF # Reload udev rules udevadm control --reload-rules && udevadm trigger You can show info to see if udev added the ignore tag (ID_MM_DEVICE_IGNORE=1) for ModemManager. udevadm info /dev/ttyACM0 73, Ben PA2ST |
开云体育Hans, the issue with Linux arises because the QDX presents its serial interface as a modem, or in emulation-speak possessing the Abstract Control Model (hence the /dev/ttyACM0 designation, rather than the more frequent /dev/ttyUSB0). These days dial-up modems are a rarity, but wireless modems, such as for GSM, 3G &c. are in common use. Rather than the drastic hack of disabling the Modem Manager, which may be needed to support other hardware, Ben's (PA2ST) suggestion (/g/QRPLabs/message/74652) of using a udev rule is a very sound & reliable solution. Much other SDR kit requires one or more udev rules under Linux. HTH, 73, Stay Safe, Robin, G8DQX
On 14/11/2021 15:30, Hans Summers
wrote:
|
Hi Hans,
?
QDX goes into terminal application mode when it receives a <CR> (carriage return).
CAT command does not include <CR>.?
However, when the Linux or Windows systems sends <CR> without user permission,
QDX goes into terminal application mode and USB audio is stops.
If so, can you change the command to enter terminal application mode?
For example, can it be changed to QDXTERM <CR>.
Are there any problems?
?
?73 syuji ota? JH3AQQ |
On Mon, Nov 15, 2021 at 01:44 AM, syuji ota wrote:
This is interesting, but I was able to enter the QDX menu system while watching the spectrum with baudline, and the audio never stops when I pressed enter and entered the menu. Was also able to send CAT commands, the audio only changes when going between RX/TX. I checked with the following commands: serial console: minicom -D /dev/serial/by-id/usb-QRP_Labs_QDX_Transceiver-if00 -c on baudline: parec --format=s16le --channels=1 --latency-msec=5 | ./baudline -stdin |
About stopping ModemManager. The service can be stopped and disabled, but it can still be started again by other dependencies. If you mask the service it should never start again. You can always unmask the service to start using it again.
If you are never going to use 4G/LTE modems (USB sticks or built into laptops). This is the easier solution. About masking and unmasking in the systemctl man page: mask: # systemctl disable --now ModemManager.service Removed /etc/systemd/system/multi-user.target.wants/ModemManager.service. Removed /etc/systemd/system/dbus-org.freedesktop.ModemManager1.service. |
Hi All,
toggle quoted message
Show quoted text
Some modem support routines would send the init sequence over and over periodically trying to re-init the Hayes modem. This might explain the occasional 'drop outs'. Lots of fun. On Sun, 14 Nov 2021, Hans Summers wrote:
Hi Karl Heinz |
With linux there are many solutions like using the RAW Io and having the
program do the management work.? Modem programs were for that, same as some of the terminal programs.? The trick or lack thereof is that linux does a lot for the user for serial streams not all of which are desired.? So avoid doing things that are simple but imply filter and character expansion are going to be trouble. I'd think programs for controlling radios?should do the right thing however.?? least FLDigi and WJST-X have not caused issues once the user group setting were correct under Ubuntu 19 and MINT19 for me. Allison ------------------------------- Please reply on list so we can share. No private email, it goes to a bit bucket due to address harvesting |
开云体育Are you suggesting that all you have to do is remove yourself from the "dialout" group and that will disable ModemManager? Chris - KC0TKS
On 11/15/21 1:31 PM, ajparent1/KB1GMX
wrote:
With linux there are many solutions like using the RAW Io and having the |
开云体育Chris, one rather doubts that that was the suggestion. Once a user is removed from the dialout group, all access to serial ports, of any sort, is removed. [It is possible to make going-against-the-grain arrangements to permit some specific access, but that rather defeats the simplicity of the dialout group.] On this Ubuntu, 18.04, modem manager is installed, but not active until it has been configured—usually via the GUI—to be. HTH, 73, Stay Safe, Robin, G8DQX (who rather wishes he didn't have the history to be
all-too-aware of this stuff) On 15/11/2021 21:20, Chris - KC0TKS
wrote:
|