{"id":273,"date":"2026-06-17T16:47:30","date_gmt":"2026-06-17T14:47:30","guid":{"rendered":"https:\/\/amateurradionet.com\/?p=273"},"modified":"2026-06-19T11:36:45","modified_gmt":"2026-06-19T09:36:45","slug":"creacion-de-repetidor-tetra-en-dmo-con-svxlink","status":"publish","type":"post","link":"https:\/\/amateurradionet.com\/creacion-de-repetidor-tetra-en-dmo-con-svxlink\/","title":{"rendered":"Creaci\u00f3n de repetidor TETRA en DMO con Svxlink"},"content":{"rendered":"<div style=\"background: #0f172a; color: #fff; padding: 32px 28px; border-radius: 12px; margin-bottom: 30px;\">\n<p style=\"text-transform: uppercase; letter-spacing: 2px; font-size: 13px; color: #38bdf8; margin: 0 0 8px;\">Gu\u00eda paso a paso<\/p>\n<h1 style=\"margin: 0 0 12px; font-size: 30px; line-height: 1.2; color: #22c55e;\">Descarga, instalaci\u00f3n y configuraci\u00f3n de la rama TETRALOGIC para SVXLink<\/h1>\n<p style=\"margin: 0; font-size: 16px; color: #cbd5e1;\">Gu\u00eda completa para instalar SVXLink con soporte TETRA (rama tetra-contrib) en una Raspberry Pi, configurar TetraLogic, el ReflectorLogic, el audio y dejar el sistema funcionando como servicio en el arranque.<\/p>\n<\/div>\n<p style=\"font-size: 17px; line-height: 1.7;\"><strong>SVXLink<\/strong> es un software de c\u00f3digo abierto para repetidores y enlaces de radio que, gracias a la rama <strong>tetra-contrib<\/strong> (mantenida por DL1HRC y basada en el trabajo de F5UII, adaptada por F1IWQ), a\u00f1ade la l\u00f3gica <strong>TetraLogic<\/strong>: una interfaz que dialoga por el puerto PEI con terminales TETRA (MTM800, MTM5200, MTM5400, MTM5500) para llevar el tr\u00e1fico de voz a la red, a EchoLink y a un Reflector TETRA.<\/p>\n<p><a href=\"https:\/\/github.com\/dl1hrc\/svxlink\">https:\/\/github.com\/dl1hrc\/svxlink<\/a> (rama <code>tetra-contrib<\/code>)<\/p>\n<p style=\"font-size: 17px; line-height: 1.7;\">En esta gu\u00eda repasamos el proceso completo: desde la instalaci\u00f3n del sistema base en la Raspberry Pi y la compilaci\u00f3n de SVXLink con soporte TETRA, hasta la configuraci\u00f3n de TetraLogic, el Reflector, el audio, los eventos por GPIO, el arranque autom\u00e1tico y el uso de la consola de comandos DTMF.<\/p>\n<div style=\"margin: 28px 0;\"><\/div>\n<div style=\"background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 20px; margin-bottom: 30px;\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-296\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/funcionamiento_svxlink.png\" alt=\"\" width=\"1200\" height=\"552\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/funcionamiento_svxlink.png 1200w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/funcionamiento_svxlink-300x138.png 300w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/funcionamiento_svxlink-1024x471.png 1024w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/funcionamiento_svxlink-768x353.png 768w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/funcionamiento_svxlink-913x420.png 913w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/funcionamiento_svxlink-640x294.png 640w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/funcionamiento_svxlink-681x313.png 681w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p style=\"margin: 14px 0 0; font-size: 14px; color: #64748b; text-align: center;\">Esquema de interfaz: la Raspberry Pi (con SVXLink y tetra_contrib) se conecta por TxD\/RxD al n\u00facleo SvxLinkV4, que a su vez dialoga con el terminal TETRA mediante PEI a 3,3V (MTM800\/MTM5200) o mediante PEI por RS232 con PTT cableado (MTM5400\/MTM5500).<\/p>\n<div style=\"background: #fff7ed; border-left: 4px solid #f97316; padding: 14px 18px; border-radius: 6px; margin: 18px 0 0; text-align: left;\">\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #0f172a;\">\u26a0\ufe0f <strong>Atenci\u00f3n:<\/strong> en las versiones m\u00e1s modernas de firmware, los MTM5400 y MTM5500 ya no requieren el PTT cableado: pueden activar la transmisi\u00f3n directamente por el interfaz PEI, igual que los MTM800 y MTM5200. El requisito de PTT por cable indicado en el esquema corresponde a versiones de firmware m\u00e1s antiguas.<\/p>\n<\/div>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 1 \u00b7 Primera instalaci\u00f3n del software<\/p>\n<p><!-- PASO 1 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">1<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Prepara la Raspberry Pi<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Puedes usar la versi\u00f3n de 32 o 64 bits de Raspbian. Nosotros vamos a usar una Raspeberry Pi 5 version 2GB<\/p>\n<p><img decoding=\"async\" class=\"aligncenter  wp-image-293\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/raspberrypi5info.jpg\" alt=\"\" width=\"685\" height=\"415\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/raspberrypi5info.jpg 990w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/raspberrypi5info-300x182.jpg 300w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/raspberrypi5info-768x465.jpg 768w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/raspberrypi5info-693x420.jpg 693w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/raspberrypi5info-640x388.jpg 640w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/raspberrypi5info-681x413.jpg 681w\" sizes=\"(max-width: 685px) 100vw, 685px\" \/><\/p>\n<p><a style=\"color: #22c55e; text-decoration: none; font-weight: bold; background: rgba(34, 197, 94, 0.1); padding: 4px 10px; border-radius: 6px; border: 1px solid rgba(34, 197, 94, 0.3); margin-left: 6px; display: inline-block; font-size: 15px;\" href=\"https:\/\/amzn.to\/4gscz4W\" target=\"_blank\" rel=\"noopener\" data-lasso-id=\"2\">\ud83d\uded2 comprar aqu\u00ed<\/a><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<\/div>\n<p><!-- PASO 2 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">2<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Instala compiladores y librer\u00edas<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Esta instalaci\u00f3n solo es necesaria una vez:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo apt-get -yq install gcc g++ make cmake git mc doxygen gpiod alsa-utils opus-tools groff tcl-dev libgcrypt20-dev libgsm1-dev libsigc++-3.0-dev libspeex-dev libasound2-dev libpopt-dev libssl-dev libopus-dev libjsoncpp-dev libgpiod-dev libcurl4-openssl-dev qt6-base-dev libsigc++-2.0-dev libsigc++-3.0-dev gpiod minicom espeak socat<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 3 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">3<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Crea el usuario svxlink<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Crea un usuario dedicado y a\u00f1\u00e1delo al grupo <code>daemon<\/code> y c\u00e1mbiate a \u00e9l:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo useradd -m -d \/home\/svxlink -p $(openssl passwd -1 <span class=\"hljs-string\">\"<span style=\"color: #ff0000;\">TuContrase\u00f1aSegura<\/span>\"<\/span>) svxlink\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo usermod -a -G daemon svxlink\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo usermod -a -G dialout svxlink\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo usermod -a -G audio svxlink\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo usermod -a -G gpio svxlink\n<span style=\"color: #60a5fa !important;\">$<\/span> su - svxlink<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 4 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">4<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Clonar la rama tetra-contrib<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Ve al directorio <code>\/home\/svxlink<\/code> y clona la rama <code>tetra-contrib<\/code> del repositorio, que incluye la l\u00f3gica TetraLogic para hablar con el terminal TETRA a trav\u00e9s del interfaz PEI:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> cd \/home\/svxlink\n<span style=\"color: #60a5fa !important;\">$<\/span> git clone -b tetra-contrib https:\/\/github.com\/dl1hrc\/svxlink<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Esto crea el directorio <code>svxlink<\/code>.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Marca la ruta como segura para git (sin esto, no podr\u00e1s actualizar m\u00e1s adelante):<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> git config --global --add safe.directory \/home\/svxlink\/svxlink\n<span style=\"color: #60a5fa !important;\">$<\/span> cd svxlink<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 5 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">4<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Instala pjproject<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Vuelve a <code>\/home\/svxlink<\/code>, descarga pjproject, descompr\u00edmelo y comp\u00edlalo:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> cd ..\n<span style=\"color: #60a5fa !important;\">$<\/span> wget https:\/\/github.com\/pjsip\/pjproject\/archive\/refs\/tags\/2.17.1.tar.gz\n<span style=\"color: #60a5fa !important;\">$<\/span> mv 2.12.1.tar.gz pjProject-2.17.1.tar.gz\n<span style=\"color: #60a5fa !important;\">$<\/span> tar -zxvf pjProject-2.17.1.tar.gz\n<span style=\"color: #60a5fa !important;\">$<\/span> cd pjproject-2.17.1\n<span style=\"color: #60a5fa !important;\">$<\/span> .\/configure --disable-video --disable-libwebrtc\n<span style=\"color: #60a5fa !important;\">$<\/span> make dep\n<span style=\"color: #60a5fa !important;\">$<\/span> make\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo make install\n<span style=\"color: #60a5fa !important;\">$<\/span> cd \/home\/svxlink\/svxlink<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 6 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">5<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Parcheo de ficheros svxlink<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">El software tiene many bugs, los cuales he solucionado incluido el modulo de informaci\u00f3n meteorol\u00f3gica para aplicarlos bajate el fichero svxlink_patches.zip: <div class='w3eden'><!-- WPDM Link Template: Default Template -->\n\n<div class=\"link-template-default card mb-2\">\n    <div class=\"card-body\">\n        <div class=\"media\">\n            <div class=\"mr-3 img-48\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icono\" src=\"https:\/\/amateurradionet.com\/wp-content\/plugins\/download-manager\/assets\/file-type-icons\/zip.svg\" \/><\/div>\n            <div class=\"media-body\">\n                <h3 class=\"package-title\"><a href='https:\/\/amateurradionet.com\/download\/svxlink_patches\/'>svxlink_patches<\/a><\/h3>\n                <div class=\"text-muted text-small\"><i class=\"fas fa-copy\"><\/i> 1 archivo(s) <i class=\"fas fa-hdd ml-3\"><\/i> 7 KB<\/div>\n            <\/div>\n            <div class=\"ml-3\">\n                <a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/amateurradionet.com\/download\/svxlink_patches\/?wpdmdl=414&refresh=6a35339a306101781871514\">Descargar<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<\/div>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 1;\">\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> <span class=\"token token\">cd<\/span> \/home\/svxlink \n<span style=\"color: #60a5fa !important;\">$<\/span> <span class=\"token token\">unzip<\/span> svxlink_patches.zip -d patches_dir\u00a0\n<span style=\"color: #60a5fa !important;\">$<\/span> bash patches_dir\/apply_patches.sh<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Si quieres parchearlos manualmente:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> <span class=\"token token\">cd<\/span> \/home\/svxlink \n<span style=\"color: #60a5fa !important;\">$<\/span> patch -p1 -d svxlink <span class=\"token token\">&lt;<\/span> patches_dir\/TetraLogic_h.patch \u00a0\n<span style=\"color: #60a5fa !important;\">$<\/span> patch -p1 -d svxlink <span class=\"token token\">&lt;<\/span> patches_dir\/TetraLogic_cpp.patch\n<span style=\"color: #60a5fa !important;\">$<\/span> patch -p1 -d svxlink <span class=\"token token\">&lt;<\/span> patches_dir\/Module_h.patch \n<span style=\"color: #60a5fa !important;\">$<\/span> patch -p1 -d svxlink <span class=\"token token\">&lt;<\/span> patches_dir\/ReflectorLogic_cpp.patch\n<span style=\"color: #60a5fa !important;\">$<\/span> patch -p1 -d svxlink <span class=\"token token\">&lt;<\/span> patches_dir\/ModuleMetarInfo_cpp.patch<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 7 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">6<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Compila el c\u00f3digo fuente<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Con los par\u00e1metros de la l\u00ednea <code>cmake<\/code>, SVXLink se instalar\u00e1 en <code>\/usr\/bin<\/code>. La compilaci\u00f3n tarda unos 5 minutos. Env\u00eda la l\u00ednea de <code>cmake<\/code> completa, sin dividirla:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> cd src\n<span style=\"color: #60a5fa !important;\">$<\/span> mkdir build\n<span style=\"color: #60a5fa !important;\">$<\/span> cd build\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=\/usr -DSYSCONF_INSTALL_DIR=\/etc -DLOCAL_STATE_DIR=\/var -DCMAKE_BUILD_TYPE=Release -DWITH_CONTRIB_TETRA_LOGIC=ON -DCMAKE_CXX_FLAGS=\"-fpermissive\" ..\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo make -j$(nproc) 2&gt;&amp;1\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo make doc\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo ldconfig\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo make install<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"background: #fff7ed; border-left: 4px solid #f97316; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\u26a0\ufe0f <strong>Importante:<\/strong> el par\u00e1metro <code>-DUSE_QT=OFF<\/code> evita compilar Qtel, el cliente de EchoLink. La compilaci\u00f3n crear\u00e1 los archivos de configuraci\u00f3n en <code>\/etc\/svxlink<\/code>; si ya existen, no se sobrescribir\u00e1n. El archivo <code>tetralogic.conf<\/code> se ubica en <code>\/etc\/svxlink\/svxlink.d<\/code>.<\/p>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 2 \u00b7 Instalaci\u00f3n de las voces en espa\u00f1ol<\/p>\n<p><!-- PASO 8 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">8<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Descarga e instala las voces (WAV 16k)<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Para dar voz al repetidor en Espa\u00f1ol instala los archivos de sonido en formato WAV 16k desde el repositorio de EA5GVK en GitHub:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> cd \/home\/svxlink\n<span style=\"color: #60a5fa !important;\">$<\/span> git clone https:\/\/github.com\/ea5gvk\/es_ES\n<span style=\"color: #60a5fa !important;\">$<\/span> cd es_ES\n<span style=\"color: #60a5fa !important;\">$<\/span> ls<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">El directorio <code>es_ES<\/code> contendr\u00e1 varios comprimidos con las versiones a distintas velocidades, descomprimiremos el que queramos. Renombrar a <code>es_ES<\/code>, que es el nombre que deber\u00e1s indicar como idioma por defecto en <code>svxlink.conf<\/code>:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo mv es_ES \/usr\/share\/svxlink\/sounds\/es_ES\n<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Cambiar en <code>\/usr\/share\/svxlink\/events.tcl<\/code> donde aparezca la linea de la configuracion del lenguajes configuraremos espa\u00f1ol quedando asi <code>set lang \"es_ES\"<\/code><\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo nano \/usr\/share\/svxlink\/events.tcl\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 3 \u00b7 Instalaci\u00f3n de la tarjeta de sonido USB y FTDI para uso de PEI<\/p>\n<p><!-- PASO 9 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">9<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0px 0px 10px; font-size: 22px; color: #0f172a; text-align: center;\">Hemos elegido una R1-2023 por su inmejorable calidad de audio y un FT232RL FTDI Chip,USB<\/h2>\n<h2 style=\"margin: 0px 0px 10px; font-size: 22px; color: #0f172a; text-align: center;\">(mi MTM5400 lleva expansion head con\u00a0 puerto COM)<\/h2>\n<p><img decoding=\"async\" class=\"wp-image-316 aligncenter\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/R1-2023.png\" alt=\"\" width=\"682\" height=\"595\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/R1-2023.png 655w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/R1-2023-300x262.png 300w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/R1-2023-481x420.png 481w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/R1-2023-640x559.png 640w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-321 aligncenter\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/FT232RL_FTDI_Chip_USB-.png\" alt=\"\" width=\"371\" height=\"287\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a style=\"color: #22c55e; text-decoration: none; font-weight: bold; background: rgba(34, 197, 94, 0.1); padding: 4px 10px; border-radius: 6px; border: 1px solid rgba(34, 197, 94, 0.3); margin-left: 6px; display: inline-block; font-size: 15px;\" href=\"https:\/\/amzn.to\/44itLCJ\" target=\"_blank\" rel=\"noopener\" data-lasso-id=\"2\">\ud83d\uded2 comprar aqu\u00ed<\/a><\/p>\n<p><a style=\"color: #22c55e; text-decoration: none; font-weight: bold; background: rgba(34, 197, 94, 0.1); padding: 4px 10px; border-radius: 6px; border: 1px solid rgba(34, 197, 94, 0.3); margin-left: 6px; display: inline-block; font-size: 15px;\" href=\"https:\/\/amzn.to\/4vQkduy\" target=\"_blank\" rel=\"noopener\" data-lasso-id=\"2\">\ud83d\uded2 comprar aqu\u00ed<\/a><\/p>\n<p><a style=\"color: #22c55e; text-decoration: none; font-weight: bold; background: rgba(34, 197, 94, 0.1); padding: 4px 10px; border-radius: 6px; border: 1px solid rgba(34, 197, 94, 0.3); margin-left: 6px; display: inline-block; font-size: 15px;\" href=\"https:\/\/amzn.to\/4gscz4W\" target=\"_blank\" rel=\"noopener\" data-lasso-id=\"2\">\ud83d\uded2 comprar aqu\u00ed<\/a><\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Antes de empezar deberemos leer la documentaci\u00f3n t\u00e9cnica tanto de la R1-2023 como de la radio correspondiente donde tengamos intenci\u00f3n de usarla, adjunto dejo la documentaci\u00f3n de MTM800 como la de MTM5400:<\/p>\n<div class='w3eden'><!-- WPDM Link Template: Default Template -->\n\n<div class=\"link-template-default card mb-2\">\n    <div class=\"card-body\">\n        <div class=\"media\">\n            <div class=\"mr-3 img-48\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icono\" src=\"https:\/\/amateurradionet.com\/wp-content\/plugins\/download-manager\/assets\/file-type-icons\/pdf.svg\" \/><\/div>\n            <div class=\"media-body\">\n                <h3 class=\"package-title\"><a href='https:\/\/amateurradionet.com\/download\/r1-2023-user-manual-v1-1-20250506-pdf\/'>R1-2023-User-Manual-V1.1-20250506<\/a><\/h3>\n                <div class=\"text-muted text-small\"><i class=\"fas fa-copy\"><\/i> 1 archivo(s) <i class=\"fas fa-hdd ml-3\"><\/i> 8 MB<\/div>\n            <\/div>\n            <div class=\"ml-3\">\n                <a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/amateurradionet.com\/download\/r1-2023-user-manual-v1-1-20250506-pdf\/?wpdmdl=417&refresh=6a35339a353ce1781871514\">Descargar<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<\/div>\n<div class='w3eden'><!-- WPDM Link Template: Default Template -->\n\n<div class=\"link-template-default card mb-2\">\n    <div class=\"card-body\">\n        <div class=\"media\">\n            <div class=\"mr-3 img-48\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icono\" src=\"https:\/\/amateurradionet.com\/wp-content\/plugins\/download-manager\/assets\/file-type-icons\/pdf.svg\" \/><\/div>\n            <div class=\"media-body\">\n                <h3 class=\"package-title\"><a href='https:\/\/amateurradionet.com\/download\/mtm5400-pdf\/'>MTM5400_manual<\/a><\/h3>\n                <div class=\"text-muted text-small\"><i class=\"fas fa-copy\"><\/i> 1 archivo(s) <i class=\"fas fa-hdd ml-3\"><\/i> 4 MB<\/div>\n            <\/div>\n            <div class=\"ml-3\">\n                <a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/amateurradionet.com\/download\/mtm5400-pdf\/?wpdmdl=416&refresh=6a35339a391481781871514\">Descargar<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<\/div>\n<div class='w3eden'><!-- WPDM Link Template: Default Template -->\n\n<div class=\"link-template-default card mb-2\">\n    <div class=\"card-body\">\n        <div class=\"media\">\n            <div class=\"mr-3 img-48\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icono\" src=\"https:\/\/amateurradionet.com\/wp-content\/plugins\/download-manager\/assets\/file-type-icons\/pdf.svg\" \/><\/div>\n            <div class=\"media-body\">\n                <h3 class=\"package-title\"><a href='https:\/\/amateurradionet.com\/download\/mtm800-pdf\/'>MTM800_manual<\/a><\/h3>\n                <div class=\"text-muted text-small\"><i class=\"fas fa-copy\"><\/i> 1 archivo(s) <i class=\"fas fa-hdd ml-3\"><\/i> 5 MB<\/div>\n            <\/div>\n            <div class=\"ml-3\">\n                <a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/amateurradionet.com\/download\/mtm800-pdf\/?wpdmdl=415&refresh=6a35339a3cd431781871514\">Descargar<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Lo que realmente nos interesa de esos manuales son la configuraci\u00f3n de\u00a0 pines:<\/p>\n<p style=\"text-align: center;\"><span style=\"background-color: #00ff00;\">MTM5400<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-314\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM5400_Transceiver_rear_side.png\" alt=\"\" width=\"651\" height=\"1194\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM5400_Transceiver_rear_side.png 651w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM5400_Transceiver_rear_side-164x300.png 164w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM5400_Transceiver_rear_side-558x1024.png 558w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM5400_Transceiver_rear_side-229x420.png 229w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM5400_Transceiver_rear_side-640x1174.png 640w\" sizes=\"(max-width: 651px) 100vw, 651px\" \/><\/p>\n<p style=\"text-align: center;\"><span style=\"background-color: #00ff00;\">MTM800<\/span><\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-318\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM800_Transceiver_rear_side.png\" alt=\"\" width=\"624\" height=\"1200\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM800_Transceiver_rear_side.png 624w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM800_Transceiver_rear_side-156x300.png 156w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM800_Transceiver_rear_side-532x1024.png 532w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/MTM800_Transceiver_rear_side-218x420.png 218w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><span style=\"background-color: #00ff00;\">Conectividad PEI Data\u00a0 \u2013 3.3V FTDI Cable solo para MTM800\/ MTM5200 <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-328\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ft232rl.jpeg\" alt=\"\" width=\"412\" height=\"406\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-330\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm800.png\" alt=\"\" width=\"1200\" height=\"219\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm800.png 1200w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm800-300x55.png 300w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm800-1024x187.png 1024w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm800-768x140.png 768w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm800-640x117.png 640w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm800-681x124.png 681w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><span style=\"background-color: #00ff00;\">Conectividad PEI Data\u00a0 \u2013 5V FTDI Cable solo para MTM5400\/ MTM5500 <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-332\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ft232rl5V.jpeg\" alt=\"\" width=\"500\" height=\"470\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-334\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm5400.png\" alt=\"\" width=\"1200\" height=\"219\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm5400.png 1200w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm5400-300x55.png 300w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm5400-1024x187.png 1024w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm5400-768x140.png 768w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm5400-640x117.png 640w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/ftdi_mtm5400-681x124.png 681w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><span style=\"background-color: #00ff00;\">Conectividad audio 6 pin to 26 conversion board solo para MTM800\/ MTM5200 <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-337\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/6-26_conversion_board.png\" alt=\"\" width=\"492\" height=\"341\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/6-26_conversion_board.png 492w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/6-26_conversion_board-300x208.png 300w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-339\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm800.png\" alt=\"\" width=\"895\" height=\"292\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><span style=\"background-color: #00ff00;\">Conectividad audio 6 pin to 26 conversion board solo para MTM5400\/ MTM5500<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-337\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/6-26_conversion_board.png\" alt=\"\" width=\"492\" height=\"341\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/6-26_conversion_board.png 492w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/6-26_conversion_board-300x208.png 300w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-341\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm5400.png\" alt=\"\" width=\"1200\" height=\"462\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm5400.png 1200w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm5400-300x116.png 300w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm5400-1024x394.png 1024w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm5400-768x296.png 768w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm5400-1091x420.png 1091w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm5400-640x246.png 640w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/conversionboard_mtm5400-681x262.png 681w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #0f172a;\">\u26a0\ufe0f <strong>Atenci\u00f3n:<\/strong>\u00a0 si queremos usar GPIO para hacer uso del PTT debemos cortar el circuito de la placa 6 to 26 conversion board\u00a0 que va al pin 17 y soldar un cable directamente al pin 17, se puede saber midiendo con el polimetro.<\/p>\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #0f172a;\">Con el circuito sin cortar y conectada la emisora debe de dar\u00a0 5V en el pin 17 si medimos corriente continuo con un pol\u00edmetro.<\/p>\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #0f172a;\">Con el circuito cortado y la placa conectada debe de dar\u00a0 0V en el pin 17 si medimos corriente continuo con un pol\u00edmetro. EL puerto GPIO se encargara de mantener a 5V el puerto y de bajarlo a 0v when se produzca un PTT.<\/p>\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #0f172a;\">Para realiza un auto-arrancado de la emisora MTM5400\/ MTM5500 realizar un puente entre el pin 25-26 de la placa conversion board<\/p>\n<\/div>\n<\/div>\n<p><!--more--><\/p>\n<p><!-- PASO 10 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">10<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Comprueba que la tarjeta USB es reconocida y el FTDI<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Conecta la tarjeta de sonido USB; su LED se encender\u00e1. Debe estar configurados los Jumper en modo MOTO y modo ASL ON.Comprueba que el sistema la reconoce:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-345\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/config_r1_2023.png\" alt=\"\" width=\"733\" height=\"382\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/config_r1_2023.png 920w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/config_r1_2023-300x156.png 300w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/config_r1_2023-768x400.png 768w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/config_r1_2023-807x420.png 807w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/config_r1_2023-640x333.png 640w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/config_r1_2023-681x355.png 681w\" sizes=\"(max-width: 733px) 100vw, 733px\" \/><\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> lsusb<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Deber\u00edas ver algo similar a esto, donde la tarjeta de sonido aparece como un controlador CM108:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 13px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"> Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller\n Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512\/9514 Fast Ethernet Adapter\n Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.\n Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Deteccion del puerto FTDI:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 13px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"> $ ls -la \/dev\/serial\/by-id\/<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Deber\u00edas ver algo similar a esto, donde la tarjeta aparece como:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 13px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"> lrwxrwxrwx 1 root root 13 jun 11 20:30 usb-FTDI_FT232R_USB_UART_BG0349N8-if00-port0 -&gt; ..\/..\/ttyUSB1\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 11 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">11<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Identifica los canales de grabaci\u00f3n y reproducci\u00f3n<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Comprueba que la entrada de micr\u00f3fono (canal de recepci\u00f3n\/Rx) est\u00e1 presente. Localiza el n\u00famero de tarjeta y el de dispositivo, ya que se usar\u00e1n en la configuraci\u00f3n de SVXLink:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> arecord -l<\/code><\/pre>\n<\/div>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 13px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> **** List of CAPTURE Hardware Devices ****\n card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]\n   Subdevices: 0\/1\n   Subdevice #0: subdevice #0<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Comprueba ahora el canal de salida de audio (altavoz). Tambi\u00e9n aparecer\u00e1 el dispositivo de reproducci\u00f3n integrado en la Raspberry Pi (bcm2835):<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> aplay -l<\/code><\/pre>\n<\/div>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 13px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> **** List of PLAYBACK Hardware Devices ****\n card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]\n   Subdevices: 0\/1\n Subdevice #0: subdevice #0\n   Subdevices: 1\/1\n card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]\n   Subdevices: 1\/1\n   Subdevice #0: subdevice #0<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"background: #eff6ff; border-left: 4px solid #38bdf8; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\ud83d\udca1 <strong>Consejo:<\/strong> en el ejemplo anterior, la tarjeta USB es <code>card 1, device 0<\/code>. Ese mismo identificador se usar\u00e1 tanto para el canal Rx (entrada) como para el Tx (salida) en la configuraci\u00f3n de audio de SVXLink, como se explica m\u00e1s adelante.<\/p>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 4 \u00b7 Configuraci\u00f3n de SVXLink<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Toda la configuraci\u00f3n (excepto la de los m\u00f3dulos) se encuentra en el archivo <code>\/etc\/svxlink\/svxlink.conf<\/code>. El archivo original sin configurar est\u00e1 disponible en <code>\/home\/pi\/svxlink\/src\/svxlink\/svxlink\/svxlink.conf<\/code> como referencia.<\/p>\n<p><!-- PASO 12 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">12<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Configura TetraLogic en svxlink.conf<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\"><code>tetralogic.conf<\/code> es el archivo de configuraci\u00f3n de la parte TETRA desde octubre de 2022 y se ubica en <code>\/etc\/svxlink\/svxlink.d<\/code>. TetraLogic es la l\u00f3gica usada por la rama tetra-contrib de SVXLink.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Por defecto, TetraLogic usa el enlace <code>\/dev\/ttyUSB0<\/code> a 115200 baudios para conectar con el terminal MTM. Si vas a usar el UART interno de la Raspberry Pi, debes cambiarlo:<\/p>\n<ul style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px; padding-left: 22px;\">\n<li>En una Pi 3, cambia <code>\/dev\/ttyUSB0<\/code> por <code>\/dev\/ttyS0<\/code>.<\/li>\n<li>En una Pi 2, usa <code>\/dev\/ttyAMA0<\/code>.<\/li>\n<li>Cambia la velocidad a 9600 baudios, que es la velocidad por defecto del interfaz PEI en el codeplug o cambia la velocidad del codeplug.<\/li>\n<\/ul>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Al arrancar, TetraLogic configura la estaci\u00f3n TETRA en modo DMO mediante el comando <code>AT+CTOM=1<\/code>, usa el enlace PEI para leer el squelch (COS) y enviar el PTT, y tambi\u00e9n recupera el GPS para enviar la posici\u00f3n a APRS (si la radio no tiene m\u00f3dulo GPS, ver\u00e1s un error en ese comando AT concreto cuando DEBUG est\u00e9 a 3).<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Hay dos formas de gestionar squelch\/PTT seg\u00fan la l\u00f3gica usada: <strong>TetraLogic<\/strong>, que usa squelch y PTT v\u00eda software por el interfaz PEI, o de forma tradicional v\u00eda hardware con <strong>SimplexLogic<\/strong> o <strong>RepeaterLogic<\/strong>, que usan squelch y PTT por GPIO (en este caso la se\u00f1al SQ debe tomarse del MTM800).<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">El modo de operaci\u00f3n se define con <code>TETRA_MODE<\/code> en <code>TetraLogic.conf<\/code>, que se usa como punto de entrada para interpretar el archivo <code>\/etc\/svxlink\/pei-init.json<\/code>:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"> TETRA_MODE=TMO       # Activa el modo TMO (AT+CTOM=0)\n TETRA_MODE=DMO-RPT    # Activa el modo repetidor DMO (AT+CTOM=6)\n TETRA_MODE=DMO-MS     # Activa el modo DMO directo (AT+CTOM=1)\n TETRA_MODE=GATEWAY    # Activa el modo Gateway (AT+CTOM=5)<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"background: #fff7ed; border-left: 4px solid #f97316; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\u26a0\ufe0f <strong>Importante:<\/strong> para usar el MTM800\/MTM5x00 en DMO directo, configura <code>DMO-MS<\/code>. Para usar el MTM5x00 como repetidor DMO, configura <code>DMO-RPT<\/code>; en ese caso debes usar el PTT por cable, ya que de otro modo el tr\u00e1fico procedente de la red no se transmitir\u00e1 por aire. En la versiones recientes de firmware ya no es necesario<\/p>\n<\/div>\n<p><!-- PASO 13 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">13<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Edita la secci\u00f3n [GLOBAL] y las l\u00f3gicas en svxlink.conf<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Esta es la configuraci\u00f3n de la rama TETRA dentro de <code>svxlink.conf<\/code> Se deben cambiar los valores en rojo:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">svxlink.conf<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">[GLOBAL]\nLOGIC_CORE_PATH=\/usr\/lib\/aarch64-linux-gnu\/svxlink\nLOGICS=TetraLogic,ReflectorLogic\nCFG_DIR=svxlink.d\n#TIMESTAMP_FORMAT=\"%c\"\nTIMESTAMP_FORMAT=\"%d.%m.%Y %H:%M:%S\"\nCARD_SAMPLE_RATE=48000\n#SignalinkCard_Channels=1\n#rimlite#CARD_CHANELS=0\nCARD_CHANNELS=2 #Change this to CARD_CHANNELS=2 if using R1 2020 soundcard\nLOCATION_INFO=LocationInfo\nLINKS=LinkToDMOTetra\nDEBUG=4\nBUSY_LOCKOUT=YES\n\n[LinkToR4]\nCONNECT_LOGICS=RepeaterLogic:94:SK3AB,SimplexLogic:92:SK3CD\n#DEFAULT_ACTIVE=1\nTIMEOUT=300\n#ACTIVATE_ON_ACTIVITY=RepeaterLogic\n\n[LinkToDMOTetra]\n#CONNECT_LOGICS=TetraLogic:66:DL262,ReflectorLogic:67:Net\nCONNECT_LOGICS=TetraLogic:9:Link1,ReflectorLogic:8:Link2\nDEFAULT_ACTIVE=1\nTIMEOUT=30\nACTIVATE_ON_ACTIVITY=TetraLogic\n\n[LocationInfo]\nAPRS_SERVER_LIST=euro.aprs2.net:14580\nLAT_POSITION=<span style=\"background-color: #ff0000;\">XX.XX.XXN<\/span>\nLON_POSITION=<span style=\"background-color: #ff0000;\">XX.XX.XXW<\/span>\nCALLSIGN=<span style=\"background-color: #ff0000;\">ER-EAXXXX<\/span>\nFREQUENCY=<span style=\"background-color: #ff0000;\">430.575<\/span>\nTX_POWER=10\nANTENNA_GAIN=8\nANTENNA_HEIGHT=35m\nANTENNA_DIR=-1\nPATH=WIDE1-1\nBEACON_INTERVAL=15\nCOMMENT=<span style=\"background-color: #ff0000;\">430.575MHz T000 R21k TETRA GATEWAY<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 14 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">14<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Configura el archivo tetralogic.conf<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Edita la secci\u00f3n <code>[TetraLogic]<\/code> con los par\u00e1metros propios de tu estaci\u00f3n, ISSI, GSSI, MCC\/MNC, la ruta del dispositivo FTDI y las rutas de los scripts de eventos Se deben cambiar los valores en rojo:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">TetraLogic.conf (TetraLogic)<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">[TetraLogic]\nTYPE=Tetra\nRX=Rx1\nTX=Tx1\nDTM_CTRL_PTY=\/tmp\/dtmf_svx\n#DTMF_CTRL_PTY=\/tmp\/svxlink_dtmf\nMODULES=ModuleHelp,ModuleParrot,ModuleMetarInfo\nCALLSIGN=<span style=\"background-color: #ff0000;\">EAXXX-R<\/span>\nDEFAULT_LANG=es_ES\nBAUD=<span style=\"background-color: #ff0000;\">115200<\/span>\nPORT=<span style=\"background-color: #ff0000;\">\/dev\/serial\/by-id\/usb-FTDI_FT232R_USB_UART_BG0349N8-if00-port0<\/span>\n#PORT=\/tmp\/pei_proxy\nISSI=<span style=\"background-color: #ff0000;\">9999<\/span>\nGSSI=<span style=\"background-color: #ff0000;\">1<\/span>\nMNC=<span style=\"background-color: #ff0000;\">16383<\/span>\nMCC=<span style=\"background-color: #ff0000;\">901<\/span>\nTETRA_MODE=<span style=\"background-color: #ff0000;\">DMO-RPT<\/span>\nPEI_INIT_FILE=\/etc\/svxlink\/pei-init.json\nTIME_FORMAT=24\nSHORT_IDENT_INTERVAL=60\nLONG_IDENT_INTERVAL=120\nMUTE_RX_ON_TX=0\nMUTE_TX_ON_RX=0\nIDENT_ONLY_AFTER_TX=4\nEVENT_HANDLER=\/usr\/share\/svxlink\/events.tcl\nRGR_SOUND_DELAY=3000\n#RGR_SOUND_ALWAYS=0\nMACROS=Macros\nFX_GAIN_NORMAL=-3\nFX_GAIN_LOW=-12\nAPRSPATH=APRS,qAR,<span style=\"background-color: #ff0000;\">EAXXXX-11<\/span>:\n#ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink\n#QSO_RECORDER=8:QsoRecorder\n#ONLINE_CMD=998877\n#STATE_PTY=\/var\/run\/svxlink\/state\n#DTMF_CTRL_PTY=\/dev\/shm\/simplex_dtmf_ctrl\n#CTCSS_TO_TG=77.0:999,123.0:9990,146.2:9992\n#PROXIMITY_WARNING=3.1\n#TIME_BETWEEN_SDS=3600\n#INFO_SDS=Welcome new user\n#TETRA_USERS=Tetra_Users\nTETRA_USER_INFOFILE=\/etc\/svxlink\/tetra_users.json\nTETRA_STATUS=Tetra_Status\n#SDS_ON_USERACTIVITY=SdsOnUserActivity\n#SDS_TO_OTHERS_ON_ACTIVITY=DMO_ON,DMO_OFF,PROXIMITY\nSDS_TO_COMMAND=SdsToCommand\nEND_CMD=ATH\n#SHARE_USERINFO=0\n##DAPNET_CALLSIGN=eaXXX\n##DAPNET_SERVER=db0dbn.ig-funk-siebengebirge.de\n##DAPNET_PORT=43434\n##DAPNET_KEY=No9mLoiJtHfW6BFoQ37z\n##DAPNET_RIC2ISSI=Ric2ISSI\n##DAPNET_RUBRIC_REGISTRATION=RicRegistration \n##DAPNET_USERNAME=eaXXX\n##DAPNET_PASSWORD=h5hsq5Sp896ctNru1rTZb \n##DAPNET_WEBHOST=www.hampager.de \n##DAPNET_WEBPORT=8080 \n##DAPNET_WEBPATH=\/calls \n##DAPNET_TXGROUP=\"all\",\"ea-all\" \nDTMF_CTRL_PTY=\/tmp\/svxlink_dtmf\nDEBUG=4\n\n[Ric2ISSI]\n# RIC=ISSI\n0145007=2145007\n0145007=1030299\n\n[RicRegistration]\n# RIC=Rubric1,Rubric2,Rubric54   (in decimal)\n0145007=1080,1081,1061\n#1234=1080,1081,1061\n\n[Tetra_Status]\n# status=message\n61004=Parrot:\n61005=Parrot:#\n61010=MetarInfo:1#\n61011=EchoLink:9999#\n61012=EchoLink:#\n61013=EchoLink:352223#\n61014=EchoLink:661795#\n\n[SdsOnUserActivity]\n0=Hello user you have powered on\n1=Hello user you have powered off\n2=Hello user you want to declare the state of emergency?\n3=Hello user Push-to-talk condition is detected\n4=Hello user Status\n5=Hello user TXI=on\n\n[SdsToCommand]\n61000=9*\n33009=919\n33391=9191\n33040=91204\n33080=91208\n33081=912080\n33140=91214\n33141=912140\n33142=91214091\n33143=912148\n33144=9121462\n33145=9121490\n33146=9121477\n33147=9121428\n33148=9121464\n33149=9121472\n33150=91214316\n33151=91730444\n33152=91214480\n33220=91222\n33260=91226\n33280=91228\n33320=91232\n33350=91235\n33620=91262\n36050=91505\n33680=91268\n33629=912629\n40990=919990\n40991=12#\n40992=2145007#\n40993=2140041#\n40994=2141102#\n40995=2142028#\n40996=21420281#\n40997=2142404#\n40998=2142422#\n40999=2142530#\n41000=21425301#\n41001=21425302#\n41002=2143036#\n41003=21430361#\n41004=2143091#\n41005=21430911#\n41006=21430912#\n41007=2144228#\n41008=21442281#\n41009=21450071#\n41010=2145031#\n41011=21450311#\n41012=2145285#\n41013=21452851#\n41014=21452852#\n41015=21452853#\n41016=21452854#\n41017=2145353#\n41018=21453531#\n41019=21453532#\n41020=2145885#\n41021=2147076#\n41022=2147542#\n41023=21475421#\n41024=21475422#\n41025=2147669#\n41026=2148015#\n41027=21480151#\n41028=21480152#\n41029=11#<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 15 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">15<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Configura el ReflectorLogic<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Aseg\u00farate de usar <code>ReflectorV2<\/code> en el par\u00e1metro <code>TYPE<\/code>:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">svxlink.conf (ReflectorLogic)<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">[ReflectorLogic]\nTYPE=ReflectorV2\n#HOSTS=127.0.0.1\n#HOST_PORT=5302\nHOSTS=<span style=\"background-color: #ff0000;\">tetra-ea.duckdns.org<\/span>\nHOST_PORT=5300\n#HOST_PRIO=100\n#HOST_PRIO_INC=1\n#HOST_WEIGHT=10\nCALLSIGN=\"<span style=\"background-color: #ff0000;\">EAxxx-R<\/span>\"\nAUTH_KEY=\"<span style=\"background-color: #ff0000;\">xxxx-xxx<\/span>\"\nJITTER_BUFFER_DELAY=300\nDEFAULT_TG=9\nMONITOR_TGS=9,91,214,2140,2148,21428,21462,21464,21472,21477\nTG_SELECT_TIMEOUT=180\nANNOUNCE_REMOTE_MIN_INTERVAL=300\nEVENT_HANDLER=\/usr\/share\/svxlink\/events.tcl\nNODE_INFO_FILE=\/etc\/svxlink\/node_info.json\nMUTE_FIRST_TX_LOC=0\nMUTE_FIRST_TX_REM=0\n#TMP_MONITOR_TIMEOUT=3600\nUDP_HEARTBEAT_INTERVAL=5\nQSY_PENDING_TIMEOUT=15\n#VERBOSE=1\nOPUS_ENC_COMPLEXITY=10\nOPUS_ENC_BITRATE=300000\nOPUS_ENC_VBR=1\nRECONNECT_SECONDS=5\nCERT_DOWNLOAD_CA_BUNDLE=1\nDEBUG=4<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 18px 0 8px;\"><strong>DEFAULT_TG<\/strong> \u2014 el nodo seleccionar\u00e1 este TG en tr\u00e1fico entrante local si no hay otro TG seleccionado. Por defecto: 0 (sin TG).<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 8px;\"><strong>MONITOR_TGS<\/strong> \u2014 lista separada por comas de TGs que el nodo monitorizar\u00e1 cuando no haya ning\u00fan TG seleccionado. Puedes marcar TGs con prioridad m\u00e1s alta a\u00f1adiendo uno o m\u00e1s signos \u00ab+\u00bb; cuantos m\u00e1s signos, mayor prioridad. Ejemplo: <code>MONITOR_TGS=112++,240,2403+,2403123<\/code>.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 8px;\"><strong>TG_SELECT_TIMEOUT<\/strong> \u2014 n\u00famero de segundos tras los cuales un TG seleccionado se deselecciona autom\u00e1ticamente y el nodo vuelve al TG 0. Por defecto: 30 segundos.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 8px;\"><strong>ANNOUNCE_REMOTE_MIN_INTERVAL<\/strong> \u2014 intervalo m\u00ednimo en segundos entre anuncios del mismo TG para activaciones remotas.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 8px;\"><strong>NODE_INFO_FILE<\/strong> \u2014 archivo de configuraci\u00f3n usado para enviar informaci\u00f3n de este cliente al servidor reflector (estructura JSON libre, basada en <code>node_info.json<\/code> como plantilla). Tambi\u00e9n permite ajustar los par\u00e1metros del c\u00f3dec de audio, por ejemplo bajar <code>OPUS_ENC_COMPLEXITY<\/code> por debajo de 9 para aliviar la carga de CPU del codificador Opus.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 8px;\"><strong>MUTE_FIRST_TX_LOC<\/strong> \u2014 silencia la primera transmisi\u00f3n tras seleccionar un TG por actividad local. Se recomienda mantenerlo activado (por defecto) para evitar aperturas breves cuando alguien solo hace una prueba de PTT, y para permitir enviar comandos DTMF sin molestar al resto de la red.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 8px;\"><strong>MUTE_FIRST_TX_REM<\/strong> \u2014 silencia la primera transmisi\u00f3n tras seleccionar un TG por actividad remota, para permitir a los usuarios locales introducir comandos DTMF sin interrumpir un QSO activo. No est\u00e1 activado por defecto porque no es intuitivo: si un usuario local quiere responder a una llamada, primero debe hacer un PTT breve para \u00ababrir\u00bb el nodo.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0; padding: 0;\"><strong>TMP_MONITOR_TIMEOUT<\/strong> \u2014 segundos tras los cuales caduca un monitor de TG temporal a\u00f1adido manualmente. Pon 0 para desactivar esta funci\u00f3n. Por defecto: 3600 (una hora).<\/p>\n<p><strong>HOST, CALLSING, AUTH_KEY<\/strong> \u2014 se tiene que pedir usuario y password al due\u00f1o del reflector en este caso a\u00a0 EA5GVK)<\/p>\n<\/div>\n<\/div>\n<p><!-- PASO 16 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">16<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Revisa Echolink.conf (opcional)<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Comprueba que la variable <code>MUTE_LOGIC_LINKING<\/code> est\u00e1 a 0 (si est\u00e1 a 0, EchoLink transmite hacia el gateway; si no, no lo hace):<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> [ModuleEchoLink]\n NAME=EchoLink\n ID=2\n<span style=\"color: #9ca3af !important;\"># Timeout de desconexi\u00f3n si no hay actividad<\/span>\n<span style=\"color: #9ca3af !important;\">#TIMEOUT=60<\/span>\n MUTE_LOGIC_LINKING=0<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 17 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">17<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Configura el dispositivo de audio<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Como se identific\u00f3 antes (tarjeta 1, dispositivo 0), as\u00ed debe quedar el canal de recepci\u00f3n (Rx) en el archivo de configuraci\u00f3n:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">svxlink.conf (Rx1)<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">[Rx1]\nTYPE=Local\n#RX_ID=?\n# Nombre permanente ALSA \u2014 no cambia aunque var\u00ede el n\u00famero de card al arrancar\nAUDIO_DEV=<span style=\"background-color: #ff0000;\">alsa:plughw:Device<\/span>\n# AUDIO_CHANNEL=0: canal de captura (audio RX desde MTM5400 hacia red)\nAUDIO_CHANNEL=0\n#AUDIO_DEV_KEEP_OPEN=0\nLIMITER_THRESH=-6\n#SQL_DET=INTERNAL\nSQL_DET=TETRA_SQL\nSQL_START_DELAY=150\nSQL_DELAY=500\nSQL_HANGTIME=3000\n#SQL_EXTENDED_HANGTIME=1000\n#SQL_EXTENDED_HANGTIME_THRESH=15\nSQL_TIMEOUT=180\n#VOX_FILTER_DEPTH=20\n#VOX_THRESH=1000\n#CTCSS_MODE=2\n#CTCSS_FQ=136.5\n#CTCSS_SNR_OFFSET=0\n#CTCSS_OPEN_THRESH=15\n#CTCSS_CLOSE_THRESH=9\n#CTCSS_BPF_LOW=60\n#CTCSS_BPF_HIGH=270\nSERIAL_PORT=\/dev\/serial\/by-id\/usb-1a86_USB_Serial-if00-port0\nSERIAL_PIN=DSR\nSERIAL_SET_PINS=DTR\n#EVDEV_DEVNAME=\/dev\/input\/by-id\/usb-SYNIC_SYNIC_Wireless_Audio-event-if03\n#EVDEV_OPEN=1,163,1\n#EVDEV_CLOSE=1,163,0\n#GPIO_PATH=\/sys\/class\/gpio\n#GPIO_SQL_PIN=gpio18\n#PTY_PATH=\/tmp\/rx1_sql\n#HID_DEVICE=\/dev\/hidraw0\n#HID_SQL_PIN=!VOL_DN\n#SIGLEV_DET=TONE\n#SIGLEV_SLOPE=1\n#SIGLEV_OFFSET=0\n#SIGLEV_BOGUS_THRESH=120\n#TONE_SIGLEV_MAP=100,84,60,50,37,32,28,23,19,8\n#SQL_SIGLEV_OPEN_THRESH=30\n#SQL_SIGLEV_CLOSE_THRESH=10\n#DEEMPHASIS=0\n#SQL_TAIL_ELIM=50\nPREAMP=3\nPEAK_METER=0\n#DTMF_DEC_TYPE=INTERNAL\n#DTMF_MUTING=1\n#DTMF_HANGTIME=40\n#DTMF_SERIAL=\/dev\/ttyS0\n#DTMF_PTY=\/tmp\/rx1_dtmf\n#DTMF_MAX_FWD_TWIST=8\n#DTMF_MAX_REV_TWIST=4\n#1750_MUTING=1\n#SEL5_DEC_TYPE=INTERNAL\n#SEL5_TYPE=ZVEI1\n#FQ=433475000\n#MODULATION=FM\n#WBRX=WbRx1\n#OB_AFSK_ENABLE=0\n#OB_AFSK_VOICE_GAIN=6\n#IB_AFSK_ENABLE=0<\/code><\/pre>\n<\/div>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Y para el canal de transmisi\u00f3n (Tx), el canal de salida (altavoz) es tambi\u00e9n la tarjeta 1, dispositivo 0:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">svxlink.conf (Tx1)<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">[Tx1]\nTYPE=Local\nTX_ID=T\n# Nombre permanente ALSA \u2014 no cambia aunque var\u00ede el n\u00famero de card al arrancar\nAUDIO_DEV=<span style=\"background-color: #ff0000;\">alsa:plughw:Device<\/span>\nAUDIO_CHANNEL=0\n#AUDIO_DEV_KEEP_OPEN=0\nLIMITER_THRESH=-6\n#PTT_TYPE=NONE\n#PTT_TYPE=SerialPin\n#PTT_PORT=\/dev\/serial\/by-id\/usb-1a86_USB_Serial-if00-port0\n#PTT_PIN=RTS\n<span style=\"background-color: #ff0000;\">PTT_TYPE=GPIO<\/span>\nGPIO_PATH=\/sys\/class\/gpio\n<span style=\"background-color: #ff0000;\">PTT_PIN=!gpio591<\/span>\n#PTT_PORT=\/dev\/ttyS0\n#PTT_PIN=gpio19\n#HID_DEVICE=\/dev\/hidraw0\n#HID_PTT_PIN=GPIO3\n#SERIAL_SET_PINS=DTR!RTS\n#GPIO_PATH=\/sys\/class\/gpio\nPTT_HANGTIME=3000\n#PTT_HANGTIME=150\nTIMEOUT=180\n# TX_DELAY=500: valor reducido, TetraLogic ya gestiona el timing de ATD1\n# El RGR_SOUND_DELAY en TetraLogic.conf controla el retardo post-RX\nTX_DELAY=500\n#CTCSS_FQ=136.5\n#CTCSS_LEVEL=9\n#PREEMPHASIS=0\n#DTMF_TONE_LENGTH=100\n#DTMF_TONE_SPACING=50\n#DTMF_DIGIT_PWR=-15\nMASTER_GAIN=3\n#OB_AFSK_ENABLE=0\n#OB_AFSK_VOICE_GAIN=-6\n#OB_AFSK_LEVEL=-12\n#OB_AFSK_TX_DELAY=100\n#IB_AFSK_ENABLE=0\n#IB_AFSK_LEVEL=-6\n#IB_AFSK_TX_DELAY=100<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 5 \u00b7 Eventos TETRA y control por GPIO<\/p>\n<p><!-- PASO 18 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">18<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Copia TetraLogic.tcl si falta<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Si el archivo <code>TetraLogic.tcl<\/code> no est\u00e1 presente en <code>\/usr\/share\/svxlink\/event.d<\/code>, c\u00f3pialo desde el c\u00f3digo fuente:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> cp \/home\/pi\/svxlink\/src\/svxlink\/svxlink\/TetraLogic.tcl \/usr\/share\/svxlink\/event.d\/<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 19 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">19<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Exporta eventos al GPIO (opcional)<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Es posible volcar el estado de ciertos eventos al interfaz GPIO usando sintaxis TCL. El ejemplo siguiente exporta la se\u00f1al de squelch (venga del GPIO o del interfaz PEI) en el archivo <code>\/usr\/share\/svxlink\/events.d\/TetraLogic.tcl<\/code>:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #9ca3af !important;\"># Se ejecuta cada vez que el squelch se abre o se cierra<\/span>\n proc squelch_open {rx_id is_open} {\n     Logic::squelch_open $rx_id $is_open;\n     puts \"Le squelch change: $is_open\";\n     if {$is_open==0} { exec echo 0 &gt;\/sys\/class\/gpio\/gpio591\/value; }\n     if {$is_open==1} { exec echo 1 &gt;\/sys\/class\/gpio\/gpio591\/value; }\n }<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"background: #fff7ed; border-left: 4px solid #f97316; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\u26a0\ufe0f <strong>Importante:<\/strong> en versiones recientes de Raspbian, el rango de numeraci\u00f3n de los pines GPIO se ha desplazado en +569. Por ejemplo, para usar GPIO22 hay que referirse a \u00e9l como GPIO591 (569+22). El ejemplo anterior escribe un 1 (3,3V)\/(5v) en GPIO22 (591) cuando el squelch esta cerrado.<\/p>\n<\/div>\n<p><!-- PASO 20 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">20<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Activa el interfaz PEI en el codeplug<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Los par\u00e1metros de este interfaz se configuran en el CPS, en <strong>Data_services \u2192 AT commands<\/strong>; comprueba las 3 opciones: <em>ETSI group format<\/em>, <em>ETSI AT SDS\/Status format<\/em> y <em>Extended ETSI addressing<\/em>. Seg\u00fan la versi\u00f3n de firmware o de radio, estos par\u00e1metros pueden no estar disponibles; en ese caso ya vienen activados internamente y no hay nada que hacer.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">En modo LAB: <code>cp_ergo_block \/ ergo_data \/ ro \/ rui_parameters \/ limited_access_services<\/code>. Cambia el valor 7 (pei) de 0 a 1 para activar el interfaz PEI.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Inicia el terminal con:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> minicom -b 9600 -o -D \/dev\/ttyS0<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0 0;\">Para salir de minicom, pulsa <code>CTRL-A<\/code> seguido de <code>Q<\/code>.<\/p>\n<\/div>\n<\/div>\n<p><!-- PASO 21 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">21<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Configura el GPIO cl\u00e1sico (cableado)<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-357\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/gpio_raspberry5.png\" alt=\"\" width=\"858\" height=\"442\" srcset=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/gpio_raspberry5.png 858w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/gpio_raspberry5-300x155.png 300w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/gpio_raspberry5-768x396.png 768w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/gpio_raspberry5-815x420.png 815w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/gpio_raspberry5-640x330.png 640w, https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/gpio_raspberry5-681x351.png 681w\" sizes=\"(max-width: 858px) 100vw, 858px\" \/><\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Con el interfaz PEI de TETRA no necesitas usar GPIO (salvo en modo repetidor DMO, para el PTT).<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Se debe de crear este fichero en <code> nano \/home\/svxlink\/gpio-ptt-init.sh <\/code>:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">\/home\/svxlink\/gpio-ptt-init.sh<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">#!\/bin\/bash\n# Pi5: pinctrl-rp1 base=569, GPIO22=591\nGPIO=591\necho $GPIO &gt; \/sys\/class\/gpio\/export 2&gt;\/dev\/null || true\nsleep 1\necho out &gt; \/sys\/class\/gpio\/gpio${GPIO}\/direction\necho 1 &gt; \/sys\/class\/gpio\/gpio${GPIO}\/value\necho \"GPIO591 listo \u2014 PTT en RX\"\nexit 0<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Damos permisos de ejecuci\u00f3n al script anteiror:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> chmod +x  \/home\/svxlink\/gpio-ptt-init.sh<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 34px;\">El estado de las entradas\/salidas GPIO se puede comprobar con la instrucci\u00f3n:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 34px 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$ <\/span>paste &lt;(ls -d \/sys\/class\/gpio\/gpiochip*) &lt;(cat \/sys\/class\/gpio\/gpiochip*\/base) &lt;(cat \/sys\/class\/gpio\/gpiochip*\/ngpio); gpioinfo<\/code><\/pre>\n<\/div>\n<div style=\"background: #fff7ed; border-left: 4px solid #f97316; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\u26a0\ufe0f <strong>Restricci\u00f3n:<\/strong> con dispositivos MTM5x00, si se usa el modo repetidor DMO, no es posible usar el interfaz PEI para activar el transmisor: un tr\u00e1fico procedente de la red no ser\u00e1 retransmitido por el MTM5x00 por aire. Debes usar el PTT cableado v\u00eda GPIO22 y modificar la secci\u00f3n Tx en consecuencia. En los Frimwares modernos ya se puede y esto no es necesario<\/p>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 6 \u00b7 Script de liberaci\u00f3n del UART<\/p>\n<p><!-- PASO 22 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">22<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Crea el script serial_write-CR.py<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Para que TetraLogic se comunique correctamente con el interfaz PEI la primera vez que se enciende, hay que enviar un retorno de carro (CR) a la estaci\u00f3n para vaciar su buffer. Esta macro debe ejecutarse antes de arrancar SVXLink. Crea el archivo <code>serial_write-CR.py<\/code> en <code>\/home\/svxlink<\/code>:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">serial_write-CR.py<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">#!\/usr\/bin\/env python3\nimport serial\nimport time\n\ntry:\n    ser = serial.Serial(\n        port='\/dev\/serial\/by-id\/usb-FTDI_FT232R_USB_UART_BG0349N8-if00-port0',     # Puerto serie de tu adaptador TTL-USB\n        baudrate=115200,           # Velocidad del PEI configurada en la radio\n        parity=serial.PARITY_NONE,\n        stopbits=serial.STOPBITS_ONE,\n        bytesize=serial.EIGHTBITS,\n        timeout=1\n    )\n    \n    # En Python 3 es obligatorio enviar la 'r' como un objeto de bytes (b'\n')\n    ser.write(b'\n') \n    time.sleep(0.5)              # Una peque\u00f1a pausa de seguridad para el buffer\n    ser.close()\n    print(\"[PEI] Buffer liberado correctamente enviando CR (\\r).\")\n\nexcept Exception as e:\n    print(f\"[ERROR PEI] No se pudo liberar el puerto: {e}\")<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Dar permisos de ejecuci\u00f3n al script:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> chmod +x serial_write-CR.py<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"background: #eff6ff; border-left: 4px solid #38bdf8; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\ud83d\udca1 <strong>Consejo:<\/strong> este script debe lanzarse cada vez que arranca la Raspberry Pi, as\u00ed que lo a\u00f1adiremos a un systemctl. L\u00f3gicamente, la estaci\u00f3n MTM debe estar encendida cuando la Pi arranca:<\/p>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 7 \u00b7 Ejecutar SVXLink para pruebas (opcional)<\/p>\n<p><!-- PASO 23 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">23<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Libera el buffer del MTM y da permisos a la clave<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Before de lanzar SVXLink, libera el buffer del MTM con el script anterior:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> .\/serial_write-CR.py<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Da permisos al archivo de clave (xxxx es el indicativo principal definido en <code>CALLSIGN=<\/code> dentro de SimplexLogic, RepeaterLogic o ReflectorLogic, el que realmente uses):<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo chmod ugo+rwx \/var\/lib\/svxlink\/pki\/xxxx.key<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p><!-- PASO 24 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">24<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Arranca SVXLink manualmente<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Inicia SVXLink con el siguiente comando:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> svxlink<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">El LED de la tarjeta de sonido USB deber\u00eda parparnear si est\u00e1 equipada. En el arranque es posible obtener algunos errores del PEI. Seg\u00fan la variable <code>MUTE_FIRST_TX_LOC<\/code>, la primera pulsaci\u00f3n de PTT selecciona el TG (descrito en TetraLogic); la segunda pulsaci\u00f3n de PTT inicia el locutor que lleva el audio al TG en la red.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Con TetraLogic y <code>DEBUG=3<\/code> deber\u00edas ver una salida similar a esta (resumida):<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 12px; line-height: 1.55;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> SvxLink v1.7.99.24 Copyright (C) 2003-2020 Tobias Blomberg \/ SM0SVX\n<span style=\"color: #60a5fa !important;\">$<\/span> Using configuration file: \/etc\/svxlink\/svxlink.conf\n<span style=\"color: #60a5fa !important;\">$<\/span> --- Using sample rate 48000Hz\n<span style=\"color: #60a5fa !important;\">$<\/span> Starting logic: ReflectorLogic\n<span style=\"color: #60a5fa !important;\">$<\/span> ReflectorLogic: Connecting to rlf-87.dyndns.org:5387\n<span style=\"color: #60a5fa !important;\">$<\/span> Starting logic: TetraLogic\n<span style=\"color: #60a5fa !important;\">$<\/span> Loading RX: RxTetra\n<span style=\"color: #60a5fa !important;\">$<\/span> Loading TX: TxTetra\n<span style=\"color: #60a5fa !important;\">$<\/span> TetraLogic: Event handler script successfully loaded.\n<span style=\"color: #60a5fa !important;\">$<\/span> Creating tetra specific Sql ok\n<span style=\"color: #60a5fa !important;\">$<\/span>  To PEI:AT+CTOM=1\n<span style=\"color: #60a5fa !important;\">$<\/span> Activating link ALLlinkTetra\n<span style=\"color: #60a5fa !important;\">$<\/span> ReflectorLogic: Connection established to 82.64.55.4:5387\n<span style=\"color: #60a5fa !important;\">$<\/span> ReflectorLogic: Authentication OK\n<span style=\"color: #60a5fa !important;\">$<\/span> ReflectorLogic: Connected nodes: (19)-F8KHC, (87)-F1ZJA, (59)-F1IWQ\n<span style=\"color: #60a5fa !important;\">$<\/span> ReflectorLogic: Using audio codec \"OPUS\"\n<span style=\"color: #60a5fa !important;\">$<\/span> From PEI:+CTOM: 1\n<span style=\"color: #60a5fa !important;\">$<\/span> +++ New Tetra mode: 1 - DMO\n<span style=\"color: #60a5fa !important;\">$<\/span> From PEI:OK\n<span style=\"color: #60a5fa !important;\">$<\/span> Connected to APRS server 217.160.179.143 on port 14580\n<span style=\"color: #60a5fa !important;\">$<\/span>  To PEI:AT+CTSDC=0,0,0,1,1,0,1,1,0,0\n<span style=\"color: #60a5fa !important;\">$<\/span> From PEI:OK\n<span style=\"color: #60a5fa !important;\">$<\/span>  To PEI:AT+CNUMF?\n<span style=\"color: #60a5fa !important;\">$<\/span> From PEI:+CNUMF: 0,9010000102089144\n<span style=\"color: #60a5fa !important;\">$<\/span> TetraLogic: The squelch is OPEN\n<span style=\"color: #60a5fa !important;\">$<\/span> RxTetra: The squelch is OPEN (5.89658)\n<span style=\"color: #60a5fa !important;\">$<\/span> ReflectorLogic: Selecting TG #20887 -- selecci\u00f3n de TG en el 1er PTT\n<span style=\"color: #60a5fa !important;\">$<\/span> TetraLogic: The squelch is CLOSED\n<span style=\"color: #60a5fa !important;\">$<\/span> RxTetra: The squelch is CLOSED (5.89336)\n<span style=\"color: #60a5fa !important;\">$<\/span> TetraLogic: The squelch is OPEN\n<span style=\"color: #60a5fa !important;\">$<\/span> ReflectorLogic: Talker start on TG #20887: (59)-F1IWQ -- 2\u00ba PTT\n<span style=\"color: #60a5fa !important;\">$<\/span> TetraLogic: The squelch is CLOSED\n<span style=\"color: #60a5fa !important;\">$<\/span> ReflectorLogic: Talker stop on TG #20887: (59)-F1IWQ\n<span style=\"color: #60a5fa !important;\">$<\/span> APRS,qAR,F1IWQ-10:Transmission ended<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"background: #eff6ff; border-left: 4px solid #38bdf8; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\ud83d\udca1 <strong>Consejo:<\/strong> los mensajes <code>+CME ERROR: 35<\/code> al inicio suelen corresponder a errores de sintaxis en comandos AT que el propio TetraLogic env\u00eda durante la inicializaci\u00f3n y no impiden el funcionamiento. Un <code>+CME ERROR: 3<\/code> en el comando relativo al GPS es normal si tu MTM no tiene m\u00f3dulo GPS instalado.<\/p>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 8 \u00b7 Arranque de SVXLink en el inicio del sistema<\/p>\n<p><!-- PASO 25 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">25<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Crea el servicio svxlink.service<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Hay que crear un servicio que arranque SVXLink una vez la red y la tarjeta de sonido est\u00e9n disponibles, y que lo lance 60 segundos despu\u00e9s del arranque. En el directorio <code>\/etc\/systemd\/system\/<\/code> crea el archivo <code>svxlink.service<\/code>:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">\/etc\/systemd\/system\/svxlink.service<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"># This file is part of SvxLink -- a voice services system for ham radio\n#\n# Copyright (C) 2003-2019 Tobias Blomberg \/ SM0SVX\n#\n# This program is free software; you can redistribute it and\/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program; if not, write to the Free Software\n# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\n[Unit]\nDescription=SvxLink repeater control software\nDocumentation=man:svxlink(1)\nAfter=network.target remote-fs.target syslog.target time.target gpiod.service\n\n[Service]\n# --- Variables de entorno (antes en \/etc\/default\/svxlink) ---\nEnvironment=RUNASUSER=svxlink\nEnvironment=CFGFILE=\/etc\/svxlink\/svxlink.conf\nEnvironment=LOGFILE=\/var\/log\/svxlink\/svxlink.log\nEnvironment=PIDFILE=\/run\/svxlink.pid\nEnvironment=OPTIONS=\n\n# --- Tareas previas al arranque de SvxLink ---\nExecStartPre=-\/bin\/mkdir -p \/var\/log\/svxlink\nExecStartPre=-\/bin\/touch ${LOGFILE}\nExecStartPre=-\/bin\/chown ${RUNASUSER} \/var\/log\/svxlink\nExecStartPre=-\/bin\/chown ${RUNASUSER} ${LOGFILE}\n# Liberar puerto PEI de la Motorola MTM\nExecStartPre=\/usr\/bin\/python3 \/home\/svxlink\/serial_write-CR.py\n# Inicializar GPIO591 (GPIO22 Pi5) en HIGH \u2014 PTT OFF antes de arrancar svxlink\nExecStartPre=\/home\/svxlink\/gpio-ptt-init.sh\n# ---&gt; RETARDO DE 60 SEGUNDOS ANTES DEL ARRANQUE &lt;---\nExecStartPre=\/bin\/sleep 60\n\n# --- Arranque del servicio ---\nExecStart=\/usr\/bin\/svxlink --logfile=${LOGFILE} --config=${CFGFILE} --pidfile=${PIDFILE} --runasuser=${RUNASUSER}\nExecReload=\/bin\/kill -s HUP $MAINPID\n\nPIDFile=${PIDFILE}\nRestart=on-failure\n# ---&gt; RETARDO DE 60 SEGUNDOS EN CASO DE CA\u00cdDA O RESTART &lt;---\nRestartSec=60\nTimeoutStartSec=120\nTimeoutStopSec=10\nLimitCORE=infinity\nWorkingDirectory=\/etc\/svxlink\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<\/div>\n<p><!-- PASO 26 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">26<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Activa y arranca el servicio<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Recarga los nuevos servicios en el sistema:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo systemctl daemon-reload<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Arranca el servicio y act\u00edvalo para cada reinicio:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo systemctl start svxlink.service\n<span style=\"color: #60a5fa !important;\">$<\/span> sudo systemctl enable svxlink.service<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Comprueba que los servicios han arrancado correctamente (pulsa Ctrl+C para salir de la vista):<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo systemctl status svxlink.service<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">El log de SVXLink se encuentra en <code>\/var\/log\/svxlink\/svxlink.log<\/code>. Para detener SVXLink:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo systemctl stop svxlink.service<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"background: #fff7ed; border-left: 4px solid #f97316; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\u26a0\ufe0f <strong>Importante:<\/strong> El servicio queda activo de forma permanente: en cada arranque de la Pi, SVXLink se iniciar\u00e1 autom\u00e1ticamente una vez la red est\u00e9 disponible y haya transcurrido ese tiempo.<\/p>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 9 \u00b7 Puertos de red e IPv6 (opcional)<\/p>\n<p><!-- PASO 27 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">27<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Abre los puertos del router<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Seg\u00fan los servicios que uses, abre en tu router los siguientes puertos:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #9ca3af !important;\"># EchoLink<\/span>\n<span style=\"color: #60a5fa !important;\">$<\/span> 5198-5199\/udp\n<span style=\"color: #60a5fa !important;\">$<\/span> 5200\/tcp\n\n<span style=\"color: #9ca3af !important;\"># Reflector TETRA Leipzig<\/span>\n<span style=\"color: #60a5fa !important;\">$<\/span> 5300\/tcp<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"background: #eff6ff; border-left: 4px solid #38bdf8; padding: 18px 22px; border-radius: 6px; margin-bottom: 34px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\ud83d\udca1 <strong>Consejo sobre redes solo IPv6:<\/strong> cada vez m\u00e1s proveedores de internet ya no ofrecen direcciones IPv4, solo IPv6.<\/p>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 10 \u00b7 Ajustes de ALSAmixer<\/p>\n<p><!-- PASO 28 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">28<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Ajusta los niveles de audio con alsamixer<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Inicia alsamixer:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> alsamixer<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0 8px;\">Pulsa <strong>F5<\/strong> para mostrar todos los controles:<\/p>\n<ul style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px; padding-left: 22px;\">\n<li><strong>Speaker (altavoz)<\/strong> \u2014 ajusta el audio que llega de la red hacia la radio.<\/li>\n<li><strong>Capture (captura)<\/strong> \u2014 ajusta el audio que va de la radio hacia la red.<\/li>\n<li><strong>Mic (micr\u00f3fono)<\/strong> \u2014 no tiene efecto en esta configuraci\u00f3n.<\/li>\n<\/ul>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0;\">Comprueba que el control de Auto Gain Control est\u00e9 silenciado (aparecer\u00e1 \u00abMM\u00bb); para silenciarlo, sit\u00faate sobre el control y pulsa la tecla <code>m<\/code>.<\/p>\n<p>Mi configuraci\u00f3n de audio es justo la que se muestra con la tarjeta R1-2023 y desp\u00faes de hacer varias pruebas es la que mejor calidad de sonido me devuelve.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-366\" src=\"https:\/\/amateurradionet.com\/wp-content\/uploads\/2026\/06\/audior1-2023.png\" alt=\"\" width=\"821\" height=\"355\" \/><\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 11 \u00b7 Men\u00fa gr\u00e1fico, comandos DTMF y consola<\/p>\n<p><!-- PASO 29 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">29<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Usa el men\u00fa gr\u00e1fico de SVXLink<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">En el entorno gr\u00e1fico de Raspbian, el men\u00fa SvxLink ofrece accesos directos \u00fatiles:<\/p>\n<ul style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px; padding-left: 22px;\">\n<li><strong>Edit SvxLink.conf<\/strong> \u2014 abre un editor para modificar el archivo de configuraci\u00f3n <code>svxlink.conf<\/code>.<\/li>\n<li><strong>Edit Echolink.conf<\/strong> \u2014 abre un editor para modificar el archivo de configuraci\u00f3n <code>EchoLink.conf<\/code>.<\/li>\n<li><strong>Voir SvxLink fonctionner (ver SvxLink funcionando)<\/strong> \u2014 muestra una ventana con las \u00faltimas 40 l\u00edneas del log de SVXLink.<\/li>\n<li><strong>SvxLink.log<\/strong> \u2014 abre un editor para consultar el archivo de log <code>svxlink.log<\/code>.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<p><!-- PASO 30 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">30<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Comandos DTMF disponibles<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Estos comandos se introducen por DTMF desde una estaci\u00f3n que s\u00ed pueda generarlos (recuerda: los comandos DTMF no son posibles desde una estaci\u00f3n TETRA):<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> * Presentaci\u00f3n del repetidor\n<span style=\"color: #9ca3af !important;\">#    Desconexi\u00f3n<\/span>\n<span style=\"color: #60a5fa !important;\">$<\/span> 0#   Activaci\u00f3n del m\u00f3dulo de ayuda (Help)\n<span style=\"color: #60a5fa !important;\">$<\/span> 1#   Activaci\u00f3n del m\u00f3dulo Parrot\n<span style=\"color: #60a5fa !important;\">$<\/span> 2#   Activaci\u00f3n del m\u00f3dulo ECHOLINK\n<span style=\"color: #60a5fa !important;\">$<\/span> 5#   Activaci\u00f3n del m\u00f3dulo MetarInfo (previsi\u00f3n meteorol\u00f3gica)\n<span style=\"color: #60a5fa !important;\">$<\/span> 01#  Lista de estaciones meteorol\u00f3gicas disponibles<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<p style=\"font-size: 22px; font-weight: bold; color: #0f172a; margin-bottom: 18px;\">Parte 12 \u00b7 Consola de SVXLink<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">La consola permite activar las macros de la secci\u00f3n <code>[Macros]<\/code> de <code>svxlink.conf<\/code>. Existen varias formas de simular comandos DTMF en SVXLink.<\/p>\n<p><!-- PASO 32 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 34px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">31<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Usando un socket<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">Lanza SVXLink de modo que pueda controlarse remotamente desde un cliente:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> nc -lk puerto | sudo svxlink<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Y desde el cliente, env\u00eda el comando con:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> echo -n \"comando\" | nc direccion_ip puerto<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0 0;\">Donde <code>direccion_ip<\/code> es <code>127.0.0.1<\/code> si el cliente est\u00e1 en la misma red que el servidor, <code>puerto<\/code> es el n\u00famero de puerto de comunicaci\u00f3n, y <code>comando<\/code> es la instrucci\u00f3n a enviar a SVXLink (por ejemplo, <code>*0#<\/code>).<\/p>\n<\/div>\n<\/div>\n<p><!-- PASO 33 --><\/p>\n<div style=\"display: flex; gap: 18px; align-items: flex-start; margin-bottom: 10px;\">\n<div style=\"flex: 0 0 48px; height: 48px; background: #0f172a; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: bold;\">32<\/div>\n<div style=\"flex: 1;\">\n<h2 style=\"margin: 0 0 10px; font-size: 22px; color: #0f172a;\">Simulador DTMF por archivo (PTY)<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 0 0 14px;\">En la secci\u00f3n <code>[TetraLogic]<\/code>, define la ruta de intercambio de comandos DTMF:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> DTMF_CTRL_PTY=\/tmp\/dtmf<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin: 14px 0;\">Y desde una ventana de consola, env\u00eda el comando deseado:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin: 0 0 0 0; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> sudo echo \"comando\" &gt;\/tmp\/dtmf<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<hr style=\"border: none; border-top: 2px solid #e2e8f0; margin: 36px 0;\" \/>\n<div style=\"background: #eff6ff; border-left: 4px solid #38bdf8; padding: 18px 22px; border-radius: 6px;\">\n<p style=\"margin: 0; font-size: 15px; line-height: 1.6; color: #0f172a;\">\ud83d\udca1 <strong>Consejo final:<\/strong> guarda copia de tus archivos <code>svxlink.conf<\/code>, <code>tetralogic.conf<\/code> y <code>pei-init.json<\/code> antes de cada actualizaci\u00f3n con <code>maj.sh<\/code>, ya que una recompilaci\u00f3n no sobrescribe configuraciones existentes, pero conviene tener siempre un respaldo a mano antes de tocar el sistema en producci\u00f3n.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"margin-bottom: 40px;\">\n<h2 style=\"color: #22c55e; border-bottom: 2px solid #e2e8f0; padding-bottom: 8px; margin-bottom: 20px; font-size: 22px;\">Automatizaciones y Mantenimiento del Sistema<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin-bottom: 16px;\">Para garantizar la estabilidad operativa del nodo a largo plazo, es fundamental automatizar dos tareas cr\u00edticas: la actualizaci\u00f3n de la base de datos de indicativos\/usuarios TETRA y la correcta rotaci\u00f3n de los archivos de registro para que no saturen el almacenamiento de la tarjeta SD.<\/p>\n<h3 style=\"color: #1e293b; font-size: 18px; margin-top: 24px; margin-bottom: 12px;\">Sincronizaci\u00f3n Autom\u00e1tica de Usuarios TETRA<\/h3>\n<p style=\"font-size: 15px; line-height: 1.6; margin-bottom: 12px;\">La l\u00f3gica <code>TetraLogic<\/code> utiliza un archivo local JSON para mapear las ISSI con sus respectivos indicativos de radioaficionado. Para mantener esta base de datos al d\u00eda con el servidor central, utilizaremos un script de automatizaci\u00f3n en Bash.<\/p>\n<p style=\"font-size: 15px; line-height: 1.6; margin-bottom: 12px;\">Crea el script de actualizaci\u00f3n en el directorio personal de SvxLink:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin-bottom: 20px; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">\/home\/svxlink\/update_tetra_users.sh<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">#!\/bin\/bash\n\n# Define las variables\nURL=\"http:\/\/hblinkspain.duckdns.org\/tetra_users.json\"\nDEST_DIR=\"\/etc\/svxlink\/\"\nFILE_NAME=\"tetra_users.json\"\nTEMP_FILE=\"\/tmp\/${FILE_NAME}.tmp\"\n\n# Verifica si el directorio de destino existe, si no, lo crea.\nif [ ! -d \"$DEST_DIR\" ]; then\n    echo \"El directorio $DEST_DIR no existe. Cre\u00e1ndolo...\"\n    sudo mkdir -p \"$DEST_DIR\"\nfi\n\necho \"Iniciando proceso de actualizaci\u00f3n...\"\n\n# 1. Comprueba conexi\u00f3n con el servidor\necho \"Comprobando conexi\u00f3n con ${URL}...\"\nif wget -q --spider \"$URL\"; then\n    echo \"Conexi\u00f3n establecida correctamente.\"\nelse\n    echo \"Error: No se puede conectar con ${URL}. El servidor no responde o no existe.\"\n    exit 1\nfi\n\n# 2. Descarga el archivo a ubicaci\u00f3n temporal\necho \"Descargando el archivo a ubicaci\u00f3n temporal...\"\nsudo wget -O \"$TEMP_FILE\" \"$URL\"\n\n# 3. Verifica si la descarga fue exitosa y si el archivo NO est\u00e1 vac\u00edo\nif [ $? -eq 0 ] &amp;&amp; [ -s \"$TEMP_FILE\" ]; then\n    echo \"Descarga exitosa y validaci\u00f3n de archivo correcta (no est\u00e1 vac\u00edo).\"\n\n    # Backup del archivo existente si existe\n    if [ -f \"${DEST_DIR}${FILE_NAME}\" ]; then\n        echo \"Copia de seguridad del archivo existente...\"\n        sudo cp \"${DEST_DIR}${FILE_NAME}\" \"${DEST_DIR}${FILE_NAME}.copia\"\n    fi\n\n    # Mueve el archivo temporal a la ubicaci\u00f3n final\n    echo \"Actualizando el archivo principal...\"\n    sudo mv \"$TEMP_FILE\" \"${DEST_DIR}${FILE_NAME}\"\n    \n    # Asegura permisos correctos\n    sudo chmod 644 \"${DEST_DIR}${FILE_NAME}\"\n    \n    echo \"\u00a1Actualizaci\u00f3n completada con \u00e9xito!\"\nelse\n    echo \"Error: La descarga fall\u00f3 o el archivo descargado est\u00e1 vac\u00edo.\"\n    echo \"Se mantiene el archivo anterior sin cambios.\"\n    rm -f \"$TEMP_FILE\"\n    exit 1\nfi<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 15px; line-height: 1.6; margin-bottom: 12px;\">Para que el sistema pueda ejecutar la tarea, es obligatorio asignarle permisos de ejecuci\u00f3n mediante la consola de comandos:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin-bottom: 20px; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">bash<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\"><span style=\"color: #60a5fa !important;\">$<\/span> chmod +x \/home\/svxlink\/update_tetra_users.sh\n<span style=\"color: #60a5fa !important;\">$<\/span> .\/home\/svxlink\/update_tetra_users.sh<\/code><\/pre>\n<\/div>\n<div style=\"background: #eff6ff; border-left: 4px solid #38bdf8; padding: 16px 20px; border-radius: 0 8px 8px 0; margin-bottom: 24px;\">\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #1e3a8a;\"><strong>Tip Profesional:<\/strong> Puedes programar este script en el <code>cron<\/code> de tu sistema (ejecutando <code>sudo crontab -e<\/code>) para que se ejecute de forma autom\u00e1tica todas las madrugadas, por ejemplo a las 04:00 AM, a\u00f1adiendo la l\u00ednea:<br \/>\n<code>0 4 * * * \/home\/svxlink\/update_tetra_users.sh &gt;\/dev\/null 2&gt;&amp;1<\/code><\/p>\n<\/div>\n<h3 style=\"color: #1e293b; font-size: 18px; margin-top: 24px; margin-bottom: 12px;\">Mantenimiento y Rotaci\u00f3n de Logs (Logrotate)<\/h3>\n<p style=\"font-size: 15px; line-height: 1.6; margin-bottom: 12px;\">Dado que SvxLink registra una cantidad notable de eventos, tramas de comandos AT del puerto PEI y tr\u00e1ficos de red, el archivo de registro puede crecer indefinidamente. Para prevenir el colapso del almacenamiento de la Raspberry Pi, configuramos una directiva de rotaci\u00f3n peri\u00f3dica.<\/p>\n<p style=\"font-size: 15px; line-height: 1.6; margin-bottom: 12px;\">Crea o edita el archivo de configuraci\u00f3n del demonio <code>logrotate<\/code>:<\/p>\n<div style=\"background: #1e1e1e; border-radius: 10px; overflow: hidden; margin-bottom: 20px; box-shadow: 0 4px 12px rgba(0,0,0,0.25);\">\n<div style=\"background: #2d2d2d; padding: 10px 16px; display: flex; align-items: center; gap: 8px;\"><span style=\"margin-left: 10px; color: #9ca3af; font-family: Consolas,Monaco,'Courier New',monospace; font-size: 12px;\">\/etc\/logrotate.d\/svxlink<\/span><\/div>\n<pre style=\"margin: 0; background: #1e1e1e !important; padding: 18px 20px; white-space: pre-wrap; word-break: break-word; font-size: 14px; line-height: 1.6;\"><code style=\"color: #4ade80 !important; background: transparent !important; font-family: Consolas,Monaco,'Courier New',monospace; white-space: pre-wrap; word-break: break-word;\">\/var\/log\/svxlink\/svxlink.log {\n    # Rotar diariamente\n    daily\n\n    # Guardar 30 d\u00edas de hist\u00f3rico\n    rotate 30\n\n    # Comprimir logs rotados con gzip\n    compress\n\n    # No comprimir el m\u00e1s reciente (el que acaba de rotar),\n    # por si svxlink a\u00fan tiene el descriptor abierto\n    delaycompress\n\n    # No fallar si el fichero no existe\n    missingok\n\n    # No rotar si el fichero est\u00e1 vac\u00edo\n    notifempty\n\n    # Crear nuevo fichero vac\u00edo tras rotar con los propietarios correctos\n    create 0640 svxlink svxlink\n\n    # Se\u00f1alar a svxlink que reabra el fichero de log tras la rotaci\u00f3n\n    postrotate\n        \/bin\/kill -HUP $(cat \/run\/svxlink.pid 2&gt;\/dev\/null) 2&gt;\/dev\/null || true\n    endscript\n}<\/code><\/pre>\n<\/div>\n<p style=\"font-size: 15px; line-height: 1.6; margin-bottom: 12px;\">Esta configuraci\u00f3n realiza una compresi\u00f3n inteligente en <code>.gz<\/code> de los registros antiguos en el ciclo diario, asegurando que el proceso maestro de SvxLink mantenga la consistencia de escritura de manera ininterrumpida enviando una se\u00f1al de ciclo de vida limpia (<code>SIGHUP<\/code>) tras el reemplazo.<\/p>\n<\/div>\n<div style=\"margin-bottom: 40px;\">\n<h2 style=\"color: #22c55e; border-bottom: 2px solid #e2e8f0; padding-bottom: 8px; margin-bottom: 20px; font-size: 22px;\">Programaci\u00f3n de la radio de la pasarela (Gateway)<\/h2>\n<p style=\"font-size: 16px; line-height: 1.7; margin-bottom: 14px;\">Para programar la radio de pasarela MTM800e\/ MTM5400, deber\u00e1s conectar conectar el cable correspondiente tu ordenador port\u00e1til o PC que ejecutar el software Motorola Tetra CPS.<\/p>\n<p style=\"font-size: 16px; line-height: 1.7; margin-bottom: 14px;\">A continuaci\u00f3n, dentro de Tetra CPS, \u00a0Para leer la configuraci\u00f3n de tu radio, simplemente haz clic derecho sobre ella y elige <strong>Read Radio<\/strong>.<\/p>\n<h3 style=\"color: #1e293b; font-size: 18px; margin-top: 24px; margin-bottom: 12px;\">Programaci\u00f3n B\u00e1sica<\/h3>\n<p style=\"font-size: 15px; line-height: 1.6; margin-bottom: 14px;\">A continuaci\u00f3n se detallan los par\u00e1metros b\u00e1sicos necesarios para poner en marcha tu radio de pasarela:<\/p>\n<div style=\"overflow-x: auto; margin-bottom: 20px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); border-radius: 8px;\">\n<table style=\"width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; background: #fff; border: 1px solid #e2e8f0;\">\n<thead>\n<tr style=\"background: #0f172a; color: #fff;\">\n<th style=\"padding: 12px; border: 1px solid #e2e8f0;\">Secci\u00f3n<\/th>\n<th style=\"padding: 12px; border: 1px solid #e2e8f0;\">Par\u00e1metro (Setting)<\/th>\n<th style=\"padding: 12px; border: 1px solid #e2e8f0;\">Valor<\/th>\n<th style=\"padding: 12px; border: 1px solid #e2e8f0;\">Notas<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">Subscriber Unit Parameters<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Radio ISSI<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">9999<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Esta ISSI se utiliza exclusivamente para la radio de la pasarela. No programes esta ISSI en ninguna otra radio.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">Feature Flags<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Direct Mode (DMO)<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">Marcado (Ticked)<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Habilita el modo DMO.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">DMO Parameters &gt; DMO Address Extension<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">MCC<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">901<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">C\u00f3digo de pa\u00eds m\u00f3vil.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">DMO Parameters &gt; DMO Address Extension<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">MNC<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">16383<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">C\u00f3digo de red m\u00f3vil.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">DMO Parameters &gt; DMO MNI Partnership List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Country Code<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">901<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">C\u00f3digo de pa\u00eds.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">DMO Parameters &gt; DMO MNI Partnership List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Network Code<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">16383<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">C\u00f3digo de red.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO Folders List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Name<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">DMO<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Nombre visible en pantalla para la carpeta DMO.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO Folders List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Status<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">Marcado (Ticked)<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Habilitado.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO Folders List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Transmission Timeout timer, sec<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">300<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Temporizador de tiempo l\u00edmite de transmisi\u00f3n (segundos).<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO Folders List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Transmission Timeout warning timer, sec<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">280<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Temporizador de aviso de tiempo l\u00edmite de transmisi\u00f3n (segundos).<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO Folders List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Number of talkgroups in range<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">1<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Este es el n\u00famero de canales que se mostrar\u00e1n dentro de la carpeta.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO Folders List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Receive Only<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">No marcado<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Permite transmitir adem\u00e1s de recibir.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Name<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">TETRA GATEWAY<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Este es el nombre del canal que aparecer\u00e1 en la pantalla.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">ID<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">1<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Identificador del grupo de conversaci\u00f3n.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Status<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">Programado (Programmed)<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Estado del grupo.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">DMO Folders List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">DMO<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">La carpeta que has creado anteriormente.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Communication Type<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">Direct<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Tipo de comunicaci\u00f3n directa.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Gateway Selection<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">None<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Ninguna selecci\u00f3n de pasarela externa.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Gateway Address<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">[En blanco]<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Este campo debe quedar vac\u00edo.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Frequency Channel<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">439.250<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Esta es la frecuencia en la que tu radio transmitir\u00e1 y recibir\u00e1. Aseg\u00farate de usar una frecuencia dentro de tu banda autorizada seg\u00fan tu licencia.Si no puedes introducir una frecuencia superior a 430, consulta la nota que aparece m\u00e1s abajo.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Receive Call to DMO Partnership Networks<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">User Defined<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Definido por el usuario.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Network MCC<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">901<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">MCC de red.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Network MNC<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">16383<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">MNC de red.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">TMO Mapping<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">[En blanco]<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Mapeo TMO en blanco.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Key Group<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">NO_KG<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Grupo de claves de cifrado.<\/td>\n<\/tr>\n<tr style=\"background: #f8fafc;\">\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Incoming Call security Class<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">Security Class 1<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Clase de seguridad para llamadas entrantes.<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; font-weight: bold;\">TalkGroups &gt; DMO &gt; DMO talkgroup List<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Outgoing Call security class<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0; background: #f1f5f9;\">Security Class 1<\/td>\n<td style=\"padding: 10px; border: 1px solid #e2e8f0;\">Clase de seguridad para llamadas salientes.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"font-size: 16px; line-height: 1.7; margin-bottom: 14px;\">Una vez que est\u00e9s listo, escribe los cambios en la radio, y enciende la radio se encienda con normalidad.<\/p>\n<div class='w3eden'><!-- WPDM Link Template: Default Template -->\n\n<div class=\"link-template-default card mb-2\">\n    <div class=\"card-body\">\n        <div class=\"media\">\n            <div class=\"mr-3 img-48\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icono\" src=\"https:\/\/amateurradionet.com\/wp-content\/plugins\/download-manager\/assets\/file-type-icons\/zip.svg\" \/><\/div>\n            <div class=\"media-body\">\n                <h3 class=\"package-title\"><a href='https:\/\/amateurradionet.com\/download\/codeplug_ejemplo_mtm5400_svxlink\/'>Codeplug_ejemplo_mtm5400_svxlink<\/a><\/h3>\n                <div class=\"text-muted text-small\"><i class=\"fas fa-copy\"><\/i> 1 archivo(s) <i class=\"fas fa-hdd ml-3\"><\/i> 87 KB<\/div>\n            <\/div>\n            <div class=\"ml-3\">\n                <a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/amateurradionet.com\/download\/codeplug_ejemplo_mtm5400_svxlink\/?wpdmdl=428&refresh=6a35339a41e001781871514\">Descargar<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<\/div>\n<div style=\"background: #fff7ed; border-left: 4px solid #f97316; padding: 14px 18px; border-radius: 6px; margin: 18px 0; text-align: left;\">\n<p style=\"margin: 0 0 8px; font-size: 15px; font-weight: bold; color: #0f172a;\">\u26a0\ufe0f Nota: Incrementar el rango de frecuencia<\/p>\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #0f172a;\">Es posible expandir la frecuencia de transmisi\u00f3n\/recepci\u00f3n de tu MTM800e\/MTM5400. Realiza esto bajo tu propio riesgo:<br \/>\nDentro de Tetra CPS en <strong>Lab mode &gt; Decimal (D) &gt; cp_net_block &gt; net_data &gt; DMO_range<\/strong>.<br \/>\nCambia las frecuencias m\u00ednima y m\u00e1xima seg\u00fan tus necesidades. Ten en cuenta que la radio comienza a perder sensibilidad a partir de 5 MHz por encima y por debajo del rango de f\u00e1brica. He logrado extender con \u00e9xito radios Motorola tanto port\u00e1tiles como m\u00f3viles en +\/- 10 MHz sin experimentar efectos adversos.<\/p>\n<\/div>\n<div style=\"background: #eff6ff; border-left: 4px solid #38bdf8; padding: 14px 18px; border-radius: 6px; margin: 18px 0; text-align: left;\">\n<p style=\"margin: 0 0 8px; font-size: 15px; font-weight: bold; color: #0f172a;\">\ud83d\udca1 Nota: Cambiar el nivel de potencia<\/p>\n<p style=\"margin: 0; font-size: 14px; line-height: 1.6; color: #0f172a;\">Tambi\u00e9n puedes utilizar el modo Lab para modificar el nivel de potencia de la radio desde 3 vatios hasta 400 milivatios, lo cual puede ser de gran utilidad para realizar pruebas.<br \/>\nDentro de Tetra CPS en <strong>Lab mode &gt; Decimal (D) &gt; cp_hwconst_block &gt; hwconst_data &gt; 65 &gt; tx_pwr_class_4l<\/strong>.<br \/>\nEstablece este valor en 1 para fijar la potencia en 400 milivatios, o en 0 para fijar la potencia en 3 vatios.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Gu\u00eda paso a paso Descarga, instalaci\u00f3n y configuraci\u00f3n de la rama TETRALOGIC para SVXLink Gu\u00eda completa para instalar SVXLink con soporte TETRA (rama tetra-contrib) en una Raspberry Pi, configurar TetraLogic, el ReflectorLogic, el audio y dejar el sistema funcionando como servicio en el arranque. SVXLink es un software de c\u00f3digo abierto para repetidores y enlaces [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":376,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rs_blank_template":"","rs_page_bg_color":"","slide_template_v7":"","tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[25],"tags":[],"class_list":["post-273","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tetra"],"_links":{"self":[{"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/posts\/273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/comments?post=273"}],"version-history":[{"count":1,"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/posts\/273\/revisions"}],"predecessor-version":[{"id":430,"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/posts\/273\/revisions\/430"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/media\/376"}],"wp:attachment":[{"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/media?parent=273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/categories?post=273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/amateurradionet.com\/wp-json\/wp\/v2\/tags?post=273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}