Cronyx Site
About Cronyx
Products Prices Contact information Search English 
English Russian  Russian
Software Payment
What's new
F. A. Q.
Partners
Site map



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.

  1. Удалите драйвер адаптера
  2. Перезагрузите систему (обязательно!)
  3. Установите драйвер, и не перезагружаясь добавьте каналы в 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