www.a00.de > tcpgroup > 1994 > msg00094
 

TCP-group 1994


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Snapshot of my Linux AX.25 hacking available



Since I'm going to be working on a comment for the FCC for a few days
(they are about to take away another UHF Amateur band in the States, and
the comment deadline is a week from today), I'm not going to get any
time to work on Linux AX.25 stuff until next week. Thus, I've placed a
snapshot of my not-ready-for-prime-time work at
ftp.pixar.com:/pub/bruce/ax25.tar.gz .  The only reason for you to
download this would be if you wanted to continue to work on it. It's not
for end-users yet. The only reason I'm uploading it is that I keep
hearing from people who are working on the same thing as I, and I want
us to be able to pool our efforts.

This is a tar archive that is meant to be extracted from the root, but
you'll probably want to extract it somewhere else first. It will
install all kernel sources needed to build an ax.25-capable system, all
the binaries you need (given that your "ifconfig" and "arp" are
built with AX.25 enabled as they are on Debian 0.93), and sources for
the binaries under /usr/src/ax25 . You'll have to edit config.in to
enable ax.25 before you rebuild the kernel.

This is Alan's AX.25 distribution with a few hacks of my own:
	PMS is removed, because it's not useful for much in its present form. 
	we probably want to replace it with a port of N0ARY's full-service
	Unix BBS.

	Axaddarp, axdelarp, and axarp are removed because "arp" works.
	Axsetcall is removed because "ifconfig" works.
	
	Locations of programs and files are moved around to be FSSTD-compliant.
	Look in /usr/src/ax25/ax25_paths.h , and the "install" section
	of the Makefile.

	"axattach" is enhanced so that it can run scripts to configure
	the TCP/IP capabilities of an interface after it has attached an
	interface. This was necessary because the scripts needed to know
	which "sl" device axattach had selected, and on my system (which
	runs dial-up SLIP), it didn't always get the same device.

	There is a big new manual page for "axattach". I just wrote it on
	Sunday evening, so it probably has lots of typos.

	"axl" can now be passed a command to run instead of the PMS on the
	command line. Parameters are substituted in the command. It can run
	the command on a pseudo-tty. You can run remote logins with:
		axl -c "/bin/login -h %r" -t
	This even prints the remote AX.25 callsign as the remote host ID when
	you run the "who" command, and sets the pseudo-tty Baud rate to match
	the TNC's radio Baud rate. No man page for "axl" yet, but it will tell
	you the options if you run "axl --help".

	"call" no longer refuses to work if you aren't root.

	A two-line kernel patch from Alan is installed.

	My C++ version of "listen" is replaced by the C one that uses KA9Q
	code (which was ported by G4LKX) in the hope that Phil will GPL the
	source files we are using.

HELP MESSAGES

Here's axattach:
	Usage: axattach [-c <command>] [-s <speed>] <device> <callsign>.

		-c <command>: <command> will be executed by the shell after the
			interface is initialized. Interface parameters can be
			passed in the command by using these "%" patterns:
				%i	Network interface name.
				%d	Device name.
				%c	Callsign.
				%s	Speed.
				%%	A single % character.

		-s <speed>: Set the Baud rate for serial interfaces (default 0).

And here's axl:

	Usage: axl [-c <command>] [-p <port>] [-t].

		-c <command>: <command> will be executed for each connection.
			The default command is "/usr/sbin/pms".
			Parameters can be passed in <command> by using
			these "%" patterns:
				%c	Local address (callsign).
				%f	Frequency.
				%r	Remote address (callsign).
				%s	Speed.
				%w	Window.
				%%	A single % character.

		-p <port>: Listen on the specified port.

		-t:	Run <command> on a pseudo-terminal. Required for
			terminal-oriented commands such as "/bin/login".


KNOWN BUGS
	"axl" should be re-written to look like "inetd", so that one program
	could be used to listen on many radios, callsigns, and ssids.
	Fred van Kempen did a version of that a while back, though he probably
	didn't include the pseudo-terminal daemon stuff that my version has.

	"axl" doesn't clear the utmp file entry when someone disconnects.
	Thus, if you have "axl" running login, when the user logs out the
	display from "who" will still have them logged in.

	If you kill "axl", all of the pseudo-tty connections it has made are
	closed, because "axl" contains the pseudo-tty daemon. This isn't going
	to go away - it's much less overhead to have one pseudo-tty daemon for
	all connections rather than one for each connection.

	If you use a wire connection instead of a radio connection, it exposes
	timing-related bugs in the AX.25 kernel software. I get hangs that can
	be cleared by sending a carriage-return, and also a packet gets rejected
	followed by thrashing in which two systems send receive-ready to each
	other as fast as they can. These don't happen when you connect via
	radio.

	John Paul Morrison reports that multiple connects to the same callsign
	can result in data from one connect being sent to the other connect. 

	I/O between the pseudo-terminal and the radio isn't being condensed
	efficiently yet. If you have remote echo enabled, echo happens with
	one packet per character.
	
HELP WANTED
	Does anyone want to try porting N0ARY's (huge) BBS version 4.0? There's
	a guy at HP who was working on it, but I hear he doesn't have time.

	Does anyone want to port other Amateur Radio programs?

	Does anyone want to chase down the authors of Amateur Radio programs
	and persuade them to GPL their software so that we can distribute it
	without trouble? I'm thinking of such things as "sattrack", antenna
	design programs, code practice, theory tests, etc.



	Thanks

	Bruce Perens AB6YM




Document URL : http://www.a00.de/tcpgroup/1994/msg00094.php
Ralf D. Kloth, Ludwigsburg, DE (QRQ.software). < hostmaster at a00.de > [don't send spam]
Created 2004-10-04. Last modified 2004-10-04. Your visit 2024-04-25 03:57.01. Page created in 0.1304 sec.
 
[Go to the top of this page]   [... to the index page]