soundmodem.txt
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:3k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1.      LINUX DRIVER FOR SOUNDCARDS AS AX.25 MODEMS
  2.        Thomas M. Sailer, HB9JNX/AE4WA, <sailer@ife.ee.ethz.ch>
  3. This driver allows either SoundBlaster (sbc) or Windows Sound System (wss)
  4. compatible soundcards to be used as either 1200 baud AFSK or 9600 baud FSK
  5. AX.25 packet radio modems. Only half duplex operation is supported; an
  6. attempt to include full duplex support failed because the hardware did
  7. not support it (it appeared that the card only provides one DMA channel,
  8. although the codec chip would support two channels). The driver needs
  9. some processing power! A 66 MHz 486 DX2 is a minimum requirement.  Otherwise
  10. interactive performance of the computer may become sluggish. This driver
  11. does *not* support telephone modem standards, it is intended for radio
  12. use only.
  13. The Interface of the driver
  14. The driver provides kernel network drivers named sm[0-3]. sethdlc 
  15. from the ax25 utilities may be used to set driver states etc. Users
  16. of userland AX.25 stacks may use the net2kiss utility (also available
  17. in the ax25 utilities package) to convert packets of a network interface
  18. to a KISS stream on a pseudo tty. There's also a patch available from
  19. me for WAMPES which allows attaching a kernel network interface directly.
  20. Configuring the driver
  21. Some sound cards need to be initialized before they operate in either
  22. SoundBlaster or WSS compatibility mode. The driver does _NOT_ do this;
  23. you may use the standard linux sound driver to initialize the soundcard;
  24. compile it as a module, and do
  25.   insmod sound
  26.   rmmod sound
  27. The soundcard should then be initialized correctly. If this does not help,
  28. you'll have to write your own initialization utility.
  29. Every time the driver is inserted into the kernel, it has to know which
  30. modems it should access at which ports. This can be done with the setbaycom
  31. utility. If you are only using one modem, you can also configure the
  32. driver from the insmod command line (or by means of an option line in
  33. /etc/modules.conf).
  34. Examples:
  35.   insmod soundmodem mode="sbc:afsk1200" iobase=0x220 irq=5 dma=1
  36.   sethdlc -i sm0 -p mode "sbc:afsk1200" io 0x220 irq 5 dma 1
  37. Both lines configure the first port to drive a soundblaster card
  38. in 1200 baud AFSK mode.
  39. The channel access parameters can be set with sethdlc -a or kissparms.
  40. Note that both utilities interpret the values slightly different.
  41. Input and output levels
  42. It is important that the input and output levels are adjusted properly.
  43. There are two utilities, available in the ax25 utilities distribution,
  44. to facilitate this: smmixer and smdiag. smdiag allows you to display
  45. the input signal in an oscilloscope like display or an eye diagram.
  46. smmixer allows you to adjust input/output levels. See the respective
  47. man pages.
  48. Transmitter keying
  49. Since soundcards do not have a DC coupled output; PTT keying options include
  50. the following:
  51. * VOX circuitry
  52. * Serial port pin
  53. * Parallel port pin
  54. * MPU401 MIDI output via a retriggerable monoflop.
  55. Circuit schematics may be found at
  56. http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html.
  57. Compatibility with the rest of the Linux kernel
  58. The sound driver and the soundcard modem driver compete for the same
  59. hardware resources. Of course only one driver can access a given
  60. interface at a time. Worse yet, the sound driver grabs the soundcard
  61. at startup time. Therefore the soundcard modem driver subsequently won't
  62. be able to access the soundcard. You might therefore find it necessary to
  63. unload the sound driver before using the soundcard modem driver.
  64. vy 73s de
  65. Tom Sailer, sailer@ife.ee.ethz.ch
  66. hb9jnx @ hb9w.ampr.org