using tektronix xp217c x-terminals with freebsd

» configuring the terminal

Firstly, plug everything needed into the terminal, at a minimum it needs video and a keyboard. When you power it up, you should see a blue screen, the Tektronix logo on the left and some numbers on the right. A message will eventually appear stating Press the space bar to interrupt the boot process. When it does, press the space bar, you should be greeted with a BOOT> prompt.

You don't know what settings have been put into the terminal by the previous owner so start with a clean slate by typing NVF<enter> to restore the NVRAM back to factory defaults. The screen will flash and the display will reset. Start configuring it by setting its IP address, using IA 192.168.0.10<enter>. Then use IM 255.255.255.0<enter> to set the netmask and IG 192.168.0.1<enter> to set the default gateway. Adjust the IP's and netmasks to suit your network. As you issue these commands, you should see the settings at the top of the screen change.

The terminal needs to download some system files and fonts when it powers up, use IH 192.168.0.2<enter> to set the boot host and BM TFTP<enter> to set the boot method. Once all thats done and your happy with the new settings, use NVS<enter> to save the settings to the NVRAM.

» configuring the server

» setting up boot files

The files needed are from the NCD XpressWare V8.1 CD and contain the os.350 file needed to boot the terminals and also contains a few fonts to get you started:

amnesiac$ su -
Password: rootpw
amnesiac# cd
amnesiac# fetch ftp://ftp.ncd.com/pub/nwd/XpressWare/Patches/V8.1/p1v81106.tar.Z
Receiving p1v81106.tar.Z (17948717 bytes): 100%
17948717 bytes transferred in 3.0 seconds (5.72 MBps)
amnesiac# fetch ftp://ftp.ncd.com/pub/nwd/XpressWare/Patches/V8.1/p2v81106.tar.Z
Receiving p2v81106.tar.Z (15053675 bytes): 100%
15053675 bytes transferred in 2.2 seconds (6.62 MBps)
amnesiac# tar zxf p1v81106.tar.Z
amnesiac# tar zxf p2v81106.tar.Z
amnesiac# cd patchV8.1.106
amnesiac# mkdir -p /tftpboot/tftpboot/tekxp/boot/config
amnesiac# mkdir -p /tftpboot/tftpboot/tekxp/boot/nls
amnesiac# cp -p xp350/* /tftpboot/tftpboot/tekxp/boot
amnesiac# cp -p fonts/* /tftpboot/tftpboot/tekxp/boot
amnesiac# cp -p config/* /tftpboot/tftpboot/tekxp/boot/config
amnesiac# cp -p nls/* /tftpboot/tftpboot/tekxp/boot/nls

These are optional steps to tidy up the permissions on the files:

amnesiac# chown -R root:wheel /tftpboot/tftpboot/tekxp
amnesiac# cd /tftpboot/tftpboot/tekxp
amnesiac# find . -type d -exec chmod 0755 {} \;
amnesiac# find . -type f -exec chmod 0644 {} \;

» setting up tftp

Uncomment the tftp line in you /etc/inetd.conf file, making sure that it ends in tftpd -ls /tftpboot:

tftp dgram udp wait root /usr/libexec/tftpd tftpd -ls /tftpboot

Allow your terminal access to the tftp service by adding the following to /etc/hosts.allow:

tftp : dnsname_of_terminal.example.com : allow

Restart the inetd daemon by issuing:

amnesiac# killall -HUP inetd

Reset or power on your terminal, it should start downloading files and fonts and after a few seconds, display an XDMCP chooser menu.

» enabling remote x11 connections

Edit the xdm-config in /usr/X11R6/lib/X11/xdm and comment out the line beginning with DisplayManager.requestPort by adding an exclamation mark to the front, eg:

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
!DisplayManager.requestPort: 0

You will need to then edit the Xaccess file in the same folder and allow connections from the terminal. Either add the terminals full name to the bottom of the file or uncomment the first line beginning with a * to allow logins from anywhere, eg:

# In all cases, xdm uses the first entry which matches the terminal;
# for IndirectQuery messages only entries with right hand sides can
# match, for Direct and Broadcast Query messages, only entries without
# right hand sides can match.
#

* #any host can get a login window

Finally, you need to edit the /etc/ttys file to enable xdm, do this by setting the status from off to on on ttyv8.

ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm on secure

After that change, you will need to restart init by issuing:

amnesiac# killall -HUP init

Jarrod Sayers
8 Nov 2004