Страница 1 из 2
Driver rt2860
Добавлено: 2014-08-23 12:16:29
borg
Здравствуйте.
У меня pfSense развернут внутри ESXi 5.5, все прекрасно работает. Решил установить wi fi карту PCE-N53 (N600). Сам ESXi смог обнаружить карту и через passthrough добавляю карту на VM.
Пытаюсь установить посредством ndisgen используя драйвера для win xp х32. Использовал для этого отдельно установленную на vm (vmware) FreeBSD, причем компиляция прошла, драйвер подгрузился, интерфейс появился. При попытки подгрузить на pfSense получившийся rt2860_sys.ko получаю на выходе:
В консоли ssh :
Код: Выделить всё
kldload ./rt2860_sys.ko
kldload: can't load ./rt2860_sys.ko: No such file or directory
В это же время в консоли на VM появляется следующее:
Код: Выделить всё
kld rt2860_sys.ko : depends on kernel - not available or version mismatch
Кроме того пытался закидывать и прописывать полный путь для драйвера kldload /boot/kernel/rt2860_sys.ko, на выходе тоже самое
Попробовал скомпилировать из
http://repo.or.cz/w/ralink_drivers.git. взял ralink_drivers/rt2860_fbsd8.git
pfSense подгрузил:
Код: Выделить всё
[2.1.4-RELEASE][root@pfsense.localdomain]/root(1): kldstat
Id Refs Address Size Name
1 22 0xc0400000 13bc558 kernel
2 1 0xc17bd000 5888 vmblock.ko
3 1 0xc17c3000 d3ac vmhgfs.ko
4 1 0xc17d1000 5648 vmxnet.ko
5 1 0xc17d7000 1a958 rt2860.ko
6 1 0xc3da7000 175000 zfs.ko
7 1 0xc3f1c000 3000 opensolaris.ko
8 1 0xc56a7000 4000 vmmemctl.ko
Но интерфейса нового не появилось
Смысл такой, что в итоге он ругается на версию
Код: Выделить всё
[2.1.4-RELEASE][root@pfsense.localdomain]/root(9): ls -aF /boot/modules/rt*
/boot/modules/rt2860.ko
[2.1.4-RELEASE][root@pfsense.localdomain]/root(12): kldload /boot/modules/rt2860.ko
kldload: can't load /boot/modules/rt2860.ko: File exists
И в это время в консоле пишет:
Код: Выделить всё
KLD rt2860.ko : depends on ndis - not available or version mismatch
Код: Выделить всё
[2.1.4-RELEASE][root@pfsense.localdomain]/root(15): kldstat
Id Refs Address Size Name
1 21 0xc0400000 13bc558 kernel
2 1 0xc17bd000 5888 vmblock.ko
3 1 0xc17c3000 d3ac vmhgfs.ko
4 1 0xc17d1000 5648 vmxnet.ko
5 1 0xc3d5f000 175000 zfs.ko
6 1 0xc3ed5000 3000 opensolaris.ko
7 1 0xc4535000 4000 vmmemctl.ko
8 1 0xc4bd4000 1a000 ndis.ko
Просьба помочь разрешить данную проблему. Заранее спасибо.
Re: Driver rt2860
Добавлено: 2014-08-23 12:31:52
Гость
гуглите
"depends on kernel - not available or version mismatch"
и читайте
Re: Driver rt2860
Добавлено: 2014-08-23 12:41:50
borg
Гость писал(а):гуглите
"depends on kernel - not available or version mismatch"
и читайте
Я гуглил намного больше чем то что предлагаете Вы и я прекрасно понимаю что не совпадает версия сорцов из которых скомпилирован драйвер с версией ядра системы к которой я пытаюсь подцепить. Очевидно что я использовал для этого 2 одинаковые системы в плане версий и все равно получаю данный результат. если у Вас нет конструктивного решения, то это не очередной повод отправлять меня в поисковик. Спасибо
Re: Driver rt2860
Добавлено: 2014-08-23 17:12:15
guest
borg писал(а):Гость писал(а):гуглите
"depends on kernel - not available or version mismatch"
и читайте
Я гуглил намного больше чем то что предлагаете Вы и я прекрасно понимаю что не совпадает версия сорцов из которых скомпилирован драйвер с версией ядра системы к которой я пытаюсь подцепить. Очевидно что я использовал для этого 2 одинаковые системы в плане версий и все равно получаю данный результат. если у Вас нет конструктивного решения, то это не очередной повод отправлять меня в поисковик. Спасибо
"Очевидно" НЕ одинаковые.
ps. Про ndisulator, возможно, придется забыть, его планировали выкинуть из 11'ой ветки, но пока он там есть и даже были
правки.
основной вариант:
https://github.com/NDISulator/
правленный, но видимо заброшенный:
https://github.com/richardpl/ndisulator/
Re: Driver rt2860
Добавлено: 2014-08-23 17:40:35
borg
Пробовал
https://github.com/richardpl/ndisulator/tree/stable8
в pfsense отсутствует make, пробовал gmake, но ругается на bsd.kmod.mk
При попытки скормить скомпилированый на FreeBSD 8.3 release c закачеными сорцами для нее же (svn checkout svn://svn.freebsd.org/base/releng/8.3/ /usr/src) с использованием ndis скомпиленым по ссылке выше получаю все тоже самое
Re: Driver rt2860
Добавлено: 2014-08-23 17:46:02
borg
Единственное решение это как то прикрутить make или правильно настроить gmake на pfsense т.к. конвертирование дров из win xp x32 вылетает именно на стадии компиляции (последний процесс) где он собственно ругается на отсутствующую команду make
Re: Driver rt2860
Добавлено: 2014-08-23 22:11:20
guest
borg писал(а):Единственное решение это как то прикрутить make или правильно настроить gmake на pfsense т.к. конвертирование дров из win xp x32 вылетает именно на стадии компиляции (последний процесс) где он собственно ругается на отсутствующую команду make
ну что Вы, какой gmake?!!! Это как земля и небо.
Нужно брать родной make, sorry, давно не смотрел как собирается pfsense, нужно смотреть
соответствие между pfsense и версией freebsd, брать make и /usr/share/mk и колдовать.
Самое правильное - разобрать сборку pfsense под FreeBSD или из sources и далее все станет
прозрачно.
Еще одно но, в свежих FreeBSD были серьезные изменения в системном make.
Re: Driver rt2860
Добавлено: 2014-08-23 22:26:52
borg
guest писал(а):borg писал(а):Единственное решение это как то прикрутить make или правильно настроить gmake на pfsense т.к. конвертирование дров из win xp x32 вылетает именно на стадии компиляции (последний процесс) где он собственно ругается на отсутствующую команду make
ну что Вы, какой gmake?!!! Это как земля и небо.
Нужно брать родной make, sorry, давно не смотрел как собирается pfsense, нужно смотреть
соответствие между pfsense и версией freebsd, брать make и /usr/share/mk и колдовать.
Самое правильное - разобрать сборку pfsense под FreeBSD или из sources и далее все станет
прозрачно.
Еще одно но, в свежих FreeBSD были серьезные изменения в системном make.
Пробовал подставлять, к сожалению с моими познаниями у меня ничего не получилось. Долго колдовал переносил/обновлял pfsense, пробовал обновлять порты, сорсы, все тщетно. Единственно на сайте разрабов есть таблица соответсвия версий
https://doc.pfsense.org/index.php/PfSen ... D_Versions
Re: Driver rt2860
Добавлено: 2014-08-24 3:04:23
borg
Пробую в pfsense скомпилировать дрова, нашаманил с мейком, он работает на версии pfsense 2.2 dev
При попытки компиляции ядра выдает это
:
Код: Выделить всё
Generating Makefile... done.
Building kernel module... mkdep: not found
build failed. Exiting.
не могу понять в чем дело
Re: Driver rt2860
Добавлено: 2014-08-24 10:44:38
borg
Я так понимаю дело в makedepend. Пробую разобраться
Re: Driver rt2860
Добавлено: 2014-08-24 11:03:04
guest
borg писал(а):Пробую в pfsense скомпилировать дрова, нашаманил с мейком, он работает на версии pfsense 2.2 dev
При попытки компиляции ядра выдает это
:
Код: Выделить всё
Generating Makefile... done.
Building kernel module... mkdep: not found
build failed. Exiting.
не могу понять в чем дело
/usr/bin/mkdep
Как все изменилось в pfsense:
- убрали development версии
- toolchains отсутствует -> pfsense-tools -> смена лицензии
- коммерческая поддержка
- убрали из документации практически все для самостоятельного развития: development, Evil Project support (ndis)
и советуют использовать аналогичную FreeBSD для подобных работ (понятно что без гарантий):
https://forum.pfsense.org/index.php?topic=68572.0
Да уж... Желание произвести самостоятельную сборку - резко пропало, sorry.
Re: Driver rt2860
Добавлено: 2014-08-24 11:16:02
borg
/usr/bin/mkdep
Как все изменилось в pfsense:
- убрали development версии
- toolchains отсутствует -> pfsense-tools -> смена лицензии
- коммерческая поддержка
- убрали из документации практически все для самостоятельного развития: development, Evil Project support (ndis)
и советуют использовать аналогичную FreeBSD для подобных работ (понятно что без гарантий):
https://forum.pfsense.org/index.php?topic=68572.0
Да уж... Желание произвести самостоятельную сборку - резко пропало, sorry.
Dev версии есть pfSense-LiveCD-2.2-DEVELOPMENT-i386-20140818-0926.iso
Именно в ней я сейчас и работаю. Есть make ndisgen и сопутствующие команды. Просто нужно немного глубже покапать)
А использование аналогичной версии к сожалению в моей ситуации ничем не помогает. Остается лишь скомпилировать драйвер непосредственно в pfsense ибо на всех остальных системах где были скомпилированы драйвера все прекрасно работает
Есть образец mkdep из FreeBSD 10 stable? А то в моей я почему не могу найти такое вовсе
Re: Driver rt2860
Добавлено: 2014-08-24 11:21:57
borg
Подставил какой mkdep
Код: Выделить всё
#!/bin/sh -
#
# Copyright (c) 1987 Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted
# provided that the above copyright notice and this paragraph are
# duplicated in all such forms and that any documentation,
# advertising materials, and other materials related to such
# distribution and use acknowledge that the software was developed
# by the University of California, Berkeley. The name of the
# University may not be used to endorse or promote products derived
# from this software without specific prior written permission.
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# @(#)mkdep.sh 5.12 (Berkeley) 6/30/88
#
MAKE=Makefile # default makefile name is "Makefile"
while :
do case "$1" in
# -f allows you to select a makefile name
-f)
MAKE=$2
shift; shift ;;
# the -p flag produces "program: program.c" style dependencies
# so .o's don't get produced
-p)
SED='s;\.o;;'
shift ;;
*)
break ;;
esac
done
if [ $# = 0 ] ; then
echo 'usage: mkdep [-p] [-f makefile] [flags] file ...'
exit 1
fi
if [ ! -w $MAKE ]; then
echo "mkdep: no writeable file \"$MAKE\""
exit 1
fi
TMP=/tmp/mkdep$$
trap 'rm -f $TMP ; exit 1' 1 2 3 13 15
cp $MAKE ${MAKE}.bak
sed -e '/DO NOT DELETE THIS LINE/,$d' < $MAKE > $TMP
cat << _EOF_ >> $TMP
# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
_EOF_
# If your compiler doesn't have -M, add it. If you can't, the next two
# lines will try and replace the "cc -M". The real problem is that this
# hack can't deal with anything that requires a search path, and doesn't
# even try for anything using bracket (<>) syntax.
#
# egrep '^#include[ ]*".*"' /dev/null $* |
# sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' -e 's/\.c/.o/' |
gcc -MM $* |
sed "
s; \./; ;g
$SED" >> $TMP
cat << _EOF_ >> $TMP
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
_EOF_
# copy to preserve permissions
cp $TMP $MAKE
rm -f ${MAKE}.bak $TMP
exit 0
ndisgen выплевывает
Код: Выделить всё
Generating Makefile... done.
Building kernel module... build failed. Exiting.
Re: Driver rt2860
Добавлено: 2014-08-24 11:24:56
borg
Если интересно, могу предоставить ssh доступ, резервная копия есть. Если есть время и желание конечно.
Re: Driver rt2860
Добавлено: 2014-08-24 11:26:29
Гость
снесите ваш пфсенс и поставте нормальную полноценную бсд
Re: Driver rt2860
Добавлено: 2014-08-24 11:29:51
borg
Гость писал(а):снесите ваш пфсенс и поставте нормальную полноценную бсд
Я чувствую что разгадка где то близка

Re: Driver rt2860
Добавлено: 2014-08-24 11:37:41
borg
А по поводу исходников возможно что то есть здесь
https://github.com/pfsense/
Re: Driver rt2860
Добавлено: 2014-08-24 12:33:29
dekloper
guest писал(а):
Как все изменилось в pfsense:
- убрали development версии
- toolchains отсутствует -> pfsense-tools -> смена лицензии
- коммерческая поддержка
- убрали из документации практически все для самостоятельного развития: development, Evil Project support (ndis)
и советуют использовать аналогичную FreeBSD для подобных работ (понятно что без гарантий):
https://forum.pfsense.org/index.php?topic=68572.0
Да уж... Желание произвести самостоятельную сборку - резко пропало, sorry.
бляцкий пенгвенячий подход: гоните бабки - мы вам накомпиляем какого-нибудь говна..
Re: Driver rt2860
Добавлено: 2014-08-24 13:17:54
borg
Поправочка. Пытался скомпилировать драйвера на отдельной freebsd 10 stable, таже самая ошибка но, удалось установить ndisulator
https://github.com/NDISulator/ndisulator/tree/master и с помощью команды ndisload -p -s /root/rt2860.sys -n test_dev -v 0x1814 -d 0x5592 появился дейвайс, сейчас пробую тоже самое проделать в pfsense
Re: Driver rt2860
Добавлено: 2014-08-24 13:27:39
borg
Пытаюсь установить:
Код: Выделить всё
ndisload.c:26:23: fatal error: sys/cdefs.h: No such file or directory
#include <sys/cdefs.h>
^
compilation terminated.
*** Error code 1
Stop.
make[1]: stopped in /root/ndisulator-master/src/usr.sbin/ndisload
*** Error code 1
Беда
Re: Driver rt2860
Добавлено: 2014-08-24 13:43:44
borg
Подставил include
Код: Выделить всё
[2.2-ALPHA][root@pfse.localdomain]/root(1): cd /root/ndisulator-master
[2.2-ALPHA][root@pfse.localdomain]/root/ndisulator-master(2): make
cd src/usr.sbin/ndisload && make
Warning: Object directory not changed from original /root/ndisulator-master/src/usr.sbin/ndisload
gcc49 -O2 -pipe -I. -I/root/ndisulator-master/src/usr.sbin/ndisload -I/root/ndisulator-master/src/usr.sbin/ndisload/../../sys/compat/ndis -std=gnu99 -fstack-protector -c ndisload.c
gcc49 -O2 -pipe -I. -I/root/ndisulator-master/src/usr.sbin/ndisload -I/root/ndisulator-master/src/usr.sbin/ndisload/../../sys/compat/ndis -std=gnu99 -fstack-protector -c /root/ndisulator-master/src/usr.sbin/ndisload/../../sys/compat/ndis/subr_pe.c
gcc49 -O2 -pipe -I. -I/root/ndisulator-master/src/usr.sbin/ndisload -I/root/ndisulator-master/src/usr.sbin/ndisload/../../sys/compat/ndis -std=gnu99 -fstack-protector -o ndisload ndisload.o subr_pe.o -ll
/usr/local/bin/ld: cannot find -ll
collect2: error: ld returned 1 exit status
*** Error code 1
Stop.
make[1]: stopped in /root/ndisulator-master/src/usr.sbin/ndisload
*** Error code 1
Stop.
make: stopped in /root/ndisulator-master
Теперь застрял на этом
Re: Driver rt2860
Добавлено: 2014-08-24 15:33:31
guest
borg писал(а):Если интересно, могу предоставить ssh доступ, резервная копия есть. Если есть время и желание конечно.
после изучения состояния дел в pfsense - желание собрать его самостоятельно и разобраться
с тем что там используется в качестве toolchain, пропало, жаль убивать отпуск на пустые хлопоты.
Если Вы будете собирать ndis в девелоперской версии, то ее и придется ставить, ибо
ядреные модули должны соответствовать версии ядра, а ядро и система должны быть
синхронизированы.
ps. Если девелоперская версия на базе 10'ки - то там уже clang/llvm в системе!
Re: Driver rt2860
Добавлено: 2014-08-24 15:48:06
borg
Другого выбора нет как только настроить девелоперскую. Пока все еще не сдвинулся с места. Читаю
https://wiki.freebsd.org/BuildingFreeBSDWithClang
Делаю по пунктам, пока даже не понимаю че я делаю
Re: Driver rt2860
Добавлено: 2014-08-24 19:08:01
guest
если девлоперская версия pfsense - 10'ка, можете не читать, там by default cc -> clang, а не
адаптированный gcc как ранее.
Re: Driver rt2860
Добавлено: 2014-08-24 19:25:29
borg
guest писал(а):
если девлоперская версия pfsense - 10'ка, можете не читать, там by default cc -> clang, а не
адаптированный gcc как ранее.
т.е. файл /etc/make.conf должен выглядеть как то так?