The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Мультиплексор MOXA в FreeBSD (freebsd multiport serial moxa)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: freebsd, multiport, serial, moxa,  (найти похожие документы)
From: Дмитрий Новиков <http://artmagic.ru>; Subject: Мультиплексор MOXA в FreeBSD Оригинал: http://www.artmagic.ru/labs/short/moxa.shtml Мультиплексор MOXA в FreeBSD Мультипплексоры или мультипортовки комании MOXA достаточно популярны у нас в стране (в Питере - точно) - они достаточно дешевы и надежно работают, а главное - доступны и с гарантией. Например, в Питере они всегда есть на складе представителей МОХА в России - у ЗАО "Ниеншанц-Автоматика" (http://www.nnz-ipc.ru, http://www.moxa.ru). Самые рапространенные модели MOXA - восьмипортовые ISA и PCI устройства - модели C168H ISA и PCI. И достаточно часто раздавались вопросы администраторов как настроить мультиплексор в очень популярной у администраторов некоммерческой UNIX-системе - FreeBSD. К сожалению, MOXA официально поддерживает только Windows и Linux (что конечно неправильно), но к счастью у нас работают и ISA и PCI мультипортовки (и ниже будет показано как) в FreeBSD. 1. Две ISA-мультипортовки (2 - потому что одну неинтересно описывать) а) Настраиваем MOXA из DOS на какое-нибудь прерывание и порты ввода\вывода (программка на дискетке в комплекте) b) Меняем ядро FreeBSD: cd /usr/src/sys/i386/conf cp GENERIC my #делаем копию ядра b) Вносим в ядро строчки описания платы (vi my): #MOXA1 - Описание первого устройства (IRQ 5, port 180) options "COM_MULTIPORT" device sio4 at isa? port 0x180 tty flags 0xb05 device sio5 at isa? port 0x188 tty flags 0xb05 device sio6 at isa? port 0x190 tty flags 0xb05 device sio7 at isa? port 0x198 tty flags 0xb05 device sio8 at isa? port 0x1a0 tty flags 0xb05 device sio9 at isa? port 0x1a8 tty flags 0xb05 device sio10 at isa? port 0x1b0 tty flags 0xb05 device sio11 at isa? port 0x1b8 tty flags 0xb05 irq 5 vector siointr #MOXA2 - Описание второго устройства (IRQ 7, port 240) device sio12 at isa? port 0x240 tty flags 0x1305 device sio13 at isa? port 0x248 tty flags 0x1305 device sio14 at isa? port 0x250 tty flags 0x1305 device sio15 at isa? port 0x258 tty flags 0x1305 device sio16 at isa? port 0x260 tty flags 0x1305 device sio17 at isa? port 0x268 tty flags 0x1305 device sio18 at isa? port 0x270 tty flags 0x1305 device sio19 at isa? port 0x278 tty flags 0x1305 irq 7 vector siointr c) После этого пересобираем ядро: Перекомпилируем ядро config my cd ../../depend/my make depend && make && make install d) Перепускаем систему: shutdown -r now При загрузке системы должно выдаться нечто вроде: sio4 at 0x180-0x187 flags 0xb05 on isa sio4: type 16550A (multiport) sio5 at 0x188-0x18f flags 0xb05 on isa sio5: type 16550A (multiport) sio6 at 0x190-0x197 flags 0xb05 on isa sio6: type 16550A (multiport) sio7 at 0x198-0x19f flags 0xb05 on isa sio7: type 16550A (multiport) sio8 at 0x1a0-0x1a7 flags 0xb05 on isa sio8: type 16550A (multiport) sio9 at 0x1a8-0x1af flags 0xb05 on isa sio9: type 16550A (multiport) sio10 at 0x1b0-0x1b7 flags 0xb05 on isa и т.п. e) Создаем устройства для новорожденных COM-портов cd /dev/ sh MAKEDEV cuaaXX (XX=4..9, a..i - порты обозначаются буквами, когда заканчиваются цифры) sh MAKEDEV ttydXX f) Ну и можно подсоединить к портам модемы и проверить работоспособность: cu -l /dev/cuaai -s 57600 ATZ OK ~. Собственно теперь в системе просто напросто 18 COM-портов (еще 2 штатные). Нет никаких припятствий поставить 3-ю плату - были бы прерывание да слот ISA. 2. PCI - мультипортовка (работает, начиная с версии FreeBSD 4.5). Однако долгое время в FreeBSD можно было работать только с ISA мультипортовками, в то время, как серверы все активнее избавлялись от ISA слотов. У нас до сих пор работает небольшой модемный пулл на 2-х ISA мультипортовках, однако когда настала пора поставить мультипортовку в новый сервер - оказалось что в нем просто нет ISA. К счастью, начиная с версии FreeBSD 4.5 в системе появился универсальный драйвер, который поддерживает разные мультиплексоры от различных производителей. Более подробную информацию про драйвер puc можно узнать из man puc, а список поддерживаемых мультипортовок: /usr/src/sys/dev/puc/pucdata.c Достаточно добавить в ядро: device puc чтобы включить этот драйвер (и перекомпилировать ядро, как в п.1) Потом нужно повторить пп 1.с - 1.f ... и убедиться в работоспособности. PS. Что показалось странным -это то, что при одновременном включении в ядро device puc options "COM_MULTIPORT" После пересборки ядра и перезагрузки система просто виснет. Может кто работал одновременно с PCI и ISA картами ? Поделитесь в dmn@nnz.ru ! (С) Дмитрий Новиков. Этот текст абсолютно некоммерческий, но если Вы будете его публиковать - сделайте пожалуйста ссылку на ARTMAGIC.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1.1, Дмитрий (?), 09:33, 04/04/2003 [ответить]  
  • +/
    собирал я такой конфиг... пол-года тому назад Ругается!!! Пока не убрал vector siointr
     
     
  • 2.2, shura (?), 08:36, 30/05/2003 [^] [^^] [^^^] [ответить]  
  • +/
    >собирал я такой конфиг... пол-года тому назад Ругается!!! Пока не убрал vector
    >siointr
    А можно ли поподробней у меня тоже проблема со сборкой ядра FreeBSD 4.7 под Моху, восьмипортовка, PCI. После сборки ядра ничего не меняется. Так и остаётся устройство:
    pci0: <unknow card> (vendor=0x114f, dev=0x0028) at 9.0 irq 10

     

  • 1.4, Belal (??), 12:11, 21/06/2004 [ответить]  
  • +/
    На www.moxa.com лежат драйвера и под FreeBSD. Попробуй их.
     
  • 1.5, Катерина (??), 17:24, 22/11/2004 [ответить]  
  • +/
    Проставила свою C168p так, как описано выше - все вроде нормально. (Родного драйвера под С168Р под Фрюху нет - вначале вроде как был - так он не собрался - а теперь и вовсе нет). И вроде бы все работает, но pppd все время ругается после завершения связи так примерно: Nov 21 21:11:52 robin pppd[8491]: Modem hangup, connected for 26 minutes
    Nov 21 21:11:52 robin pppd[8491]: ioctl (PPPIOCGFLAGS): Inappropriate ioctl for device
    Nov 21 21:11:52 robin pppd[8491]: ioctl (PPPIOCGFLAGS): Inappropriate ioctl for device
    Nov 21 21:11:52 robin pppd[8491]: ioctl(PPPIOCSASYNCMAP): Inappropriate ioctl for device
    Nov 21 21:11:52 robin pppd[8491]: Couldn't restore device fd flags: Inappropriate ioctl for device
    Nov 21 21:11:52 robin pppd[8491]: ioctl(TIOCSETD): Inappropriate ioctl for device
    Nov 21 21:11:53 robin pppd[8491]: tcsetattr: Inappropriate ioctl for device
    И, как мне думается, именно вследствии этого pppd работает ...э... странно - иногда не может договориться с клиентом: Nov 21 21:57:33 robin pppd[8583]: CCP: timeout sending Config-Requests. И после авторизации наступает тишина. Может я не права. Люди помогите. Может мне еще что посмотреть или как-то покрутить, может кто сталкивался с таким. Спасибо.
     
  • 1.6, Sergey Shakhnov (?), 11:01, 09/06/2006 [ответить]  
  • +/
    Поставился драйвер на мультипортовку CP-168U v2 - запуск dmesg - подтвердил его запуск при загрузке системы, .. но ничего так и не заработало. В чем может быть причина?
     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру