Troubleshooting a 7318 TCP/IP Broadcast Boot


Contents

About this document
Prerequisite information
Checking the 7318's status lights
Checking the interface
Checking the tftp daemon
Checking the tftp file access permissions
Checking the bootp daemon
Verifying the 7318 entry in the /etc/bootptab file
bootp in debug mode
tftp in debug mode
Debugging from the BIOS console session

About this document

This document describes how to configure an IBM 7318 model P10 or model S20 to boot using a TCP/IP broadcast load configuration. It applies to AIX Versions 3.2.5 through 4.3.2.

This document is designed for AIX System Administrators with a knowledge of AIX administration and the 7318. Using this document, a TCP/IP broadcast boot configuration takes about 20 minutes.

In a broadcast load configuration, the 7318 broadcasts a boot request to every host on the network. Hosts that are configured to send the 7318 its load image and configuration file reply to the broadcast. This document contains modules that configure the host for the broadcast load.

Each module contains specific configuration steps. This document does not contain detailed explanations about the modules and steps used in the configuration methods.

Remote troubleshooting

The 7318 was designed to boot and operate local to an IBM eServer pSeries or RS/6000 (for example the pSeries or RS/6000 and 7318 are on the same LAN). Frequently the 7318's functionality is needed in a remote network (when the pSeries or RS/6000 and 7318 are on separate networks linked by a gateway or router). The 7318 is capable of booting while remote from the system but special care needs to be taken for the communication channel. REMOTE TROUBLESHOOTING tips will be listed throughout this document when troubleshooting a remote 7318 varies from one local to the pSeries or RS/6000.

To boot using a TCP/IP broadcast configuration, the router or gateway connecting the two LANs must be able to pass bootp broadcast packets. If the router cannot pass these broadcast packets, then use the TCP/IP-directed load configuration instead.


Prerequisite information

Assumptions

Before using this document, it is assumed that:

Terms used in this document

Requirements

To use this document effectively, you must:


Checking the 7318's status lights

The lights on the front of the 7318 show its status. From left to right, the lights correspond to Power, Ready, AUI interface in use, and 10BaseT interface in use. Different light sequences appear during the 7318's power-on and hardware check, booting, and normal operation. For more information on the light sequences, refer to pages 2-5 in the 7318 Serial Communications Network Server Guide and Reference (SC23-2542-00).

  1. Check the light sequence on the front of the 7318 and compare it to the possible sequences listed below.

    Legend:

    • 0 = no light
    • 1 = light on
    • B = light is blinking

    Light sequence condition and resolution, if applicable:

    0 0 0 0 The 7318 is not powered ON. The 7318 does not have a power on/off switch. You must use the AC plus to power on and off the 7318.

    1 0 0 0 The 7318 has a hardware problem if this sequence persists for more than 1 minute. In that case, the 7318 needs to be serviced or replaced.

    1 B 0 0 The 7318 is trying to boot but cannot communicate with the network. Check all cabling connecting the 7318 to the LAN. Replace cabling if necessary. Continue troubleshooting once the 7318 is able to transmit onto the LAN.

    1 B 1 0 The 7318 is trying to boot and can transmit onto the LAN.

    1 B 0 1 The 7318 is trying to boot and can transmit onto the LAN. The 7318 is trying to boot but cannot find a load host. Proceed to the next section to continue troubleshooting.

    1 1 1 0 The 7318 is booted and can transmit onto the LAN.

    1 1 0 1 The 7318 is booted and can transmit onto the LAN. The 7318 has booted and is operating as designed. If you are unable to communicate with the 7318, the problem is beyond booting and the scope of this document.

  2. Determine the next action. If the sequence 1 B 1 0 or 1 B 0 1 appears, continue with the next section. If any other sequence appears, correct the Condition or Resolution listed above before continuing to the next section.

Checking the interface

The host communicates with the network through an interface (tr0, en0, et0, fi0). To configure an interface for TCP/IP, the interface must be active (the words <UP, RUNNING> appear in the flags when the ifconfig commmand is run).


