Nathan's Help / FAQ / Anything
& Everything Page on Cyclades

Last Update 28/09/06


Index

1) How to Upgrade a TS
2) Documentation and White Papers
3) Cable Diagrams and Pinouts
4) Config Examples
5) Current Code
6) Tricks and Gotcha's
7) Other Software and Downloads
8) CDK Stuff
9 ) Who do i contact when i need HELP ?


1) Upgrading a TS

-The basic upgrade procedure is documented in the manual, but i would like to go over a process which will also allow you to update the config script to the new version as well without losing access to the unit. (usually as versions of code change so do the things that can be configured, so this is in practice a good way of doing it.)
- Click HERE for the instructions.

- Some Free FTP Server Programs for Windows that i've found which you may need to help do the upgrade....


2) Cyclades Documentation and White Papers

TS/ACS -Series

PR4000

Important Note about TS100
This is being added to the TS 1.3.5 manual (BB 1.3.4 manual as well).
DANGER! When reconfiguring the media from RS232 to RS485 (or RS485 to RS232), it is extremely important to remove the
serial cable (DB9 connector) before issuing signal_ras hup or signal_ras start (to make valid the new configuration).

Using wrong cable for that newly configured media may burn the serial interface.

When using Web or telnet/ssh session to reconfigure the media, follow these steps:

1) Remove the serial cable before the reconfiguration
2) Start the reconfiguration process
3) Save and submit the changes (e.g. signal_ras hup)
4) Insert the new serial cable compatible with the new media

When using console for the configuration, follow these steps:

1) Edit the proper configuration file
2) Quit editor, saving the changes
3) Run saveconf
4) Remove the serial cable
5) Power the unit off
6) Insert the new serial cable compatible with the new media
7) Power the unit back on


3) Cable Diagrams and Pin-Outs

I'll put more diagrams here in the near future (they're all in the manual anyway) but heres the important bits you need to know.

Also check out http://www.stokely.com/unix.serial.port.resources/A-B-Ycablepinout.html for any pinout questions for Sun systems.

- For the SUN LX/Classic/SS4/5/10/20 they have 2 x DB25 Female ports on the back with the following pinouts.

- For the SUN SunFire 15K, it has a mini din 8 serial port which uses a mini din 8 to DB25 cable supplied with the Sun for its console. This cable has the following pinouts :

Mini Din 8 <-> DB25Male
pin 7 (DCD) <-> pin 20 (DTR)
pin 6 (RTS) <-> pin 5 (CTS)
pin 5 (RXD) <-> pin 2 (TXD)
pin 4 (GND) <-> pin 7 (GND)
pin 3 (TXD) <-> pin 3 (RXD)
pin 2 (CTS) <-> pin 4 (RTS)
pin 1 (DTR) <-> pin 8 (DCD)

To connect this cable to a TS/ACS, use a straight thru serial cable (modem cable) to connect to the DB25. ie.

Sun Din 8 <-> DB25M     DB25F Straight Thru Serial <-> TS Rj45
(Thanks to Simon for the info on the SunFire15K)

- For Dec Alphastation 200/255 and AlphaServer 1200/DS10/DS20/ES40/ES45, they allhave DB9 Male serial interfaces (pinout diagram)

- For the HP MSL5000/6000, they use a specific RJ12 serial connector. (pinout here)

- For Compaq HSG/Z Array Controller it is a specific RJ11 connector. (doco here)

- For Silicon Graphics O2 / Origin 3800, they use a standard DB9 M serial interface.

- For HP MSA there is a special RJ45Z connector cable which is used to create a DB9F serial interface (HP Part 259992-001). You would then use a Cyclades DB9M straight thru adaptor to connect to the TS.


4) Config Examples

TS Series

* To configure a TS to be a Console Access Server (CAS) the main paramters that need to be changed in the /etc/portslave/pslave.conf file are :

conf.eth_ip           [ip address of ethernet]
conf.eth_mask      [subnet mask of ethernet]
all.speed       9600
all.datasize      8
all.stopbits      1
all.parity        none
all.flow          none (or soft or hard)
all.protocol     socket_server  (port listening for telnet connections) or
                      ssh_server       (port listening ssh session) or
                      raw_data         (port listening for raw socket connections)
