USBSoundModem

Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2011-04-30 02:13:45
Size: 3082
Editor: www
Comment: ipc
Revision 7 as of 2011-05-06 21:22:02
Size: 6049
Editor: www
Comment: formatting
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Joey, NV0N, has been working on finding the right configuration for USB Sound Modems like the Tigertronics SignalLink USB. Below is a work in progress under Natty. Feel free to edit this page if you have success. Joey, NV0N, has been working on finding the right configuration for USB Sound Modems like the Tigertronics SignalLink USB to be used for accessing packet BBSes. (APRS setup is a bit different in that it uses "kissattach" and "kissparms".)

Below is a work in progress under Natty. Feel free to edit this page if you have success.
Line 8: Line 10:
* libax25 - library for hamradio applications
* ax25-apps - AX25 ham radio applications
* ax25-tools - AX-25 tools
* ax25-xtools - AX-25 tools (X versions) - optional
* ax25spyd - AX.25 traffic analyzer, dumper and spy daemon
* soundmodem - Sound Card Amateur Packet Radio Modems
* rigctl - Rig Control programs
* node - ham radio node (digipeter) application
 * libax25 - library for hamradio applications
 * ax25-apps - AX25 ham radio applications
 * ax25-tools - AX-25 tools
 
* ax25-xtools - AX-25 tools (X versions) - optional
 * ax25spyd - AX.25 traffic analyzer, dumper and spy daemon
 * soundmodem - Sound Card Amateur Packet Radio Modems
 * rigctl - Rig Control programs
 * node - ham radio node (digipeter) application
Line 17: Line 19:
== Soundmodem config == == Configuration Files ==

=
== Soundmodem config ===
Line 21: Line 25:
Note the IP address can be arbitrary for your testing (in fact, you can just leave it as is and simply amend the callsign). Notes:
 * the IP address can be arbitrary for your testing (in fact, you can just leave it as is)
 * replace the NV0N callsign with yours
 * replace the hamlib configuration with yours. (123 is a Yaesu FT-897)
 * I've added hamlib_params below which you may need to change or delete.
Line 27: Line 35:
<configuration name="siglink"><channel name="Channel 0"><mod mode="afsk" bps="1200" f0="1200" f1="2200" diffenc="1" filter="df9ic/g3ruh" inlv="8" fec="3" tunelen="32" synclen="32"/><demod mode="afsk" bps="1200" f0="1200" f1="2200" diffdec="1" filter="df9ic/g3ruh"/><pkt mode="MKISS" ifname="sm0" hwaddr="NV0N-8" ip="44.128.248.62" netmask="255.255.255.224" broadcast="44.128.248.63" file="/dev/soundmodem0" unlink="1"/></channel><chaccess txdelay="300" slottime="100" ppersist="64" fulldup="0" txtail="30"/><audio type="alsa" device="plughw:2,0" halfdup="1" capturechannelmode="Mono"/><ptt file="/dev/ttyUSB0" hamlib_model="123" hamlib_params="-s 4800"/></configuration></modem>
}}}
<configuration name="siglink"><channel name="Channel 0"><mod mode="afsk" bps="1200" f0="1200" f1="2200" diffenc="1" filter="df9ic/g3ruh" inlv="8" fec="3" tunelen="32" synclen="32"/><demod mode="afsk" bps="1200" f0="1200" f1="2200" diffdec="1" filter="df9ic/g3ruh"/><pkt mode="MKISS" ifname="sm0" hwaddr="NV0N-8" ip="44.94.11.8" netmask="255.255.255.0" broadcast="49.94.11.255" file="/dev/soundmodem0" unlink="1"/></channel><chaccess txdelay="300" slottime="100" ppersist="64" fulldup="0" txtail="30"/><audio type="alsa" device="plughw:2,0" halfdup="1" capturechannelmode="Mono"/><ptt file="/dev/ttyUSB0" hamlib_model="123" hamlib_params="serial_speed=4800,rts_state=OFF,dtr_state=OFF"/></configuration></modem>}}}
Line 30: Line 37:
== axports == === axports ===
Line 44: Line 51:
== ax25d == === ax25d ===
Line 53: Line 60:
parameters 1 10 * * * * *
Line 55: Line 63:

