BOCA-HOWTO
Установка 16-портовой карты Boca (Boca 2016) под Linux

Последнее обновление 1 Августа 1997

Этот HOWTO поддерживается и обновляется David H Dennis, david@freelink.net для того, чтобы помочь любому разобраться с установкой этой карты в Linux. 

Этот документ переведен на русский язык Михаилом Корепановым, ASPLinux

Большинство из тех, кто интересуется BocaBoard, обычно являются или собираются стать провайдерами Internet (Internet Service Providers) (ISP). Если вы один из них, то загляните на мой сайт, http://www.amazing.com и прочтите Inet-Access FAQ. Там подробно описано, как подсоединиться к сети, и также есть советы по ведению этого бизнеса.

Kevin Traas прислал очень хорошие дополнения к этому FAQ, которые содержат информацию по mknod.

П р е д у п р е ж д е н и е !

Мультипортовые карты, такие как BocaBoard, больше не поддерживаются. Если вы занимаетесь ISP, то, вероятно, вам эта карта не подойдет, потому что новый стандарт на модемы 56k не поддерживает ее. Вместо этого вам понадобится сервер с цифровым модемом/терминалом, таким как Livingston PM3, Cisco 5200 или US Robotics Total Control, иначе вы не будете конкурентно способными на большинстве рынков. В настоящее время пользователям нужна высокоскоростная передача данных, а вы не сможете ее обеспечить с BocaBoard или любой другой последовательной мультипортовой картой.

Даже в качестве последовательной мультипортовой карты BocaBoard безнадежна. Подавляющее большинство людей, которые хотят приобрести BocaBoard не понимают преимуществ ускоренных карт, таких как Cyclades или Rocketport. (Когда я их проверял, Rocketport была лучшей картой, но Cyclades более стабильно поддерживается ядром). Ускоренные карты меньше используют CPU и могут поддерживать больше последовательных портов на каждом компьютере с меньшей потерей производительности.