all.authtype    none                 (unless you want authentication on the port of the TS)
all.ipno           [ip address of each port]+
all.socket_port     7001+        (listens on tcp port 7001 for port 1, tcp port 7002 for port 2 etc)


* To configure a TS to be a Terminal Server (TS) the main paramters that need to be changed in the /etc/portslave/pslave.conf file are :

conf.eth_ip           [ip address of ethernet]
conf.eth_mask      [subnet mask of ethernet]
all.speed       9600
all.datasize      8
all.stopbits      1
all.parity        none
all.protocol      socket_client   (for telnet or socket connections to a host) or
                       login                (for connections to the TS prompt itself) or
                       llogin               (for lat logins to a vms host - also modify all.lathostname to the name of the host to connect) or
                       rlogin               (for rlogin sessions to a unix box host) or
                       ssh or ssh2       (for ssh connections to a host)
all.host                  [ip of host to connect to from the TS for socket_client / rlogin / ssh /ssh2]
all.socket_port      [by default this is 23 (if left to default with 7001+) and is used by socket_client . Remove the + symbol and it will connect to port 7001 for eg.]

* To configure a TS to have printers off a few of the ports, the main paramters that need to be changed are exactly the same as above for the CAS profile, with the protocol set to raw_data.

To setup a server to use the above remote printer port from remotely for both Unix and Win2K you need to :
a) Unix
Modify the /etc/printcap file if using LPD to look like the following.
#etc/printcap
#
#This file contains the general printcap information for printers that are connected to your server.
#
raw:                                                # This is the Printer Name
      :lp=192.168.250.1%7001         # This line points to the ip and tcp port on the TS
      :sd=/var/spool/lpd/raw               # This is the spool directory and does need to be created.
      :ff                                              # Form feed required for PCL/PS printer, not required for text/dot matrix printers..
      :if=/usr/lib/exec/filters/lpf            # This line is only required if the printer is a text printer. Exclude this line if the printer is a PCL/PS printer.

b) Win2k/XP/NT (Instructions are very similiar for all 3 cases.)
- Add a printer
- Create a local printer attached to this computer
- Create a new port -> LPR Port / Standard TCP/IP Port    (in Win NT you need to make sure that simple TCPIP print services has been installed)
- Enter the IP address of the TS eg 192.168.250.1
- Enter any Port Name
- Continue with the rest of the printer setup.
- Properties on the final printer -> Ports -> Highlight the Standard TCP/IP Port you just created and click configure port
- Make sure the protocol is set to Raw, and the Raw Port Number is set to 7001 (for eg. for this TS)
- Done !

* To configure a TS to have a modem for dial in off a port, the configuration that needs to be done is below :

Example for Dial In modem doing PPP off port 8 on the TS.

Firstly on the modem, you need to set a default init string. Connect the modem to a PC and simply connect to the serial port using HyperTerminal. Then once connected to the serial port (com port 1 9600 none 8 1 no flow control yada yada), type the following generic string :

at&f&D2s0=3&W&W1

Some good modems that we know to work really well include : Banksia, Net Excel, Dynalink and pretty much any external rockwell based chipset modem.

Then configure the TS port 8 as follows :

all.ipno 192.168.1.101+                      (This is the IP address assigned to each port. This can alternatively be done as s8.ipno 192.168.1.108 for eg.)
all.netmask 255.255.255.255

s8.tty                ttyS8
s8.speed           57600
s8.datasize        8
s8.stopbits        1
s8.parity            none
s8.authtype        local
s8.protocol        ppp_only
s8.initchat          TIMEOUT 10 \
                         "" \d\l\dATZ \
                         OK\r\n-ATZ-OK\r\n "" \
                         TIMEOUT 10 \
                         "" ATM0 \
                         OK\r\n "" \
                         TIMEOUT 3600 \
                         RING "" \
                         STATUS Incoming %p:I.HANDSHAKE \
                         "" ATA \
                         TIMEOUT 60 \
                         CONNECT@ "" \
                         STATUS Connected %p:I.HANDSHAKE
s8.flow              hard
s8.dcd              1
s8.syslog_buffering        0
s8.autoppp        %i:%j novj \
                         proxyarp modem asyncmap 000A0000 \
                         noipx noccp login auth require-pap refuse-chap \
                         mtu %t mru %t \
                         ms-dns 192.168.160.5 ms-dns 0.0.0.0 \
