home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / DATACOM / DIVERSEN / SNAAOS2 / SNAAOS2.SCR (.txt) < prev   
Microsoft Windows Help File Content  |  1992-12-30  |  48KB  |  916 lines

  1. :userdoc.
  2. :prolog.
  3. :docprof fbc=no                           
  4.          duplex=sb                        
  5.          tipage=right                     
  6.          bodyhd0='Section'                
  7.          layout=1                         
  8.          ldrdots=yes.                     
  9. :title.
  10. :tline.User's Guide for the OS/2 SNA over Async Prototype Package
  11. :etitle.
  12. :author.James J. Martin
  13. :date.
  14. :address.
  15. :aline.F93A/B673
  16. :aline.RTP
  17. :aline.JJM at RALVM6
  18. :eaddress.
  19. :eprolog.
  20. :frontm.
  21. :tipage.
  22. :toc.
  23. :body.
  24. :h1.Abstract
  25. :p.This document is the user's guide for the SNA-A OS/2 prototype code.
  26. The code provided is PROTOTYPE code and is NOT a part of the
  27. OS/2 Communications Manager product.  All service issues and questions
  28. will be handled through the SNAASYNC forum on the IBMPC disk.  This
  29. package is available on both OS2TOOLS and MKTTOOLS disks.  The
  30. package is also available on CompuServe via the APPC Info Exchange Forum.
  31. The intent is to make the prototype available to any (internal and
  32. external) OS/2 Communications Manager customers.  If the package is
  33. distributed to external customers, the following  must be
  34. understood:
  35. :li.Distribution/service for this package may be stopped without notice.
  36. :li.Communications Manager's service organization MUST NOT BE called
  37. for anything dealing with this prototype.
  38. :eul.
  39. :h1.Introduction
  40. :p.SNA-A, also referred to as SNA over async or SDLC over async,
  41. is an extension to the SNA architecture allowing SNA traffic
  42. to flow across asynchronous (start/stop) communications lines.
  43. This document is the user's guide for the prototype code
  44. which enhances OS/2's Communications Manager (EE 1.3 and ES 1.0)
  45. with SNA-A connectivity.  An overview of SNA-A is
  46. provided, followed by a detailed description of how to install,
  47. configure and operate the prototype. Several appendices have been
  48. added to provide additional information.  I would recommend
  49. reading section 2 (SNA-A Background) and then Appendix A (Summary
  50. of the SNA-A protocol) before proceeding with sections 3 through
  51. 5 which discuss the prototype.
  52. :h1.Background
  53. :p.Early SNA simply ignored asynchronous communications. The thinking
  54. was that synchronous communications (e.g., SDLC) would be sufficient
  55. for any PC requiring remote connections into an SNA network.  This
  56. decision has caused many problems for many customers.  Work arounds
  57. developed to fill this void include
  58. protocol converters and (non IBM) SNA implementations which
  59. support some form of SNA over async communication (such as Hayes
  60. autoSync modems).  Since the PC's
  61. inception, there has been a requirement for SNA over async.
  62. :p.It is estimated that 40% of all data communications travels across
  63. asynchronous lines. The volume of asynchronous communications will
  64. continue to increase (as will the demand for SNA over async).  Some
  65. reasons for this include:
  66. :li.The number of PC's, especially laptops, in use will continue to
  67. increase.
  68. :li.The increase use of async dialup information services (e.g.,
  69. BBS, CompuServe, Dow Jones, etc.).
  70. :li.A growing requirement for remote any-to-any connectivity.
  71. :eol.
  72. :p.However, the key factor which will keep async as the
  73. dominant method of remote PC communications is technology.
  74. PC technology has generated laptops, notebooks, palmtops and pen based
  75. machines.  These new forms of PC's are forecasted to be the highest
  76. growing segments of the PC market.  Each of these machines rely heavily
  77. (if not solely) on asynchronous communications.
  78. :p.Additionally, PC technology has created the "type 2" COM port which
  79. provides separate tx and rx 16 byte deep FIFO's.  Such ports allow
  80. PC's to support async data rates of over 38.4 kbps.
  81. All PS/2's are shipped with a type 2 COM port on the system board.  The
  82. recently released "type 3" COM port (available on the system board COM
  83. port of the PS/2 MOD 90 and MOD 95) supports normal CPU memory mapped
  84. I/O or DMA I/O.  Furthermore the port provides hardware capabilities
  85. for a character hunt mode.  The type 3 COM port will allow the PC to
  86. support async protocols at  line speeds of 64 kbps comfortably.
  87. :p.Modem technology is keeping pace with PC async technology (in fact
  88. the modem industry is being driven by the PC industry).  The standard
  89. PC async modem is 2400 bps.  Within the next few years, the standard
  90. will be 9600 bps modems capable of supporting error correcting
  91. protocols and compression.  Asynchronous data link throughputs of
  92. 38.4 kbps will become the standard.
  93. :p.Two completely new forms of PC communications have emerged: RF modem
  94. and infrared. RF modem technology has created a new industry: mobile
  95. communications.  This technology uses cellular and RF packet networks
  96. (e.g., the Ardis network) modems which are all async based (at least
  97. at the DTE level). Infrared technology (available in some palmtops)
  98. allows unconnected, line of sight point to point communications. To
  99. the DTE, the infrared port looks like a COM port. Both of these
  100. technologies are really "application enablers".  They will provide
  101. the power of PC's to industries (such as the service industries) which
  102. in the past have not been able to exploit computers.
  103. :p.SNA-A will be able to exploit these future technological advances and
  104. trends. Today, the driving force behind SNA-A is the laptop market.
  105. SNA-A adds value by enabling laptops
  106. (as well as the existing base of PC's)
  107. to be remote SNA nodes without having to buy additional hardware
  108. adapters, special modems or  FEP's such as protocol converters. Any
  109. SNA customer with a salesforce has a requirement to be able to take
  110. their SNA applications "on the road".
  111. SNA-A is the IBM solution for this requirement.
  112. :p.Architecturally, SNA-A is quite simple to understand. SNA-A consists
  113. of an SNA tower using an SDLC data link, except instead of using
  114. synchronous hardware, it uses asynchronous ports.  Traditional
  115. SDLC has an SDLC protocol stack driving a low level synchronous
  116. MAC (machine access layer).  The MAC layer is responsible for
  117. sending and receiving frames across the wire.  SNA-A uses the same
  118. SDLC protocol stack (and consequently uses SDLC frames), but
  119. substitutes an asynchronous MAC in place of the synchronous
  120. MAC. Looking at the data on the wire, rather than seeing a bit oriented
  121. synchronous data stream, you now will see a character oriented start/stop
  122. data stream.  At the frame level on the wire, you will see SDLC frames
  123. using start/stop communications.
  124. :p.The SNA-A async framing MAC, defined internally by Architecture
  125. Working Paper (AWP) 224, is based on an ISO standard (3309)
  126. which defines  HDLC frame formats for start/stop communications.
  127. Appendix A describes the async framing technique in detail.
  128. :p.Since SNA-A defines a new SNA data link, both nodes must be equipped
  129. and configured properly (both must have async ports and both must
  130. have the port controlled by the same SNA-A data link).
  131. SNA-A can be used with a switched or nonswitched line, although it
  132. obviously is intended for dial-up lines. The typical customer scenario
  133. will have many remote SNA-A nodes which periodically dial into
  134. an office based SNA node supporting the same SNA-A link.  Therefore
  135. there is a requirement for a SNA node capable of
  136. supporting a large number of SNA-A ports. More importantly, this
  137. SNA "async concentrator" node must be scalable with respect to both
  138. performance and cost.  Furthermore, if the partner LU is not located
  139. on this node, either a gateway service or APPN network node capability
  140. is required to be able to route the session traffic.
  141. :p.Current available products which can serve as this async concentrator
  142. SNA node are AS/400 or OS/2 (via this prototype).  The AS/400
  143. is a very good choice since it can support many SNA-A ports.
  144. OS/2 can be used, however it has the limitation of supporting only
  145. 2 SNA-A ports.  Both the AS/400 and OS/2 are capable of being APPN
  146. network nodes and consequently can route LU6.2 session traffic into
  147. a customer's SNA network.  Future IBM SNA products will be introduced
  148. over the next several years which can also serve in this role.
  149. :p.The remote SNA node platforms can be either DOS (using NS/DOS,
  150. a memory light DOS APPC CPI-C  implementation available in 3Q92) or
  151. OS/2 (via this prototype).  Due to the layering within OS/2's
  152. Communications Manager, the SNA-A data link can be used by all
  153. SNA components: 3270 emulator, 5250 emulator, APPC/APPN, SNA Gateway.
  154. :h1.Overview of the OS/2 SNA-A Prototype
  155. :p.The OS/2 SNA-A prototype code relies on the existing SDLC support
  156. provided by Communications Manager (CM) EE 1.3 and ES 1.0.
  157. A CM SDLC data link requires the
  158. Multi Protocol Adapter (MPA).  The prototype code has replaced
  159. the bottem end of the SDLC stack which talked to the MPA and inserted
  160. the async framing MAC which talks to COM ports.  The prototype will
  161. support up to 2 COM ports (COM1 and/or COM2).  Examples of COM ports
  162. supported:
  163. :li.PS/2 system board COM port
  164. :li.Dual async adapters
  165. :li.MultiProtocol Adapters (MPAs) configured for async
  166. :eol.
  167. :p.A point which needs to be stressed, the SNA over async support is
  168. completely separate from the current CM async support (ACDI). In
  169. fact with the initial release of the prototype (we may or may not
  170. fix this), you can not have ACDI loaded. Consequently, you can not
  171. dedicate one COM port for ACDI and one for SNA-A.
  172. :p.This new data link (let's call it ADLC) is really
  173. fooling CM into thinking that it is an SDLC data link.  Therefore,
  174. the operation of the ADLC data link is done using the SDLC
  175. support of CM.  To activate and deactivate
  176. the ADLC data link, you would use the CM subsystem data link control
  177. facilities by selecting SDLC.   Also, to configure the ADLC data link,
  178. you would use the SDLC configuration screens.  When you specify
  179. the SDLC Adapter 0, this translates to COM1.  SDLC Adapter 1 translates
  180. to COM2.
  181. :p.Because this new data link shares features of the SDLC stack, it also
  182. inherits the limitations.  For example, as CM can only support up
  183. to 2 SDLC ports (and only 1 on AT's),  CM can only drive up to 2 SNA-A
  184. ports.  Our implementation limits the SDLC stack to support either 2 SDLC
  185. ports OR 2 COM ports, not 1 of each.  One limitation not inherited is
  186. on an AT, CM will be able to support 2 SNA-A ports.
  187. :p.As with SDLC, the ADLC data link can be used across a switched or
  188. unswitched link.  A serial cable (either 9 pin "D" shell connector
  189. or a 25 pin  RS-232 connector depending on the machine) is obviously
  190. required.  A switched link requires a modem and a nonswitched link
  191. will require either a modem eliminator or a NULL modem cable configured
  192. to connect 2 serial ports directly together.
  193. :p.Configuration of the ADLC data link is done using the CM SDLC config
  194. panels.  We have introduced several optional async specific config
  195. parameters as well.  For example, the data rate, the transparency
  196. level or an autodial modem command string are configurable options
  197. supported by the prototype.  This type of configuration data is entered
  198. in the config.sys "DEVICE" statement of the ADLC device driver.
  199. Configuration will be discussed in detail later in this document.
  200. :p.Some miscellaneous pieces of information concerning the prototype:
  201. :li.Autobaud detect is not supported (although a later section will
  202. explain how some modems can provide a work around).
  203. :li.A limited form of transparency level negotiations (see appendix A)
  204. has been implemented.  The transparency level is configurable
  205. however, we are not able to dynamically change the transparency
  206. level as specified by the transparency negotiations protocol.
  207. :li.The max supported data rate is currently 38. 4kbs on 386 PS/2's
  208. (however, an AT is limited to 4800 bps).
  209. :li.The normal async line configuration (in fact the default)
  210. is 8 data bits per character, 1 start and 1 stop bit with
  211. no parity.
  212. :li.Currently the implementation prevents other async drivers from
  213. being loaded (e.g., COM02.SYS and ACDI drivers).
  214. :eol.
  215. :h1.Installation and Configuration of the Prototype
  216. :p.The steps to install and configure the prototype are summarized
  217. below.  We will explain each step in detail.
  218. :li.Install/configure the hardware
  219. :li.Install the prototype code
  220. :li.Configure Communications Manager for an SDLC data link
  221. :li.Configure the rest of SNA as needed
  222. :li.Configure the config.sys  async specific options
  223. :eol.
  224. WARNING:  With the current release of the prototype, make sure that
  225. CM's async support (ACDI) is not loaded AND OS/2's async device drivers
  226. (COM01.SYS, COM02.SYS) are not loaded!!!!!!!!!!!
  227. :h2.Install and configure the hardware.
  228. :p.The prototype supports only COM1 or COM2 ports.  Using a reference
  229. disk, verify that the COM port(s) to be used are setup for either
  230. serial 1 (COM1) or serial 2 (COM2).  On an L40 (and any other laptop),
  231. verify that the COM port is activated as well.
  232. :h2.Install the prototype code.
  233. The following assumes CM has been installed with SDLC configured.
  234. The SDLC CM support requires 2 modules:
  235. :li.C:\CMLIB\SDLCDD.SYS
  236. :li.C:\CMLIB\DLL\ACSSDDLC.DLL
  237. :eol.
  238. :p.If you do not have these modules, you can manually pull the files
  239. from the installation diskettes or you can do a REINST of CM to
  240. get them.  The only one you will need for SNA-A is ACSSDDLC.DLL.
  241. The prototype code replaces SDLCDD.SYS.
  242. :p.The prototype has only 1 module which needs to be loaded onto the
  243. system.  This module is effectively replacing the existing SDLC
  244. device driver (c:\cmlib\sdlcdd.sys).
  245. :li.First, create a new directory c:\cmlib\async
  246. :li.Next,  copy the module into this directory using
  247. the module name  "ADLCDD.SYS"
  248. :li.Next, in the file c:\config.sys,  comment out
  249. the existing DEVICE=C:\CMLIB\SDLCDD.SYS statement if it exists
  250. by adding an REM in front of the line (REM DEVICE=C:\CMLIB\SDLCDD.SYS).
  251. Then add a new device driver statement for the SNA-A device driver
  252. (DEVICE=C:\CMLIB\ASYNC\ADLCDD.SYS).
  253. :eol.
  254. :h2.Configure CM for an SDLC data link.
  255. :p.In this step, you follow the CM screens to create an SDLC data link.
  256. If one exists, you can use it.  The config sequences to do this
  257. can be summarized as:
  258. :li.Go into the CM main menu
  259. :li.Select Advanced
  260. :li.Select Configuration
  261. :li.Select SNA Feature Profiles
  262. :li.Select Data Link Control Profiles
  263. :li.Select SDLC
  264. :li.Select which adapter you want to use (Adapter 0 implies COM1,
  265.  Adapter 1 implies COM2)
  266. :li.Select if you are creating, changing or displaying the SDLC link
  267. :li.All default SDLC profile configurations are ok, the options which
  268. you probably need to set:
  269. :li.switched or nonswitched
  270. :li.primary/secondary/negotiable (if unsure select negotiable)
  271. :li.select modem rate (full speed implies 9600 bps, half speed implies
  272. 2400 bps).
  273. :eol.
  274. :li.Hit Enter when done with this screen.  A DSR timeout value of 5
  275. minutes is fine.
  276. :li.Hit Enter again and select the local station address. Any value
  277. 0x01-0xFE is fine. Then select an XID repoll and non-XID repoll count
  278. :li.Hit Enter and you should get a message indicating the profile has
  279. been saved.
  280. :li.Hit the ESC key until you are prompted to Verify the configuration
  281. :li.After the Verify is completed you need to shutdown CM and bring
  282. it back up for the config changes to take affect.
  283. :eol.
  284. :h2.Configure the rest of SNA as needed.
  285. :p.Configure your SNA node as needed.  Whenever you need to map a logical
  286. link to the ADLC data link, use SDLC.  For example, the following is
  287. an excerpt from a wrkbase.ndf file (e.g., NS/2) defining a logical
  288. link using the COM1 port.
  289. :xmp.
  290. DEFINE_LOGICAL_LINK  LINK_NAME(ASYNCLNK)
  291.               ADJACENT_NODE_TYPE(LEARN)
  292.               DLC_NAME(sdlc)
  293.               ADAPTER_NUMBER(O)
  294.               CP_CP_SESSION_SUPPORT(YES)
  295.               ACTIVATE_AT_STARTUP(NO)
  296.               PREFERRED_NN_SERVER(NO)
  297.               LIMITED_RESOURCE(NO)
  298.               LINK_STATION_ROLE(USE_ADAPTER_DEFINITION)
  299.               FQ_ADJACENT_CP_NAME(USIBMSER.ASYNC_O1)
  300.               COST_PER_CONNECT_TIME(USE_ADAPTER_DEFINITION)
  301.               COST_PER_BYTE(USE_ADAPTER_DEFINITION)
  302.               DESCRIPTION(Sample sdlc link to served EN);
  303. :exmp.
  304. :p.This link definition would be necessary only if the SNA-A link defines
  305. a logical link to an adjacent network node.
  306. :p.If you are going to configure the 3270 emulator to use the ADLC data
  307. link, simply configure the emulator to use SDLC. Likewise for the
  308. SNA Gateway.  Refer to Appendix B for configuration examples.
  309. :h2.Configure the async specific options.
  310. :p.Since this prototype did not touch any higher layer code of CM (e.g.,
  311. the configuration code), we needed a mechanism by which we can
  312. configure async related options specific to the ADLCDD data link.
  313. We used OS/2's mechanism of supplying parameters to device drivers
  314. at initialization time.  In config.sys, each "DEVICE" statement
  315. can have an ascii string of characters which is made available
  316. to the device driver. The negative of this mechanism is whenever
  317. you want to change one of the config params, you must reboot the
  318. machine.  The positive side, is that for normal use, these async
  319. specific config options are not necessary.  The default values
  320. for most situations should be sufficient so that no parameters
  321. are required.
  322. :xmp.All config options must be entered in the following
  323.      format:   "/"<command id>{port id}="data"
  324. For example:
  325.          DEVICE=C:\cmlib\async\adlcdd.sys /N0=1  /T=2
  326. **********************************************************
  327. *WARNING: There can not be any spaces in this line except
  328. *         between config options. There CAN NOT be any
  329. *         spaces within a config option!!!!!!!!!!!!!!!!!!
  330. **********************************************************
  331. :exmp.
  332. :p.Some comments concerning the command line syntax:
  333. :li.The command id (in our example, N and T) specifies the
  334. config option.  It must be in capital letters.
  335. :li.The port id is optional.  This specifies which port (0 or 1)
  336. the config option will apply to.  If this is not specified
  337. then the option will be done to both ports.
  338. :li.Port 0 maps to COM1 and Port 1 maps to COM2!!!!!!!!!!!!!
  339. :li.The data field is the data for the command.  It usually will
  340. be a single character.
  341. :esl.
  342. :p.If an option command is not in the correct format, the prototype
  343. simply ignores it- no error message is generated!!!!!!!!!!!!!!!!
  344. So if you are trying to autodial but nothing is happening, recheck
  345. the syntax of the config command.  The most likely problem is
  346. a blank space used.
  347. :p.Available option commands and data values:
  348. :xmp.
  349.  /T<O|1>={O|1|2}  This specifies the transparency level
  350.                   to be used.  Note that a different level
  351.                   might be negotiated.
  352.                   The data:
  353.                       O implies Basic transparency
  354.                       1 implies Flow control transparency
  355.                       2 implies Full transparency
  356. :exmp.
  357. :p.Refer to Appendix A which explains the async protocol.
  358. Transparency is described there.
  359. :p.The default is flow control and will be used in 99% of the time.
  360. In fact, the default for all current SNA-A implementations
  361. (PCS,AS/400,NS/DOS and OS/2) is flow control transparency.
  362. :p.Full transparency implies control character transparency and
  363. 7 bit data (as opposed to 8 bit data) using 1 start, 1 stop
  364. bit and even parity.  Note that Basic and flow control
  365. transparency implies 8 bit data, 1 start, 1 stop bit, no parity.
  366. :xmp.
  367. /N<O|1>={O|1|2} This configures transparency negotiations
  368.                 to be performed by the node.
  369.                     O   implies transparency negotiations
  370.                         are disabled.
  371.                     1   implies transparency negotiations
  372.                         are enabled and this node will
  373.                         act as the calling party.
  374.                     2   implies transparency negotiations
  375.                         are enabled and this node will
  376.                         act as a called party.
  377. :exmp.
  378. :p.Refer to Appendix A for a description of transparency
  379. negotiations.
  380. :p.For a switched connection, the default is transparency negotiations
  381. are enabled and the role (caller or called party) does not
  382. matter (it is determined dynamically).
  383. :p.For unswitched, the default is to disable transparency negotiations.
  384. If you want to enable transparency negotiations for an unswitched line,
  385. you must use this config param and the 2 partners must be
  386. configured with different roles (one must be a caller and
  387. one must be a called).
  388. :p.The only time you need to use this config option is if you
  389. are unswitched and you want transparency negotiations.
  390. If you want to connect with PCS and NS/DOS over an unswitched,
  391. you must configure the OS/2 node with transparency negotiations
  392. enabled and and as a called party (/N=1).  This is because
  393. both PCS and NS/DOS require transparency negotiations and
  394. are limited to being a caller only.  If you are connecting
  395. to an AS/400 over an unswitched line (if going over a switched
  396. line you don't need this config param), you must configure this
  397. OS/2 node with transparency negotiations enabled and as a
  398. caller (/N=2).  This is because the AS/400 requires all partners
  399. to implement transparency negotiations and it assumes a
  400. called party role.
  401. :xmp.
  402. /B<O|1>={O|1|2|3|4|5}  This configures the data rates.
  403.      data rate values:
  404.           O: 12OO;
  405.           1: 24OO;
  406.           2: 48OO;
  407.           3: 96OO;
  408.           4: 19.2k;
  409.           5: 38.4k;
  410. :exmp.
  411. :p.If the CM config option "full speed" is set, then the
  412. data rate used is the option provided.  If configured
  413. for half speed, we drop the data down by 2 speeds.
  414. For example, if you use /B=3 (9600 bps) but have the config option
  415. set for half speed, then the actual data rate will be 2400 bps.
  416. :p.Exceptions to this are if you specify config line options
  417. of 1200 or 2400 bps.
  418. If you use /B=1 (2400), then for half speed this results in
  419. a data rate of 1200 bps.  If you use /B=0 (1200), then half speed
  420. has no effect- the data is still 1200 bps. Therefore, the
  421. lowest speed the prototype supports is 1200 bps.
  422. :p.The default (if no config params are given) will be 9600
  423. bps for full speed, 2400 bps for half speed.
  424. :xmp.
  425. /D<O|1>="{ascii string up to 128 characters}"
  426.        This is a modem init string which is output
  427.        to the modem at each link activation.   Autodial
  428.        can be performed this way.  For example, if you
  429.        wanted to auto dial the phone # 9-123-4567 out COM1
  430.        port, the config data should be:
  431.              /DO="AT DT 9-123-4567"
  432.    ********************************************************
  433.    * WARNING:  Be careful of illegal spaces.  For example,
  434.    *           the following is not allowed:
  435.    *                 /D0= "AT DT 9-123-4567"
  436.    ********************************************************
  437. :exmp.
  438. :p.The string must be encased in quotes.
  439. The first 2 ascii characters of the string must be AT to
  440. wakeup the AT command set of the modem.
  441. The string must be a valid AT command string.
  442. Mulitple commands can be sent in the same string.  For example,
  443. if you wanted to keep the same autodial command, AND you
  444. want to enable the speaker audio output from the modem ..
  445. :p./D0="AT M1 DT 9-123-4567"
  446. :p.Consult the users guide of the modem for a description
  447. of the AT command set (or any other commands the modem
  448. can respond to).  Also refer to Appendix C for configuration
  449. information for particular modems.
  450. :h1.Current Status of the Prototype
  451. :p.We have tested the prototype as follows..
  452. :li.up to 38.4 kbps on an unswitched link
  453. :li.up to 9600 bps on a switched link
  454. :eol.
  455. :p.We have tested with the following modems ..
  456. :li.IBM 5853 and 7855
  457. :li.L40's internal modem
  458. :eol.
  459. :p.  (note: see Appendix C for details on configuring these modems.)
  460. :p.The following is planned on being added to the prototype in the
  461. near future:
  462. :li.Add modem to DTE flow control so that modem features such as
  463. modem to modem error correcting protocols and modem compression
  464. can be supported.
  465. :eol.
  466. :p.The following are known bugs:
  467. :li.For version ES 1.0, autodial does not work (it does work in
  468. EE 1.3 however). This will be fixed in the next release.
  469. :li.For OS/2 (versions 1.3), if a session is active across the
  470. ADLC data link (e.g., an APPC TP), and then if you
  471. go into the DOS box the TP will end in an error although
  472. the data link remains alive.
  473. :eol.
  474. :h1.Appendices
  475. :h2.Appendix A Summary of the Async Protocol
  476. :p.SNA-A implies an SDLC stack driving an async MAC.  The async MAC is
  477. based on an ISO standard (3309) for HDLC framing across start/stop
  478. communications lines.  The framing MAC can be summarized as follows:
  479. :p.The frame format used across the wire is the same as that defined by
  480. SDLC and HDLC with 2 exceptions:
  481. :li.start and stop bits that delimit each character
  482. :li.characters inserted for transparency as opposed to bit
  483. insertion techniques
  484. :eol.
  485. :p.The HDLC/SDLC frame format is illustrated below:
  486. __________________________________________________________
  487. |  FLAG  | ADDR | CONTROL|      I field     | FCS |  FLAG |
  488. ----------------------------------------------------------
  489. :exmp.
  490. :p.The difference between an SDLC frame and an SDLC over async frame is
  491. that SNA-A frames are no longer a synchronous bit stream.
  492. The bit stream is divided into characters
  493. (typically 8 bits per character)
  494. with each character surrounded with a start and stop bit.
  495. Therefore, this protocol immediately has a 20 percent
  496. performance loss over traditional SDLC due to the overhead
  497. involved with the S/S bits.  Although, modems which implement
  498. error correcting protocols (e.g., MNP) use synchronous communications
  499. across the wire.  This will not eliminate the performance degradation
  500. (due to the overhead involved with the modem protocol) but it will
  501. normally be less than  20%.
  502. :p.Traditional SDLC (and HDLC) uses bit insertion and bit deletion
  503. for data transparency.  This means that if the flag symbol (6
  504. consecutive 1's followed by a 0) occurs within a frame (in between
  505. the start and stop flags), the transmitter will insert a 0
  506. after the fifth consecutive 1 to hide the flag sequence.  If the
  507. receiver receives 5 consecutive 1's followed by a 0, then it
  508. will delete the 0 from the data stream.  This guarantees that
  509. the flag symbol will never occur within a frame.
  510. :p.The SNA-A version of transparency is character oriented rather
  511. than bit oriented. For example, if the flag character occurs
  512. in the frame (a flag is the character
  513. 0x7E), we hide the character with the use of an escape character
  514. followed by the original character with its sixth bit inverted.
  515. Hence the framing protocol has the essence of older character
  516. oriented data link protocols such as BSC.
  517. :p.However this introduces another special character
  518. (the escape character)
  519. which must also be hidden if it occurs in the frame.  Therefore the
  520. following character transparency  is performed by the transmitter.
  521. :li.(FLAG) 0x7E  ->  gets transmitted as  0x7D, 0x5E
  522. :li.(ESCAPE) 0x7D  ->  gets transmitted as  0x7D, 0x5D
  523. :eul.
  524. This is known as the basic transparency level.
  525. :p.The ISO standard (and the IBM architecture) identifies 2 further
  526. levels of character transparency.  Each further level is optional
  527. and the partners must either negotiate or must be statically
  528. configured to operate at the same transparency level.
  529. :p.Flow control transparency is meant to hide XON/XOFF characters
  530. within the frame.  Obviously, this level of transparency is
  531. used if XON/XOFF flow control  active.  All IBM implementations
  532. use this level of transparency as the default level.  Flow
  533. control transparency is defined as:
  534. :li.(XON) 0x11   -> gets transmitted as 0x7D, 0x31
  535. :li.(XOFF)0x13   -> gets transmitted as 0x7D, 0x33
  536. :li.(FLAG) 0x7E   -> gets transmitted as  0x7D, 0x5E
  537. :li.(ESCAPE) 0x7D   -> gets transmitted as  0x7D, 0x5D
  538. :eul.
  539. :p.The final level of character transparency is control character
  540. transparency.  This is meant to hide non-ascii characters.
  541. It includes basic and flow control transparency.  Additionally,
  542. characters in the range 0x00-0x1f plus a 0x7f character get
  543. hidden using the same transparency method as defined above.
  544. :p.In addition to character transparency, the async framing
  545. protocol handles 7 bit data networks.  7 bit data transparency
  546. is a technique allowing 8 bit characters to flow across a 7 bit
  547. async data wire.  7 bit data transparency
  548. must be either negotiated dynamically at link bringup or
  549. statically configured.
  550. :p.The transparency algorithm  is fairly
  551. straight forward.  The source data (8 bit characters) is divided
  552. into blocks of 7 characters.  For each block of 7 characters
  553. sent out on the wire, an eighth character is additionally transmitted.
  554. This eighth character, the suffix byte, contains the most
  555. significant bit of each preceeding 7 bytes of the source block.
  556. The receiver would need to collect the first 7 characters of
  557. each incoming block and when the
  558. 8'th character is received, it regenerates the original 7 data bytes.
  559. :p.If the source block contained less than 7 characters (e.g., the
  560. final block of a frame), the suffix character would have its most
  561. significant bits (ie., the unused bits) cleared.  The receiver
  562. detects this case if it receives the end of frame flag and
  563. if it has not received a full 7 byte block of characters.
  564. :p.When a link is activated, prior to any SNA XID exchanges, a process
  565. know as transparency negotiations is performed.  Transparency
  566. negotiations (which is not a part of the ISO standard) allows
  567. 2 partners to negotiate:
  568. :li.data rate
  569. :li.character format (7 or 8 bits/character, even/odd or no parity)
  570. :li.the transparency level (basic,flow or full: full transparency
  571. implies control character transparency plus 7 bit data
  572. transparency).
  573. :eol.
  574. :p.Transparency negotiations works as follows.  There is a called party
  575. and a caller party (this is the transparecy role configured for
  576. the station). Several IBM SNA-A products have a fixed transparency role.
  577. For example, NS/DOS is always a caller and AS/400 is always a called
  578. party.  The OS/2 prototype can be either or none, it is a configurable
  579. option (using the "/N" config parameter).
  580. :p.The caller party ALWAYS initiates the link bringup.  It will xmit
  581. a series of NULL XID frames. Once the called party has received
  582. 3 good NULL XID frames, it responds by xmitting a matching series
  583. of NULL XID frames.  Since it is a known pattern being sent, the
  584. called party can do autobaud detect.  The frame is sent by the
  585. caller using its desired transparency level.  All IBM products
  586. use either flow control or full transparency.  The called party
  587. is able to determine the tranparency level by looking at the
  588. NULL XID data.  After this exchange of NULL XID's,
  589. normal SNA XID exchange occurs and the link comes up.
  590. :h2.Appendix B:  Configuration examples
  591. :p.The OS/2 prototype can currently connect with:
  592. :li.another OS/2 machine also configured with the ADLC link
  593. :li.NS/DOS configured with the async router
  594. :li.AS/400 (limited to just APPC over async)
  595. :eol.
  596. :p.1.To connect OS/2 to OS/2:
  597. :p.For a switched connection, no config.sys DEVICE parameters are
  598. necessary.  Select half speed in the SDLC adapter config if
  599. using 2400 bps modems.  Otherwise, full speed implies 9600 bps.
  600. Although, if you want autodial enabled, you must have the "/D"
  601. config.sys parameter.
  602. :p.For an unswitched connection, if no config.sys parameters are used,
  603. the default is to bypass the transparency negotiations.
  604. If you want to enable transparency negotiations, you must specify
  605. the "/N" parameter, and you must make one partner a caller and
  606. the other a called party!!!!!
  607. :p.The OS/2 3270 emulator can be configured with the ADLC data link.
  608. You can configure an office based machine which has, for example, an
  609. upstream T/R connection to a host as a SNA gateway with downstream
  610. ADLC connections to remote 3270 sessions.  The trick to this
  611. configuration is each ADLC data link configuration must be configured
  612. for a max RU size to be the same as the max RU size used in the upstream
  613. T/R connection to the host.
  614. :p.2.Connecting NS/DOS to OS/2:
  615. :p.NS/DOS supports only a secondary SDLC link station only.
  616. Therefore, make sure to configure the OS/2 ADLC link as either
  617. negotiable or primary role.
  618. :p.NS/DOS requires a partner to participate in transparency negotiations.
  619. Therefore on a switched data link, do not disable transparency
  620. negotiations.   Since the OS/2 prototype  learns dynamically
  621. what transparency negotiations role it must be, you don't have to
  622. specify the role.  However, if using an unswitched connection, you
  623. must specify the OS/2 station to be the called party (e.g., /N=2).
  624. NS/DOS is always going to be a caller role.
  625. Note that this also implies OS/2 can not initiate the connection.
  626. It must be NS/DOS which initiates a connection, this is true for
  627. both switched and unswitched connections.
  628. :p.THEREFORE, you must not enable autodial on the OS/2 side!!!!!
  629. :p.The following is a sample NS/DOS CONFIG.NSD for SDLC over Async
  630. connection to OS/2.
  631. :xmp.
  632. NSDC ASYN
  633. NSDN USIBMZP1.JOE
  634. SDLD RALAS101,01
  635. SDLF HALF
  636. ASBR 2400
  637. //IF THE PCs ARE DIRECTLY CONNECTED ..
  638. //SDLT NONSWTPP
  639. //IF MODEMS ARE USED ..
  640. SDLT SWTPP
  641. SWAD ATDT 9-123-4567
  642. :exmp.
  643. :p.3.Connecting OS/2 to AS/400:
  644. :p.The AS/400 implementation requires OS/2 to be configured as a
  645. secondary link station.
  646. :p.If you are using NS/2, the OS/2 SNA node must be configured
  647. as an end node (EN) and NOT a network node (NN).
  648. :p.The AS/400 requires all partners to participate in transparency
  649. negotiations.  Using a switched link, a "/N" parameter is not
  650. necessary since the OS/2 prototype will default to using
  651. transparency negotiations over a switched link.
  652. For an unswitched connection, you must configure the OS/2
  653. SNA-A data link to be enable transparency negotiations and
  654. to be a caller role (e.g., "/N=1").
  655. The AS/400 is always a called party.
  656. Note this implies the AS/400 can not initiate a connection-
  657. it must be the OS/2 side.
  658. :p.The AS/400 SNA-A support was originally done just to support
  659. PC/Support on DOS.  It does work with our OS/2 SNA-A implementation.
  660. To configure the  AS/400 side, you can make use of some configuration
  661. tools which were really for PCS, but we can use them as well.
  662. PCS simply provides a user friendly front end to create several
  663. "descriptions" required by the AS/400 APPC implementation.
  664. :p.The following shows how to configure the AS/400 using the PCS
  665. config tools.  We show each config screen.  You can accomplish
  666. the same without PCS by manually creating the descriptions.
  667. :xmp.
  668. AS/4OO Side
  669. -----------
  670. Add a PC support user
  671. - On the AS/4OO Main Menu, select option 11,
  672.   PC Support tasks.
  673. - Select option 21, Enroll PC Support users.
  674. - You will need to fill out the User profile and
  675.   User ID fields. Both of these fields should be
  676.   to match the partner's network name.
  677. - The Address field should automatically default to the
  678.   name by which the AS/4OO is known on the network.
  679. - Press Enter and you should return to the PC Support
  680.   Task menu.
  681. ----------------------------------------------------
  682.                           Enroll PC Support Users
  683.    Type choices, press Enter.
  684.      User profile . . . . . .  JOE
  685.      User identifier:
  686.        User ID  . . . . . . .  JOE
  687.        Address  . . . . . . .  RALAS1O1
  688.      User description . . . .  Joe Smiths access to system.
  689.   F3=Exit   F12=Cancel
  690. ---------------------------------------------------------
  691. Configure PC support connections.
  692. - From the PC Support Task menu, select option 22,
  693.   Configure PC Connections.
  694. - Select option 5 for Asynchronous communications.
  695. - On the Add PC to ASYNC connection screen you will need
  696.   to supply the following information.
  697. Device Description - This is the network name of the
  698.                      partner SNA-A node.
  699. Port number        - This is the port on the AS/4OO work
  700.                      station controller that the line from
  701.                      the PC is physically connected to.
  702.                      This must match.
  703. Attachment type    - This is the type of attachment you
  704.                      will be using.  This can be either
  705.                      direct or through a modem.
  706. Attached controller- Specifies the name of the controller
  707.                      to which the device is connnected.
  708.                      The first available controller name
  709.                      is the default.  PF4 will display a
  710.                     list of ASCII workstations controllers
  711.                      on your system.
  712.                      SNA-A can only communicate through an
  713.                      AS/4OO ASCII workstation controller.
  714. --------------------------------------------------------
  715. :exmp.
  716. :xmp.
  717.                    Add PC to ASYNC Connection
  718. Type choices, press Enter.
  719. Device description . . .JOE      Name
  720. Port number  . . . . . .1        O-17
  721. Attachment type  . . . .*MODEM   *MODEM, *DIRECT, *PTT
  722. Attached controller  . .CTLO2    Name, F4 for list
  723. F3=Exit   F4=Prompt   F12=Cancel
  724. ---------------------------------------------------
  725. To configure or add a SNA-A connection attached to
  726. an ASCII work station controller on your AS/4OO system,
  727. you must  create a configuration description
  728. for the partner on the AS/400.
  729. To create a configuration description, go to the Work with
  730. Device Device Descriptions display.
  731. 1) On any display with a cmd line, type WRKDEVD *LCLDSP.
  732. 2) On the Work with Device Descriptions display, press
  733.    PF6 (CREATE).
  734. You will need to supply the following information.
  735. :exmp.
  736. :xmp.
  737. Device description- Specifies the user defined name
  738.                   of the device description.
  739. Device class    - Specifies the device class for the PC.
  740.                   Enter *LCL for this field.
  741. Device type     - Specifies the type of device which the
  742.                   description represents. Enter 515O
  743.                   for this field.
  744. Device model    - Specifies the model number of the device
  745.                   for this description. Enter A1
  746.                   for this field.
  747. Port number     - Must match the physical port to
  748.                 which the modem or line is attached on the
  749.                   AS/4OO.  Read the "Determining the ASCII
  750.                   port address" section which follows to
  751.                   determine an available port number.
  752. Physical attachment - Used to describe whether the
  753.                       partner is directly attached to the
  754.                       AS/4OO or through a modem.
  755. Online at IPL  - Specifies if device should be
  756.                  automatically varied online at IPL.
  757.                  Use the default of *YES.
  758. Attached controller - The attached ASCII Controller name.
  759.                       Read the "Determining the ASCII port
  760.                       address" section which follows to
  761.                       determine the correct attached
  762.                        controller.
  763. Keyboard language type- Specifies the country keyboard
  764.                       laguage identifier for the attached
  765.                       PC. Enter the default of *SYSVAL.
  766. Inactivity timer  - Specifies a inactivity timeout value
  767.                     for the attached  PC.  Change this
  768.                     value to *NOMAX and press Enter.
  769. Line speed        - Specifies baud rate of communications.
  770.                     change this  value to *CALC.
  771. Word length       - Change this value to *CALC.
  772. Type of parity    - Change this value to *CALC.
  773. Stop bits         - Change this value to 1.
  774. Maximum outstanding frames - Accept the default of 7
  775. Idle timer            - Accept the default of 4O.
  776. ------------------------------------------------
  777. :exmp.
  778. :xmp.
  779.              Create Device Desc (Display) (CRTDEVDSP)
  780. Type choices, press Enter.
  781. Device description .  .   ASYNCPC Name
  782. Device class . . . .  .   *LCL    *LCL, *RMT, *VRT
  783. Device type  . . . .  .   515O    31O1, 3151, 3161, 3162.
  784. Device model . . . .  .   A1      O, 1, 2, 4, 11, 12, 23.
  785. Port number  . . . .  .   1       O-17
  786. Switch setting . . .  .   ______  O, 1, 2, 3, 4, 5, 6
  787. Physical attachment   . . *MODEM  *DIRECT, *PTT, *MODEM.
  788. Online at IPL  . . .  . . *YES    *YES, *NO
  789. Attached controller  .  . CTL02   Name
  790. Keyboard language type  . *SYSVAL *SYSVAL, AGB, AGI, BLI
  791. Inactivity timer . . .  . *NOMAX  1-3O, *ATTACH, *NOMAX.
  792. Line speed . . . . . .  . *CALC   *TYPE, *CALC, 15O, 3OO.
  793. Word length  . . . . .  . *CALC   *TYPE, *CALC, 7, 8
  794. Type of parity . . . .  . *CALC  *TYPE, *CALC, *EVEN,*ODD.
  795. Stop bits  . . . . . .  . 1       *TYPE, 1, 2
  796. Maximum outstanding frames . 7       1-7
  797. Stop bits  . . . . . . . 4O      1O-5O (O.1 seconds)
  798.                                               More...
  799. F3=Exit F4=Prompt F5=Refresh F12=Cancel
  800. F13=How to use this display F24=More keys
  801. --------------------------------------------------
  802. :exmp.
  803. :p.DETERMINING THE ASCII PORT ADDRESS FOR ASYNCHRONOUS CONNECTION
  804. :p.The following steps show you how to determine which addresses are
  805. available on a particular port on a particular ASCII work station
  806. controller card on the AS/4OO.
  807. :li.Determine which controller is associated with the particular
  808. ASCII controller card on the AS/4OO.  Using the Work with
  809. Controller Description (WRKCTLD) command, you can view a list
  810. of all the controllers on your system.  Controllers of the following
  811. types are associated with a ASCII card:  2637, 6O41, 6141.
  812. :li.Once you have found the controller name you must determine the
  813. available addresses for each port on the twinaxial card.  This
  814. can be done by entering the Print Device Address command (PRTDEVADR)
  815. and specifying the controller name determined in step 1. This
  816. program creates a spool file which can be viewed by issuing
  817. the Work with Spool Files (WRKSPLF) command.  The file should have
  818. a filename of QPDCDEVA.
  819. :eol.
  820. :h2.Appendix C:  Modem configurations
  821. :p.Modem configuration will most likely be the leading cause of problems
  822. in getting a SNA-A data link up.  Modem configuration can be quite
  823. complicated.  There are entire books written on the subject.
  824. The following are some suggestions and some potential pitfalls:
  825. :li.use a default Hayes AT base profile
  826. :li.the modem must assert DSR at connect time- it can not
  827. be asserted all the time. You can use the AT
  828. command AT &S1 to do this.
  829. :p.NOTE: for L40 internal modem users, you must do this.
  830. The L40 user's manual does not document support for the &S
  831. AT command-  however the modem does support it!
  832. The default for the modem is &S0- this will cause
  833. a data link failure! You change this in one of 2 ways.
  834. First, using some type of communications program and
  835. issue the AT command &S1  AND then issue a &W0 to save
  836. this in profile 0 to save this change.  Or you can add    
  837. the command &S1 to the modem initialization string.
  838. Let's say you wanted to autodial 123-4567 and you want
  839. to issue the &S command. The config.sys DEVICE line would be:
  840. DEVICE=C:\CMLIB\ASYNC\ADLCDD.SYS /D0= "AT &S1 DT 123-4567"
  841. :li.AT S register 0 must be nonzero if you want auto answer
  842. So, you can add the following to the /D string: "AT S0=1"
  843. :li.Currently (4/29/92), MNP protocols, V.42 protocol
  844. and any compression (MNP 5, V.42bis) must be
  845. disabled in the modem until we support modem to DTE
  846. flow control.
  847. :eol.
  848. :p.Another aspect of modems which needs clarification deals with
  849. the various terms floating around for serial line (either asynchronous
  850. or synchronous) speeds. There are 3 aspects associated with a line speed:
  851. baud rate, bits per second and throughput. Each of these can be used to
  852. describe different perspectives of line speeds.
  853. :p.The baud rate describes the rate of signalling changes
  854. which occur across the wire.   The baud depends entirely on the
  855. modulation technique being used.  There is not a one-to-one
  856. corresponence between a modulation signal change and an information
  857. bit (ie. a data bit).  For example,  the CCITT standard for 2400 bps
  858. modem modulation (V.22bis) uses a 600 baud  modulation technique
  859. (Quadrature Amplitude Modulation, or QAM) which encodes 4 bits of
  860. information in a signal change.  For our purposes, the baud rate
  861. is entirely a function of the modem and we need not concern ourselves
  862. with it.
  863. :p.The second aspect of line speed is the bit rate or the bits per
  864. second (bps).  I also refer to the bps as the data rate.
  865. A modem  (and a modulation technique) is typically
  866. described by the bps it supports.  Bps also describes the physical
  867. line speed the COM port is normally programmed with.  For example, if we
  868. are using a V.22bis modem, even though the baud rate is 600, since 4 bits
  869. of information are being sent for each signalling change, the actual
  870. bps is 2400.  The COM   port would be programmed for 2400 bps to
  871. match the modem speed.
  872. :p.The actual line speed, however, might be quite different from
  873. the data rate.  For example, if the COM port has been setup for
  874. a data rate of 2400 bps using a V.22bis modem, the modems might
  875. temporarily lose synchronization (e.g., lose carrier).
  876. Typically the modem would assert some sort of flow control back to
  877. its controlling COM port (the DTE) telling it to stop sending data
  878. for a while until the modems have regained synchronization.  If this
  879. happens, the actual data throughput will be less than the data rate
  880. available across the line.  So the throughput is the actual amount of
  881. data sent and received across the wire.
  882. :p.There may be cases when the throughput across the wire is actually
  883. greater than the allowable data rate support.  This can happen
  884. if modem to modem compression is being used.  For example, if a
  885. V.22bis modem supports compression (such as V.42bis), it is possible
  886. that the effective modem to modem throughput (across the 2400 bps wire)
  887. can be up to 9600 bps.  The actual throughput would vary from
  888. 2400 to 9600 bps depending on the contents of the data.
  889. :p.In order for the async data link to take advantage of this, the COM
  890. port must be programmed to use the maximum possible throughput available
  891. across the wire.  In our example, this would be 9600 bps.  Since
  892. the modem will most likely not be able to achieve a constant throughput
  893. of 9600, flow control must be enabled between the modem and the COM
  894. port so that when the throughput drops down to less than 9600, the
  895. modem can tell the COM port to stop sending data (since it would be
  896. sending at a higher speed) until the modem has caught up.
  897. :p.Modem to COM port flow control is required in order to use modem to
  898. modem compression and also to use modem to modem error correcting
  899. protocols.
  900. The OS/2 prototype will support CTS modem handshaking flow control
  901. (whenever the modem wants to pace the COM port, it negates CTS).
  902. :p.Modem to COM port flow control can also be used to bypass the
  903. prototype's lack of autobaud detect.
  904. For example, if the modems being used supported
  905. baud rate negotiations (such as IBM's 7855 modem), the COM port driving
  906. such a modem would be set to support its maximum throughput.  When a
  907. partner dials into this modem, it might be using any data rate (1200
  908. through 9600). The modems would negotiate what modulation technique to
  909. be used, any error correcting protocols to be used and/or if compression
  910. will be used.  As long as the COM port was setup for the maximum
  911. throughput, it will be able to support any type of modem.
  912. This technique simply
  913. allows the COM port to take advantage of a modem's line rate negotiations
  914. capabilities.
  915. :euserdoc.
  916.