<netrom>
parameters 1 10 * * * * *
NOCALL * * * * * * L
default * * * * * * 0 root /usr/sbin/node node
Line 57: Line 71:
=== Avahi ===
Avahi's publish command sends packets out over ax.25 which is something we don't want. Below is a copy of a working /etc/avahi/avahi-daemon.conf that you can use. The lines "#jjs changed" are the ports turned off.

{{{
# This file is part of avahi.
#
# avahi is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# avahi is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with avahi; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.

# See avahi-daemon.conf(5) for more information on this configuration
# file!

[server]
#host-name=foo
#domain-name=local
#browse-domains=0pointer.de, zeroconf.org
use-ipv4=yes
use-ipv6=no
#allow-interfaces=eth0
#deny-interfaces=eth1
#check-response-ttl=no
#use-iff-running=no
#enable-dbus=yes
#disallow-other-stacks=no
#allow-point-to-point=no
#cache-entries-max=4096
#clients-max=4096
#objects-per-client-max=1024
#entries-per-entry-group-max=32
ratelimit-interval-usec=1000000
ratelimit-burst=1000

[wide-area]
enable-wide-area=yes

[publish]
#jjs changed
disable-publishing=yes
#disable-user-service-publishing=no
#add-service-cookie=no
#jjs changed
publish-addresses=no
publish-hinfo=no
publish-workstation=no
publish-domain=no
#publish-dns-servers=192.168.50.1, 192.168.50.2
#publish-resolv-conf-dns-servers=yes
#publish-aaaa-on-ipv4=yes
#publish-a-on-ipv6=no

[reflector]
#enable-reflector=no
#reflect-ipv=no

[rlimits]
#rlimit-as=
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=768
rlimit-stack=4194304
rlimit-nproc=3
}}}

=== Node ===
Edit
 * /etc/ax25/node.conf
 * /etc/ax25/node.perms
and set your callsign and related fields.
Line 58: Line 154:
This is the startup script (I call it packet.sh). Must be run as root/sudo. Advice is to run these manually the first few times until you get no errors. This is the startup script (I call it packet.sh). Must be run as root/sudo. Advice is to run these manually the first few times until you get no errors. Keep in mind the route commands below need to match what you put into soundmodem.conf above.
Line 80: Line 176:

At this point you should be at a command line and can run
{{{
axcall sm0 callsign
}}}
where callsign is your local BBS.

Overview

Joey, NV0N, has been working on finding the right configuration for USB Sound Modems like the Tigertronics SignalLink USB to be used for accessing packet BBSes. (APRS setup is a bit different in that it uses "kissattach" and "kissparms".)

Below is a work in progress under Natty. Feel free to edit this page if you have success.

Software

This setup requires these packages:

  • libax25 - library for hamradio applications
  • ax25-apps - AX25 ham radio applications
  • ax25-tools - AX-25 tools
  • ax25-xtools - AX-25 tools (X versions) - optional
  • ax25spyd - AX.25 traffic analyzer, dumper and spy daemon
  • soundmodem - Sound Card Amateur Packet Radio Modems
  • rigctl - Rig Control programs
  • node - ham radio node (digipeter) application

Configuration Files

Soundmodem config

From /etc/ax25/soundmodem.conf

Notes:

  • the IP address can be arbitrary for your testing (in fact, you can just leave it as is)
  • replace the NV0N callsign with yours
  • replace the hamlib configuration with yours. (123 is a Yaesu FT-897)
  • I've added hamlib_params below which you may need to change or delete.

<?xml version="1.0"?>
<modem>

<configuration name="siglink"><channel name="Channel 0"><mod mode="afsk" bps="1200" f0="1200" f1="2200" diffenc="1" filter="df9ic/g3ruh" inlv="8" fec="3" tunelen="32" synclen="32"/><demod mode="afsk" bps="1200" f0="1200" f1="2200" diffdec="1" filter="df9ic/g3ruh"/><pkt mode="MKISS" ifname="sm0" hwaddr="NV0N-8" ip="44.94.11.8" netmask="255.255.255.0" broadcast="49.94.11.255" file="/dev/soundmodem0" unlink="1"/></channel><chaccess txdelay="300" slottime="100" ppersist="64" fulldup="0" txtail="30"/><audio type="alsa" device="plughw:2,0" halfdup="1" capturechannelmode="Mono"/><ptt file="/dev/ttyUSB0" hamlib_model="123" hamlib_params="serial_speed=4800,rts_state=OFF,dtr_state=OFF"/></configuration></modem>

