All of lore.kernel.org
 help / color / mirror / Atom feed
* Packet at the physical level
@ 2003-09-18 18:48 Mike Davies
  2003-09-18 19:05 ` Bob Nielsen
  2003-09-18 19:08 ` Jeroen Vreeken
  0 siblings, 2 replies; 8+ messages in thread
From: Mike Davies @ 2003-09-18 18:48 UTC (permalink / raw)
  To: linux-hams; +Cc: rovoreed


	I'm trying to find out what happens at the physical level with 
Ax25 packet. I've tried looking at the source code but either I'm looking 
in the wrong place, or I don't understand.

	I'm assuming tones of 1200Hz and 2200Hz for 1200bps

	I have several questions concerning transmission.
	
	1) Am I right in thinking that the tone changes every time a zero 
bit is sent, and not changed when a 1 bit is sent? If so, what tone 
frequency do I start with (for the first zero bit in the $7E frame start 
octet)

	2) Which order are the bits sent ? LSB or MSB first ?
	
	3) What is the polynomial for the frame check CRC. I have seen two 
quoted, x^16 + x^12 + x^5 + 1 and also x^16 + X^15 + x^2 + 1 which is 
right, or is it something else ?

	4) Given that one of the tones is the same as the baud rate, i.e. 
one complete cycle for one bit, does it matter where in the cycle I start 
the tone ?

	5) I'm assuming there is no phase shift between bits. Is this 
correct ?


Mike de G0WZY

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Packet at the physical level
  2003-09-18 18:48 Packet at the physical level Mike Davies
@ 2003-09-18 19:05 ` Bob Nielsen
  2003-09-18 19:17   ` Dennis Boone
  2003-09-18 19:08 ` Jeroen Vreeken
  1 sibling, 1 reply; 8+ messages in thread
From: Bob Nielsen @ 2003-09-18 19:05 UTC (permalink / raw)
  To: linux-hams

You should also take a look at the AX25 Version 2, Level 2
specification:  ftp://tapr.org/general/ax25.doc

Although most implementations reflect this version of the
specification, there is an update:
http://www.tapr.org/tapr/pdf/ax25.2.2.pdf

You can find additional information which may be useful on the TAPR web
site: http://www.tapr.org/html/pktf.html

73,
Bob, N7XY

On Thu, Sep 18, 2003 at 06:48:00PM +0000, Mike Davies wrote:
> 
> 	I'm trying to find out what happens at the physical level with 
> Ax25 packet. I've tried looking at the source code but either I'm looking 
> in the wrong place, or I don't understand.
> 
> 	I'm assuming tones of 1200Hz and 2200Hz for 1200bps
> 
> 	I have several questions concerning transmission.
> 	
> 	1) Am I right in thinking that the tone changes every time a zero 
> bit is sent, and not changed when a 1 bit is sent? If so, what tone 
> frequency do I start with (for the first zero bit in the $7E frame start 
> octet)
> 
> 	2) Which order are the bits sent ? LSB or MSB first ?
> 	
> 	3) What is the polynomial for the frame check CRC. I have seen two 
> quoted, x^16 + x^12 + x^5 + 1 and also x^16 + X^15 + x^2 + 1 which is 
> right, or is it something else ?
> 
> 	4) Given that one of the tones is the same as the baud rate, i.e. 
> one complete cycle for one bit, does it matter where in the cycle I start 
> the tone ?
> 
> 	5) I'm assuming there is no phase shift between bits. Is this 
> correct ?
> 
> 
> Mike de G0WZY

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Packet at the physical level
  2003-09-18 18:48 Packet at the physical level Mike Davies
  2003-09-18 19:05 ` Bob Nielsen
@ 2003-09-18 19:08 ` Jeroen Vreeken
  1 sibling, 0 replies; 8+ messages in thread
From: Jeroen Vreeken @ 2003-09-18 19:08 UTC (permalink / raw)
  To: rovoreed; +Cc: linux-hams

On 2003.09.18 20:48:00 +0200 Mike Davies wrote:
> 
> 	I'm trying to find out what happens at the physical level with 
> Ax25 packet. I've tried looking at the source code but either I'm looking
> 
> in the wrong place, or I don't understand.

Most of the linux drivers (excluding soundmodem and a litle bit of baycom)
don't deal with the physical aspects...

> 	I'm assuming tones of 1200Hz and 2200Hz for 1200bps
> 
> 	I have several questions concerning transmission.
> 	
> 	1) Am I right in thinking that the tone changes every time a zero
> 
> bit is sent, and not changed when a 1 bit is sent? If so, what tone 
> frequency do I start with (for the first zero bit in the $7E frame start 
> octet)

You are right, its called NRZI (non-return zero inverted)
You can start however you want.... This also implies that the first zero of
the flag can't be the very first bit you receive... More then one flag or a
previous frame is needed.
 
> 	2) Which order are the bits sent ? LSB or MSB first ?

LSB first

> 	3) What is the polynomial for the frame check CRC. I have seen
> two 
> quoted, x^16 + x^12 + x^5 + 1 and also x^16 + X^15 + x^2 + 1 which is 
> right, or is it something else ?

Don't know that either... google?

> 	4) Given that one of the tones is the same as the baud rate, i.e.
> 
> one complete cycle for one bit, does it matter where in the cycle I start
> 
> the tone ?

No, but the output must be continuous (ie as you put in 5 the phase at the
end of a bit is the same as the phase at the beginning of the next bit
regardless which frequencies they have.

> 	5) I'm assuming there is no phase shift between bits. Is this 
> correct ?
> 


Hope this helps,

Jeroen


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Packet at the physical level
  2003-09-18 19:05 ` Bob Nielsen
