
Ubuntu日本語フォーラム

ログインしていません。
rt2870のドライバをmake使用としているんですが、Makefileに記述すべきパスがわかりません。
2.1ではどこのパスを指定したらよろしいのでしょうか?
1.ベンダーのページからrt2870のドライバをDL
2.参考ページを踏まえて、作業を実施
2-1 Makefileの編集作業でLinux3.0系の設定パスがわかりません。
>ifeq ($(PLATFORM),PC)
># Linux 2.6
>LINUX_SRC = /lib/modules/$(shell uname -r)/build
># Linux 2.4 Change to your local setting
>#LINUX_SRC = /usr/src/linux-2.4
>LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
>CROSS_COMPILE =
>endif
■参考ページ
http://cmasa.blog101.fc2.com/blog-entry-3.html
以上
オフライン
パスを変更する必要はないです。
オフライン
次の作業は変更を実施しています。
rtusb_dev_id.c ⇛ USB子機のIDを追加
config.mk ⇛ 該当の2箇所を「y」に変更
しかし、makeを実行すると以下のようなエラーが出力されます。
これは、何がいけないんでしょうか。(てっきり、初投稿部分が原因かと思っていたんですが。。。)
make -C tools
make[1]: ディレクトリ `/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools' に入ります
gcc -g bin2h.c -o bin2h
make[1]: ディレクトリ `/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools' から出ます
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools/bin2h
cp -f os/linux/Makefile.6 /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/Makefile
make -C /lib/modules/3.0.0-12-generic-pae/build SUBDIRS=/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux modules
make: *** /lib/modules/3.0.0-12-generic-pae/build: そのようなファイルやディレクトリはありません. 中止.
make: *** [LINUX] エラー 2
オフライン
開発環境とかカーネルヘッダーパッケージはインストールされていますか?
オフライン
linux-headerを導入しましたら、少し進みました。しかし、sudo make後に以下でmakeが完了してないような状態です。(build-essentialは導入済みです。)
ご助言いたけると助かります。
make -C tools
make[1]: ディレクトリ `/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools' に入ります
gcc -g bin2h.c -o bin2h
make[1]: ディレクトリ `/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools' から出ます
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools/bin2h
cp -f os/linux/Makefile.6 /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/Makefile
make -C /lib/modules/3.0.0-12-generic-pae/build SUBDIRS=/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux modules
make[1]: ディレクトリ `/usr/src/linux-headers-3.0.0-12-generic-pae' に入ります
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_md5.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_sha2.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_hmac.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_aes.o
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_aes.c: 関数 ‘WscEncryptData’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_aes.c:1522:1: 警告: フレームサイズ (1360 バイト) が 1024 バイトより大きいです [-Wframe-larger-than=]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_aes.c: 関数 ‘WscDecryptData’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_aes.c:1592:1: 警告: フレームサイズ (1360 バイト) が 1024 バイトより大きいです [-Wframe-larger-than=]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_aes.c: 関数 ‘AES_GTK_KEY_WRAP’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_aes.c:2265:1: 警告: フレームサイズ (1096 バイト) が 1024 バイトより大きいです [-Wframe-larger-than=]
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_arc4.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/mlme.o
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/mlme.c: 関数 ‘BssTableSetEntry’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/mlme.c:5739:39: 警告: ‘Tab->BssOverlapNr’ に関する演算は定義されていません [-Wsequence-point]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/mlme.c: 関数 ‘BssTableSortByRssi’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/mlme.c:6100:1: 警告: フレームサイズ (1720 バイト) が 1024 バイトより大きいです [-Wframe-larger-than=]
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_wep.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/action.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_data.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rtmp_init.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_tkip.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_aes.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_sync.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/eeprom.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_sanity.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_info.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_cfg.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_wpa.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/dfs.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/spectrum.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rtmp_timer.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rt_channel.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_profile.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_asic.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_cmd.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/assoc.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/auth.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/auth_rsp.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sync.o
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sync.c: 関数 ‘PeerBeaconAtJoinAction’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sync.c:1094:1: 警告: フレームサイズ (1296 バイト) が 1024 バイトより大きいです [-Wframe-larger-than=]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sync.c: 関数 ‘PeerBeaconAtScanAction’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sync.c:764:1: 警告: フレームサイズ (1260 バイト) が 1024 バイトより大きいです [-Wframe-larger-than=]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sync.c: 関数 ‘PeerBeacon’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sync.c:1764:1: 警告: フレームサイズ (1300 バイト) が 1024 バイトより大きいです [-Wframe-larger-than=]
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sanity.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/rtmp_data.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/connect.o
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/connect.c: 関数 ‘CntlOidScanProc’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/connect.c:355:1: 警告: フレームサイズ (1744 バイト) が 1024 バイトより大きいです [-Wframe-larger-than=]
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/wpa.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/ags.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../sta/sta_cfg.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rtmp_init_inf.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/ba_action.o
CC [M] /home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.o
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c: 関数 ‘RTMPAllocUsbBulkBufStruct’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:52:2: エラー: 関数 ‘usb_buffer_alloc’ の暗黙的な宣言です [-Werror=implicit-function-declaration]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:52:13: 警告: 代入で整数からキャスト無しにポインタを作成しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c: 関数 ‘RTMPFreeUsbBulkBufStruct’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:78:3: エラー: 関数 ‘usb_buffer_free’ の暗黙的な宣言です [-Werror=implicit-function-declaration]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c: 関数 ‘RTMPFreeTxRxRingMemory’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:234:9: 警告: 互換性のないポインタ型から 3 番目の ‘RTMPFreeUsbBulkBufStruct’ の引数に渡しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:62:20: 備考: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:241:9: 警告: 互換性のないポインタ型から 3 番目の ‘RTMPFreeUsbBulkBufStruct’ の引数に渡しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:62:20: 備考: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:278:11: 警告: 互換性のないポインタ型から 3 番目の ‘RTMPFreeUsbBulkBufStruct’ の引数に渡しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:62:20: 備考: expected ‘UCHAR **’ but argument is of type ‘struct __HTTX_BUFFER **’
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c: 関数 ‘NICInitTransmit’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:507:12: 警告: 互換性のないポインタ型から 3 番目の ‘RTMPFreeUsbBulkBufStruct’ の引数に渡しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:62:20: 備考: expected ‘UCHAR **’ but argument is of type ‘struct __TX_BUFFER **’
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c: 関数 ‘RTMPAllocTxRxRingMemory’ 内:
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:566:13: 警告: 互換性のないポインタ型から 3 番目の ‘RTMPAllocUsbBulkBufStruct’ の引数に渡しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:34:20: 備考: expected ‘VOID **’ but argument is of type ‘struct __HTTX_BUFFER **’
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:596:12: 警告: 互換性のないポインタ型から 3 番目の ‘RTMPAllocUsbBulkBufStruct’ の引数に渡しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:34:20: 備考: expected ‘VOID **’ but argument is of type ‘struct __TX_BUFFER **’
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:610:12: 警告: 互換性のないポインタ型から 3 番目の ‘RTMPAllocUsbBulkBufStruct’ の引数に渡しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:34:20: 備考: expected ‘VOID **’ but argument is of type ‘struct __TX_BUFFER **’
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:628:13: 警告: 互換性のないポインタ型から 3 番目の ‘RTMPAllocUsbBulkBufStruct’ の引数に渡しています [デフォルトで有効]
/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.c:34:20: 備考: expected ‘VOID **’ but argument is of type ‘UCHAR **’
cc1: いくつかの警告はエラーとして取り扱われます
make[2]: *** [/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_mac_usb.o] エラー 1
make[1]: *** [_module_/home/hiro/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux] エラー 2
make[1]: ディレクトリ `/usr/src/linux-headers-3.0.0-12-generic-pae' から出ます
make: *** [LINUX] エラー 2
オフライン
恐縮です。上記、以下で解決しました。
ただ、USBのランプがつきません。lsmod | grep rt2870staの結果も以下の通りで、まだダメのようです。何が行けないのでしょうか。
rt2870sta 570803 0
>回避手段として、
>「~/rt2870/include/os/rt_linux.h」をエディットします。
>最初ら辺に
>#define usb_buffer_alloc usb_alloc_coherent
>#define usb_buffer_free usb_free_coherent
>の2行を追加するとmakeが通るようになりました。
オフライン
ソースが使っているカーネルに対応していないのでしょう。
オフライン
ubuntu11.04をクリーンインストールし直して(その後Update)同様の手順でやっても、無線LAN子機の青いランプは点滅しませんでした。
必要な情報があればご指摘ください。
ちなみ、 modprobe rt2870sta を実行すると以下のようになります。
WARNING: All config files need .conf: /etc/modprobe.d/rt2870sta, it will be ignored in a future release.
オフライン
WARNINGはファイル名に.confが付いていない警告ですので特に問題にはなりませんが、元々/etc/modprobe.d/rt2870staは存在しないはずですが。。。
作成したドライバですが、lsusbで子機のIDを確認してmodinfo rt2870staで子機のIDが含まれているか確認し、IDがあれば11.04のカーネルもサポート外なのでしょう。
オフライン