HOWTO AIX: How to resolve an X.25 "Device Busy" condition

   We are running the X.25 support provided in the AIX V3 Base Operating
   System (BOS).  We're setting up an X.25 attachment to a PSDN and are
   trying to correct an adapter configuration error.  (We entered the
   wrong number of logical channels.)  When we try to do this in SMIT,
   we're stopped with a "Device is Busy" message.

   What is causing this situation?  The complete message is:
      method error (/etc/methods/chgx25)
      Cannot perform the requested function because the specified device
      is busy.

   You cannot change attachment characteristics while a process is using
   X.25.  Technically, a process is holding the X.25 device driver open.
   It sometimes takes a bit of detective work, but you will finally be
   able to change the configuration once you've stopped all processes
   using X.25.

   Typical culprits and solutions for AIX V3 BOS X.25 are as follows:
   - Kill any xmonitor, xmanage, or xtalk (look for IBMXTALK) processes
     in the process table.  Use "kill -15" on the process ID. Kill levels
     2 and 3 are okay too.  NEVER use kill -9 to stop xmonitor -- this is
     an error in the AIX V3 X.25 Communications Cookbook (GG24-3692-01)
   - Stop any device driver tracing
   - Detach the TCP/IP interface (execute "ifconfig xt0 detach")
   - Stop SNA (via SMIT or via the "stopsrc -s sna" command)
   - Stop OSI
   - Stop HBX-PAD daemon (do a kill -15 on the rxd process)
   - Stop any user-written applications
   - Stop network management daemons
       1. Stop the NetView end user interface
            Top left corner of the interface, click on file, then exit
       2. Stop NetView
               Communication Applications and Services 
                 NetView for AIX
                     Stop all running daemons
       3. Stop systems monitor
               Communication Applications and Services
                 Systems Monitor for AIX
                   Local options 
                     Control SIA    (F4 to list)
                       Stop sysinfod
                     Control MLM    (F4 to list)
                       Stop midmand
   If you have tried all of these things and the device busy message
   persists, skip to the "If all else fails" section at the end of this

   This situation also occurs on AIX systems running one of the new X.25
   licensed program products (LPPs) when the following message is posted:
      method error (/etc/methods/chgx25)
      0514-029  Cannot perform the requested function because a child
                device of the specified device is not in a correct state.

   The lsx25 command (new with the LPPs) can be helpful in identifying
   affected interfaces.  The ps command may show the following:
       x25linkd                   \<--- DO NOT KILL THIS DAEMON!
       x25d /dev/if_xs            \<--- Indicates TCP/IP interface is up
       x25d /dev/ciox25           \<--- Indicates COMIO added to port
       /usr/bin/sysmond           \<--- Can hold COMIO open
       /usr/lib/drivers/pse/x29d  \<--- no need to stop separately
       /usr/sbin/x25smuxd         \<--- no need to stop separately
   On these systems, look for things similar to those listed for AIX V3
   BOS.  In addition, the following things are unique to the new LPPs and
   were observed on two systems:  AIX V4.1.4 and V3.2.5 with PTF U440663.
   Note that configuration information remains in the ODM when rmdev -l
   is executed.  The ODM is cleared when the -d flag is added to the
   - Bring the TCP/IP xs\# interface to a defined state via the command
     "rmdev -l xs0" (do NOT use ifconfig detach with the X.25 LPP)
   - There is no need to stop the IBM Triple-X PAD (x29d) or the x25smuxd
     daemons.  Neither hold the device driver open.  Make a note that
     they are running, however, to ensure they are restarted afterward.
   - Stop anything running on COMIO, use SMIT (or rmdev -l x25s0) to
     remove COMIO Emulation from a port to free it.  COMIO emulates the
     AIX V3 BOS X.25 device driver (/dev/x25s0) allowing pre-LPP appli-
     cations to run unchanged.  Thus, check for all applications as
     described in the previous section.
     If all applications have been stopped, but COMIO remains busy, check
     the process table for "sysmond" -- it can open COMIO and not let go.
     The Version 2.2 sysmond was modified to include the -H flag which
     holds COMIO open for a shorter period of time.
   - Stop any user-written NPI or DLPI applications
   - Stop any device driver tracing 
   You will know everything is stopped when you can successfully bring
   the sx25a\# interface into a defined state via the command: 
      rmdev -l sx25a0
   Make the SMIT changes, then either reboot or use the following SMIT
   menu progression to reactivate the X.25 driver and TCP/IP interface.
               X.25 CoProcessor/2 or Multiport/2 Adapter
                   Manage Device Drivers for X.25 CoProcessor/2 or M...
                     Manage an X.25 LPP Device Driver
                       Manage X.25 Ports
                         Configure a Defined Port / Interface 
   If all else fails and you cannot identify the culprit, use the
   following workaround.  Although this is a way around the situation,
   it is not an ideal solution to the problem because the system must
   be rebooted.  The same, general workaround can be used by systems
   running the X.25 LPPs -- notes on the differences follow these steps.
   On AIX V3 BOS X.25 systems:
   1. Rename the /etc/microcode/ file so that X.25 will not be
      able to start up at reboot.  Any unique name will do, for example:
   2. Shutdown and reboot the system via:
         shutdown -Fr
   3. When the system comes back up, make the desired changes in SMIT.
      At this point, the "lsdev -C | grep X.25" command should show that
      ampx0 is Available, but x25s0 is Defined.
   4. Change the file back to the correct name:
   5. Either reboot or use the following SMIT progression to reactivate
      the X.25 device driver.
               X.25 CoProcessor/2 or Multiport/2 Adapter
                   Manage Device Drivers for X.25 CoProcessor/2 or M...
                     Manage X.25 CoProcessor/2 Device Driver
                       Configure a Defined Device Driver
      The microcode copyright information will be posted.  After process-
      ing has completed, the "lsdev -C | grep X.25" command should show
      that ampx0 and x25s0 are Available.
   6. Restart any applications that were stopped in the previous steps.
   On AIX X.25 LPP systems: 
   Follow the same general steps, with a few modifications.
   - The adapter microcode, shipped with the LPP software, is found in
     the /usr/lib/asw directory.  The Portmaster/A adapters use the
     sx25pma.cod file while the X.25 Co-Processor adapters (both Micro
     Channel and ISA bus) use sx25cyc.cod file.  Substitute these names
     in steps 1 and 4.
   - In step 3, the adapter (apm0 or ampx0) should be Available, but the
     port (named xs25a\#) should be Defined.  A user can modify a port's
     characteristics as long as that port is in a Defined state -- it
     isn't necessary to disable all of the ports on a single adapter or
     in a system.  When using this workaround, however, all ports of this
     type will become Defined.
   - In step 5, reactivate by selecting "Configure a Defined Port" in the
     "Manage X.25 Ports" menu, accessed via fastpath "smit x25str_mp" on
     Portmaster and "smit cx25str_mp" on the X.25 Co-Processor systems.
     Users may either bring up the ports/interfaces one-at-a-time with
     this menu or reboot the system to bring them all up together.
(February, 1996 revision)

Support Line: HOWTO AIX: How to resolve an X.25 "Device Busy" condition ITEM: BF8743L
Dated: March 1996 Category: N/A
This HTML file was generated 99/06/24~13:30:22
Comments or suggestions? Contact us