← Documents Documentation/networking/6pack.rst GitHub 원문 ↗

Linux 6.18.37 · Networking

6pack Protocol

PC와 packet-radio TNC 사이의 6pack 직렬 프로토콜, 설치 절차, 당시 알려진 문제를 담은 1998년 HOWTO입니다.

Source pathDocumentation/networking/6pack.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

6pack.rst:1-191

6pack은 PC가 TNC의 무선 채널 상태를 실시간으로 제어하고 각 직렬 패킷을 checksum으로 검증하게 하는 KISS 대체 프로토콜입니다. 이 문서는 1998년의 kernel 2.0·2.1 계열과 EPROM 기반 TNC를 전제로 하므로 명령과 배포 위치는 역사적 기록으로 읽어야 합니다.

6pack 데이터와 제어 경로
Linux PC6pack serial protocolTNC무선 채널원격국
TNC 상태·PTT·buffer event고우선순위 control dataLinux PC

제어 이벤트는 일반 데이터보다 높은 우선순위로 전달됩니다.

6pack과 KISS 비교
항목6packKISS 대비 의미
채널 제어PC가 TNC 상태를 실시간 파악접근·타이밍 실험 가능
이벤트 우선순위일반 stream 중단 가능중요 상태 즉시 전달
오류 검출각 serial packet checksum손상 packet 차단
Daisy chain프로토콜은 지원Linux driver는 미구현

문서가 강조하는 두 장점을 기준으로 비교했습니다.

64 kByte TNC EPROM 구성
EPROM 영역기존 내용6pack 설치 선택
아래쪽 32 kBytefirmware/KISS교체 가능
위쪽 32 kByte비어 있음 또는 TAPRTAPR 교체 권장
최상위 주소 pinHIGH/LOWDIP switch로 절반 선택

문서가 설명하는 두 절반의 용도를 구조화했습니다.

역사적 설치 절차
Development driver 질문 활성화Amateur radio 6pack driver 선택Kernel·module build`kissattach.c`를 `N_6PACK`으로 수정`spattach` 생성`insmod 6pack``6pack: TNC found` 확인`sp0` 사용

Kernel 구성부터 첫 `sp0` 장치까지의 흐름입니다.

TNC LED 의미
LEDPC/FlexNetLinux 6pack
connect연결 존재PC에서 TNC로 데이터 전송
statusAX.25 송신 대기 데이터TNC에서 PC로 데이터 전송

Linux 6pack에서는 연결 상태가 아니라 직렬 전송 방향을 나타냅니다.

문서에 기록된 알려진 제약
영역상태
Kernel 2.0.3x, 9600 Baud 이상`bad checksum` 가능
남은 AX.25/IP 연결`sp` 종료 시 crash 가능
Build 방식module만 시험
TNC daisy chain미구현
Source 주석SLIP/KISS의 부정확한 주석 잔존

1998년 당시 시험 범위와 미구현 기능입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ==============
4 6pack Protocol
5 ==============
6
7 This is the 6pack-mini-HOWTO, written by
8
9 Andreas Könsgen DG3KQ
10
11 :Internet: [email protected]
12 :AMPR-net: [email protected]
13 :AX.25: dg3kq@db0ach.#nrw.deu.eu
14
15 Last update: April 7, 1998
16
17 1. What is 6pack, and what are the advantages to KISS?
18 ======================================================
19
20 6pack is a transmission protocol for data exchange between the PC and
21 the TNC over a serial line. It can be used as an alternative to KISS.
22
23 6pack has two major advantages:
24
25 - The PC is given full control over the radio
26 channel. Special control data is exchanged between the PC and the TNC so
27 that the PC knows at any time if the TNC is receiving data, if a TNC
28 buffer underrun or overrun has occurred, if the PTT is
29 set and so on. This control data is processed at a higher priority than
30 normal data, so a data stream can be interrupted at any time to issue an
31 important event. This helps to improve the channel access and timing
32 algorithms as everything is computed in the PC. It would even be possible
33 to experiment with something completely different from the known CSMA and
34 DAMA channel access methods.
35 This kind of real-time control is especially important to supply several
36 TNCs that are connected between each other and the PC by a daisy chain
37 (however, this feature is not supported yet by the Linux 6pack driver).
38
39 - Each packet transferred over the serial line is supplied with a checksum,
40 so it is easy to detect errors due to problems on the serial line.
41 Received packets that are corrupt are not passed on to the AX.25 layer.
42 Damaged packets that the TNC has received from the PC are not transmitted.
43
44 More details about 6pack are described in the file 6pack.ps that is located
45 in the doc directory of the AX.25 utilities package.
46
47 2. Who has developed the 6pack protocol?
48 ========================================
49
50 The 6pack protocol has been developed by Ekki Plicht DF4OR, Henning Rech
51 DF9IC and Gunter Jost DK7WJ. A driver for 6pack, written by Gunter Jost and
52 Matthias Welwarsky DG2FEF, comes along with the PC version of FlexNet.
53 They have also written a firmware for TNCs to perform the 6pack
54 protocol (see section 4 below).
55
56 3. Where can I get the latest version of 6pack for LinuX?
57 =========================================================
58
59 At the moment, the 6pack stuff can obtained via anonymous ftp from
60 db0bm.automation.fh-aachen.de. In the directory /incoming/dg3kq,
61 there is a file named 6pack.tgz.
62
63 4. Preparing the TNC for 6pack operation
64 ========================================
65
66 To be able to use 6pack, a special firmware for the TNC is needed. The EPROM
67 of a newly bought TNC does not contain 6pack, so you will have to
68 program an EPROM yourself. The image file for 6pack EPROMs should be
69 available on any packet radio box where PC/FlexNet can be found. The name of
70 the file is 6pack.bin. This file is copyrighted and maintained by the FlexNet
71 team. It can be used under the terms of the license that comes along
72 with PC/FlexNet. Please do not ask me about the internals of this file as I
73 don't know anything about it. I used a textual description of the 6pack
74 protocol to program the Linux driver.
75
76 TNCs contain a 64kByte EPROM, the lower half of which is used for
77 the firmware/KISS. The upper half is either empty or is sometimes
78 programmed with software called TAPR. In the latter case, the TNC
79 is supplied with a DIP switch so you can easily change between the
80 two systems. When programming a new EPROM, one of the systems is replaced
81 by 6pack. It is useful to replace TAPR, as this software is rarely used
82 nowadays. If your TNC is not equipped with the switch mentioned above, you
83 can build in one yourself that switches over the highest address pin
84 of the EPROM between HIGH and LOW level. After having inserted the new EPROM
85 and switched to 6pack, apply power to the TNC for a first test. The connect
86 and the status LED are lit for about a second if the firmware initialises
87 the TNC correctly.
88
89 5. Building and installing the 6pack driver
90 ===========================================
91
92 The driver has been tested with kernel version 2.1.90. Use with older
93 kernels may lead to a compilation error because the interface to a kernel
94 function has been changed in the 2.1.8x kernels.
95
96 How to turn on 6pack support:
97 =============================
98
99 - In the linux kernel configuration program, select the code maturity level
100 options menu and turn on the prompting for development drivers.
101
102 - Select the amateur radio support menu and turn on the serial port 6pack
103 driver.
104
105 - Compile and install the kernel and the modules.
106
107 To use the driver, the kissattach program delivered with the AX.25 utilities
108 has to be modified.
109
110 - Do a cd to the directory that holds the kissattach sources. Edit the
111 kissattach.c file. At the top, insert the following lines::
112
113 #ifndef N_6PACK
114 #define N_6PACK (N_AX25+1)
115 #endif
116
117 Then find the line:
118
119 int disc = N_AX25;
120
121 and replace N_AX25 by N_6PACK.
122
123 - Recompile kissattach. Rename it to spattach to avoid confusions.
124
125 Installing the driver:
126 ----------------------
127
128 - Do an insmod 6pack. Look at your /var/log/messages file to check if the
129 module has printed its initialization message.
130
131 - Do a spattach as you would launch kissattach when starting a KISS port.
132 Check if the kernel prints the message '6pack: TNC found'.
133
134 - From here, everything should work as if you were setting up a KISS port.
135 The only difference is that the network device that represents
136 the 6pack port is called sp instead of sl or ax. So, sp0 would be the
137 first 6pack port.
138
139 Although the driver has been tested on various platforms, I still declare it
140 ALPHA. BE CAREFUL! Sync your disks before insmoding the 6pack module
141 and spattaching. Watch out if your computer behaves strangely. Read section
142 6 of this file about known problems.
143
144 Note that the connect and status LEDs of the TNC are controlled in a
145 different way than they are when the TNC is used with PC/FlexNet. When using
146 FlexNet, the connect LED is on if there is a connection; the status LED is
147 on if there is data in the buffer of the PC's AX.25 engine that has to be
148 transmitted. Under Linux, the 6pack layer is beyond the AX.25 layer,
149 so the 6pack driver doesn't know anything about connects or data that
150 has not yet been transmitted. Therefore the LEDs are controlled
151 as they are in KISS mode: The connect LED is turned on if data is transferred
152 from the PC to the TNC over the serial line, the status LED if data is
153 sent to the PC.
154
155 6. Known problems
156 =================
157
158 When testing the driver with 2.0.3x kernels and
159 operating with data rates on the radio channel of 9600 Baud or higher,
160 the driver may, on certain systems, sometimes print the message '6pack:
161 bad checksum', which is due to data loss if the other station sends two
162 or more subsequent packets. I have been told that this is due to a problem
163 with the serial driver of 2.0.3x kernels. I don't know yet if the problem
164 still exists with 2.1.x kernels, as I have heard that the serial driver
165 code has been changed with 2.1.x.
166
167 When shutting down the sp interface with ifconfig, the kernel crashes if
168 there is still an AX.25 connection left over which an IP connection was
169 running, even if that IP connection is already closed. The problem does not
170 occur when there is a bare AX.25 connection still running. I don't know if
171 this is a problem of the 6pack driver or something else in the kernel.
172
173 The driver has been tested as a module, not yet as a kernel-builtin driver.
174
175 The 6pack protocol supports daisy-chaining of TNCs in a token ring, which is
176 connected to one serial port of the PC. This feature is not implemented
177 and at least at the moment I won't be able to do it because I do not have
178 the opportunity to build a TNC daisy-chain and test it.
179
180 Some of the comments in the source code are inaccurate. They are left from
181 the SLIP/KISS driver, from which the 6pack driver has been derived.
182 I haven't modified or removed them yet -- sorry! The code itself needs
183 some cleaning and optimizing. This will be done in a later release.
184
185 If you encounter a bug or if you have a question or suggestion concerning the
186 driver, feel free to mail me, using the addresses given at the beginning of
187 this file.
188
189 Have fun!
190
191 Andreas
192

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

문서 정보

1-15

`.. SPDX-License-Identifier: GPL-2.0`

6pack 프로토콜

이 문서는 Andreas Könsgen DG3KQ가 작성한 6pack 미니 HOWTO입니다.

마지막 갱신: 1998년 4월 7일

.. SPDX-License-Identifier: GPL-2.0

==============
6pack Protocol
==============

This is the 6pack-mini-HOWTO, written by

Andreas Könsgen DG3KQ

:Internet: [email protected]
:AMPR-net: [email protected]
:AX.25:    dg3kq@db0ach.#nrw.deu.eu

Last update: April 7, 1998

6pack과 KISS 대비 장점

16-45

1. 6pack이란 무엇이며 KISS보다 어떤 장점이 있는가?

6pack은 직렬 회선을 통해 PC와 TNC 사이에서 데이터를 교환하는 전송 프로토콜입니다. KISS의 대안으로 사용할 수 있습니다.

6pack에는 두 가지 주요 장점이 있습니다.

  • PC가 무선 채널을 완전히 제어합니다. PC와 TNC는 특수 제어 데이터를 교환하므로 PC는 TNC의 수신 여부, TNC 버퍼 underrun·overrun 발생 여부, PTT 설정 여부 등을 언제든 알 수 있습니다. 이 제어 데이터는 일반 데이터보다 높은 우선순위로 처리되므로 중요한 이벤트를 알리기 위해 데이터 스트림을 언제든 중단할 수 있습니다. 모든 계산을 PC에서 수행해 채널 접근 및 타이밍 알고리즘을 개선할 수 있고, 알려진 CSMA·DAMA 방식과 전혀 다른 채널 접근법도 실험할 수 있습니다. 이러한 실시간 제어는 PC와 여러 TNC를 daisy chain으로 연결할 때 특히 중요하지만 Linux 6pack 드라이버는 아직 이 기능을 지원하지 않습니다.
  • 직렬 회선으로 전송되는 각 패킷에 checksum이 붙으므로 직렬 회선 문제로 생긴 오류를 쉽게 감지할 수 있습니다. 손상된 수신 패킷은 AX.25 계층으로 넘기지 않으며, TNC가 PC에서 받은 손상 패킷도 송신하지 않습니다.

6pack에 관한 자세한 설명은 AX.25 utilities 패키지의 `doc` 디렉터리에 있는 `6pack.ps` 파일을 참조하십시오.


1. What is 6pack, and what are the advantages to KISS?
======================================================

6pack is a transmission protocol for data exchange between the PC and
the TNC over a serial line. It can be used as an alternative to KISS.

6pack has two major advantages:

- The PC is given full control over the radio
  channel. Special control data is exchanged between the PC and the TNC so
  that the PC knows at any time if the TNC is receiving data, if a TNC
  buffer underrun or overrun has occurred, if the PTT is
  set and so on. This control data is processed at a higher priority than
  normal data, so a data stream can be interrupted at any time to issue an
  important event. This helps to improve the channel access and timing
  algorithms as everything is computed in the PC. It would even be possible
  to experiment with something completely different from the known CSMA and
  DAMA channel access methods.
  This kind of real-time control is especially important to supply several
  TNCs that are connected between each other and the PC by a daisy chain
  (however, this feature is not supported yet by the Linux 6pack driver).

- Each packet transferred over the serial line is supplied with a checksum,
  so it is easy to detect errors due to problems on the serial line.
  Received packets that are corrupt are not passed on to the AX.25 layer.
  Damaged packets that the TNC has received from the PC are not transmitted.

More details about 6pack are described in the file 6pack.ps that is located
in the doc directory of the AX.25 utilities package.

프로토콜 개발자

46-54

2. 6pack 프로토콜은 누가 개발했는가?

6pack 프로토콜은 Ekki Plicht DF4OR, Henning Rech DF9IC, Gunter Jost DK7WJ가 개발했습니다. Gunter Jost와 Matthias Welwarsky DG2FEF가 작성한 6pack 드라이버는 PC용 FlexNet에 포함되어 있습니다. 이들은 TNC에서 6pack 프로토콜을 수행하는 firmware도 작성했습니다. 아래 4절을 참조하십시오.


2. Who has developed the 6pack protocol?
========================================

The 6pack protocol has been developed by Ekki Plicht DF4OR, Henning Rech
DF9IC and Gunter Jost DK7WJ. A driver for 6pack, written by Gunter Jost and
Matthias Welwarsky DG2FEF, comes along with the PC version of FlexNet.
They have also written a firmware for TNCs to perform the 6pack
protocol (see section 4 below).

당시 배포 위치

55-62

3. Linux용 6pack 최신 버전은 어디에서 구할 수 있는가?

이 문서가 작성된 당시 6pack 자료는 `db0bm.automation.fh-aachen.de`의 anonymous FTP로 받을 수 있었으며, `/incoming/dg3kq` 디렉터리에 `6pack.tgz` 파일이 있었습니다.


3. Where can I get the latest version of 6pack for LinuX?
=========================================================

At the moment, the 6pack stuff can obtained via anonymous ftp from
db0bm.automation.fh-aachen.de. In the directory /incoming/dg3kq,
there is a file named 6pack.tgz.

TNC firmware 준비

63-87

4. 6pack 동작을 위한 TNC 준비

6pack을 사용하려면 TNC용 특수 firmware가 필요합니다. 새 TNC의 EPROM에는 6pack이 들어 있지 않으므로 EPROM을 직접 프로그래밍해야 합니다. 6pack EPROM image인 `6pack.bin`은 PC/FlexNet을 구할 수 있는 packet radio box에 있어야 합니다. 이 파일은 FlexNet 팀이 저작권을 보유하고 관리하며 PC/FlexNet에 포함된 license 조건에 따라 사용할 수 있습니다. 작성자는 파일 내부를 알지 못하고 6pack 프로토콜의 텍스트 설명을 사용해 Linux 드라이버를 작성했습니다.

TNC에는 64 kByte EPROM이 있으며 아래쪽 절반은 firmware/KISS가 사용합니다. 위쪽 절반은 비어 있거나 TAPR 소프트웨어가 들어 있을 수 있습니다. TAPR이 있으면 DIP switch로 두 시스템을 쉽게 전환할 수 있습니다. 새 EPROM을 프로그래밍할 때 둘 중 하나를 6pack으로 교체합니다. 당시 거의 사용하지 않던 TAPR을 교체하는 편이 유용했습니다.

TNC에 해당 switch가 없다면 EPROM의 최상위 주소 pin을 HIGH와 LOW 사이에서 전환하는 switch를 직접 추가할 수 있습니다. 새 EPROM을 넣고 6pack으로 전환한 뒤 TNC에 전원을 넣어 처음 시험합니다. firmware가 TNC를 올바르게 초기화하면 connect LED와 status LED가 약 1초 동안 켜집니다.

4. Preparing the TNC for 6pack operation
========================================

To be able to use 6pack, a special firmware for the TNC is needed. The EPROM
of a newly bought TNC does not contain 6pack, so you will have to
program an EPROM yourself. The image file for 6pack EPROMs should be
available on any packet radio box where PC/FlexNet can be found. The name of
the file is 6pack.bin. This file is copyrighted and maintained by the FlexNet
team. It can be used under the terms of the license that comes along
with PC/FlexNet. Please do not ask me about the internals of this file as I
don't know anything about it. I used a textual description of the 6pack
protocol to program the Linux driver.

TNCs contain a 64kByte EPROM, the lower half of which is used for
the firmware/KISS. The upper half is either empty or is sometimes
programmed with software called TAPR. In the latter case, the TNC
is supplied with a DIP switch so you can easily change between the
two systems. When programming a new EPROM, one of the systems is replaced
by 6pack. It is useful to replace TAPR, as this software is rarely used
nowadays. If your TNC is not equipped with the switch mentioned above, you
can build in one yourself that switches over the highest address pin
of the EPROM between HIGH and LOW level. After having inserted the new EPROM
and switched to 6pack, apply power to the TNC for a first test. The connect
and the status LED are lit for about a second if the firmware initialises
the TNC correctly.

드라이버 빌드와 커널 구성

88-105

5. 6pack 드라이버 빌드 및 설치

드라이버는 kernel 2.1.90에서 시험되었습니다. 2.1.8x kernel에서 커널 함수 인터페이스가 바뀌었으므로 더 오래된 kernel에서는 compile 오류가 발생할 수 있습니다.

6pack 지원을 켜는 방법은 다음과 같습니다.

  • Linux kernel 구성 프로그램에서 code maturity level options 메뉴를 선택하고 development driver 질문을 켭니다.
  • Amateur radio support 메뉴에서 serial port 6pack driver를 켭니다.
  • Kernel과 module을 compile하고 설치합니다.

5. Building and installing the 6pack driver
===========================================

The driver has been tested with kernel version 2.1.90. Use with older
kernels may lead to a compilation error because the interface to a kernel
function has been changed in the 2.1.8x kernels.

How to turn on 6pack support:
=============================

- In the linux kernel configuration program, select the code maturity level
  options menu and turn on the prompting for development drivers.

- Select the amateur radio support menu and turn on the serial port 6pack
  driver.

- Compile and install the kernel and the modules.

kissattach 수정과 설치

106-137

드라이버를 사용하려면 AX.25 utilities의 `kissattach` 프로그램을 수정해야 합니다.

`kissattach` source가 있는 디렉터리로 이동해 `kissattach.c` 파일의 위쪽에 다음 줄을 넣습니다.

#ifndef N_6PACK
#define N_6PACK (N_AX25+1)
#endif

다음 줄을 찾습니다.

int disc = N_AX25;

`N_AX25`를 `N_6PACK`으로 바꿉니다. `kissattach`를 다시 compile하고 혼동을 피하도록 이름을 `spattach`로 바꿉니다.

드라이버 설치 절차는 다음과 같습니다.

  • `insmod 6pack`을 실행하고 `/var/log/messages`에서 module 초기화 메시지를 확인합니다.
  • KISS port를 시작할 때 `kissattach`를 실행하듯 `spattach`를 실행하고 kernel이 `6pack: TNC found`를 출력하는지 확인합니다.
  • 이후에는 KISS port를 설정할 때처럼 동작합니다. 6pack port의 network device 이름은 `sl`이나 `ax`가 아니라 `sp`이며, 첫 port는 `sp0`입니다.

To use the driver, the kissattach program delivered with the AX.25 utilities
has to be modified.

- Do a cd to the directory that holds the kissattach sources. Edit the
  kissattach.c file. At the top, insert the following lines::

    #ifndef N_6PACK
    #define N_6PACK (N_AX25+1)
    #endif

  Then find the line:

    int disc = N_AX25;

  and replace N_AX25 by N_6PACK.

- Recompile kissattach. Rename it to spattach to avoid confusions.

Installing the driver:
----------------------

- Do an insmod 6pack. Look at your /var/log/messages file to check if the
  module has printed its initialization message.

- Do a spattach as you would launch kissattach when starting a KISS port.
  Check if the kernel prints the message '6pack: TNC found'.

- From here, everything should work as if you were setting up a KISS port.
  The only difference is that the network device that represents
  the 6pack port is called sp instead of sl or ax. So, sp0 would be the
  first 6pack port.

ALPHA 경고와 LED 동작

138-154

드라이버는 여러 platform에서 시험되었지만 작성자는 여전히 ALPHA로 선언했습니다. 주의하십시오. 6pack module을 `insmod`하고 `spattach`하기 전에 disk를 동기화하고, computer가 이상하게 동작하는지 살펴보십시오. 알려진 문제는 6절을 읽으십시오.

TNC의 connect 및 status LED는 PC/FlexNet과 다르게 제어됩니다. FlexNet에서는 연결이 있으면 connect LED가 켜지고, PC의 AX.25 engine buffer에 전송할 데이터가 있으면 status LED가 켜집니다. Linux에서는 6pack 계층이 AX.25 계층 너머에 있어 연결이나 아직 송신하지 않은 데이터를 알지 못합니다.

따라서 LED는 KISS mode처럼 제어됩니다. PC에서 TNC로 직렬 데이터를 보낼 때 connect LED가 켜지고, TNC가 PC로 데이터를 보낼 때 status LED가 켜집니다.


Although the driver has been tested on various platforms, I still declare it
ALPHA. BE CAREFUL! Sync your disks before insmoding the 6pack module
and spattaching. Watch out if your computer behaves strangely. Read section
6 of this file about known problems.

Note that the connect and status LEDs of the TNC are controlled in a
different way than they are when the TNC is used with PC/FlexNet. When using
FlexNet, the connect LED is on if there is a connection; the status LED is
on if there is data in the buffer of the PC's AX.25 engine that has to be
transmitted. Under Linux, the 6pack layer is beyond the AX.25 layer,
so the 6pack driver doesn't know anything about connects or data that
has not yet been transmitted. Therefore the LEDs are controlled
as they are in KISS mode: The connect LED is turned on if data is transferred
from the PC to the TNC over the serial line, the status LED if data is
sent to the PC.

알려진 문제

155-191

6. 알려진 문제

2.0.3x kernel에서 무선 채널을 9600 Baud 이상으로 운용하며 드라이버를 시험할 때, 상대국이 두 개 이상의 연속 패킷을 보내면 일부 시스템에서 데이터 손실로 `6pack: bad checksum` 메시지가 나타날 수 있습니다. 작성자는 이를 2.0.3x kernel의 serial driver 문제라고 전해 들었으며, serial driver가 바뀐 2.1.x에서도 문제가 남았는지는 알지 못했습니다.

`ifconfig`로 `sp` 인터페이스를 내릴 때, 이미 IP 연결이 닫혔더라도 그 IP 연결이 사용하던 AX.25 연결이 남아 있으면 kernel이 crash합니다. AX.25 연결만 남아 있을 때는 문제가 발생하지 않습니다. 작성자는 이것이 6pack 드라이버 문제인지 kernel의 다른 문제인지 알지 못했습니다.

드라이버는 module로 시험했으며 kernel built-in 드라이버로는 아직 시험하지 않았습니다.

6pack 프로토콜은 PC의 한 serial port에 token ring 형태로 연결한 TNC daisy chain을 지원하지만 이 기능은 구현되지 않았습니다. 작성자는 시험용 TNC daisy chain을 만들 수 없어 당시에는 이를 구현할 수 없다고 설명합니다.

Source code 주석 일부는 부정확하며 6pack 드라이버의 기반이 된 SLIP/KISS 드라이버에서 남은 것입니다. 작성 당시에는 아직 수정하거나 제거하지 않았고 code 정리와 최적화도 이후 release로 미뤘습니다.

버그를 발견하거나 드라이버 관련 질문·제안이 있으면 문서 처음에 나온 주소로 작성자에게 mail을 보낼 수 있습니다.

즐겁게 사용하십시오.

Andreas

6. Known problems
=================

When testing the driver with 2.0.3x kernels and
operating with data rates on the radio channel of 9600 Baud or higher,
the driver may, on certain systems, sometimes print the message '6pack:
bad checksum', which is due to data loss if the other station sends two
or more subsequent packets. I have been told that this is due to a problem
with the serial driver of 2.0.3x kernels. I don't know yet if the problem
still exists with 2.1.x kernels, as I have heard that the serial driver
code has been changed with 2.1.x.

When shutting down the sp interface with ifconfig, the kernel crashes if
there is still an AX.25 connection left over which an IP connection was
running, even if that IP connection is already closed. The problem does not
occur when there is a bare AX.25 connection still running. I don't know if
this is a problem of the 6pack driver or something else in the kernel.

The driver has been tested as a module, not yet as a kernel-builtin driver.

The 6pack protocol supports daisy-chaining of TNCs in a token ring, which is
connected to one serial port of the PC. This feature is not implemented
and at least at the moment I won't be able to do it because I do not have
the opportunity to build a TNC daisy-chain and test it.

Some of the comments in the source code are inaccurate. They are left from
the SLIP/KISS driver, from which the 6pack driver has been derived.
I haven't modified or removed them yet -- sorry! The code itself needs
some cleaning and optimizing. This will be done in a later release.

If you encounter a bug or if you have a question or suggestion concerning the
driver, feel free to mail me, using the addresses given at the beginning of
this file.

Have fun!

Andreas