#                       cb-script /etc/portslave/cb_script \                          # IMPORTANT to Hash this LINE OUT
                         plugin /usr/lib/libpsr.so
s8.pppopt          %i:%j novj \
                         proxyarp modem asyncmap 000A0000 \
                         noipx noccp mtu %t mru %t netmask %m \
                         idle %I maxconnect %T \
                         ms-dns 192.168.160.5 ms-dns 0.0.0.0 \
                         plugin /usr/lib/libpsr.so

The complete script example for the Dial in can be found here.

Once you have modified the config files on the TS, you need to execute the commands "saveconf" which will save the changes you have made to flash, and then to make the TS reread the pslave.conf file you can execute the command "signal_ras hup" or simply "reboot".

* To configure a Direct PPP over Serial Link between 2 TS100's (request from Luciano) :

What you are proposing is in essence an ip over RS232 connection such
that the 2 pieces of equipment can see each other via ip..

So to do this you would need to bring up a ppp connection between the
2 devices, and then route across. I don't think the TS100's support
bridging especially to a PPP link, so you would need to have 2
subnets, 1 at each end (make then a /30 for this case.) and route
across.

To bring up the PPP connection statically will be the trick.
This is not a standard setup of a TS100 and hence will not "startup"
automatically when you boot a TS100 unless you add it to the startup
scripts. Let me know if you don't know how to do this.. To setup a
static PPP see below (this assumes a 38400 speed connnection but
depending on the distance you may not be able to run at this speed
and a TS100 port ttyS1. It also assumes you have access to both
box's):

>>>>>>>>>>>>>>>>>>>>>>>>>

Using PPP across a null modem (direct serial) connection
This is very simple - there is no modem in the way so things are much
simpler.

All you need to do is to start pppd on both systems. I will assume
that the connection uses /dev/ttyS1 on both machines. So, on both
machines execute the command:-

pppd -detach crtscts lock <local IP>:<remote IP> /dev/ttyS1 38400 &

This will bring up the link - but as yet you have no routing
specified. You can test the link by pinging to and from each machine.
If this works, bring down the link by killing one of the pppd
processes.

The routing you need will of course depend on exactly what you are
trying to do. Generally, one of the machines will be connected to an
Ethernet (and beyond) and so the routing required is exactly the same
as for a PPP server and client.

So on the Ethernet equipped machine, the pppd command would be...

pppd -detach crtscts lock proxyarp <local IP>:<remote IP> /dev/ttyS1 38400 &

and on the other machine ...

pppd -detach crtscts lock defaultroute <local IP>:<remote IP> /dev/ttyS1 38400 &

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

ACS

Using a GSM Card in an ACS for sending SMS's
Globetrotter.dat file for a GlobeTrotter GSM Card can be found here.


PR4000

For a first time installation of a PR4000, click HERE for a quick start guide.


5) Code / Firmware / Drivers

ACS-Series

To see the NOTES about upgrading from certain versions to certain versions check this link FIRST !

TS-Series

To see the NOTES about upgrading from certain versions to certain versions check this link FIRST !

PC300 PCI Router Card

PC400 RAS Card


Other code can be found here


6) Tricks and Gotcha's

Radius Ports on the TS

By default the TS uses ports 1812 and 1813. But what if you want to use 1645 and 1646 for auth and accounting ?? This is simply achieved by modifying the /etc/services file and changing radius and radacct to 1645 and 1646 and hashing out the 1812 and 1813 lines. Don't forget to saveconf..

TS100 and Disabling the Console

By default when you receive a TS100, the serial port is both ttyS0 and ttyS1, ie. ttyS0 being the console port and ttyS1 being the 1st serial port of portslave. Now of course before you can actually use the TS100 as just a serial port under portslave, you need to disable the console port. Since v1.3.4, you now need to do 2 things to achive this.
In the file /etc/inittab, there are 2 lines that need to be changed.
make sure the following line IS commented out ie.
#ttyS0::respawn:/sbin/getty -p ttyS0 ansi
the second thing is to make sure
::once:/sbin/cy_buffering is NOT commented out
If this line is commented then the portslave program will NOT work correctly. Example you will lose ip connectivity to the box when you open connections etc.

Connecting TS to a NetApp Box

