6

The system at hand is a RS/6000 7248-100, running AIX 4.3.3.

My quest is to get a Token Ring ISA card to work. The card is a 2971 as called for by the docs.

SMS is happy with the card. I've set the parameters according to the recommendations in SG24-2581.

IRQ: 9
I/O Port Address: 0xa20
Shared Memory Address: 0xd000
Shared Memory Length: 0x8000
BIOS Address: 0xdc000

In AIX, when I do smitty isa I can see the card and can 'define' it with settings matching the docs and SMS. Though, when I proceed to 'configure' the card, I get this response:

                                 COMMAND STATUS

Command: failed        stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

Method error (/usr/lib/methods/cfgisatok):
        0514-034 The following attributes do not have valid values:














F1=Help             F2=Refresh          F3=Cancel           F6=Command
F8=Image            F9=Shell            F10=Exit            /=Find 
n=Find Next                                                         

Apparently some attribute is off, though note that smitty is too polite to tell which attribute that is. I played with cfgisatok and found that it accepts a commandline paramter -l.

# /lib/methods/cfgisatok 
# echo $?
13
# /lib/methods/cfgisatok -l tok0
# echo $?
34
# /lib/methods/cfgisatok -l foo
# echo $?
23
# /lib/methods/cfgisatok -l bar
# echo $?
23
# 

Apparently the non-zero return code of cfgisatok causes smitty to abort the operation.

cfgisatok is a binary, not a script, hence I cannot 'look inside' to understand what is happening, documentation doesn't seem to be available.

# lsattr -El tok0
intr_level      9              Bus interrupt level                 True
intr_priority   3              Interrupt priority                  False
bios_addr       0xdc000        Address of bus memory used for BIOS True
xmt_que_size    96             TRANSMIT queue size                 True
bus_io_addr     0xa20          Bus I/O address                     True
shared_mem_addr 0xd0000        Bus memory address                  True
shared_mem_leng 0x2000         Width of shared bus memory          True
ring_speed      16             RING speed                          True
attn_mac        no             Receive ATTENTION MAC frame         True
beacon_mac      no             Receive BEACON MAC frame            True
use_alt_addr    no             Enable ALTERNATE TOKEN RING address True
alt_addr        0x08005ad28545 ALTERNATE TOKEN RING address        True
intr_priority   3              Interrupt priority                  False
xmt_que_size    96             TRANSMIT queue size                 True
bus_io_addr     0xa20          Bus I/O address                     True
ring_speed      16             RING speed                          True
attn_mac        no             Receive ATTENTION MAC frame         True
beacon_mac      no             Receive BEACON MAC frame            True
use_alt_addr    no             Enable ALTERNATE TOKEN RING address True
alt_addr        0x08005ad28545 ALTERNATE TOKEN RING address        True

It's puzzling to me why many values appear twice in the output of lsattr -El tok0. Might this be part of the reason why cfgisatok is 'confused'?

I am stuck at this point. What can I do to nail down what makes cfgisatok fail?

1
  • Try strings cfgisatok and see if it shows anything useful.
    – dirkt
    Sep 28 at 13:52

2 Answers 2

3

I'm neither an RS/6000 nor Token Ring expert, but I've battled recalcitrant and unhelpful CLI commands many times over the years, and offer the following 'blind poking' technique:

  1. Run the command with no parameters. Note what parameter it first complains is invalid.
  2. Give the command a valid setting for that parameter, and repeat the cycle.

It doesn't always work, but often it'll either help you figure out what was going wrong originally, or point you in the right direction to isolate the specific parameter that's being obstructive. And very occasionally the CLI gods will smile upon you and give you a working result.

2

I was able to solve this particular challenge myself.

The output of lsattr -El tok0 was weird. Mind that many attribute were duplicated.

# lsattr -El tok0
intr_level      9              Bus interrupt level                 True
intr_priority   3              Interrupt priority                  False
bios_addr       0xdc000        Address of bus memory used for BIOS True
xmt_que_size    96             TRANSMIT queue size                 True
bus_io_addr     0xa20          Bus I/O address                     True
shared_mem_addr 0xd0000        Bus memory address                  True
shared_mem_leng 0x2000         Width of shared bus memory          True
ring_speed      16             RING speed                          True
attn_mac        no             Receive ATTENTION MAC frame         True
beacon_mac      no             Receive BEACON MAC frame            True
use_alt_addr    no             Enable ALTERNATE TOKEN RING address True
alt_addr        0x08005ad28545 ALTERNATE TOKEN RING address        True
intr_priority   3              Interrupt priority                  False
xmt_que_size    96             TRANSMIT queue size                 True
bus_io_addr     0xa20          Bus I/O address                     True
ring_speed      16             RING speed                          True
attn_mac        no             Receive ATTENTION MAC frame         True
beacon_mac      no             Receive BEACON MAC frame            True
use_alt_addr    no             Enable ALTERNATE TOKEN RING address True
alt_addr        0x08005ad28545 ALTERNATE TOKEN RING address        True

I've stumbled over this, which is somewhat related. I followed the procedure to eliminate duplicated attributed. After that, cfgisatok was happy and my interface is 'Available' now.

1
  • 1
    What exactly did you do? Just saying “I fixed it”, and giving a link that might rot tomorrow doesn’t help.
    – RonJohn
    Oct 2 at 2:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .