1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Amateur Radio protocols and AX.25 device configuration
4#
5
6menuconfig HAMRADIO
7	depends on NET && !S390
8	bool "Amateur Radio support"
9	help
10	  If you want to connect your Linux box to an amateur radio, answer Y
11	  here. You want to read <https://www.tapr.org/>
12	  and more specifically about AX.25 on Linux
13	  <https://linux-ax25.in-berlin.de>.
14
15	  Note that the answer to this question won't directly affect the
16	  kernel: saying N will just cause the configurator to skip all
17	  the questions about amateur radio.
18
19comment "Packet Radio protocols"
20	depends on HAMRADIO
21
22config AX25
23	tristate "Amateur Radio AX.25 Level 2 protocol"
24	depends on HAMRADIO
25	help
26	  This is the protocol used for computer communication over amateur
27	  radio. It is either used by itself for point-to-point links, or to
28	  carry other protocols such as tcp/ip. To use it, you need a device
29	  that connects your Linux box to your amateur radio. You can either
30	  use a low speed TNC (a Terminal Node Controller acts as a kind of
31	  modem connecting your computer's serial port to your radio's
32	  microphone input and speaker output) supporting the KISS protocol or
33	  one of the various SCC cards that are supported by the generic Z8530
34	  or the DMA SCC driver. Another option are the Baycom modem serial
35	  and parallel port hacks or the sound card modem (supported by their
36	  own drivers). If you say Y here, you also have to say Y to one of
37	  those drivers.
38
39	  Information about where to get supporting software for Linux amateur
40	  radio as well as information about how to configure an AX.25 port is
41	  contained in the AX25-HOWTO, available from
42	  <https://www.tldp.org/docs.html#howto>. You might also want to
43	  check out the file <file:Documentation/networking/ax25.rst> in the
44	  kernel source. More information about digital amateur radio in
45	  general is on the WWW at
46	  <https://www.tapr.org/>.
47
48	  To compile this driver as a module, choose M here: the
49	  module will be called ax25.
50
51config AX25_DAMA_SLAVE
52	bool "AX.25 DAMA Slave support"
53	default y
54	depends on AX25
55	help
56	  DAMA is a mechanism to prevent collisions when doing AX.25
57	  networking. A DAMA server (called "master") accepts incoming traffic
58	  from clients (called "slaves") and redistributes it to other slaves.
59	  If you say Y here, your Linux box will act as a DAMA slave; this is
60	  transparent in that you don't have to do any special DAMA
61	  configuration. Linux cannot yet act as a DAMA server.  This option
62	  only compiles DAMA slave support into the kernel.  It still needs to
63	  be enabled at runtime.  For more about DAMA see
64	  <https://linux-ax25.in-berlin.de>.  If unsure, say Y.
65
66# placeholder until implemented
67config AX25_DAMA_MASTER
68	bool 'AX.25 DAMA Master support'
69	depends on AX25_DAMA_SLAVE && BROKEN
70	help
71	  DAMA is a mechanism to prevent collisions when doing AX.25
72	  networking. A DAMA server (called "master") accepts incoming traffic
73	  from clients (called "slaves") and redistributes it to other slaves.
74	  If you say Y here, your Linux box will act as a DAMA master; this is
75	  transparent in that you don't have to do any special DAMA
76	  configuration. Linux cannot yet act as a DAMA server.  This option
77	  only compiles DAMA slave support into the kernel.  It still needs to
78	  be explicitly enabled, so if unsure, say Y.
79
80config NETROM
81	tristate "Amateur Radio NET/ROM protocol"
82	depends on AX25
83	help
84	  NET/ROM is a network layer protocol on top of AX.25 useful for
85	  routing.
86
87	  A comprehensive listing of all the software for Linux amateur radio
88	  users as well as information about how to configure an AX.25 port is
89	  contained in the Linux Ham Wiki, available from
90	  <https://linux-ax25.in-berlin.de>. You also might want to check out
91	  the file <file:Documentation/networking/ax25.rst>. More information
92	  about digital amateur radio in general is on the WWW at
93	  <https://www.tapr.org/>.
94
95	  To compile this driver as a module, choose M here: the
96	  module will be called netrom.
97
98config ROSE
99	tristate "Amateur Radio X.25 PLP (Rose)"
100	depends on AX25
101	help
102	  The Packet Layer Protocol (PLP) is a way to route packets over X.25
103	  connections in general and amateur radio AX.25 connections in
104	  particular, essentially an alternative to NET/ROM.
105
106	  A comprehensive listing of all the software for Linux amateur radio
107	  users as well as information about how to configure an AX.25 port is
108	  contained in the Linux Ham Wiki, available from
109	  <https://linux-ax25.in-berlin.de>.  You also might want to check out
110	  the file <file:Documentation/networking/ax25.rst>. More information
111	  about digital amateur radio in general is on the WWW at
112	  <https://www.tapr.org/>.
113
114	  To compile this driver as a module, choose M here: the
115	  module will be called rose.
116
117menu "AX.25 network device drivers"
118	depends on HAMRADIO && AX25
119
120source "drivers/net/hamradio/Kconfig"
121
122endmenu
123