Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Driver rt2860

    Scheduled Pinned Locked Moved Russian
    12 Posts 2 Posters 2.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      borg
      last edited by

      Здравствуйте.
      У меня 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
      
      

      Но интерфейса нового не появилось

      Просьба помочь разрешить данную проблему. Заранее спасибо.

      1 Reply Last reply Reply Quote 0
      • werterW
        werter
        last edited by

        kldload: can't load ./rt2860_sys.ko: No such file or directory

        Файл лежит по этому пути ?

        http://forum.lissyara.su/viewtopic.php?f=45&t=20764&start=50

        1 Reply Last reply Reply Quote 0
        • B
          borg
          last edited by

          Да, специально копировал в модули и все равно. Смысл то такой, что в итоге он ругается на версию

          
          [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
          
          ```
          1 Reply Last reply Reply Quote 0
          • werterW
            werter
            last edited by

            https://forum.pfsense.org/index.php?topic=48241.msg254678#msg254678
            http://forum.lissyara.su/viewtopic.php?f=51&t=23498

            P.s. Совет - создайте тему здесь http://forum.lissyara.su . Вам там быстрее ответят.

            1 Reply Last reply Reply Quote 0
            • B
              borg
              last edited by

              Спасибо за совет, создал там тему. Пока что тоже ни у кого идей нет.
              Тем временем я решил попробовать 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.
              
              1 Reply Last reply Reply Quote 0
              • werterW
                werter
                last edited by

                А что у вас за CPU и мат. плата ?

                1 Reply Last reply Reply Quote 0
                • B
                  borg
                  last edited by

                  CPU Intel(R) Core(TM) i7 CPU        920  @ 2.67GHz
                  Motherboard Asus p6t se

                  1 Reply Last reply Reply Quote 0
                  • werterW
                    werter
                    last edited by

                    Вопрос :
                    Судя по этим таблицам - 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 ?

                    1 Reply Last reply Reply Quote 0
                    • B
                      borg
                      last edited by

                      Все поддерживается и все включено, иначе ESXi не дал бы воспользоваться passthrough и тому доказательство нормально компилирующаяся и работающая на этих дровах во freebsd 10 stable карточка pce n53, которую я пытаюсь прикрутить к pfsense

                      1 Reply Last reply Reply Quote 0
                      • werterW
                        werter
                        last edited by

                        А во Freebsd 8.3 компилируется драйвер (8.3 - это pfsense 2.1.x) ?

                        И еще :

                        https://forum.pfsense.org/index.php?topic=69291.0

                        1 Reply Last reply Reply Quote 0
                        • B
                          borg
                          last edited by

                          @werter:

                          А во 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 то получаю кукиш

                          1 Reply Last reply Reply Quote 0
                          • B
                            borg
                            last edited by

                            Поправочка. Пытался скомпилировать драйвера на отдельной 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
                            
                            

                            Теперь застрял на этом

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.