TS-MULTI-104
Product Page | |||
Documentation | |||
---|---|---|---|
Multitech Universal Socket Products | |||
Operating Temperature | |||
| |||
| |||
Mechanical | |||
96mm X 89mm | |||
Height 9.75mm (approx without baseboard) | |||
Weight 20.4 (approx) |
Overview
The TS-MULTI_104 is a PC/104 device that carries Multitech socket modems. It uses a standard 16550 driver, and is designed to work with nearly all PC/104 hosts.
Getting Started
The TS-MULTI_104 will use the standard 16550 driver provided by the host system, but the driver will need to know the COM address and IRQ which are both selected by the onboard jumpers.
This example is for a TS-7800 with only IRQ6 on. If you have K1 populated you should also have the "1.8MHz" jumper on to get started.
# If you are in Debian the next 2 lines will turn on the PC104 bus
. /initrd/ts7800.subr
pc104on
modprobe ts7800_isa16550 irq=6 io=0x3F8
To view if it loaded correctly, run 'dmesg' and you should find a line similar to this:
serial8250: ttyS2 at MMIO 0xee0003f8 (irq = 71) is a 16550A
So in this case the COM device will be /dev/ttyS2. You can use a terminal emulator like minicom or picocom to quickly test communication. Upon typing "AT" and pressing enter, the modem should respond with OK.
Features
COM Port Address
COM | I/O | COM1 Jumper | COM2 Jumper | COM3 Jumper |
---|---|---|---|---|
COM1 | 0x3F8 | OFF | OFF | OFF |
COM1 | 0x3F8 | ON | OFF | OFF |
COM2 | 0x2F8 | OFF | ON | OFF |
COM3 | 0x3E8 | OFF | OFF | ON |
COM4 | 0x2E8 | ON | OFF | ON |
COM5 | 0x3A8 | OFF | ON | ON |
COM6 | 0x2A8 | ON | ON | ON |
IRQ Selection
The IRQ can be selected by the jumpers labelled IRQ3 through IRQ7. On most of our SBCs only IRQ5-7 are used.
Faster Data Rates
When used with the GPRS modems and those requiring a maximum baud rate of 115200, you can use the PC104 clock to generate a 18.4MHz clock needed for the 16550. When using faster modems like the H4 for an HSDPA connection, K1 can be populated with a 14.7456MHz crystal. This will allow you to reach baud rates up to 921600. If you have K1 populated, you can set the jumper 1.8MHz to use the PC104 clock for standard baud rates.
To set a custom baudrate in Linux you would typically use the setserial command. When the spd_cust baud rate it set Linux will re-purpose 38400 to use your custom baud rate.
Divisor | Rate |
---|---|
1 | 921600 |
2 | 460800 |
3 | 307200 |
4 | 230400 |
5 | 184320 |
6 | 153600 |
7 | 131657 |
8 | 115200 |
Larger divisors will also work, but this should cover the common range. Using the setserial command you can specify the divisor. For example, to reach 460800
# ttyS4 is an example, but check "dmesg" after loading
# your 16550 driver to get the device
setserial /dev/ttyS4 spd_cust baud_base 921600 divisor 2
Note: | Custom baud rates can be up to 5% off of your target baud rate, and communication will still be possible with most devices. |
In your linux application you would set the baud rate to 38400, and access it as normal which will actually communicate at your faster speeds. The Linux Documentation Project has more details on serial programming.