Serial Console - WindyHana's Solanara

목차

시리얼 포트 케이블링

외장 모뎀 통신용 케이블

시리얼포트(25핀)와 외장형모뎀(25핀)을 연결할때는 아래와 같이 2, 3, 4, 5, 6, 7, 8, 20, 22 번 총 9개만 연결해주면 된다.
신호명  시리얼포트(25)    모뎀(25)
TD               2           2
RD               3           3
RTS              4           4
CTS              5           5
DSR              6           6
SG               7           7
DCD              8           8
DTR             20          20
RI              22          22
그런데 25핀이긴 하지만 실제 사용되는것이 9개이니 9핀으로도 가능하다. 그래서 9핀 규격이 나왔다. 9핀 시리얼포트와 25핀 모뎀은 아래와같이 연결해주면 된다.
신호명  시리얼포트(9)     모뎀(25)
TD               3           2
RD               2           3
RTS              7           4
CTS              8           5
DSR              6           6
SG               5           7
DCD              1           8
DTR              4          20
RI               9          22

콘솔 케이블

근거리에 있는 유닉스 머신에 접근하기 위해서 사용하는 케이블. 썬 스팍장비뿐만 아니라 다른 장비도 마찬가지다. PC용 리눅스도 설정만 해 놓으면 접속할 수 있다. RD를 상대방의 TD에 연결하는것이 원리다.
신호명                   DB-25     DE-9     ↔     DE-9     DB-25    신호명
RD                         3         2               3        2        TD
TD                         2         3               2        3        RD
SG                         7         5               5        7        SG
※ 여기서 중요한건 콘솔 케이블은 CD 시그널을 처리하지 않는다는 사실이다.

널 모뎀 케이블

콘솔 케이블에 다른 핀까지 연결해 놓았다. 총 8개의 선을 사용한다. 시리얼FX케이블(DOS시절 이 케이블을 이용해 파일 복사를 가능하게 해주는 FX라는 프로그램이 있었다)이라고도 한다.
신호명                   DB-25     DE-9     ↔     DE-9     DB-25    신호명
FG (Frame Ground)          1         -               -        1        FG
TD (Transmit Data)         2         3               2        3        RD
RD (Receive Data)          3         2               3        2        TD
RTS (Request To Send)      4         7               8        5       CTS
CTS (Clear To Send)        5         8               7        4       RTS
SG (Signal Ground)         7         5               5        7        SG
DSR (Data Set Ready)       6         6               4       20       DTR
CD (Carrier Detect)        8         1               4       20       DTR
DTR (Data Terminal Ready) 20         4               1        8        CD
DTR (Data Terminal Ready) 20         4               6        6       DSR

출처: Null modem
RI 가 빠지기 때문에 8개다. (널모뎀에서 전화벨이 울릴일은 없으니 말이다)

Cat 5 케이블을 이용한 널모뎀 케이블

9핀 널 모뎀 케이블에서 사용하는 8개 라인은 이더넷 네트워크 케이블에서 사용하는 케이블의 8가닥 선과 개수가 같다. 따라서 시리얼 널모뎀 커넥터와 네트워크 케이블을 사용해 연결할 수 있다. 저렴한 이더넷 케이블을 사용할 수 있으니 오히려 더 이득이다. RJ-45 to DB9-F 커넥터와 랜 케이블만 있으면 만들 수 있다.

솔라리스에서 직렬포트 사용

썬 스팍 장비에 키보드가 연결되어있지 않을때에는, COM1을 콘솔로써 사용한다. 콘솔 케이블 또는 널 모뎀 케이블과 PC를 연결한 후, 아래와 같은 세팅으로 접속하면 된다. 윈도우에서는 하이퍼터미널이나 Putty와 같은 프로그램을 사용할 수 있으며, 솔라리스에서는 문서 하단에서 설명해 놓았다.
비트레이트: 9600 bps
데이터비트: 8 bit
패리티비트: 없음
스톱  비트: 1 bit
흐름  제어: 하드웨어

터미널: VT-100 호환

시리얼 포트를 콘솔로 사용하는 장비에서 콘솔 사용하기

여기서 시리얼 포트를 콘솔로 사용하는 장비란, 키보드를 연결하지 않거나 VGA가 없는 상태로 부팅한 썬 스팍 장비를 말한다. 스위치나 라우터 장비처럼 VGA와 키보드 커넥터가 없는 장비도 이에 속할것이다.
널 모뎀 케이블로 장비의 COM1과 노트북의 COM2를 연결한다. 노트북의 OS가 솔라리스라면, 즉 솔라리스에서 COM2 를 열려면 아래와 같이 한다. OS가 윈도라면 [시작 → 보조프로그램 → 통신 → 하이퍼터미널]에서 COM2로 연결해 사용할 수 있다.
root@wl ~ # cat /etc/remote
...
hardwire:\
        :dv=/dev/term/b:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D: 1)
...
root@wl ~ # tip hardwire
connected 2)
~. 3)
[EOT]
root@wl ~ # 
1) 기본값은 com2로 되어있다. 만약 com1을 사용하려면 /dev/term/b 를 /dev/term/a 로 수정한다.
2) [connected] 대신 [all ports busy]가 나오면 지정한 시리얼 포트가 사용중이거나 시리얼 포트가 없는지 확인해봐야 한다.
3) [~.] 을 입력하면 터미널에서 빠져나올 수 있다. (접속은 되어있는 상태다) 자세한것은 [man tip] 페이지를 참고한다.

콘솔을 시리얼 포트로 재지정

PC에 VGA가 없는 경우(VGA없이 부팅하려면 바이오스에서 지원해야 한다. 대부분의 PC용 데스크탑 바이오스는 지원하지 않는다), 또는 키보드가 없는 경우에 시리얼 포트를 콘솔로써 사용할 수 있다. 아래와 같이 하면 된다. (시리얼 콘솔을 사용해도 GUI는 사용 가능하다. '텍스트'콘솔이 없을 뿐이다)
  1. GRUB에서 부트 파라미터를 솔라리스 커널로 넘기는 방법

    ※ 이 내용은 매뉴얼에 나와있는 내용이지만 필자의 Solaris 10 u6에서 테스트해본 결과 솔라리스가 부팅 되지 않았다. 따라서 권장하지 않는다.
    root@wl ~ # vi /rpool/boot/grub/menu.lst 1)
    ...
    # Solaris 10 Serial Console
    title Solaris 10 10/08 X86 SERIALCONSOLE
    findroot (pool_rpool,0,a)
    kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS console=ttya,ttya-mode="9600,8,n,1,-"
    module /platform/i86pc/boot_archive
    root@wl ~ #
    
    1) ZFS를 사용하지 않으면 /boot/grub/menu.lst 을 수정하면 된다.
  2. 솔라리스의 부팅 환경 파일을 고치는 방법

    /boot/solaris/bootenv.rc에서 [setprop console 'text']를 [setprop console 'ttya'] 로 바꿔주기만 하면 된다. ttya* 항목이 아래와 같은지 확인하자.
    root@wl ~ # vi /boot/solaris/bootenv.rc
    ...
    setprop console 'ttya'
    setprop ttya-mode '9600,8,n,-'
    setprop ttya-ignore-cd true
    setprop ttya-rts-dtr-off false
    
    ...
    root@wl ~ # reboot
    
RSS ATOM XHTML 1.0 CSS3