Ключевые слова:freebsd, multiport, serial, moxa, (найти похожие документы)
From: Vadim Veremeyenko <keepveratopennetdotru>
Subject: Установка мультипортовой карты Moxa Smartio C104H/PCI под FreeBSD 4.7
Установка мультипортовой карты Moxa Smartio C104H/PCI под FreeBSD 4.7
Задача: установка мультипортовой карты Moxa Smartio C104H/PCI под FreeBSD 4.7.
По умолчанию поддержки данного устройства в ядре нет.
Дано:
- мультипортовка Moxa Smartio C104H/PCI производства Moxa Technologies
(http://www.moxa.com/product/smartio/C104H.htm)
- FreeBSD 4.7-RELEASE/STABLE.
Решение: воспользуемся устройством puc - PCI ``Universal'' Communications driver
(см. man puc), предварительно немного поправив файл /sys/dev/puc/pucdata.c
исходников ядра.
1. На всякий случай скопирует оригинальный pucdata.c в безопасное место:
cp /sys/dev/puc/pucdata.c ~/bak/
2. Смотрим как в /sys/dev/puc/pucdata.c описаны моксы, их там две C168 и 114
и после них добавляем следующее:
{ "Moxa Technologies, SmartIO C104H",
{ 0x1393, 0x1040, 0, 0 },
{ 0xffff, 0xffff, 0, 0, },
{
{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
},
},
скобки фигурные !
3. Добавляем недостающие /dev/cuaa[4-7] и /dev/ttyd[4-7], если необходимо:
cd /dev
./MAKEDEV cuaa[4-7]
./MAKEDEV ttyd[4-7]
4. В конфиг ядра необходимо добавить следующее:
cd /sys/i386/cong
echo "device puc" >> mykernel
echo "options PUC_FASTINTR" >> mykernel
Наличие в ядре устройств pci и sio обязательно.
5. Пересобираем ядро:
config mykernel
cd ../../compile/mykernel
make depend; make; make install;reboot
6. При загрузке карта должна определится:
puc0: <Moxa Technologies, SmartIO C104H/PCI> port 0xd800-0xd80f,0xd400-0xd43f,0x
d000-0xd07f irq 5 at device 10.0 on pci0
sio2: type 16550A
sio3: type 16550A
sio4: type 16550A
sio5: type 16550A
7. Задача решена. Можно работать.