|
2. Синхронные адаптеры2.1. | Какие модели синхронных адаптеров выпускаются? В чем их отличие? Мы выпускаем три семейства синхронных адаптеров:
- Sigma: модели Sigma-22, Sigma-24 и Sigma-800
- Tau
- Tau-PCI
Адаптер Sigma-22 имеет два порта с максимальной скоростью 192 кбит/сек (или 384 кбит/сек, если используется только один канал). Интерфейсы V.35/RS-232/RS-530/X.21. Шина ISA. Стоимость на порт - $175. Количество портов можно увеличить до 4-х (модель Sigma-24) за счет платы расширения Delta2. Стоимость на порт при этом снижается до $120.
Адаптер Sigma-800 имеет восемь портов, ограничения по скорости те же. Интерфейс RS-232. Шина ISA. Стоимость на порт - $70.
Адаптер Tau имеет два порта, скорость до 5 Мбит/сек. Интерфейсы V.35/RS-232/RS-530/X.21/E1/G703. Шина ISA. Стоимость на порт - от $300.
Адаптер Tau-PCI имеет два порта до 10 Мбит/сек. Интерфейсы V.35/RS-232/RS-530/X.21/E1/G703. Шина PCI. Стоимость на порт - от $300. Можно добавить еще два порта посредством платы расширения Delta2, стоимость на порт снижается до $180.
| 2.2. | После установки драйвера в Windows NT не удается добавить каналы в Remote Access Service. Что делать? Это известная ошибка Q138811 в Remote Access Service.
- Удалите драйвер адаптера
- Перезагрузите систему (обязательно!)
- Установите драйвер, и не перезагружаясь добавьте каналы в Remote Access Service
| 2.3. | Установка драйвера (Sigma, Tau-ISA) прошла успешно, но связь не устанавливается. Почему? Пометьте в BIOS Setup используемый номер прерывания как ISA (или Legacy ISA). Иначе прерывание оказывается занятым устройствами Plug-n-Play.
Не надо использовать IRQ12. Это прерывание обычно занято на материнской плате контроллером мышки PS/2, причем установками BIOS освободить его не удается.
Чтобы убедиться, что прерывание работает, установите внутреннюю синхронизацию, подключите внешний замыкатель (поставляется с адаптером) и сделайте попытку установить соединение. Драйвер должен обнаружить шлейф и сообщить об этом.
Посмотрите счетчик переданных пакетов (под Unix - команда "sconfig -s", поле Ipkts). Он должен медленно расти.
| 2.4. | Куда исчезла утилита Croco? Утилита croco больше не поддерживается. Пользуйтесь утилитой sconfig. | 2.5. | Как под Windows NT включить маршрутизацию между локальной сетью и каналом RAS? Эта проблема описана Микрософтом в статье "Connecting to the Internet Questions". В каталоге реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasArp\Parameters\
добавьте параметр DisableOtherSrcPackets типа REG_DWORD со значением 0. | 2.6. | Где драйвер Sigma под Windows NT хранит параметры канала? Параметры находятся в следующем каталоге реестра (здесь X - номер
адаптера, присвоенный системой):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CSigmaX\Parameters\
Для каждого канала имеется независимый набор параметров. Все параметры имеют тип Integer. Шестнадцатеричная на конце имени параметра обозначает номер соответствующего канала.
Параметр | Семантика | Значение |
Baud0-BaudF | Скорость, бит/сек (при внешней синхронизации игнорируется) | 300-384000 |
Encoding0-EncodingF | Кодирование сигнала | 0 - NRZ 1 - NRZI 2 - Manchester |
Interface0, Interface8 | Интерфейс 0 канала | 0 - RS-232 1 - V.35/RS-530 |
Clock0-ClockF | Синхронизация | 0 - внешняя 1 - внутренняя -1 - DPLL |
| 2.7. | Где драйвер Tau под Windows NT хранит параметры канала? Параметры находятся в следующем каталоге реестра (здесь X - номер
адаптера, присвоенный системой):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CTauX\Parameters\
Для каждого канала имеется независимый набор параметров,
кроме параметров Config0 и Pass0.
Все параметры имеют тип Integer.
Цифра на конце имени параметра обозначает номер соответствующего канала.
Параметр | Семантика | Значение |
Baud0, Baud1 |
Скорость, бит/сек (при внешней синхронизации игнорируется) |
300..4096000 |
Encoding0, Encoding1 |
Кодирование сигнала |
0 - NRZ 1 - NRZI 4 - Manchester 5 - FM0 6 - FM1 |
Clock0, Clock1 |
Синхронизация |
0 - внешняя 1 - внутренняя -1 - DPLL |
InvertClock0, InvertClock1 |
Инвертирование синхронизации |
0 - откл. 1 - вкл. |
Config0 |
Tau/E1 - конфигурация |
0 - конф.A 1 - конф.B 2 - конф.C |
Slots0, Slots1 |
Tau/E1 - канальные интервалы каналов |
0..0xfffe |
Pass0 |
Tau/E1 - канальные интервалы подканала |
0..0xfffe |
GClock0, GClock1 |
Tau/E1, Tau/G703 - синхронизация |
0 - INT 1 - RCV 2 - XRCV |
Ami0, Ami1 |
Tau/E1, Tau/G703 - кодирование |
0 - HDB3 1 - AMI |
Precoder0, Precoder1 |
Tau/G703 - прекодер |
0 - откл. 1 - вкл. |
CRC40, CRC41 |
Tau/E1 - CRC4 |
0 - откл. 1 - вкл. |
CAS0, CAS1 |
Tau/E1 - CAS (пропуск 16-го инт.) |
0 - откл. 1 - вкл. |
Higain0, Higain1 |
Tau/E1 - высокое усиление |
0 - откл. 1 - вкл. |
GRate0, GRate1 |
Tau/G703 - скорость передачи данных, кбит/сек |
64,128,256, 512,1024,2048 |
| 2.8. | Что такое "телефонный" режим адаптера Tau-PCI/xE1? "Телефонный" режим адаптера Tau-PCI/E1 дает возможность работать с потоком E1 из программы пользователя. Телефонный режим (ОС Linux) можно установить командой sconfig, например:
sconfig cp0 ts=1-31 mode=phony
Адаптеры "старой" серии Tau-PCI/E1 (состоят из двух плат, одна над другой) вследствие ограничений аппаратного дизайна могут работать только c порциями данных по 16 кадров E1. Что соответствует интервалу обмена/обработки в 2 ms с темпом в 500 прерываний за секунду.
sconfig cp1 raw phony=on cas=off ts=1-15,17-31
В телефонном режиме циклы E1 группируются по 16 и поступают в компьютер (и обратно) в виде пакетов размером 16*N байт, где N равно количеству выбранных канальных интервалов. В приведенном примере пакеты будут иметь размер 16*30=480 байт.
Рекомендуется применение вызова select() или многопоточности (treads).
►
см. Использование raw-протокола с E1-адаптерами Cronyx
Ниже приведен пример программы приема голосовых данных с использованием телефонного режима адаптера Tau-PCI/E1. Запуск: `phony < /dev/serial/chan0'.
int main ()
{
unsigned char buf [500];
int n, frame, slot;
while ((n = read (0, buf, sizeof(buf))) > 0)
for (frame=0; frame<n; frame+=n/16)
for (slot=0; slot<n/16; ++slot)
process_voice (slot, buf [frame+slot]);
}
| 2.9. | Как скомпилировать драйвер для Linux (без перекомпиляции ядра)
Для большинства систем с ядрами 2.6.x вместе с модулями поставляются заголовочные файлы и файлы конфигурации, которые могут заменить тексты ядра.
Находятся они в папке /lib/module/`uname -r`/build. Ее и нужно указывать как путь до текстов ядра.
Если вам не повезло, то для начала вам необходимо установить тексты ядра. Кроме этого вам может понадобиться ncurses-devel.
Традиционно принято считать что тексты текущего ядра находятся в каталоге или по ссылке /usr/src/linux, хотя большинство современных дистрибьютивов, не редко, делают ссылку /usr/src/linux-2.4. Последние версии драйверов сами постараются определить имя этого каталога, но будет лучше если вы проверите его правильность, программа может и ошибиться.
Если вы хотите пересобрать стандартное ядро, то действовать надо несколько по другому. Тут рассмотрен обратный случай.
Если вы уже пытались сконфигурировать ядро, то вам лучше удалить файлы .config и .config.old (здесь и далее имена файлов и каталогов указываются относительно каталога с текстами ядра). Кроме этого в каталоге include/linux/modules есть временный файлы, их также следует удалить. Теперь вам необходимо сконфигурировать ядро. Для этого необходимо выполнить команду make menuconfig в каталоге с текстами ядра. Так как мы не собираемся пересобирать ядро, а просто хотим получить правильную конфигурацию ядра, необходимо выйти из конфигуратора ничего не меняя, просто сохранив конфигурацию. При условии что тексты ядра соответствуют ядру на котором работает система, и это ядро является одним из входящих в поставку системы, мы получим правильный файл .config. Теперь необходимо выполнить команду make dep. Эта команда создаст, кроме всего прочего, те временные файлы что мы удалили, только они действительно будут соответствовать нашей конфигурации ядра. На этом подготовку текстов ядра можно считать завершенной.
Теперь осталась самая малость. Распакуйте архив с драйверами для адаптеров, желательно использовать самую последнюю версию драйверов. Зайдите в образовавшийся каталог и выполните команду make, затем make install.
Если возникнут проблемы при сборке драйверов внимательно прочитайте всю выдачу на экране, наверняка там есть информация о том в чем может быть проблема.
| 2.10. | Как заставить работать tcpdump под FreeBSD с протоколом Cisco/HDLC Суть проблемы заключается в том, как драйвер регистрирует интерфейс в BPF фильтре. При регистрации должен указываться тип протокола, обычно поддерживается только DLT_PPP (PPP) и DLT_CHDLC/DLT_C_HDLC(Cisco/HDLC) или DLT_NULL для неизвестного протокола. В последнем случае tcpdump скудно, но будет работать с любым протоколом. Если указать любой из первых двух, то будет работать хорошо только с конкретным протоколом и не работать с другими.
Так как протокол PPP самый распространненый, то было решено указывать именно этот тип. К сожалению, нет возможности изменить тип протокола в BPF на ходу.
Если у вас протокол Cisco/HDLC то необходимо заменить DLT_PPP на DLT_CHDLC. Если протокол Frame Relay или используется разные протоколы на разных интерфейсах то на заменить следует на DLT_CHDLC. И, естественно пересобрать драйвер/ядро.
Что касается других подобных утилит, то они могут не работать с интерфейсом по той простой причине что они не поддерживают протоколов отличных от Ethernet. |
Copyright © 1996-2024 Cronyx
|