Driver rt2860
-
Здравствуйте.
У меня 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
Но интерфейса нового не появилось
Просьба помочь разрешить данную проблему. Заранее спасибо.
-
kldload: can't load ./rt2860_sys.ko: No such file or directory
Файл лежит по этому пути ?
http://forum.lissyara.su/viewtopic.php?f=45&t=20764&start=50
-
Да, специально копировал в модули и все равно. Смысл то такой, что в итоге он ругается на версию
[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 ```
-
https://forum.pfsense.org/index.php?topic=48241.msg254678#msg254678
http://forum.lissyara.su/viewtopic.php?f=51&t=23498P.s. Совет - создайте тему здесь http://forum.lissyara.su . Вам там быстрее ответят.
-
Спасибо за совет, создал там тему. Пока что тоже ни у кого идей нет.
Тем временем я решил попробовать pfSense-LiveCD-2.2-DEVELOPMENT-i386-20140818-0926.iso
Дошел до того момента когда начинается компилироваться драйвер выплевывает следующее:Building kernel module... mkdep: not found build failed. Exiting.
Я так понимаю дело в makedepend. Пробую разобраться
Подставил какой то 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.
-
А что у вас за CPU и мат. плата ?
-
CPU Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
Motherboard Asus p6t se -
Вопрос :
Судя по этим таблицам - http://ark.intel.com/ru/products/37147/Intel-Core-i7-920-Processor-8M-Cache-2_66-GHz-4_80-GTs-Intel-QPI ,
http://ark.intel.com/search/advanced?VTD=true , http://ru.wikipedia.org/wiki/Список_микропроцессоров_Core_i7
Ваш процессор не поддерживает vt-d, хотя и не сказано у Intel-а об этом прямо\явно.P.s. Есть упоминания на некоторых форумах :
https://communities.intel.com/thread/28389:
From parsec's reply I thought the i7-920 maybe does not support VT-d but the fact that the VT-d column is missing from ARK and not a definitive 'no' is odd.
The update for anyone with this issue on the P6T series is that:
VT-d is working with an i7-920 on a Supermicro board, so this really is ASUS' BIOS problem, and ARK is not telling the complete story about VT-d with previous gen i7 processors.
I'll make a case with Intel technical support.
http://wiki.xen.org/wiki/VTd_HowTo :
For ASUS Desktop Boards, these have VT-d support enabled, but Asus does NOT support Linux, so you are on your own with any Linux or Xen issues like broken BIOSes
Я к чему это спрашиваю-то? ESXi - все же *NIX и если процессор и чипсет мат. платы не совсем корректно поддерживают vt-d , то из-за этого могут быть проблемы . В том числе и ваша.
P.p.s. BIOS мат. платы у вас самый свежий из имеющихся - http://www.asus.com/Motherboards/P6T_SE/HelpDesk_Download/ ? В нем явно включены vt-x и vt-d ?
-
Все поддерживается и все включено, иначе ESXi не дал бы воспользоваться passthrough и тому доказательство нормально компилирующаяся и работающая на этих дровах во freebsd 10 stable карточка pce n53, которую я пытаюсь прикрутить к pfsense
-
А во Freebsd 8.3 компилируется драйвер (8.3 - это pfsense 2.1.x) ?
И еще :
https://forum.pfsense.org/index.php?topic=69291.0
-
А во Freebsd 8.3 компилируется драйвер (8.3 - это pfsense 2.1.x) ?
И еще :
https://forum.pfsense.org/index.php?topic=69291.0
Да, и в 8,3 9.1 10.0 все компилируется и все работает, но если подцеплять *.ko полученный из 8.3 в pfsense 2.1.4 или из 10.0 в pfsense 2.2 то получаю кукиш
-
Поправочка. Пытался скомпилировать драйвера на отдельной 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
Пытаюсь установить:
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</sys>
Беда
Подставил 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
Теперь застрял на этом