With Bill's continued patience, we have discovered that I had my wires crossed.
This MicroHAM III interface does not use DTR for PTT as I had believed but instead uses RTS. I had it exactly backwards and so selecting "PTT is DTR" in the software of course didn't do the right thing. "PTT is RTS" works much better. The non-existent schematic for the interface would have helped me see this light myself :-) I prefer to use CAT control for as much of this as possible so I will probably continue to run with my own patched version but I totally understand that the patch is probably not for general consumption. That was really not my intention anyway but I sent it to illustrate how I resolved the problem for myself. Thanks guys. I appreciate all the effort you put in to make this software available on Linux. 73 Chris N0JCF On Sunday (11/23/2014 at 10:50PM +0000), Bill Somerville wrote: > On 23/11/2014 22:43, Chris Elmquist wrote: > > Hi Bill, > Hi Chris, > > > > The following fixes it for me completely. I am then able to use CAT > > for PTT control without DTR being permanently asserted, > > > > As I suspected, an assumption was being made at initialization that if DTR > > and RTS were not forced on, that they would then be off. Not the case. > > So, this patch deasserts them if they are not chosen to be explicitly > > asserted at initialization. > I'm sorry, that patch is not acceptable. It might work for you but it > will break WSJT-X for anyone who has a serial interface that requires > full modem control. Again I state, there is no justification for > breaking the RS-232 protocol by forcing control lines unless the control > lines are being used exclusively for non-standard purposes. > > Please run the test version I sent you and send me the trace log please. > The code as it stands should work if you set the "PTT Method" to DTR and > I want to know why it is not working. > > > > Thanks for your help. I appreciate it. > > > > 73, Chris N0JCF > 73 > Bill > G4WJS. > > > > % diff -c wsjtx.orig/HamlibTransceiver.cpp wsjtx/HamlibTransceiver.cpp > > *** wsjtx.orig/HamlibTransceiver.cpp 2014-11-23 16:27:15.315429327 -0600 > > --- wsjtx/HamlibTransceiver.cpp 2014-11-23 16:29:39.899203879 -0600 > > *************** > > *** 196,205 **** > > --- 196,213 ---- > > { > > set_conf ("dtr_state", "ON"); > > } > > + else > > + { > > + set_conf ("dtr_state", "OFF"); > > + } > > if (TransceiverFactory::handshake_hardware != cat_handshake && > > cat_rts_always_on) > > { > > set_conf ("rts_state", "ON"); > > } > > + else > > + { > > + set_conf ("rts_state", "OFF"); > > + } > > > > switch (ptt_type) > > { > > > > > > On Sunday (11/23/2014 at 06:27PM +0000), Bill Somerville wrote: > >> On 23/11/2014 14:45, Chris Elmquist wrote: > >> Hi Chris, > >>> On Saturday (11/22/2014 at 07:08PM +0000), Bill Somerville wrote: > >>>>> I confirm that my PTT method is "CAT", that I am actually invoking the > >>>>> new version you sent, which the "About" box says, > >>>> PTT method CAT is definitely not correct if you have DTR connected to > >>>> PTT on the CAT port. > >>> OK. This is where there is a difference between how FLDigi is able to > >>> use hamlib and CAT. With FLDigi, I do use PTT method is CAT and do not > >>> have this issue. So, there must be a way to get the CAT port open and > >>> talking without asserting DTR (or RTS). > >> As I stated before, forcing modem control lines to non-standard states > >> is undesirable and a violation of the RS-232 protocol. It should only be > >> done when there is a specific reason for it. For example when a control > >> signal is to be used for a non-standard purpose. WSJT-X provides for two > >> non-standard purposes of modem control lines: > >> > >> 1) One of DTR or RTS may be used for controlling PTT on a transceiver, > >> this may be done either on the CAT control serial port or a separate > >> serial port dedicated to PTT control only. In this case the hamlib rig > >> initialization routine forces the control line being subverted to an OFF > >> state just after the serial port is opened. > >> > >> 2) One or both of DTR or RTS on the CAT serial port may be forced high > >> while the serial port is open for CAT control. This option is > >> specifically for certain interfaces that draw power from the RS-232 > >> control line(s). > >>> Since I have LEDs on the DTR and RTS signals (labeled as "PTT" and "CW" > >>> on the MicroHam interface), I can see that when FLDigi is sending CAT > >>> commands to the radio, these LEDs are NOT lit. So it is able to open > >>> the CAT port (/dev/ttyUSB0) and have a CAT chat without raising either > >>> of those two handshake signals. > >> OK but that is a subversion of the RS-232 protocol for no good reason. > >> It is not possible to open a serial port on Linux without raising DTR > >> and RTS, it is possible to force either or both of those control lines > >> off after opening the port. Fldigi may well be doing that, as does > >> WSJT-X via hamlib in the two specific cases above. > >>> Ideally, this is the solution I am looking for. > >> I see no reason to subvert the RS-232 modem control protocol for this > >> scenario, the hamlib library already deals with this situation by > >> forcing either DTR or RTS low when they are assigned to PTT. > >>> I am not a GUI programmer but from a functionality standpoint, in the > >>> ws(jt, pr) configuration where there is an ability to force DTR and RTS > >>> active, it seems that for my situation, having a setting to force them > >>> inactive would be what I need. You could nail them high or nail them > >>> low and then the application does not change their state ever if any of > >>> these "forcers" are set. > >> Sorry but that is not necessary and I would not propose such a change to > >> the hamlib developers. > >>>>> I have also tried PTT method is DTR with this version and I have the > >>>>> same issue. > >>>> OK, just to be sure, please confirm you had "PTT Method" set to "DTR" > >>>> and the "PTT Port" was set to the same COM port as the CAT serial port? > >>> Yes. Right. I did two experiments, first was to use PTT method is CAT, > >>> same as what I use for FLDigi and the second experiment was to use PTT > >>> method is DTR. In both cases, I get the same behavior with the rig > >>> going into transmit as soon as "wsjtx" is invoked. > >> Again I state, "PTT Method" of CAT is not going to work if you also have > >> the DTR (or RTS) modem control line connected to your rigs PTT line. > >>>>> So, will have to do some digging. Thanks for taking a look. I will > >>>>> start looking at source myself and see what I can figure out. > >>>> If the above settings are as stated then I can build a version with some > >>>> diagnostics that you can try for me to see what is really going on. > >>> That would be great if you are up for it. I certainly am and am happy > >>> to run tests and provide feedback. > >> OK, here is an RPM with diagnostic tracing enabled: > >> > >> https://dl.dropboxusercontent.com/u/4192709/wsjtx-1.4.0-rc3.x86_64-r4633.rpm > >> > >> install it and run up to the failure (you need to set "PTT Method" to > >> DTR) then exit. It will create a trace log file called: > >> > >> /tmp/WSJT-X_trace.log > >> > >> send me the file for analysis please? > >>> Chris N0JCF > >> 73 > >> Bill > >> G4WJS. > >> > >> ------------------------------------------------------------------------------ > >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards > >> with Interactivity, Sharing, Native Excel Exports, App Integration & more > >> Get technology previously reserved for billion-dollar corporations, FREE > >> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > >> _______________________________________________ > >> wsjt-devel mailing list > >> wsjt-devel@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/wsjt-devel > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > wsjt-devel mailing list > wsjt-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wsjt-devel -- Chris Elmquist ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ wsjt-devel mailing list wsjt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wsjt-devel