Solaris IA Issues

The following sections discuss Solaris IA issues.

Solaris IA 2.0–2.5 and COM2

By default, versions of Solaris IA prior to 2.6 enable only COM1. If you are adding an internal modem to an existing system with two COM ports, be sure to set the modem to a valid COM setting and nonconflicting interrupt, or disable COM2 in the system and configure the modem to standard COM2 settings (io=2f8 irq=3). See Sun's X86 Device Configuration Guide for further details.

  1. Boot Solaris 2.x IA and log in as root.

  2. Edit the asy.conf file.

    (for Solaris 2.4 IA) # vi /kernel/drv/asy.conf

    (for Solaris 2.5 IA) # vi /platform/i86pc/kernel/drv/asy.conf

  3. Uncomment second entry for COM2.

    (The following is for Solaris 2.4 IA.)

    #
    # Copyright (c) 1992 Sun Microsystems, Inc.  All Rights Reserved.
    #
    
    #ident "@(#)asy.conf    1.6     94/05/17 SMI"
    
    name="asy" class="sysbus" interrupts=12,4 reg=0x3f8,0,0 ioaddr=0x3f8;
    #
    # Note: To enable COM2 uncomment the following entry, and it may require
    #       reconfiguration of SMC device if you are using SMC Enet with
    #       default configuration (which also uses IRQ 3).  (See smc.conf file.)
    #
    #name="asy" class="sysbus" interrupts=12,3 reg=0x2f8,0,0 ioaddr=0x2f8;
    
  4. Remove the comment sign (#) before the second name="asy"... line.

  5. Save and exit the file.

  6. To enable reconfiguration reboot, type touch /reconfigure and press Return.

  7. To reboot the system, type sync;reboot and press Return.

Solaris IA 2.6 and COM2

A serial or modem device is not automatically recognized by Solaris. Normally, Solaris 2.6 will find the COM1 and COM2 ports for a system and enable them by default. If you have a COM3 or COM4, some or all of the ports may not be recognized by Solaris. This can even happen with some serial devices at the standard COM1 and COM2 settings with all other serial devices in the system disabled.

The ultimate cause of this recognition failure may be fixed in a future Driver Update, so only try this if the latest Driver Update from http://access1.sun.com or the SunSoft CompuServe forum has been applied and you are still experiencing the problem.

Do not share IRQs from an ISA device, like a serial port, with any other device. If you are adding a COM3 or COM4 device, as is typical for a plug-in modem card, use an IRQ (5 is often available) that is not being used by another card in your system.

If it is not possible to set the IRQ to a nonstandard COM port IRQ, you may have to disable one of the built-in COM ports for your system. At boot time, Solaris probes COM1 for a mouse and COM2—if enabled in /platform/i86pc/kerne/drv/asy.conf—for a modem. This probe can cause problems with a lot of modems. It certainly causes problems with any UPS installed on COM2. If using an internal modem on COM2, disable the onboard COM port in the BIOS to avoid IRQ conflicts.

For Solaris IA 2.5.1 and earlier, these problems were handled by edits to the asy.conf file. While Solaris 2.6 does not come with such a file, it does honor it just as the previous versions did. Note that our example below has COM2 disabled by default. You should only enable devices that actually exist on your system.

If you use this technique, save your existing asy.conf as asy.conf.orig in the /platform/i86pc/kernel/drv directory.

  1. Boot Solaris 2.6 IA and log in as root.

  2. Locate the asy.conf file.

    /platform/i86pc/kernel/drv/asy.conf

  3. Replace it with the following asy.conf file.

    #
    # Copyright (c) 1992 Sun Microsystems, Inc.  All Rights Reserved.
    #
    #ident "@(#)asy.conf    1.7     96/12/18 SMI"
    
    name="asy" class="sysbus" interrupts=12,4 reg=0x3f8,0,0 ioaddr=0x3f8;
    ignore-hardware-nodes=1;
    #
    # Note: To enable COM2 uncomment the following entry; you may need to
    #       reconfigure the SMC device if you are using SMC Enet with
    #       default configuration (which also uses IRQ 3). (See smc.conf file.)
    #
    #name="asy" class="sysbus" interrupts=12,3 reg=0x2f8,0,0 ioaddr=0x2f8;
    
    # COM3:
    #   To enable COM3, the following entry must be uncommented and
    #   possibly edited.
    #   You must ensure that the "interrupts," "reg," and "ioaddr" values
    #   correspond to your hardware.  See the section on configuring additional
    #   serial ports in your IA device configuration manual or AnswerBook for
    #   further details.
    #
    # This entry uses its own unique interrupt (IRQ5)
    #name="asy" class="sysbus" interrupts=12,5 reg=0x3e8,0,0 ioaddr=0x3e8;
    
    # COM4:
    #   In order to enable COM3, the following entry must be uncommented and
    #   possibly edited.
    #
    #   You must ensure that the "interrupts," "reg," and "ioaddr" values
    #   correspond to your hardware.  See the section on configuring additional
    #   serial ports in your IA device configuration manual or AnswerBook for
    #   further details.
    #
    # This entry uses its own unique interrupt (IRQ9)
    #name="asy" class="sysbus" interrupts=12,9 reg=0x2e8,0,0 ioaddr=0x2e8;
    
  4. Use vi to edit the asy.conf file and uncomment the second entry for COM2, shown below.

    name="asy" class="sysbus" interrupts=12,3 reg=0x2f8,0,0 ioaddr=0x2f8;
    
  5. Save and exit the file.

  6. To enable reconfiguration on reboot, type touch /reconfigure and press Return.

  7. To halt and reboot the system, type sync;reboot and press Return.

Further information is available from Sun's http://access1.sun.com site, in http://access1.sun.com/cgi-bin/rinfo2html?226002.faq, “How to Add a Serial Port at a Non-standard IRQ,” and http://access1.sun.com/cgi-bin/rinfo2html?223402.faq, “Adding New Plug-N-Play Devices to Solaris 2.6.”

Solaris 7 IA (2.7) and COM2

NOTE

This section, added in February 1999, would not have been possible without the help of many of our readers. Contributors include Cagri Yucel ([email protected]) and Jim McCusker ([email protected]). Thanks, folks!


Choose either the automatic or more manual methods below, depending on how much you like fussing with files versus point-and-click.

Automatic Method, Using Device Configuration Assistant

  1. Boot your machine, and press the ESC (escape) key to enter the Device Configuration Assistant during the boot.

  2. Choose Add Device or View/Edit Devices and add a Serial Port with the IO = 2F8 and IRQ = 3.

  3. Continue with the reboot, Solaris automatically performs a reconfigure boot. The new port should magically appear.

More Manual Method, Using Device Configuration Assistant

  1. Make sure the com port the internal modem corresponds to is disabled in the BIOS.

  2. Boot the system, log in as root, and add these lines to /platform/i86pc/kernel/drv/asy.conf.

    name="asy" class="sysbus" interrupts=12,4 reg=0x3f8,0,0 ioaddr=0x3f8;
    ignore-hardware-nodes=1;
    name="asy" class="sysbus" interrupts=12,3 reg=0x2f8,0,0 ioaddr=0x2f8;
    
  3. In a window, type reboot and press Return.

  4. While the system is booting, press ESC to enter the Device Configuration Assistant.

  5. Press F2 to scan the system bus. Press F4 to select Device Tasks.

  6. Select View/Edit Devices, then press F2 again to see a list of system devices and cards. Look for something that slightly resembles an internal modem, like this for a modem on cua/b - com 2.

    PnP ISA ETT0001 port 2F8-2FF IRQ3
    
  7. Confirm that the I/O address matches a COM port (either 2f8 for COM1 or 3f8 for COM2) and that the interrupt request is OK (3 for COM2 or 4 for COM1).

  8. Press F2 to continue, press F3 for back, press F2 to continue again.

  9. On the next screen, select the default boot device (marked with an asterisk *), then press F2 to boot the kernel.

  10. When the machine is booted, log in as root, go to Application Manager, then to Admintool.

  11. In Admintool select Browse, then select Serial Ports. Then, at last you can set up your internal modem as you so desire.

PC Serial Ports and Internal Modems

NOTE

This section was contributed in October 1998 by Jay Ts of Metran Technology. Jay Ts is a Linux and UNIX consultant with many years of experience in system administration and programming. He can be reached at [email protected], http://jayts.cx, 1-888-282-0549.


The design of the PC architecture includes up to four “standard” serial ports with interrupts (IRQs) 3 and 4 and different I/O Ports, as shown in Table 134.

Table 134. PC Serial Ports
COM# IRQ I/O Port Comment
COM1 4 0x3f8 Look at those numbers carefully. They're not exactly intuitive. ;-)
COM2 3 0x2f8  
COM3 4 0x3e8  
COM4 3 0x2e8  

Usually, modern PC motherboards have two serial ports included on the motherboard, with a default configuration of COM1 and COM2. This configuration, along with many other hardware parameters, and the date and time are stored in a small area of battery-backed RAM (separate from main memory), sometimes referred to as CMOS, because early implementations (at least) were done with CMOS static RAM. Another term used for the hardware parameters is BIOS settings, because they are set using the system's built-in (ROM) firmware, the BIOS setup program. (BIOS stands for Basic Input/Output System; it was originally used by MS-DOS to perform low-level hardware access, and controls the initial boot procedures when the system is powered on or reset.)

There are a large number of PC motherboard manufacturers, and more than one company that develops BIOS ROMs (notably, AMI, Award and Phoenix), all with a plethora of revisions, so the details of how the setup program works varies considerably from one motherboard model to another.

However, there are some common functions. When you boot the computer, there usually is a message reporting how to enter the BIOS setup program. Once you have done that, you will need to use the setup program's menu selections to find the screen where you have options regarding how to configure the serial ports. Sometimes, you may only be able to enable or disable them, and in other cases, you may be able to configure each to be COM1, COM2, COM3, COM4, or disabled.

Now, about those internal modems. Typically, they are implemented to look like one of the standard serial ports, probably COM2 by default (because COM1 is almost always used for the mouse).

There are some exceptions to this implementation, notably the USR WinModem, which is a cost-reduced design that moves much of the modem's functions out of hardware and into software that is provided with the product; WinModem runs only under Windows. My advice is that if your system has a WinModem, that you remove it from the system, return it for a refund if possible, and if not, chuck it into the trash, and get yourself a real modem. So far, I do not know of one single case of a WinModem working with any version of UNIX. Likewise, if you have a modem that is not implemented to act like a serial port, your best option is probably to replace it with one that has a more standard implementation.

If your internal modem is configured as COM2, you'd better make sure that neither of the “normal” serial ports on the motherboard is also configured as COM2. That would be an obvious hardware conflict, which shouldn't be expected to work. Often (always?) this conflict will be detected by the BIOS during system boot-up, and you will be asked to enter the setup program to correct it. In any case, either reconfigure the conflicting motherboard serial port or just disable it.

Another conflict may happen if one of the motherboard's serial ports shares an IRQ with the modem. Note in the above listing that COM1 shares IRQ4 with COM3, and COM2 shares IRQ3 with COM4. This is a notorious source of difficulty. Theoretically, it is possible to have devices sharing an interrupt, as long as they use different I/O ports, but in practice, the implementations of specific motherboards and operating systems may prevent them from actually working together. The result of an incompatibility can be as minor as a flaky serial port or as major as a system crash or lockup.

You might think that it would be safe to configure the “extra” serial port on the motherboard as COM3 or COM4 and not plug anything (terminal, external modem, whatever) into it. Or only use it when the internal modem is not in use. But this configuration can still be a problem.

If you want to be safe, make sure that COM1 is enabled for the mouse, COM2 is reserved for the modem, and that no serial port in the system is configured as COM3 or COM4. Check your modem card to see if there are jumpers to allow you to configure the COM port that it uses. And of course, make sure that no other hardware in the system is using the same IRQ as the modem.

If none of this works, I can make the following suggestions.

  1. Try different BIOS settings, even if they are not what I recommend. (And be prepared to reboot your system without using the mouse, if necessary.)

  2. Try a different modem.

  3. Contact the motherboard vendor to see if they have an update for the BIOS ROM chip(s).

  4. Try a different motherboard.

  5. Find a patch that updates the operating system's serial port driver.

  6. Give up. :)

Serial Device Naming in Solaris IA

The kind folks at Progressive Systems (http://www.progressive-systems.com) have alerted us that the serial device naming scheme is different in SPARC Solaris and IA Solaris, at least for Solaris 2.6–2.7. For Solaris 8 (2.8) the IA names match the SPARC names. So, make changes to the add_modem and add_terminal scripts in this appendix as necessary, as shown in Table 135.

Table 135. Solaris Serial Device Naming
SPARC Name (all releases) IA Name (Solaris 2.6–2.7 IA Name (Solaris 8)
/dev/term/n /dev/ttynn/dev/term/n
/dev/ttyn/dev/ttydn/dev/ttyn
/dev/cua/n/dev/cuan/dev/cua/n

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.167.248