>There is certainly something weird about the connection to the NetApp even though it uses a standard pin out.
>What I noticed was then when I tried to connect to the NetApp via telnet the connection would just sit there
>frozen. If I then ran tstest on the Cyclades and connected to that port to look at the signals the connection would
> start working. As soon as I quit the tstest it locked up again.
>With the aid of a breakout box I compared the NetApp connection with one of our Suns.
>Basically what was needed was to break the connection from RTS on the Cyclades to CTS on the NetApp and
>join RTS & CTS together on the Cyclades end.

The other option also could be to turn flow control off on both sides, and hence RTS/CTS would be ignored.

PR4000 Modem Profile for Outback Locations (and dirty phone lines)

For areas of the outback where phone line quality is iffy to say the least, the PR4000 RAS servers modems can be tuned to improve performance.

From the main menu -> 1-Config -> 3-System -> 7-Modems -> 3-Digital Modem
atp19=xCE3Cp22=x7070p24=x0032p43=x0000FFFF

p19 = xCE3C         - disables K.56 Flex
p22 = x7070           - transmites atenuation level effective for V.34
p24 = x0032           - sets time for carrier loss sensitiveness
p43 = x0000FFFF  - limits V.90 speed to a maximum of 48000 bps

If you need for example K.56 connections, then leave the p19 string out. For a FULL List of Modem Paramaters click HERE.


What does saveconf actually do ?

tar -czf /proc/flash/script -T /etc/config_files

How to configure Data Buffering via Syslog :

In your /etc/portslave/pslave.conf file :

conf.facility 7 (should already be default)
conf.DB_facility 7 (should already be default)
all.data_buffering 1024
all.syslog_buffering 255
all.syslog_sess 0 (should already be default)

In the /etc/syslog-ng/syslog-ng.conf file, add to the end :

destination syslogrm { udp("<remote ip address>" port(514)); };
log { source(src_dev_log); destination(syslogrm); };

LDAP Authentication to a Win2k Server

Modify the /etc/ldap.conf file with the following changes :

host 192.168.250.5
base cn=users,dc=domain,dc=com,dc=au
binddn cn=administrator,cn=users,dc=domain,dc=com,dc=au
bindpw administratorpassword
pam_filter objectclass=user
pam_login_attribute sAMAccountName

At present this config has not been found to work yet on a Win2k3, so if anyone can work out the differences, please let me know :) (unless of course i work it out first ;)

UPDATE - LDAP Authentication to a Win2K3 Server :)

host 10.70.200.100
base OU=TREE2,OU=TREE1,OU=User Accts,DC=www,DC=domain,DC=com
(or more commonly base cn=users,dc=domain,dc=com,dc=au)
binddn admin_username
bindpw admin_password
nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_attribute uid sAMAccountName
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute shadowLastChange pwdLastSet
nss_map_objectclass posixGroup group
nss_map_attribute uniqueMember member
pam_login_attribute sAMAccountName
pam_filter objectclass=User
pam_password ad

If you don't know what your base tree looks like, use the LDAP Viewer from M$ in the \support\tools directory on your windows server cd or you can download it from here.


7) Other Software and Downloads

Com Port Redirector Software

For Windows there are now 3 pieces of redirector software. Sena Technologies, Tactical Software and a 32bit Redirector
Sena and the 32bit Redirector is free and Tactical Software costs. There is only a little difference between the 3 software in functionality, but we have found the 32bit redirector to work more stablely in some situations.

Sena Technology - Hello Device VirtualComm for Win9x/Me (Freeware)
Sena Technology - Hello Device VirtualComm for WinNT/2k/Xp (Freeware)

Tactical Software - Serial/IP (30 day trial)

32bit Redirector - This only works in RAW mode, ie. all.protocol  raw_data on the cyclades side, and in the 32bit redirector -> advanced options for the port -> raw mode. This is the better windows redirector.

For Unix Systems we have a couple of free pieces of software.

