41666


家にあったcarl9170ドライバーを必要とするwifi子機を利用したいと思い、  
modinfo carl9170  
と実行したところ、そのようなドライバはないと言われたので、  
carl9170ドライバーを、kernel.orgのバージョン4.4.77のカーネルから取り出し、

[code]

    make
    
[/code]

と実行したところ、

[code]

    make: *** ターゲットがありません.  中止.
    
[/code]

と表示されてしまいました。  
どうすればコンパイルできるのでしょうか。  
･環境  
CPU : arm64  
カーネルバージョン : 4.4.77


CC BY-SA 3.0
2018-02-12T01:01:38.457
41657
2018-02-12T13:42:39.587
question
makefile kernel
wifi子機のドライバー"carl9170"がコンパイルできない


[RaspberryPi - 無線LAN設定](http://masquaremo.github.io/blog/2013/02/04/231557/)
のページに書かれていることを関係しませんか？  
必要なのはドライバではなく、ファームウェアでは。

こういう質問は、「wifi子機」というような対象が判らない書き方ではなく、機器のメーカーと型番を明記したほうが適切な回答が得られやすいと思います。


CC BY-SA 3.0
2018-02-12T02:37:21.823
41661
2018-02-12T02:37:21.823
217
41657
answer


カーネルモジュールのビルド方法は、カーネルのソースの `Documentation/kbuild/modules.txt` に書いてあります。

以下のようにビルドできます。

[code]

    luna:/tmp % cp -R /bak/linux-4.15.1/drivers/net/wireless/ath .
    luna:/tmp % cd ath
    luna:ath % make -C /lib/modules/`uname -r`/build M=$PWD
    make: ディレクトリ '/usr/lib/modules/4.15.1-2-ARCH/build'　に入ります
    (略)
    make: ディレクトリ '/usr/lib/modules/4.15.1-2-ARCH/build' から出ます
    luna:ath % ls -al carl9170/carl9170.ko 
    -rw-r--r-- 1 masm users 185912  2月 12 16:38 carl9170/carl9170.ko
    luna:ath % 
    
[/code]

もしビルドされなければ、make に `CONFIG_CARL9170=m CONFIG_ATH_COMMON=m` も付けてみてください。

正常にビルドできたら、

[code]

    luna:ath % sudo make -C /lib/modules/`uname -r`/build M=$PWD modules_install
    
[/code]

でインストールできると思います。

* * *

`cp: cannot stat './modules.order' No such file or directory` について。

どうすればその状態になるのか解りませんが、`make ... modules_install`
の代わりに以下のようにして手動でインストールはできると思います。

  1. `/lib/modules/4.4.77-rockchip-ayufan-136/extra` ディレクトリがなければ作ります
[code]     sudo mkdir /lib/modules/4.4.77-rockchip-ayufan-136/extra

    
[/code]

  2. カーネルモジュールをコピーします
[code]     sudo cp ath.ko /lib/modules/4.4.77-rockchip-ayufan-136/extra/

    sudo cp carl9170/carl9170.ko /lib/modules/4.4.77-rockchip-ayufan-136/extra/
    
[/code]

  3. modules.* を更新します。
[code]     sudo depmod -A

    
[/code]

また、失敗しているターゲットが `_modinst_` である点が気になります。  
もし `/lib/modules/4.4.77-rockchip-ayufan-136/kernel`
ディレクトリとその中身が、以前はあったが今はなくなっているなら、`make ... modules_install`
によって消えてしまった可能性があります。  
その場合、カーネルモジュールが入っているパッケージを再度インストールしてください。


CC BY-SA 3.0
2018-02-12T07:47:18.383
41666
2018-02-12T13:42:39.587
2018-02-12T13:42:39.587
5288
5288
41657
answer