home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 4 Drivers / 04-Drivers.zip / s2kv201a.zip / DESIGN.TXT next >
Text File  |  2001-11-06  |  5KB  |  91 lines

  1.  
  2.  
  3.  
  4.                      SIO Version 2, Design Information
  5. General:
  6.  
  7. SIO version 2 is a complete new set of drivers for OS/2.  It is not 
  8. modification and/or additions to the SIO Version 1 code.  Programs, like
  9. Vmodem.exe, are derivatives of the of the originals.
  10.  
  11. The SIO2K set of drivers have two basic modes of operation, with a
  12. configuration file and without a configuration file.  The vast majority of
  13. users will NOT need a configuration file.  Those that wish can exercise a
  14. great deal of control (possibly getting into a lot of trouble) using a
  15. configuration file.
  16.  
  17. The OS/2 serial driver functions has been divided into two main drivers. 
  18. They are, SIO2K.SYS and UART.SYS.  SIO2K.SYS being the driver that services
  19. requests from OS/2 application.  UART.SYS being a driver that services
  20. requests from SIO2K.SYS to directly deal with the hardware.  The two
  21. drivers work closely via direct calls.
  22.  
  23. The division of the serial driver's functions amounts to a separation by
  24. logical and physical functions.  SIO2K.SYS being the logical and UART.SYS
  25. being the physical.  Those using standard serial ports need never use more
  26. than these two basic OS/2 drivers.  DOS/Windows programs will require a
  27. third driver, VSIO2K.SYS, which is the replacement for the virtual driver
  28. VSIO.SYS.
  29.  
  30. UART.SYS is a driver that supports basic UARTS.  Basic UARTS are those like
  31. the original 8250 and its extensions.  The UARTS currently supported are
  32. the 8250, 16550, 16650, 16750, 16850, 16950 and their variations (eg 8250A,
  33. 16554, 16952 etc).
  34.  
  35. Having separated the functions of the serial driver, it is now much easier
  36. to support additional varied functions and hardware by adding additional
  37. drivers that uses the same interface as UART.SYS.  For example, there is an
  38. ESP.SYS to support the Hayes ESP card (I have been told that Hayes has
  39. discontinued the ESP, a shame).  Another example is VMODEM.SYS to support
  40. VMODEM.EXE.
  41.  
  42. Another advantage of this separation is that those who do not have hardware
  43. like the ESP need not be burdened with the code to support those devices,
  44. or the potential problems of code executing to support hardware that a
  45. given user does not have.
  46.  
  47. Some Specifics
  48.  
  49. SIO Version 2 can support an unlimited number of serial devices.  Well, in
  50. reality there are limits, but they are imposed by the memory and hardware
  51. in your computer.  In addition, there is an arbitrary limit of 256 support
  52. ports imposed by the code.  This is done to keep memory utilization down.
  53.  
  54. The UART hardware is not touched prior to the port being opened by an
  55. application program.  In other words, the UARTs are not touched at boot
  56. time.  Problems occurring at boot time are next to impossible for users to
  57. deal with.  Eliminating UART examination at boot time removes much of the
  58. potential of problems during the boot process.  A log file is created (or
  59. added to) during the boot process to report problems and information about
  60. the loading process.
  61.  
  62. SIO version 2 can be loaded at the same time as another serial driver, such
  63. as, COM.SYS and SIO.SYS (version 1).  This means one can use COM.SYS to
  64. control COM1 to COM4 and SIO2K.SYS to control COM5 and up.  However, one
  65. must use a configuration file to load concurrently with another driver.
  66.  
  67. The virtual driver, VSIO2K.SYS is NOT limited to use with SIO2K.SYS.  The
  68. virtual driver can be used with any OS/2 driver (such as COM.SYS) that
  69. correctly implements the OS/2 serial driver specification. This means that
  70. users with drivers like the DigiBoard drivers should now have a virtual
  71. driver allowing DOS/Windows programs to access those ports.  Note:
  72. VSIO2K.SYS has currently only been tested with SIO2K.SYS and COM.SYS.
  73.  
  74. The IRQ being used by a given UART is always automatically detected.  There
  75. is no way for the user to specify the IRQ.  Note: if the IRQ cannot be
  76. automatically detected, the serial port is simply not going to work, even
  77. if the user specifies an IRQ.  So there is no reason for the user to
  78. specify the IRQ.
  79.  
  80. Prior to allowing a serial port to be accessed, an integrity check is
  81. performed.  If the UART hardware fails the integrity check, a "NOT READY"
  82. error is returned to the application that accessed the serial port.
  83.  
  84. All the drivers in the SIO version 2 package can/will create logfiles. 
  85. Operating systems, such as OS/2, make it very difficult for a driver to
  86. communicate useful information to users during the booting process.  Often
  87. the user is presented with an obscure error message that has little
  88. relevance to the actual problem.  Hopefully, the logfiles will make the
  89. real problem a little more understandable to the user.
  90.  
  91.