- TSRdev - Written originally for the PR series of Terminal Servers from Cyclades, it also works on the TS and ACS range. Local Software download can be found here.
Firstly install as per Readme file.
Then in the /usr/local/tsrdev/tsrdevices file put:
/dev/<devicename>:prts:<TS/ACS IP>:<serial port>:rtelnet:
For example:
/dev/ttyts01:prts:192.168.160.10:9:rtelnet:
Then, start the tsrdev process by typing ´tsrdev start´.
In the TS/ACS box, the port(s) that will have the serial device(s) should be configured with snn.protocol as socket_server, snn.socket_port as 300nn (where nn is between 01 and 32), and snn.authtype as none.
For example:
s9.tty ttyS9
s9.protocol socket_server
s9.socket_port 30009
s9.authtype none

- Termnet TTYd Homepage - Runs on AIX, FreeBSD, Linux, OSF and SCO5 and possibly many other versions. Local Software Download here. The TS should be configured to "all.protocol      socket_server" which the ttyd program will connect to. This piece of software has not been tested as much as TSRdev has, but may be useful for the more obscure OS's... (I believe the configuration is similiar to TSRdev)

- rtelnet (local download) - This program was especially written for the Solaris (Sun) platform and comes in a package format. Be aware that the package does install more than just the rtelnet program, it is basically the complete Sun terminal services package. Also note that rtelnet is NOT RFC2217 compliant.
To start it simply run rtelnet from the command line :
rtelnet -P [ip of TS/ACS] [tcp port number for the port] [device name]
eg. rtelnet -P 192.168.160.10 7009 /dev/ttyts09
Then on the TS, setup the port as you normally would for a console connection ie :
with the protocol for the port being socket_server.
s9.tty ttyS9
s9.protocol socket_server
s9.socket_port 7009
s9.authtype none

- socat - Has been successfully used under True64, but works under many OS's. To start it :
(Tested both versions 1.3.2.2 and 1.4.0.3)

socat PTY,link=/dev/ptys9,raw TCP4:192.168.250.38:7003

this setup is to a terminal server (TS) with ip 192.168.250.38 using tcp port 7003 for Serial port 3 on the TS. If you wanted to use serial port 1 then the TCP port number would 7001 and also to use ttys9. You could use any pty/tty number you want as long as it exists on your system.
other options for socat are cr, crnl, ignoreeof
eg. socat PTY,link=/dev/ptys9,raw,cr TCP4:192.168.250.38:7003

then minicom/host program is set to use /dev/ttys9 (for master slave systems like HPUX/AIX)
(you would use /dev/ptys9 for systems like Redhat)

on Cyclades side (in /etc/portslave/pslave.conf) :
#conf.dhcp (hash this line out to use a static ip)
conf.eth 192.168.250.38
all.protocol socket_server     (or you could even use raw_data instead of socket_server)

if you need to change speeds etc.      (these are the defaults)
all.speed 9600
all.datasize 8
all.stopbits 1
all.parity none
all.socket_port 7001+        (TCP port 7001 is serial port 1, 7002 for port 2 etc.. by default)


8) CDK (Cyclades Development Kit Work)

Currently Available Software Enhancements (contact me for these..)

LAT Protocol (v1.3.9.1-LATD) - Currently able to connect to a LAT host in a Terminal Server Profile and receive (and broadcast) LAT sessions
To enable a port to connect to a LAT service on the network modify the /etc/portslave/pslave.conf file as
all.protocol   llogin
all.lathostname   [lat service name to connect to]
To receive LAT connections and broadcast LAT session names
Modifying the /etc/latd.conf file. This will allow printers and console connections to the serial ports over LAT. (This file may need to be created and added to /etc/config_files)

For more info on the LATD project and its command line options :

http://linux-decnet.sourceforge.net/lat.html

Full Version df command for ACS / TS:

df

Usage : Create the file - > /etc/mtab with the following in the file

/dev/root / root rw 0 0
none /proc proc rw 0 0

You are now able to use the full range of df commands. (including df -i)

Kermit Terminal Session Program for ACS (since its too big to fit on a TS) :

wermit

chmod +x wermit        (once copied onto the ACS)
To configure it to connect to a port :
set line /dev/ttyS1
set speed 9600
set carrier-watch off
connect

Warning - this program has been compiled for development / debugging environments only. Currently wermit sometimes does not close the ACS port for some reason after it connects to it...

 


9) Contact Details for More HELP :)

Nathan Chan
Level 1, 328 High St
Chatswood NSW 2067
Ph : +61 (0)2 9496 1100
Fax : +61 (0)2 9496 1122

Antispam Email Address : chan at xsi.com.au (of course replace the at with @)