axports

The standard naming convention for soundmodems is sm0

# /etc/ax25/axports
#
# The format of this file is:
#
# name callsign speed paclen window description
#
sm0     NV0N-8  1200    255     2       145.090 MHz (1200  bps)

ax25d

# /etc/ax25/ax25d.conf
#
# ax25d Configuration File.
#
# AX.25 Ports begin with a '['.
#
[NV0N-8 via sm0]
parameters 1    10  *  *  *   *   *
NOCALL * * * * * * L
default 1 10 3 300 10 5 -       root    /usr/sbin/node node %d %s

<netrom>
parameters 1    10  *  *  *   *   *
NOCALL     *     *  *  *  *   *   L
default    *     *  *  *  *   *   0        root /usr/sbin/node node

Avahi

Avahi's publish command sends packets out over ax.25 which is something we don't want. Below is a copy of a working /etc/avahi/avahi-daemon.conf that you can use. The lines "#jjs changed" are the ports turned off.

# This file is part of avahi.
#
# avahi is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# avahi is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with avahi; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.

# See avahi-daemon.conf(5) for more information on this configuration
# file!

[server]
#host-name=foo
#domain-name=local
#browse-domains=0pointer.de, zeroconf.org
use-ipv4=yes
use-ipv6=no
#allow-interfaces=eth0
#deny-interfaces=eth1
#check-response-ttl=no
#use-iff-running=no
#enable-dbus=yes
#disallow-other-stacks=no
#allow-point-to-point=no
#cache-entries-max=4096
#clients-max=4096
#objects-per-client-max=1024
#entries-per-entry-group-max=32
ratelimit-interval-usec=1000000
ratelimit-burst=1000

[wide-area]
enable-wide-area=yes

[publish]
#jjs changed
disable-publishing=yes
#disable-user-service-publishing=no
#add-service-cookie=no
#jjs changed
publish-addresses=no
publish-hinfo=no
publish-workstation=no
publish-domain=no
#publish-dns-servers=192.168.50.1, 192.168.50.2
#publish-resolv-conf-dns-servers=yes
#publish-aaaa-on-ipv4=yes
#publish-a-on-ipv6=no

[reflector]
#enable-reflector=no
#reflect-ipv=no

[rlimits]
#rlimit-as=
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=768
rlimit-stack=4194304
rlimit-nproc=3

Node

Edit

  • /etc/ax25/node.conf
  • /etc/ax25/node.perms

and set your callsign and related fields.

startup script

This is the startup script (I call it packet.sh). Must be run as root/sudo. Advice is to run these manually the first few times until you get no errors. Keep in mind the route commands below need to match what you put into soundmodem.conf above.

# start ax25 with the soundmodem driver using the port
# defined in /etc/ax25/axports
/usr/sbin/soundmodem /etc/ax25/soundmodem.conf -R -M >/dev/null 2>/dev/null&
sleep 1
# TNC Parameters txd, persist, slottime, txtail are done by
# soundmodemconfig and stored in soundmodem.conf
# this adds a route to our soundmodem
/sbin/route add -host 44.94.11.8 dev sm0
# route to the rest of the netrom IP capable nodes
/sbin/route add -net 44.94.11.0 netmask 255.255.255.0 gw 44.94.11.8 dev sm0
sleep 1
# listen for various incoming connects like PMS, node, etc.
# (MUST first be configured in /etc/ax25/ax25d.conf)
/usr/sbin/ax25d
sleep 1
# listen for stations heard
/usr/sbin/mheardd

At this point you should be at a command line and can run

axcall sm0 callsign

where callsign is your local BBS.

UbuntuHams/USBSoundModem (last edited 2011-05-07 15:47:55 by www)