NDIS を試したが2009年03月27日 23時56分29秒

デバイスドライバの中には Windows 用しか公開されていないものが沢山ある。ndis ドライバは、Windows のドライバを FreeBSD で動かす為の機構だ。ネットワークドライバが現在のところ使える状態だそうだ。USB などドライバも存在するが、7.0-RELEASE に時点では、使えないらしい。

基本的には、.inf と .sys を取得し、ndisgen を走らせる。そこから出来たカーネルモジュールを読み込んで使う。

試してみた。


$ fetch http://ftp.dell.com/network/R112196.EXE
R112196.EXE                                   100% of   26 MB  175 kBps 00m00s
$ mkdir tmp && cd tmp
$ unzip ../R112196.EXE
Archive:  ../R112196.EXE
  inflating: dellinst.exe
  inflating: ikernel.ex_
  inflating: is.exe
 extracting: launcher.ini
  inflating: layout.bin
  inflating: MFC42.DLL
  inflating: MFC42U.DLL
  inflating: MSVCP60.DLL
  inflating: MSVCRT.DLL
  inflating: README.txt
  inflating: setup.exe
  inflating: Setup.ini
  inflating: setup.inx
  inflating: setup.iss
  inflating: wltray.exe
  inflating: wltrynt.dll
  inflating: wltrysvc.exe
  inflating: AegisE2.dll
  inflating: AegisE5.dll
  inflating: AegisI2.exe
  inflating: AegisI5.exe
  inflating: bcm43xx.cat
  inflating: BCMLogon.dll
  inflating: bcmwl5.inf
  inflating: bcmwl5.sys
  inflating: bcmwl5a.ini
  inflating: bcmwlcpl.cpl
  inflating: bcmwld2k.exe
  inflating: bcmwlhlp.chm
  inflating: bcmwlhoa.ini
  inflating: bcmwlhom.exe
  inflating: bcmwlhom.ini
  inflating: bcmwlntp.sys
  inflating: bcmwltry.exe
  inflating: bcmwlu00.exe
  inflating: data1.cab
  inflating: data1.hdr
  inflating: data2.cab
  inflating: DellInfo.exe
  inflating: Version.txt
$ mv bcmwl5.inf bcmwl5.sys ..

ドライバを取得後、アーカイブを展開する。


$ ndisgen bcmwl5.inf bcmwl5.sys
        ==================================================================
        ------------------ Windows(r) driver converter -------------------
        ==================================================================

                        INF file validation

        This .INF file appears to be Unicode.
        Trying to convert to ASCII...
        Done.

        Press return to continue...

幾つかの対話的な画面を処理した。
        ==================================================================
        ------------------ Windows(r) driver converter -------------------
        ==================================================================

                        Kernel module generation


        The script will now try to generate the kernel driver module.
        This is the last step. Once this module is generated, you should
        be able to load it just like any other FreeBSD driver module.

        Press enter to compile the stub module and generate the driver
        module now:

        Generating Makefile... done.
        Building kernel module... done.
        Cleaning up... done.

        The file bcmwl5_sys.ko has been successfully generated.
        You can kldload this module to get started.

        Press return to exit.

ドライバの作成は完了した。カーネルに組み込んでみる。


$ kldload bcmwl5_sys.ko
kldload: can't load bcmwl5_sys.ko: No such file or directory
$ kldload ./bcmwl5_sys.ko
$ kldstat
...
23    1 0xc917d000 92000    bcmwl5_sys.ko
24    1 0xc920f000 c000     if_ndis.ko
25    2 0xc921b000 16000    ndis.ko

まだ、実験なので標準的なカーネルモジュールの位置に置いていないから、エラーが出たみたいだった。

手順的にはあっている。どうも間違ったドライバを落としてきたみたいで、NIC を認識しない。当該製品を探す時に、何かを見間違えたようだ。

次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2009/03/27/4209469/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。