All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Platt <dplatt@radagast.org>
To: linux-hams <linux-hams@vger.kernel.org>
Subject: Re: USB converters and old hardware (Baycom in particular)
Date: Thu, 15 Apr 2010 10:48:06 -0700	[thread overview]
Message-ID: <4BC75156.9060907@radagast.org> (raw)
In-Reply-To: <20100415104942.63522s5vbiv7a7i8@mgtmail.com>

Another possible gotcha here... the Baycom is being
used to transmit and receive AX.25 signals, which are
1200-bit/second *synchronous* data (HDLC), not asynchronous
data as a UART normally sends!  Although I don't have a
schematic of the device and am not certain how this is
being done, the description at the above page leads me to
believe that the host software is actually clocking the
data out, a bit at a time, by toggling the TXD pin at
the necessary data rate.

I'm not sure how this is being done... but it may not
be possible at all in a USB dongle!  If they're setting
the UART to some weird data rate, and then transmitting
asynchronous bytes (e.g. one byte transmitted for each
bit they want to send), then maybe it'll work if the
USB dongle is capable of supporting this nonstandard
data rate.

The other way that they might be doing this, is writing
a bit into the UART control registers which turns on and
off the "Send a long space signal now!" feature... in effect,
taking direct control of the TXD line.  If that's the case, I
don't thing that this can be done via a USB dongle (at least,
not for this application), for a critical reason:

-  USB transactions happen once per millisecond.  That's the
   resolution with which you can send commands to the USB
   dongle.

-  Sending 1200 bit/second data via this method would require
   changing the TXD pins setting every 1/1200'th of a second.

Hmmm... let's see...

The Linux kernel driver for the Baycom SER12 modem appears to
be doing some such sort of low-level port trickery... it
bypasses / overrides the standard serial port driver, does
direct register-level control of the UART (works only
with UARTs that are register-compatible with the 8250
and 16xxx family), and appears to be dependent on handling
one interrupt per bit transmitted.

This just isn't going to work over a USB dongle!



  parent reply	other threads:[~2010-04-15 17:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-08  5:08 USB converters and old hardware Phil
2010-04-08 10:20 ` Mike McCarthy, W1NR
2010-04-09  1:09   ` Phil
2010-04-13 14:42     ` walter harms
2010-04-13 17:52       ` IT2 Stuart Blake Tener, USNR
2010-04-14  5:37         ` Douglas Cole
2010-04-14 15:18           ` IT2 Stuart Blake Tener, USNR
2010-04-15  1:51           ` Phil
2010-04-15 14:49             ` IT2 Stuart Blake Tener, USNR
2010-04-15 17:47               ` USB converters and old hardware (in general) Dave Platt
2010-04-15 17:48               ` Dave Platt [this message]
2010-04-15 19:22                 ` USB converters and old hardware (Baycom in particular) Tomi Manninen
2010-04-15 20:05                 ` Adam Sampson
2010-04-15 20:41                   ` Dave Platt
2010-04-15 15:55             ` USB converters and old hardware Niall Parker
2010-04-15 16:56               ` IT2 Stuart Blake Tener, USNR

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BC75156.9060907@radagast.org \
    --to=dplatt@radagast.org \
    --cc=linux-hams@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.