@ 2003-09-18 19:17   ` Dennis Boone
  2003-09-18 22:37     ` Robin Gilks
  2003-09-19  7:10     ` Mike Davies
  0 siblings, 2 replies; 8+ messages in thread
From: Dennis Boone @ 2003-09-18 19:17 UTC (permalink / raw)
  To: linux-hams

 > You should also take a look at the AX25 Version 2, Level 2
 > specification: ftp://tapr.org/general/ax25.doc

This addresses the original poster's link layer questions (#2, #3).

To address his physical layer questions:

For most amateur VHF packet, I believe the physical layer is
equivalent to Bell 202.  I've not yet managed to find a copy of that
spec online, but there are a number of documents about chips which
implement it, for example:

http://laspace.lsu.edu/aces/Docs/Component%20Docs/mx614.pdf

which might prove helpful.  A tour of the soundmodem code for Linux
might also be enlightening.

Dennis Boone
KB8ZQZ

 > > 	I'm trying to find out what happens at the physical level with 
 > > Ax25 packet. I've tried looking at the source code but either I'm looking 
 > > in the wrong place, or I don't understand.
 > > 
 > > 	I'm assuming tones of 1200Hz and 2200Hz for 1200bps
 > > 
 > > 	I have several questions concerning transmission.
 > > 	
 > > 	1) Am I right in thinking that the tone changes every time a zero 
 > > bit is sent, and not changed when a 1 bit is sent? If so, what tone 
 > > frequency do I start with (for the first zero bit in the $7E frame start 
 > > octet)
 > > 
 > > 	2) Which order are the bits sent ? LSB or MSB first ?
 > > 	
 > > 	3) What is the polynomial for the frame check CRC. I have seen two 
 > > quoted, x^16 + x^12 + x^5 + 1 and also x^16 + X^15 + x^2 + 1 which is 
 > > right, or is it something else ?
 > > 
 > > 	4) Given that one of the tones is the same as the baud rate, i.e. 
 > > one complete cycle for one bit, does it matter where in the cycle I start 
 > > the tone ?
 > > 
 > > 	5) I'm assuming there is no phase shift between bits. Is this 
 > > correct ?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Packet at the physical level
  2003-09-18 19:17   ` Dennis Boone
@ 2003-09-18 22:37     ` Robin Gilks
  2003-09-19  7:10     ` Mike Davies
  1 sibling, 0 replies; 8+ messages in thread
From: Robin Gilks @ 2003-09-18 22:37 UTC (permalink / raw)
  To: linux-hams

Greetings

To get a view of the physical layer just above the tones themselves, take
a look at the bit-bashing in the TVIPUG (Thames Valley IP User Group) 9k6
modem. This does all the NRZ/NRZI conversion, the CRC generation and
checking, the bit stuffing and stripping on a bit level (makes it a bit
clearer than byte level I think!!). Its also independent of the speed and
avoids the pitfall of thinking all packet being at 1200bps :-))

http://www.tvipug.org/download/ipri-1.00.tar.gz


> I'm trying to find out what happens at the physical level with
> Ax25 packet. I've tried looking at the source code but either I'm
> looking  in the wrong place, or I don't understand.
>


-- 
Robin Gilks
Internet: robin@gilks.org    http://www.gilks.org
Tel:      (+64) (3) 357 9383




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Packet at the physical level
  2003-09-18 19:17   ` Dennis Boone
  2003-09-18 22:37     ` Robin Gilks
@ 2003-09-19  7:10     ` Mike Davies
  2003-09-19  9:25       ` Richard Stearn
  2003-09-19 14:19       ` w9ya
  1 sibling, 2 replies; 8+ messages in thread
From: Mike Davies @ 2003-09-19  7:10 UTC (permalink / raw)
  To: linux-hams; +Cc: rovoreed

	Thanks for all the replies (so far). A little bit of fiddling here 
has confirmed that valid packets can start with either tone. You learn 
something every day.

	By the way, VHF amateur packet is not Bell202 compatible. I've 
seen this mentioned before, but I've got the source code for a Bell202 
modem which I know works, and that simply uses a 1300Hz tone for high bit 
and a 2100Hz tone for a low bit. So not only does it use different tones 
it doesn't do the NRZ modulation.

	Hopefully in the next day or two I'll be able to transmit a few 
test packets, and then I'll be able to determine the CRC polynomial if 
nothing turns up before.

Mike

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Packet at the physical level
  2003-09-19  7:10     ` Mike Davies
@ 2003-09-19  9:25       ` Richard Stearn
  2003-09-19 14:19       ` w9ya
  1 sibling, 0 replies; 8+ messages in thread
From: Richard Stearn @ 2003-09-19  9:25 UTC (permalink / raw)
  To: linux-hams

Mike Davies wrote:
> 	Thanks for all the replies (so far). A little bit of fiddling here 
> has confirmed that valid packets can start with either tone. You learn 
> something every day.
> 
> 	By the way, VHF amateur packet is not Bell202 compatible. I've 
> seen this mentioned before, but I've got the source code for a Bell202 
> modem which I know works, and that simply uses a 1300Hz tone for high bit 
> and a 2100Hz tone for a low bit. So not only does it use different tones 
> it doesn't do the NRZ modulation.
> 
> 	Hopefully in the next day or two I'll be able to transmit a few 
> test packets, and then I'll be able to determine the CRC polynomial if 
> nothing turns up before.

Mike

The Z80-SIO-0's in my homebrewed 4-port sync serial card are set to:

	HDLC
	CRC16

CRC16 is:
	x16+x15+x2+1
the CRC generator is preset to 0's (non-HDLC)

Info from Zilog comps databook 1983 and the source code for my 4-port sync 
serial card from about 1987 (still the mainstay of my packet system).

-- 
Regards
	Richard
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Amateur radio callsign: G1SOG         Home BBS: G1SOG@GB7GLO.#46.GBR.EU
                 Amprnet co-ordinator for Wiltshire
Unix is user friendly.        Just rather selective about it's friends.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Packet at the physical level
  2003-09-19  7:10     ` Mike Davies
  2003-09-19  9:25       ` Richard Stearn
@ 2003-09-19 14:19       ` w9ya
  1 sibling, 0 replies; 8+ messages in thread
From: w9ya @ 2003-09-19 14:19 UTC (permalink / raw)
  To: linux-hams

Well the "bottom layer" of VHF packet can be done with almost any standard 202 
modem.

Back in late 1983 "we" put just such a modem into "loopback" mode, adjusted 
the audio response characteristics, and added a time-out/control timer to an 
existing duplex 2-meter repeater. We then had a duplex packet repeater. This 
was documented in two of the early ARRL Networking Conference books.

I have since moved from the Los Angeles area but before I left we incorporated 
some of the ded/netrom software using the rs-232 connection the repeater now 
had on it by way of the attached modem. (This repeater was used extensively 
during development of the netrom software.)

We also modified the Jon Bloom Xerox 820 software as our second controller. It 
had a homemade version of skip's state machine made out of some simple TTL 
and roms. It also used the same 202 modem and a very simple keep-alive 
circuit. This allowed us to do cross-band/cross-network hookups while the 
netrom stuff was being developed. This controller was complete overkill for 
transporting in-network (lan) operation.

(I am told that the operation was still running, although on different 
hardware, the last time I checked a few years ago. I imagine it still is. )

Bottom line: yes there is the need to run some "nrzee-ish" code into a modem, 
but what a "modem does" is what *is* done by a 202 modem as far a 1200 baud 
ham packet is standardized at. As long as one is talking about the physical 
layer of ham-packet, the modem tones are properly handled by the 202 
standard(s).

Vy 73 y'all;

Bob
w9ya

On Friday 19 September 2003 02:10 am, Mike Davies wrote:
> 	Thanks for all the replies (so far). A little bit of fiddling here
> has confirmed that valid packets can start with either tone. You learn
> something every day.
>
> 	By the way, VHF amateur packet is not Bell202 compatible. I've
> seen this mentioned before, but I've got the source code for a Bell202
> modem which I know works, and that simply uses a 1300Hz tone for high bit
> and a 2100Hz tone for a low bit. So not only does it use different tones
> it doesn't do the NRZ modulation.
>
> 	Hopefully in the next day or two I'll be able to transmit a few
> test packets, and then I'll be able to determine the CRC polynomial if
> nothing turns up before.
>
> Mike
> -
> To unsubscribe from this list: send the line "unsubscribe linux-hams" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2003-09-19 14:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-18 18:48 Packet at the physical level Mike Davies
2003-09-18 19:05 ` Bob Nielsen
2003-09-18 19:17   ` Dennis Boone
2003-09-18 22:37     ` Robin Gilks
2003-09-19  7:10     ` Mike Davies
2003-09-19  9:25       ` Richard Stearn
2003-09-19 14:19       ` w9ya
2003-09-18 19:08 ` Jeroen Vreeken

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.