NOTES:

  1. Verify that the communications interface is active using the ifconfig command and the adapter name.

    For standard Ethernet Interface configured on the ent0, enter:

        ifconfig en0 
    

    Sample output is as follows:

    en0:  flags=8080863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> 
            inet 9.3.6.32 netmask 0xffffffc0 broadcast 9.3.6.63 
    

    For a standard Token Ring Interface on tok0, enter:

            ifconfig tr0 
    

    Sample output is as follows:

    tr0:  flags=80s0043<UP,BROADCAST,RUNNING,ALLCAST,MULTICAST> 
            inet 9.3.6.68 netmask 0xffffffc0 broadcast 9.3.6.127 
    

    If the interface is active (the words <UP, RUNNING> appear in the flags list), then continue to the next section. If the words <UP, RUNNING> do not appear in the flags list, then configure the interface through SMIT.

    Enter:

        smit inet 
    

Checking the tftp daemon

tftp is the daemon that services file requests from the 7318 using UDP/IP. This service must be active on the host to send the load image and configuration file to the 7318.

  1. To verify that tftp is active, enter:
        lssrc -ls inetd | grep tftp 
    

    Sample output is as follow:

        tftp     /usr/sbin/tftpd          tftpd -n        active 
    

    If the process is active, proceed to the next section, "Checking the tftp file access permissions". If the process is inactive or is not listed, continue to the next step to start the process.

  2. To activate the tftp daemon, open the /etc/inetd.conf file with a text editor, and search on tftp.

  3. If the entry is commented out, uncomment the entry by removing the # signs. An uncommented sample tftp will look as follows:

    At AIX 4.2.1 and lower:

    tftp    dgram    udp    wait   nobody     /usr/sbin/tftpd    tftpd -n 
    

    At AIX 4.3 and higher:

    tftp    dgram    udp6    SRC    nobody    /usr/sbin/tftpd    tftpd -n
    
  4. Save any modifications and exit the file.

  5. Open the /etc/services file with your favorite text editor, and search on tftp.

  6. If the entry is commented out, uncomment the entry (remove the # signs). An uncommented sample tftp entry will look as follows:
        tftp 69/udp 
    
  7. Save any modifications and exit the file.

  8. Refresh the inetd daemon to implement file modifications. Enter:
        refresh -s inetd 
    

    NOTE: For AIX 3.2.5 systems, first run the command inetimp.

  9. Refer to the preceding step 1 to check for an active tftp process once more. Continue to the next section, "Checking the tftp file access permissions", when the process is active. If you are unable to start tftp, please contact your AIX support center.

Checking the tftp file access permissions

tftp must have permission to access the directories in which the boot image and configuration file reside. The /etc/tftpaccess.ctl file contains the directories tftp is allowed to access. If /etc/tftpaccess.ctl does not exist, then tftp can access any directory.

  1. Open the /etc/tftpaccess.ctl file with an editor.

    NOTE: If the /etc/tftpaccess.ctl file does not exist, you may create the file. This allows tftp to access the directories in which the files reside. If the /etc/tftpaccess.ctl file does not exist, then tftp is allowed access to all directories.

  2. Specify the directories to which tftp is allowed access (uncomment or add the allow:/usr/lib/cns directory).

    The following is a sample /etc/tftfaccess.ctl file entry with tftp allowed access to the /usr/lib/cns directory.

    ########################################################## 
    #       The following example, when uncommented, only 
    #       allows access to the Diskless Client boot files. 
    ########################################################## 
    allow:/tftpboot allow:/usr/lib/cns 
    
  3. Save any modifications and exit this file.

  4. Change to the directory in which the load image and configuration file reside.

  5. Verify that the permissions for the files are world-readable. Enter:
        ls -l | more 
    
    Correct sample file permissions are as follows:
    -r--r--r--      1 root     system     442432 Jul 24 01:56 cns-p10 
    -r--r--r--      1 root     system    1240228 Jul 24 01:56 cns-s20e 
    -rw-r--r--      1 root     system      17539 Sep 09 1995 p10.cfg 
    -rw-r--r--      1 root     system      43120 Jul 24 01:56 s20.cfg 
    
  6. If the file is not world-readable, change the permissions. Enter:
        chmod 444 <filename> 
    
  7. Continue to the next section.

Checking the bootp daemon

bootp is the daemon that listens for the 7318's file requests and replies with its IP address and the name of its boot file. To boot the 7318 using a broadcast configuration, bootp must be active.

  1. To verify that the bootp daemon is active, enter:
        lssrc -ls inetd | grep bootps 
    

    Sample output looks like the following:

        bootps /usr/sbin/bootpd  bootpd /etc/bootptab 
    

    If bootp is active, continue to the next section, "Verifying the 7318 entry in the /etc/bootptab file". If the process is inactive or is not listed, continue with the following steps to start the process.

  2. Open the /etc/inetd.conf file with your favorite editor.

  3. Search on bootps.

  4. If the entry is commented out, uncomment the entry. An uncommented sample entry from the /etc/inetd.conf file looks like the following:
        bootps     dgram     udp     wait     root 
        /usr/sbin/bootpd    bootpd /etc/bootptab 
    
  5. Save any modifications and exit the file.

  6. Open the /etc/services file with your favorite editor.

  7. Search on bootps.

  8. If the entry is commented out, uncomment the entry (remove the #signs). An uncommented sample entry from the /etc/services bootp server port looks like the following:
        bootps   67/udp 
    
  9. Save any modifications and exit the file.

  10. Refresh the inetd daemon with the file modifications. Enter:
        refresh -s inetd 
    

    NOTE: For AIX 3.2.5 systems, first run the command inetimp.

  11. Refer to the preceding step 1 above to check for an active bootp process. If you are unable to start bootp, please contact your AIX support center.

Verifying the 7318 entry in the /etc/bootptab file

To boot the p10 or S20 using a TCP/IP broadcast load, the 7318 must be added to the /etc/bootptab file. The /etc/bootptab file lists the devices on the network to which the bootp server should reply. A bootp service listens for boot requests from the devices listed in the /etc/bootptab file and then begins boot services. Verify that the 7318 entry in the /etc/bootptab file is correct.

  1. Open the /etc/bootptab file with your favorite editor.

  2. Search for the 7318 entry at the end of the file.

  3. Verify that the 7318 entry is correct.

    NOTE: Device parameters are listed at the beginning of the file. All entries must be on one line (a line may wrap to the next line), with no spaces, and separated by a colon. The entry must end with a colon. The ht=ethernet is mandatory and indicates the format of the hardware address, which will always be Ethernet.

    Sample output looks like the following:

       cns01.ibm.com:ht=ethernet:bf=/usr/lib/cns/cns-s20: 
       ha=00406e000999:ip=1.1.1.2 
    

    If the entry is correct, continue to the next section. If the entry is not correct, continue to step 4.

  4. Make necessary modifications and changes to the 7318 entry.

  5. Save the modifications and exit the file. Continue to the next section.

bootp in debug mode

bootp is the daemon that services a device requesting a bootp load. When the 7318 sends a broadcast request for a boot host, the bootp daemon (bootp) on the pSeries or RS/6000 receives the requests and checks the /etc/bootptab for the 7318 entry. If an entry is found, bootp replies with the 7318 IP address and the name of its boot file. If the 7318 is not booting but the host is receiving requests from the 7318, then the problem may be with the host's configuration.

When bootp is configured for debug mode, all 7318 requests and host replies are logged. This section configures bootp for debug mode (logs bootp activity).  bootp in debug mode can log errors either to a file or standard output (a terminal or window). In this document, we will log the errors to standard output.

  1. Open the /etc/inetd.conf file with your favorite editor.

  2. Search on bootps.

  3. Comment out the bootps line by putting a # sign at the beginning of the entry.

    Sample output looks like the following:

    bootps dgram  udp   wait   root    /usr/sbin/bootpd   bootpd/etc/bootp 
    
  4. Save any modifications and exit the file.

  5. Refresh the inetd daemon. Enter:
        refresh -s inetd 
    

    NOTE: On AIX 3.2.5 systems, first run inetimp.

  6. Verify no bootp processes are running. Enter:
        ps -ef | grep bootp 
    
  7. If any bootp process other than the grep process is active, execute a kill -1 on the process id. Enter:
         kill -1 <process_ID> 
    
  8. Open a new window to which errors will be logged.

  9. Start bootp in debug mode. Enter:
        bootpd -d -d -d -d -s 
    

    NOTE: bootp will log errors to the window in which this command is entered. If you run this command in the console window, press Control -C to exit bootp in debug mode. If you receive the error bind failed this indicates that the socket name and the bootpd tcp port are already in use because the boot process is running. Kill the bootpd process and start bootpd in debug mode again.

  10. Reboot the 7318. The 7318 can be rebooted by unplugging and replugging the power cord. The 7318 will query for a load host and bootp should respond to the 7318's request. All bootp conversation between the 7318 and host will be logged to standard output window. Press Control -C to exit bootp in debug mode.

    Sample output looks like the following:

        [root@ivorye] / # bootp -d -d -d -d -s 
        BOOTPD:  bootptab mtime is Wed Sep  4 16:11:31 1996 
        BOOTPD:  reading "/etc/bootptab" BOOTPD:  read 3 entries from 
                 "/etc/bootptab" 
        BOOTPD:  dumped 3 entries to "etc/bootpd.dump". 
        BOOTPD:  bootptab mtime is Wed Sep  4 16:11:31 1996 
        BOOTPD:  Received boot request. 
        BOOTPD:  Request from hardware address 00406ef000f0 
        BOOTPD:  found 9.3.6.7 guppye 
        BOOTPD:  bootfile = /urs/lib/cns/cns-s20e 
        BOOTPD:  vendor magic field is 0.0.0.0 
        BOOTPD:  RFC1048 vendor data ( bp_vend[64] ) 
        99.130.83.99.255.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 
        0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 
        00o. 
        BOOTPD:  sending RFC1048-style reply 
        BOOTPD:  Time to create ARP entry, hardware type is 1 and ifname 
                 is en0 
        BOOTPD:  Creating 10Mb Ethernet arp table entry 
        BOOTPD:  ioctl (SIOCSARP):  Arp entry created successfully. 
        BOOTPD:  The following addresses are included in the bootp repl 
        BOOTPD:  Client IP address (bp->bp_ciaddr) = 9.3.6.7 
        BOOTPD:  Server IP address (bp->bp_siaddr) = 9.3.6.38 
        BOOTPD:  Gateway IP address (bp->bp_giaddr) = 9.3.6.38 
        BOOTPD:  Finished processing boot request. 
    

    To exit, press Control -C.

  11. Decide on the next action. If bootp is not receiving any boot requests from the 7318, check network cabling, gateway or router configuration, and the status of the TCP/IP interfaces on the host. Make sure that any routers or gateways use forward broadcast requests. If the host is not receiving requests, you cannot go any further until you establish communication between the 7318 and the host. If you are unable to establish a connection, contact your AIX support center.

    If bootp can communicate with the 7318 but the problem is still undetermined, tftp may not be allowing proper file transfer. Once the bootpd daemon responds to the 7318's load host, the 7318 will make a file transfer request which will start a tftp process on the host to send the download image and configuration file to the 7318. The next section shows how to configure tftp for debug mode, but first you must return bootp to its original configuration as seen in the next step.

  12. Press Control -C to exit bootp in debug mode (if you have not done so already).

  13. Open the /etc/inetd.conf file with your favorite editor.

  14. Search on bootp.

  15. Uncomment the bootps entry.

    Sample output looks like the following:

    bootps  dgram  udp   wait    root  /usr/sbin/bootpd   bootpd /etc/bootp 
    
  16. Save any modifications and exit the file.

  17. Refresh the inetd daemon. Execute:
        refresh -s inetd 
    

    NOTE: : On AIX 3.2.5. systems, first run inetimp.


tftp in debug mode

tftp (Trivial File Transfer Protocol) is responsible for sending the download image and configuration file to the 7318 using UDP/IP. If tftp is not active, the 7318 tftp port requests will be denied and the 7318 will continue to query for a load host. When tftp is configured for debug mode, all file transfers are logged to a specified file by the tftp daemon.

  1. Open the /etc/inetd.conf with your favorite editor.

  2. Search on tftp.

  3. If the entry is commented out, uncomment the entry.

  4. Add a -v to the end of the entry to configure tftp for debug mode and error logging.

    Sample output looks like the following:

    tftp     dgram   udp    wait    nobody /usr/sbin/tftpd   tftpd -n -v 
    
  5. Save any modifications and exit the file.

  6. Refresh the inetd daemon with the changes. Enter:
        refresh -s inetd 
    

    NOTE: On AIX 3.2.5 systems, first run the inetimp command.

  7. Open the /etc/syslog.conf file with your favorite editor.

  8. Search for *.debug. If the entry exists, exit the file and continue to step 12. If the entry does not exist, continue to step 9 to add an entry.

  9. Set up an error log entry. Specify the path and file to where errors will be logged.

    Sample output look like the following:

        *.debug /tmp/fileName 
    
  10. Save any modifications and exit the file.

  11. Create the fileName specified in the *.debug entry. Enter:
        touch /tmp/fileName 
    
  12. Verify that this file where the errors are to be logged now exists.

  13. If you want to clear out any current entries in the log file, enter:
        cat /dev/null/ > /tmp/fileName 
    
  14. Refresh the syslog daemon to start error logging. Enter:
        refresh -s syslogd 
    
  15. Reboot the 7318 by unplugging and replugging the power cord.

    NOTE: The 7318 will query for a load host. If bootp responds and tftp will log all file transfers or errors to the 7318 in the log file specified in the entry. If you are not sure the host is responding to 7318 requests, set up bootp in debug mode (see the preceding section).

  16. View the log file for errors and file transfers.

    Sample log of a successful file transfer:

    Sep  7 11:39:43 ivorye syslogd:  restart 
    Sep  7 11:43:07 ivorye bootpd[8884]:  bootpd 2.1 #77: 
    Sep  7 11:43:07 ivorye bootpd[8884]:  bootptab mtime 
    is Sat 
    Sep  7 11:43:07 ivorye bootpd[8884]:  reading 
    "/etc/bootptab" 
    Sep  7 11:43:07 ivorye bootpd[8884]:  read 3 entries 
    from "/etc/bootptab" 
    Sep  7 11:43:07 ivorye bootpd[8884]:   dumped 3 
    entries to "/etc/bootpd.dump" 
    Sep  7 11:43:33 ivorye bootpd[8884]:   bootptab mtime 
    is Sat 
    Sep  7 11:43:33 ivorye bootpd[8884]:   Received boot 
    request 
    Sep  7 11:43:33 ivorye bootpd[8884]:  request from 
    hardware address 00406EF000F0 
    Sep  7 11:43:33 ivorye bootpd[8884]:  found 9.3.6.7 
    guppye 
    Sep  7 11:43:33 ivorye bootpd[8884]:  bootfile= 
    /usr/lib/cns/cns-s20e 
    Sep  7 11:43:33 ivorye bootpd[8884]: vendor magic 
    field is 0.0.0.0 
    Sep  7 11:43:33 ivorye bootpd[8884]:  RFC1048 vendor 
    data ( bp_vend[64] ) 
    Sep  7 11:43:33 ivorye bootpd[8884]:  sending 
    RFC1048-style reply 
    Sep  7 11:43:33 ivorye bootpd[8884]:  Time to create 
    ARP entry, hardware type is 1 and ifname is en0 
    Sep  7 11:43:33 ivorye bootpd[8884]:  Creating 10Mb 
    Ethernet arp table entry 
    Sep  7 11:43:33 ivorye bootpd[8884]:  ioctl(SIOCSARP): 
    Arp entry created successfully 
    Sep  7 11:43:33 ivorye bootpd[8884]:  The following 
    addresses are included in the bootp reply 
    Sep  7 11:43:33 ivorye bootpd[8884]:  Client IP address 
    (bp->bp_ciaddr) = 9.3.6.38 
    Sep  7 11:43:33 ivorye bootpd[8884]:  Server IP address 
    (bp->bp_siaddr) = 9.3.6.38 
    Sep  7 11:43:33 ivorye bootpd[8884]:  Gateway IP address 
    (bp->bp_giaddr) = 9.3.6.38 
    Sep  7 11:43:33 ivorye bootpd[8884]:  Finished processing 
    boot request 
    Sep  7 11:43:48 ivorye tftpd[8884]:  Sent 
    /usr/lib/cns/cns-s20e to 9.3.6.7 
    Sep  7 11:43:52 ivorye tftpd[8884]:  Sent 
    /usr/lib/cns/s20.cfg to 9.3.6.7 
    

    The following steps stop tftp debugging and restore the tftp entry in the /etc/inetd.conf file to its original form.

  17. Open the /etc/inetd.conf file with your favorite editor.

  18. Search on tftp.

  19. Remove the -v at the end of the entry.

    NOTE: Do not comment out the tftp line.

    Sample output looks like the following:

    tftp     dgram   udp    wait    nobody /usr/sbin/tftpd   tftpd -n 
    
  20. Save any modifications and exit the file.

  21. Refresh the inetd daemon with the changes. Enter:
        refresh -s inetd 
    

    NOTE: On AIX 3.2.5 systems, first run inetimp.

  22. Open the /etc/syslog.conf file with your favorite editor.

  23. Search on the error logging entry (*.debug fileName).

  24. Comment out the error logging entry using a # sign. A sample entry looks like the following:
        #*.debug        /tmp/fileName 
    
  25. Save any modifications and exit the file.

  26. Refresh the syslogd daemon with the file modifications. Enter:
        refresh -s syslogd 
    

    If the booting problem cannot be determined from bootp debugging and the tftp log file, make a copy of the bootp debug output and tftp log file. Send this information to an IBM Technical Specialist for evaluation.


Debugging from the BIOS console session

The BIOS console allows you to view the 7318's boot process as it queries hosts for its load image and configuration file. A BIOS console session can be accessed by connecting a terminal (for example, an IBM3151) to one of the ports on the front of the 7318 using an RJ-45 cable and a null-modem adapter.

  1. Verify the terminal configuration.

    The terminal should emulate an ASCII terminal with the following settings:

        9600 baud   8 data bits   no parity   1 stop bit 
    
  2. Start a BIOS console session on the 7318.

    To start a BIOS console session, recycle the power on the 7318. When the 7318 is powered back on, hold the Shift key and press 3 (# sign) repeatedly until four # signs scroll across the screen of the terminal.

    You can access a BIOS console between the time the 7318 is first powered on and the ready light (second light) starts blinking. If the ready light begins blinking, you have missed the window to enter the BIOS console and must recycle the power and try again. Once four # signs scroll across the screen, the 7318 will begin a BIOS console session.

  3. Set the NVRAM to the manufactured default settings. Enter:
        admin 
        default 
        save 
    
  4. Check if the BIOS code on the 7318 is at the latest BIOS level and verify that all the parameters are set to their default values. Enter:
        show 
    

    NOTE: The latest BIOS level as of 04/16/99 is 5.23. If you are unsure whether the 7318 is at the latest BIOS level, please contact your AIX support center.

  5. Boot the 7318 using the load command. Enter:
        load 
    

    The load command allows you to view the 7318's requests and the host's responses as the 7318 queries for a load host and boot files. Incorrect configuration may lead to a load host ignoring 7318 requests or not finding files and boot images. If the problem cannot be determined from the BIOS load information, make a copy of the error log file and send this information to an IBM AIX Technical Specialist for evaluation.




[ Doc Ref: 90605196914814     Publish Date: Jan. 03, 2001     4FAX Ref: 7450 ]