# naive--so we disable them here.
#
Class2CQQueryCmd: AT # +FAQ=? query for copy quality capabilities
-Class2APQueryCmd: AT # +FAP=? not supported on this modem
-Class2SPLCmd: AT # +FSPL= Request to Poll
-Class2TBCCmd: AT # +FTBC= Phase C Trasmit Data Block Size
-Class2PHCTOCmd: AT # +FPHCTO= phase C timeout parameter
-Class2BugCmd: AT # +FBUG= HDLC frame tracing
+Class2APQueryCmd: none # +FAP=? not supported on this modem
+Class2SPLCmd: none # +FSPL= Request to Poll
+Class2TBCCmd: none # +FTBC= Phase C Trasmit Data Block Size
+Class2PHCTOCmd: none # +FPHCTO= phase C timeout parameter
+Class2BugCmd: none # +FBUG= HDLC frame tracing
int sub = 0;
int sep = 0;
int pwd = 0;
- if (doQuery(conf.class2APQueryCmd, s))
- (void) vparseRange(s, 3, &sub, &sep, &pwd);
+ // some modems don't support an AP-query command
+ if (strcasecmp(conf.class2APQueryCmd, "none") != 0) {
+ if (doQuery(conf.class2APQueryCmd, s))
+ (void) vparseRange(s, 3, &sub, &sep, &pwd);
+ }
if (sub & BIT(1)) {
saCmd = conf.class2SACmd;
modemSupports("subaddressing");
* Check if the modem supports polled reception of documents.
*/
u_int t;
- if (doQuery(splCmd | "=?", s) && FaxModem::parseRange(s, t))
- hasPolling = (t & BIT(1)) != 0;
+ // some modems don't support an SPL command
+ if (strcasecmp(splCmd, "none") != 0) {
+ if (doQuery(splCmd | "=?", s) && FaxModem::parseRange(s, t))
+ hasPolling = (t & BIT(1)) != 0;
+ }
/*
* Define the code to send to the modem to trigger the
* transfer of received Phase C data to the host. Most
if (modemServices & serviceType) { // when resetting at startup
atCmd(classCmd);
setupFlowControl(flowControl); // flow control
- atCmd(tbcCmd); // stream mode
+ // some modems don't support a TBC command
+ if (strcasecmp(tbcCmd, "none") != 0) {
+ atCmd(tbcCmd); // stream mode
+ }
atCmd(borCmd); // Phase B+C bit order
/*
* Set Phase C data transfer timeout parameter.
* do not support this command (or perhaps they
* hide it under a different name).
*/
- atCmd(phctoCmd);
+ if (strcasecmp(phctoCmd, "none") != 0) {
+ atCmd(phctoCmd);
+ }
(void) atCmd(cqCmds); // copy quality checking
(void) atCmd(nrCmd); // negotiation reporting
(void) atCmd(apCmd); // address&polling reporting
(void) atCmd(pieCmd); // program interrupt enable
- if (getHDLCTracing()) // HDLC frame tracing
+ // HDLC frame tracing
+ // some modems don't support a BUG command
+ if (getHDLCTracing() && strcasecmp(bugCmd, "none") != 0)
atCmd(bugCmd);
/*
* Force the DCC so that we can override
A largely unused option for modems supporting ITU-T.32, Class 2.1,
standards. This command would be used to query the capabilities of
sending and receiving SUB, SEP, and PWD frames.
+The value ``none'' may be used if the modem does not support any
+.B Class2APQueryCmd.
.TP
.B Class2BORCmd
The command to setup the bit order of sent and
and ``\s-1+FHT:\s+1'' status strings.
Note that many Class 2 modems do not support this facility,
which is largely used for diagnostic purposes.
+The value ``none'' may be used if the modem does not support any
+.B Class2BUGCmd.
.TP
.B Class2CIGCmd
The command used to set a polling identifier.
.TP
.B Class2PHCTOCmd
The command to use to set the Phase C timeout parameter (in seconds).
+The value ``none'' may be used if the modem does not support any
+.B Class2PHCTOCmd.
.TP
.B Class2PIECmd
(\fIClass 2.0 only\fP)
.TP
.B Class2SPLCmd
The command to use to enable a polling request.
+The value ``none'' may be used if the modem does not support any
+.B Class2SPLCmd.
.TP
.B Class2TBCCmd
The command to use to enable stream-mode communication between the
host and modem.
+The value ``none'' may be used if the modem does not support any
+.B Class2TBCCmd.
.TP
.B Class2XmitWaitForXON
Whether or not to wait for an