Эта информация была собрана с привлечением множества людей. К сожалению, я забыл их имена, которые пришлось удалить в минуту острой необходимости места  :-( . И тем не менее, я выражаю им свою искреннюю благодарность за помощь. 

ЧТО ВАМ ПОТРЕБУЕТСЯ ДЛЯ УСТАНОВКИ  BOCABOARD?

Обязательно:

  1. Сама карта и инструкция к ней
  2. Исходные тексты ядра Linux
  3. Терпение

Далее описана стандартная процедура:

Перекомпиляция ядра

Сначала вам надо сделать так, чтобы ядро "знало", что у вас установлена BocaBoard. К сожалению, этого нет в скрипте конфигурации, и вам придется сделать это в исходных текстах самостоятельно. Это начинается с написания следующей строки в начале linux/drivers/char/serial.c:

   #define CONFIG_BOCA  1
В различных версиях эта строка может немного отличаться, а в новых ядрах вам следует найти "BOCA_FLAGS" #define в serial.c и сменить значение на
   #define BOCA_FLAGS  ASYNC_BOOT_AUTOCONF
Затем вам надо перекомпилировать ядро по инструкции, содержащейся в его исходных текстах. Я рекомендую запускать новое ядро с дискеты, пока не удостоверитесь, что оно работает; иначе довольно сложно вернуть систему в первоначальный вид.

 

Установка карты

Адрес по умолчанию стоит одинаковый, что на карте, что в системе - это 0x100; оставьте его таким же. Установите IRQ на 12. Если вы захотите потом изменить IRQ, вам придется найти "BOCA_FLAGS" в файле serial.c. Вы найдете строку типа:

        { BASE_BAUD, 0x100, 12, BOCA_FLAGS },   /* ttyS16 */
        { BASE_BAUD, 0x108, 12, BOCA_FLAGS },   /* ttyS17 */
        ...
Вы конечно можете изменить IRQ с 12 на любой правильный, но я этого не делал.

Активирование карты в Linux

После того, как вы скомпилировали новое ядро, выключите машину и установите карту. Затем запустите ее с новым ядром с дискеты. Если установка прошла правильно, то вы сможете насладиться кучей сообщений о том, что 16550 UARTS было подсоединено к ttyS16-ttyS32. Потом система успокоится.

Странность в том, что этих файлов нет в  /dev. Помните что они начинаются от 16 и идут до 32. Если вы посмотрите в исходные тексты, то увидите почему так; поддержка других карт идет до этих чисел. Создать эти файлы довольно легко, если знаешь небольшой секрет.

Для того чтобы создать входы для линий dial-out (линии по которым вы дозваниваетесь):

    mknod /dev/cuaxx c 4 N
n = 64 + <line number> . Буква C означает, что это символьное устройство. Например, для того, чтобы создать первую пару линий на вашей карте, введите :

    mknod /dev/cua16 c 4 80
    mknod /dev/cua17 c 4 81
     ...
Для создания линий dial-in (по которым к вам будут дозваниваться клиенты), наберите
    mknod /dev/ttySxx c 5 n
Например, для того, чтобы создать первую пару линий на вашей карте, введите :
    mknod /dev/ttyS16 c 5 80
    mknod /dev/ttyS17 c 5 81
      ...
Для того, чтобы ваша система была наиболее гибкой, рекомендуется создать линии dial in и dial out для каждого порта. Очень удобно создать одну линию, как dial-out и дозвониться до своего сервера. Я так сделал, и это прекрасно работает! Это пригодится, когда нужно узнать, как все выглядит со стороны; я использовал это, когда хотел увидеть, как все смотрится при скорости 2400. (Это медленнее чем с консоли Linux. НАМНОГО медленнее).

Теперь, когда вы с этим покончили, то можете внести строки в файл inittab аналогично стандартным входам ttySx, и все терминалы и модемы должны заработать!

Проблемы

Если у вас есть проблемы, то они, скорее всего, возникли из-за конфликта карты Boca и двойного контроллера IDE. Об этом написал Kevin Traas:

Распознает ли ядро карту? При запуске системы все 16 портов должны быть указаны на экране, а  ttySxx, порты I/O, и IRQ распознаны. По команде `setserial -bg ttyS*` *все* порты должны отображаться на экране.

По умолчанию, BB2016 настроено на использование портов IO с 0100 по 017f. Это создает проблемы в системах, в которых естьдвойной IDE контроллер. Второй контроллер, ide1, использует 0170-0177, которые попадают в этот промежуток. Это может привести к большим проблемам!!!

В моем случае решением было указать промежуток использования портов IO от 0200 до 027f. После этого проблем не было; так или иначе вам лучше все перепроверить. (запустите `cat /proc/ioports` и еще `cat /proc/interrupts` для того чтобы удостовериться что IRQ 12 тоже не используется.)

После того, как вы определите неиспользуемый интервал портов и IRQ это еще не все; вам понадобится изменить положение переключателей на BB2016 и изменить /usr/src/linux/drivers/char/serial.c в соответствии с проведенными изменениями. Затем перекомпилируйте ядро и установите его.

БОЛЬШАЯ ТРУДНОСТЬ: Вам еще кое-что понадобится, и это не очень просто

Если вы хотите использовать карту Boca с любым стандартным разъемом DB-25 RS232, то вам придется приобрести дополнительно переходник, который стоит $ 80. У самой карты есть переходник, но он подсоединяется к карте нестандартным кабелем (магистраль содержащая несколько похожих на телефонные кабелей, то есть не DB-25). От него надо провести кабели на порты. Для этого вам и понадобится переходник за $ 80 который имеет стандартный разъем RS-232. И только теперь у вас есть система которая может работать с модемами и терминалами, поэтому при сравнении с аналогами возьмите цену карты и прибавьте  к ней цену переходника.

Я получил карту Boca 2016 на выставке на специальных льготных условиях, вряд ли вы сможете приобрести ее дешевле или даже за такую же цену. Это произошло тут же на выставке, а вот переходник я смог получить только через две недели. Поэтому вы должны удостовериться. что вы можете найти переходник до того, как приобретете карту. Цена на эти удовольствия составила $ 235 за карту и $ 79.95 за переходник.

Но это было еще не все, на моей карте Boca 2016 работал только один порт. Я позвонил в Boca, думая что мне начнут задавать множество вопросов и давать не меньше советов. Но когда я услышал: "Linux? Что это?" Я почувствовал неладное. После того как я объяснил свою проблему они вежливо сказали мне, что возможно карта с дефектом и я могу ее отослать обратно, так как у нее 5 лет гарантии и ее можно поменять на новую в течении 30-ти дней. 

Я поменял свою карту через продавца. Но к сожалению, я получил ее через 2 недели. Должен признаться, что это мне очень надоело, потому что мне всего лишь надо было чтобы у меня все работало.

У некоторых возникали проблемы с портами после 8-го. Поэтому я проверил свою до 11-го и все порты работали. На будущее я бы посоветовал всем у кого возникнут проблемы с этими картами позвонить напрямую в Boca. На мой взгляд это будет быстрее и возможно более надежно, чем работать с продавцом. В компании все были довольно вежливы и готовы помочь.

Сейчас у меня четыре телефонных линии. Я купил 16-ти портовую карту по двум причинам: она может управлять модемом в отличии от более маленьких и в надежде на будущее расширение.

Kevin Traas из Baan Business Systems написал мне по этому поводу:

BTW, Я несколько раз использовал BB2016 под Linux и у меня не возникло никаких нареканий. Я действительно ей доволен. Они хорошо работают, довольно дешевы и надежны. Они рассчитаны на 115200 bps на каждый порт. У меня была ситуация, когда у меня были две системы соединенные по PPP. Я использовал это соединение с трафиком в 115200 и у меня не было никаких ошибок (при сотнях тысяч пересланных пакетов). Теперь я хочу использовать EQL и дополнительные PPP соединения между переходниками для увеличения пропускной способности... 

И еще одно замечание. Не соглашаясь с этим Howto, я сделал свои кабеля на BB2016 (с разъемами RJ). У карты BB2016 есть разъем RJ48-10 с полной поддержкой модема.

Теперь я использую 10-ти жильный провод между картой BB2016 и модемом. И работает это здорово! самой большой проблемой было найти разъемы RJ48.

Если хотите я могу сделать кабеля с разъемами для вас и выслать. Если вы заинтересовались, то напишите мне и я скажу вам сколько это будет стоить. Это гораздо дешевле и быстрее чем адаптер который описан в этом Howto - который кстати я даже не смог найти.

Я думаю, что адаптер о котором я говорил здесь, больше не выпускается.


Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 ASPLinux Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

Все переводы и производные работы, выполненные по документам Linux HOWTO должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu> или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу <linux-howto@asplinux.ru>

Hosted by uCoz