The Multiprotocol Quad Port (MPQP) device handler is a component of the communication I/O subsystem. The MPQP device handler interface is made up of the following eight entry points:
mpclose | Resets the MPQP device to a known state and returns system resources back to the system on the last close for that adapter. The port no longer transmits or receives data. | ||||||||||||||
mpconfig | Provides functions for initializing and terminating the MPQP device handler and adapter. | ||||||||||||||
mpioctl | Provides the following functions for controlling the MPQP device:
| ||||||||||||||
mpopen | Opens a channel on the MPQP device for transmitting and receiving data. | ||||||||||||||
mpmpx | Provides allocation and deallocation of a channel. | ||||||||||||||
mpread | Provides the means for receiving data to the MPQP device. | ||||||||||||||
mpselect | Provides the means for determining which specified events have occurred on the MPQP device. | ||||||||||||||
mpwrite | Provides the means for transmitting data to the MPQP device. |
The MPQP adapter software performs low-level BSC frame-type determination to facilitate character parsing at the kernel-mode process level. Frames received without errors are parsed. A message type is returned in the status field of the extension block along with a pointer to the receive buffer. The message type indicates the type of frame that was received.
For control frames that only contain control characters, the message type is returned and no data is transferred from the board. For example, if an ACK0 was received, the message type MP_ACK0 is returned in the status field of the extension block. In addition, a NULL pointer for the receive buffer is returned. If an error occurs, the error status is logged by the device driver. Unlogged buffer overrun errors are an exception.
Note: In BSC communications, the caller receives either a message type or an error status.
Read operations must be performed using the readx subroutine since the read_extension structure is needed to return BSC function results.
BSC message types are defined in the /usr/include/sys/mpqp.h file. The MPQP adapter can detect the following message types:
MP_ACK0 | MP_DISC | MP_STX_ETX |
MP_ACK1 | MP_SOH_ITB | MP_STX_ENQ |
MP_WACK | MP_SOH_ETB | MP_DATA_ACK0 |
MP_NAK | MP_SOH_ETX | MP_DATA_ACK1 |
MP_ENQ | MP_SOH_ENQ | MP_DATA_NAK |
MP_EOT | MP_STX_ITB | MP_DATA_ENQ |
MP_RVI | MP_STX_ETB |
The MPQP adapter detects many types of receive errors. As errors occur they are logged and the appropriate statistical counter is incremented. The kernel-mode process is not notified of the error. The following are the possible BSC receive errors logged by the MPQP adapter:
If status and data information are available, but no extension block is provided, the read operation returns the data, but not the status information.
Note: Errors, such as buffer overflow errors, can occur during the read data operation. In these cases, the return value is the byte count. Therefore, status should be checked even if no errno global value is returned.
The MPQP card is a 4-port multiprotocol adapter that supports BSC and SDLC on the EIA232-D, EIA422-A, X.21, and V.35 physical interfaces. When using the X.21 physical interface, X.21 centralized multipoint operation on a leased-circuit public data network is not supported. The MPQP card uses the microchannel bus to communicate with the adapter programmed I/O (PIO) and first party DMA (bus master).
The adapter has 512K bytes of RAM and an Intel 80C186 processor. There are 16 dedicated DMA channels between the RAM and the physical ports. The drivers and receivers for each of the electrical interfaces reside on a daughter board that is joined to the base card with two 60-pin connectors.
A shielded cable attaches to the 78-pin D-shell connector on the daughter board and routes all signals to a fan-out box (FOB). The FOB has nine standard connectors that support each possible configuration on each port. Standard 15-pin or 25-pin cables are used between the FOB and the modem for each electrical interface.
The following are the interfaces available on each port :
Port Configurations | |||||
Number | Port-0 | Port-1 | Port-2 | Port-3 | |
1 | EIA-232D | EIA-232D | EIA-232D | EIA-232D | |
2 | EIA-422A | EIA-232D | EIA-232D | EIA-232D | |
3 | V.35 EIA-232D | EIA-232D V.35 | EIA-232D EIA-232D | EIA-232D EIA-232D | |
4 | X.21 | EIA-232D | EIA-232D | EIA-232D | |
5 | EIA-422A | V.35 | EIA-232D | EIA-232D | |
6 | V.35 | V.35 | EIA-232D | EIA-232D | |
7 | X.21 | V.35 | EIA-232D | EIA-232D | |
8 | EIA-232D | EIA-232D | EIA-422A | EIA-232D | |
9 | EIA-422A | EIA-232D | EIA-422A | EIA-232D | |
10 | V.35 EIA-232D | EIA-232D V.35 | EIA-422A EIA-422A | EIA-232D EIA-232D | |
11 | X.21 | EIA-232D | EIA-422A | EIA-232D | |
12 | EIA-422A | V.35 | EIA-422A | EIA-232D | |
13 | V.35 | V.35 | EIA-422A | EIA-232D | |
14 | X.21 | V.35 | EIA-422A | EIA-232D |
The following modem interfaces are supported by each physical interface:
Call Establishment Protocol | |||
---|---|---|---|
Physical Interface | Leased | Manual Switched | Autodial |
EIA232-D | X | X | X |
EIA422-A | X | ||
V.35 | X | ||
X.21 | X | X* |
* Adheres to CCITT X.21 dial specifications.
The readx subroutine.
MPQP Error Identifiers for the Error Log in AIX Problem Solving Guide and Reference.
The mpconfig MPQP device handler entry point, mpwrite MPQP device handler entry point, mpread MPQP device handler entry point, mpmpx MPQP device handler entry point, mpopen MPQP device handler entry point, mpselect MPQP device handler entry point, mpclose MPQP device handler entry point, mpioctl MPQP device handler entry point.