162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Amateur Radio protocols and AX.25 device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenuconfig HAMRADIO
762306a36Sopenharmony_ci	depends on NET && !S390
862306a36Sopenharmony_ci	bool "Amateur Radio support"
962306a36Sopenharmony_ci	help
1062306a36Sopenharmony_ci	  If you want to connect your Linux box to an amateur radio, answer Y
1162306a36Sopenharmony_ci	  here. You want to read <https://www.tapr.org/>
1262306a36Sopenharmony_ci	  and more specifically about AX.25 on Linux
1362306a36Sopenharmony_ci	  <https://linux-ax25.in-berlin.de>.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	  Note that the answer to this question won't directly affect the
1662306a36Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
1762306a36Sopenharmony_ci	  the questions about amateur radio.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_cicomment "Packet Radio protocols"
2062306a36Sopenharmony_ci	depends on HAMRADIO
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciconfig AX25
2362306a36Sopenharmony_ci	tristate "Amateur Radio AX.25 Level 2 protocol"
2462306a36Sopenharmony_ci	depends on HAMRADIO
2562306a36Sopenharmony_ci	help
2662306a36Sopenharmony_ci	  This is the protocol used for computer communication over amateur
2762306a36Sopenharmony_ci	  radio. It is either used by itself for point-to-point links, or to
2862306a36Sopenharmony_ci	  carry other protocols such as tcp/ip. To use it, you need a device
2962306a36Sopenharmony_ci	  that connects your Linux box to your amateur radio. You can either
3062306a36Sopenharmony_ci	  use a low speed TNC (a Terminal Node Controller acts as a kind of
3162306a36Sopenharmony_ci	  modem connecting your computer's serial port to your radio's
3262306a36Sopenharmony_ci	  microphone input and speaker output) supporting the KISS protocol or
3362306a36Sopenharmony_ci	  one of the various SCC cards that are supported by the generic Z8530
3462306a36Sopenharmony_ci	  or the DMA SCC driver. Another option are the Baycom modem serial
3562306a36Sopenharmony_ci	  and parallel port hacks or the sound card modem (supported by their
3662306a36Sopenharmony_ci	  own drivers). If you say Y here, you also have to say Y to one of
3762306a36Sopenharmony_ci	  those drivers.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	  Information about where to get supporting software for Linux amateur
4062306a36Sopenharmony_ci	  radio as well as information about how to configure an AX.25 port is
4162306a36Sopenharmony_ci	  contained in the AX25-HOWTO, available from
4262306a36Sopenharmony_ci	  <https://www.tldp.org/docs.html#howto>. You might also want to
4362306a36Sopenharmony_ci	  check out the file <file:Documentation/networking/ax25.rst> in the
4462306a36Sopenharmony_ci	  kernel source. More information about digital amateur radio in
4562306a36Sopenharmony_ci	  general is on the WWW at
4662306a36Sopenharmony_ci	  <https://www.tapr.org/>.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
4962306a36Sopenharmony_ci	  module will be called ax25.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig AX25_DAMA_SLAVE
5262306a36Sopenharmony_ci	bool "AX.25 DAMA Slave support"
5362306a36Sopenharmony_ci	default y
5462306a36Sopenharmony_ci	depends on AX25
5562306a36Sopenharmony_ci	help
5662306a36Sopenharmony_ci	  DAMA is a mechanism to prevent collisions when doing AX.25
5762306a36Sopenharmony_ci	  networking. A DAMA server (called "master") accepts incoming traffic
5862306a36Sopenharmony_ci	  from clients (called "slaves") and redistributes it to other slaves.
5962306a36Sopenharmony_ci	  If you say Y here, your Linux box will act as a DAMA slave; this is
6062306a36Sopenharmony_ci	  transparent in that you don't have to do any special DAMA
6162306a36Sopenharmony_ci	  configuration. Linux cannot yet act as a DAMA server.  This option
6262306a36Sopenharmony_ci	  only compiles DAMA slave support into the kernel.  It still needs to
6362306a36Sopenharmony_ci	  be enabled at runtime.  For more about DAMA see
6462306a36Sopenharmony_ci	  <https://linux-ax25.in-berlin.de>.  If unsure, say Y.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci# placeholder until implemented
6762306a36Sopenharmony_ciconfig AX25_DAMA_MASTER
6862306a36Sopenharmony_ci	bool 'AX.25 DAMA Master support'
6962306a36Sopenharmony_ci	depends on AX25_DAMA_SLAVE && BROKEN
7062306a36Sopenharmony_ci	help
7162306a36Sopenharmony_ci	  DAMA is a mechanism to prevent collisions when doing AX.25
7262306a36Sopenharmony_ci	  networking. A DAMA server (called "master") accepts incoming traffic
7362306a36Sopenharmony_ci	  from clients (called "slaves") and redistributes it to other slaves.
7462306a36Sopenharmony_ci	  If you say Y here, your Linux box will act as a DAMA master; this is
7562306a36Sopenharmony_ci	  transparent in that you don't have to do any special DAMA
7662306a36Sopenharmony_ci	  configuration. Linux cannot yet act as a DAMA server.  This option
7762306a36Sopenharmony_ci	  only compiles DAMA slave support into the kernel.  It still needs to
7862306a36Sopenharmony_ci	  be explicitly enabled, so if unsure, say Y.
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciconfig NETROM
8162306a36Sopenharmony_ci	tristate "Amateur Radio NET/ROM protocol"
8262306a36Sopenharmony_ci	depends on AX25
8362306a36Sopenharmony_ci	help
8462306a36Sopenharmony_ci	  NET/ROM is a network layer protocol on top of AX.25 useful for
8562306a36Sopenharmony_ci	  routing.
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	  A comprehensive listing of all the software for Linux amateur radio
8862306a36Sopenharmony_ci	  users as well as information about how to configure an AX.25 port is
8962306a36Sopenharmony_ci	  contained in the Linux Ham Wiki, available from
9062306a36Sopenharmony_ci	  <https://linux-ax25.in-berlin.de>. You also might want to check out
9162306a36Sopenharmony_ci	  the file <file:Documentation/networking/ax25.rst>. More information
9262306a36Sopenharmony_ci	  about digital amateur radio in general is on the WWW at
9362306a36Sopenharmony_ci	  <https://www.tapr.org/>.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
9662306a36Sopenharmony_ci	  module will be called netrom.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciconfig ROSE
9962306a36Sopenharmony_ci	tristate "Amateur Radio X.25 PLP (Rose)"
10062306a36Sopenharmony_ci	depends on AX25
10162306a36Sopenharmony_ci	help
10262306a36Sopenharmony_ci	  The Packet Layer Protocol (PLP) is a way to route packets over X.25
10362306a36Sopenharmony_ci	  connections in general and amateur radio AX.25 connections in
10462306a36Sopenharmony_ci	  particular, essentially an alternative to NET/ROM.
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	  A comprehensive listing of all the software for Linux amateur radio
10762306a36Sopenharmony_ci	  users as well as information about how to configure an AX.25 port is
10862306a36Sopenharmony_ci	  contained in the Linux Ham Wiki, available from
10962306a36Sopenharmony_ci	  <https://linux-ax25.in-berlin.de>.  You also might want to check out
11062306a36Sopenharmony_ci	  the file <file:Documentation/networking/ax25.rst>. More information
11162306a36Sopenharmony_ci	  about digital amateur radio in general is on the WWW at
11262306a36Sopenharmony_ci	  <https://www.tapr.org/>.
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
11562306a36Sopenharmony_ci	  module will be called rose.
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_cimenu "AX.25 network device drivers"
11862306a36Sopenharmony_ci	depends on HAMRADIO && AX25
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_cisource "drivers/net/hamradio/Kconfig"
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ciendmenu
123