понедельник, 27 октября 2014 г.

FreeBSD: options NETGRAPH_MPPC_COMPRESSION, NETGRAPH_MPPC_ENCRYPTION

При сборке ядра с опцией NETGRAPH_MPPC_COMPRESSION, NETGRAPH_MPPC_ENCRYPTION, как правило возникает ошибка:

cc: /usr/src/sys/net/mppcc.c: No such file or directory

cc: /usr/src/sys/net/mppcd.c: No such file or directory

/usr/src/sys/netgraph/ng_mppc.c:84:22: error: net/mppc.h: No such file or directory

mkdep: compile failed

*** Error code 1

Как правило это потому не установлена "Alternative MPPC compression/decompression library". MPPC -  это алгоритм сжатия, который расшифровывается как Microsoft Point to Point Compression. Протокол создан для передачи сжатых дейтаграмм через канал точка точка. Алгоритм MPPC использует в своей основе алгоритм сжатия LZ. Более подробную информацию можно узнать из RFC2118

Исходный код библиотеки MPPC доступен, несмотря на то, что алгоритм MPPC запатентован. Соответственно гражданам США во избежание юридических проблем использовать эту библиотеку не рекомендуется и в поставку FreeBSD она не входит.

Официальный сайт библиотеки http://mavhome.dp.ua/MPPC/

Инструкция по установке

cd /usr/src/sys/net/
fetch http://mavhome.dp.ua/MPPC/mppc-1.0.tgz
tar -xvf mppc-1.0.tgz
Отредактируйте файл /usr/src/sys/modules/netgraph/mppc/Makefile. Измените строку
NETGRAPH_MPPC_COMPRESSION?= 0
на
NETGRAPH_MPPC_COMPRESSION?= 1
Если вы Собираем модуль:
cd /usr/src/sys/modules/netgraph/mppc
make
make install
make clean

После установки, можно продолжить сборку ядра.

пятница, 10 октября 2014 г.

Поддержка Yota в ядре FreeBSD

Чтобы избавиться от загружаемых модулей для поддержки USB-модема Yota ядром FreeBSD. В конфигурационный файл ядра добавьте:

device miibus
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device xhci # XHCI PCI->USB interface (USB 3.0)
device usb # USB Bus (required)
device aue
device cdce

Затем скомпилируйте и установите ядро заново.

Все вышеописанное актуально для версии FreeBSD 10, но в более ранних версиях, тоже должно работать. Я пока не проверял.