User Tools

Site Tools


aix:console_problem

AIX Console (HMC vterm) not working with new System p server

Solution 1 for HMC console

Problem(Abstract) System p is newly attached to a hardware management console (HMC) and the server property for manufactoring default configuration (MDC) is false. The vterm console works in hardware mode (i.e. SMS and for displaying hardware parameters when lpar is activating). However, the vterm does not display login prompt after AIX has been booted.

Symptom

Cause AIX was installed on system p server when it was attached to an async console prior to attaching system to HMC.

Resolving the problem To reconfigure the AIX's console device to use the new hardware connection you will need to do the following: Either telnet (or SSH) into the server if networking had been configured or boot into a maintenance shell and run following procedure.

The procedure will completely remove vty0, vsa0 (and any other vty or vsa device) and syscons objects from the ODM and allow them to be recreated by AIX when system reboots.

Once telneted in or in a maintenance shell, as root execute the following:

# odmdelete -q name=vty0 -o CuDv
# odmdelete -q name=vty0 -o CuDv

# odmdelete -q name=vsa0 -o CuDv
# odmdelete -q name=vsa1 -o CuDv

# odmdelete -q attribute=syscons -o CuAt

# bosboot -ad /dev/ipldevice <---- customer hung trying to run this command

# sync

#reboot

When system comes up it should reconfigure vsa0 and vty0 and since we removed “syscons” from ODM it should prompt you to select a terminal. This time, the only device connected for a console should be the HMC's vterm.

You should messages similar to following when LPAR is booting back up:

-------------------------------------------------------
******* Please define the System Console. *********

Type a 1 and press Enter to use this terminal as the
system console.

1

-------------------------------------------------------

At this point you should see AIX console output being displayed in the HMC vterm.

Solution 2 for serial console

IMPORTANT: use a serial terminal with speed 19200

PROBLEM SYMPTOM After a system boot on the device that's acting as a console all boot up messages display fine and the device does get a login prompt, but upon typing “root” and <enter> the screen comes back with the login prompt again. If root is entered the screen displays, “Console login:”. If a not-root user id is entered the screen displays “login:”. This repeats forever, you can never get past the login prompt.

SOLUTION

Boot from CD and select options that will start a shell after mounting filesystem.

1. Comment out install_assist line in /etc/inittab.
NOTE that a comment in inittab is ':', not '#'.

2. Via smit/smitty tty, add clocal for:
"STTY attributes for RUN time"
and
"STTY attributes for LOGIN"

or using command line (add -P to apply only into ODM, then reboot):
chdev  -l 'vty1' -a login='enable' -a runmodes='hupcl,cread,brkint,icrnl,opost,tab3,onlcr,isig,icanon,echo,echoe,echok,echoctl,echoke,imaxbel,iexten,clocal' -a logmodes='hupcl,cread,echoe,cs8,clocal'

(Since the tty you want to change is probably the one you're on, you will not be able to change it because it's in use. In this case created a new tty on sa1 add clocal to it.)

You can also apply changes to database only in smit and then reboot. It's the last line in the tty screen. Reboot in NORMAL mode and when you get the login prompt move the terminal to sa1 and you should now be able to log into the system. If this happens to be a system where networking was previously set up, you may be able to telnet into the the system. If this is the case, you can then make the smit/smitty changes without having to move the terminal.

1. /usr/sbin/pdisable ttyN

2. Via smit/smitty tty, add clocal for:
"STTY attributes for RUN time"
and
"STTY attributes for LOGIN"

3. /usr/sbin/pdisable ttyN

BIG FAT NOTE:

If you can telnet into the system or have another terminal you can login from, you might not have to reboot to change this. Change the /etc/inittab entry for cons from respawn to off. Do telinit q. Get into smitty and add CLOCAL to RUN time and LOGIN as in 2. above. Change cons to respawn and enter telinit q again.

TECHNICAL EXPLANATION

The root case problem here is with the cable/terminal. The AIX system is expecting CD (Carrier Detect) to be true before the port will open. This is the expected and behavior. The typical cable would connect DTR (Data Terminal Ready) from the terminal to CD of the AIX serial port.

When the terminal is powered on, DTR on the terminal is asserted thus presenting CD to the AIX system. If the terminal is powered off, the terminals DTR drops, thus dropping CD at the AIX system. With the loss of CD, a login session would be killed and a new login prompt would be presented when the terminal is powered back on.

AIX (and POSIX UNIX systems) support the CLOCAL option. This option effectively ignores the lack of CD. AIX offers two states at which time CLOCAL is applied. The first is: STTY attributes for RUN time and the second is: STTY attributes for LOGIN

If you enable CLOCAL only for LOGIN, the typical situation will be that you will be presented the login prompt, you enter a login and before the prompt appears, you are again presented the login prompt. What just happened is that CLOCAL on the LOGIN attribute allows the login prompt to be presented and we transition into run time mode. There is no CD or CLOCAL, so the process is killed and a new login prompt is presented.

Setting CLOCAL for both LOGIN as well as RUN time will resolve this,with one huge potential problem and security risk. If the terminal is powered cycled there is no way for the AIX system to detect this, and when the terminal is powered back on, the previous process will still be active.The only true solution is to provide the proper cable and RS-232 signaling.

aix/console_problem.txt · Last modified: 2021/01/01 21:21 (external edit)