お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-12-18 23:28:43

kojima_h
新しいメンバ
From: Tokyo Japan
登録日: 2010-12-18

BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

この記事は、jackalopeさんのBUFFALO WLI-UC-GNをUbuntu 9.10で使う方法を参考にさせて頂きました。
その上で、Ubuntu 10.04 LTS(linux-2.6.32)を前提にしたBUFFALO WLI-UC-GNMをセットアップする方法について解説しています。

1.ドライバのコンパイル及びインストールを行う為の環境を整えます:

sudo aptitude build-dep linux-source

2.WLI-UC-GNMドライバコンパイル作業用ディレクトリを作ります(以下は一例です。作業用ディレクトリは任意の場所で構いません):

mkdir -p ~/workspace/linux

3.カーネルソースを取得します(Ubuntu 10.04で以下のコマンドにより取得を行うと、linux-2.6.32がダウンロードされます):

cd ~/worksapce/linux
apt-get source linux-image-$(uname -r)

4.以下の2870_main_dev.c.diffに従って、デバイス定義情報を追加します:
   2870_main_dev.c.diff

--- linux-2.6.32/drivers/staging/rt2870/2870_main_dev.c    2010-12-18 22:23:19.000000000 +0900
+++ linux-2.6.32/drivers/staging/rt2870/2870_main_dev.c.modified    2010-12-18 19:31:27.000000000 +0900
@@ -143,6 +143,7 @@
    { USB_DEVICE(0x1EDA, 0x2310) }, /* AirTies 3070 */
    { USB_DEVICE(0x1737, 0x0077) }, /* Linksys WUSB54GC-EU v3 */
    { USB_DEVICE(0x0411, 0x015D) }, /* Buffalo Airstation WLI-UC-GN */
+    { USB_DEVICE(0x0411, 0x01A2) }, /* Buffalo Airstation WLI-UC-GNM */
    { } /* Terminating entry */
};

※デバイスのプロダクトIDは、http://www.linux-usb.org/usb.idsを参考にしました。

5.ドライバのコンパイル及びインストールを行います:

make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.32/drivers/staging/rt2870 modules && sudo make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.31/drivers/staging/rt2870 modules_install

6.インストールしたドライバを利用可能な状態にします:

sudo su
mv /lib/modules/$(uname -r)/kernel/drivers/staging/rt2870/rt2870sta.ko /lib/modules/$(uname -r)/kernel/drivers/staging/rt2870/rt2870sta.ko.bak
mkdir -p /etc/Wireless/RT2870STA
touch /etc/Wireless/RT2870STA/RT2870STA.dat
echo Default > /etc/Wireless/RT2870STA/RT2870STA.dat
depmod -a
exit

7.デバイスを接続して、自動的に認識されればドライバのセットアップ完了です。

オフライン

 

#2 2010-12-29 20:11:08

noritoshi
新しいメンバ
登録日: 2010-12-29

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

ご投稿ありがとうございます。
リナックスの初心者ですが、現在Ubuntu11.04でBUFFALO WLI-UC-GNMをインストールしようとています。
私の住んでる所では、WIFIが繋がっていますが、Ubuntuをインストールすれば、GNMのドライバが見つからなくてネットに繋がれません。それで、Windows XPにログインして、VM VirtualboxでUbuntuを使ってます。ドライバのコンパイルができれば、本物のUbuntuに移って、インストールしようと考えてます。
しかし、4段目で迷っています。「2870_main_dev.c」ってファイルは見当たりません。しかも、何をすればいいのか、よく分かりません。
何かアドバイスしていただけませんでしょうか?
よろしくお願いいたします。

オフライン

 

#3 2010-12-30 21:59:14

noritoshi
新しいメンバ
登録日: 2010-12-29

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

すみません、cat /etc/issueで確認してみたら、やっぱり10.10です。
ちなみに、有線LANに繋げるチャンスがあって、Ubuntu 10.10を実際にインストールして、アップデートしてみたんですが、やっぱりまだWLI-UC-GNMに対応していませんね。

オフライン

 

#4 2010-12-31 00:19:02

kojima_h
新しいメンバ
From: Tokyo Japan
登録日: 2010-12-18

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

> noritoshiさん
Ubuntu11.04は、linux-2.6.37を現状では利用しているようですので、私のローカルマシンで、以下のコマンドを実行し、2.6.37-rc8のカーネルを作成しましてみました:

wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.37-rc8.bz2
tar jxvf linux-2.6.36.tar.bz2
bzip2 -d patch-2.6.37-rc8.bz2
patch -d linux-2.6.36 -p1 < patch-2.6.37-rc8

上記カーネルソース内を検索したところ、linux-2.6.36/drivers/net/wireless/rt2x00/rt2800usb.c内に、linux-2.6.32の2870_main_dev.c相等のソースコードが見つかりました。このrt2800usb.cに対して、以下のrt2800usb.c.diffの修正を施します:
rt2800usb.c.diff

--- drivers/net/wireless/rt2x00/rt2800usb.c    2010-12-30 23:52:26.000000000 +0900
+++ drivers/net/wireless/rt2x00/rt2800usb.c.modified    2010-12-30 23:55:41.000000000 +0900
@@ -842,6 +842,7 @@
    { USB_DEVICE(0x0411, 0x0148), USB_DEVICE_DATA(&rt2800usb_ops) },
    { USB_DEVICE(0x0411, 0x0150), USB_DEVICE_DATA(&rt2800usb_ops) },
    { USB_DEVICE(0x0411, 0x015d), USB_DEVICE_DATA(&rt2800usb_ops) },
+    { USB_DEVICE(0x0411, 0x01a2), USB_DEVICE_DATA(&rt2800usb_ops) },
    /* Conceptronic */
    { USB_DEVICE(0x14b2, 0x3c08), USB_DEVICE_DATA(&rt2800usb_ops) },
    { USB_DEVICE(0x14b2, 0x3c11), USB_DEVICE_DATA(&rt2800usb_ops) },

この修正を行った上で、デバイスドライバをコンパイルし、適用されてみてはいかがでしょうか。
但し、私の方では、ソース修正箇所の調査を行っただけで、実際にビルドや動作確認を行った分けではありませんので、この修正のみで動かない可能性もありますが、ご了承下さい。

オフライン

 

#5 2010-12-31 01:29:36

STGSAGWAN
ゲスト

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

#2のnoritoshiさん、

コード:

cd ~/workspace/linux
ls

の結果を書いてもらえますか?
noritoshiさんがどれだけのLinux初心者なのか全く判断がつかないのですが、まさかLinuxソースがunpackされていない落ち、ってことはないですよね。

 

#6 2011-01-02 00:53:23

noritoshi
新しいメンバ
登録日: 2010-12-29

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

kojima_hさん、
ご返信ありがとうございました。教えてくださった通りにやってみたんですけど、やはりまだちょっと迷っています。
rt2800usb.c.diffの修正を施すというのは具体的にどういう事ですか?
勝手に、rt2800usb.c.diffっていうファイルを作って、コードの内容を書き込んで保存して、カーネルコンパイルしてみましたけど、だめでした。

もう一度教えていただけませんでしょうか?
不手際で本当に申し訳ありません。<m(__)m>

所で、いつも新しいカーネルが出たら、同じ事を繰り返すんですか?

よろしくお願いいたします。

オフライン

 

#7 2011-01-02 00:54:23

noritoshi
新しいメンバ
登録日: 2010-12-29

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

STGSAGWANさん、

結果はこれです。

コード:

2870_main_dev.c.diff  linux_2.6.35-24.42.diff.gz  linux-2.6.36
linux-2.6.32          linux_2.6.35-24.42.dsc      linux-2.6.36.tar.bz2
linux-2.6.35          linux_2.6.35.orig.tar.gz    patch-2.6.37-rc8

よろしくお願いします。

オフライン

 

#8 2011-01-02 17:19:21

jackalope
メンバ
登録日: 2009-01-01

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

diffの結果の利用。

--- drivers/net/wireless/rt2x00/rt2800usb.c <--このファイルを変更する   2010-12-30 23:52:26.000000000 +0900
+++ drivers/net/wireless/rt2x00/rt2800usb.c.modified    2010-12-30 23:55:41.000000000 +0900
@@ -842,6 +842,7 @@<---rt2800usb.cとrt2800usb.c.modifiedファイルの行番号と行数
    { USB_DEVICE(0x0411, 0x0148), USB_DEVICE_DATA(&rt2800usb_ops) },<---これが842行目
    { USB_DEVICE(0x0411, 0x0150), USB_DEVICE_DATA(&rt2800usb_ops) },
    { USB_DEVICE(0x0411, 0x015d), USB_DEVICE_DATA(&rt2800usb_ops) },
+    { USB_DEVICE(0x0411, 0x01a2), USB_DEVICE_DATA(&rt2800usb_ops) },<---これがrt2800usb.cには無くてrt2800usb.c.modifiedにある行
    /* Conceptronic */
    { USB_DEVICE(0x14b2, 0x3c08), USB_DEVICE_DATA(&rt2800usb_ops) },
    { USB_DEVICE(0x14b2, 0x3c11), USB_DEVICE_DATA(&rt2800usb_ops) },

テキストエディタでrt2800usb.cを開いて845行目に、
{ USB_DEVICE(0x0411, 0x01a2), USB_DEVICE_DATA(&rt2800usb_ops) },
を追加して保存すればよいのだが、この情報はバージョンが2.6.36なのでUbuntu 10.10では行数が異なり960行あたりになります。

オフライン

 

#9 2011-01-03 18:08:17

noritoshi
新しいメンバ
登録日: 2010-12-29

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

jackalopeさん、
ご説明ありがとうございました。参考になりました。

rt2800usb.cに追加して、以下のコマンドを使ってインストールしてみました。

コード:

make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.35/drivers/staging/rt2870 modules && sudo make -C /lib/modules/$(uname -r)/build M=$(pwd)/linux-2.6.35/drivers/staging/rt2870 modules_install

ちなみに、echo $(uname -r)の結果は2.6.35-24-genericです。)

それで、結果の部分を以下に投稿します。

コード:

make: Leaving directory `/usr/src/linux-headers-2.6.35-24-generic'
make: Entering directory `/usr/src/linux-headers-2.6.35-24-generic'
  INSTALL /home/lenovo/workspace/linux/linux-2.6.35/drivers/staging/rt2870/rt2870sta.ko
  DEPMOD  2.6.35-24-generic

それで、以下のコマンドを行いました。

コード:

sudo su
mv /lib/modules/$(uname -r)/kernel/drivers/staging/rt2870/rt2870sta.ko /lib/modules/$(uname -r)/kernel/drivers/staging/rt2870/rt2870sta.ko.bak
mkdir -p /etc/Wireless/RT2870STA
touch /etc/Wireless/RT2870STA/RT2870STA.dat
echo Default > /etc/Wireless/RT2870STA/RT2870STA.dat
depmod -a
exit

それで、デバイスを接続してみたのですが、まだ動いていないみたいです。

アドバイスをしていただけませんでしょうか?

よろしくお願いいたします。

オフライン

 

#10 2011-01-04 12:06:49

jackalope
メンバ
登録日: 2009-01-01

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

参照している情報が自分の環境と異なれば同じ事を実行しても期待する結果を得られるとは限りません。
参照している情報の内容を理解して自分の環境に合うように作業しなければなりません。

10.04ではWLI-UC-GNMはカーネルモジュールrt2870sta.koで動いているようなので、10.10でも同じモジュールを使うようにようにしてみるのがいいと思います。
WLI-UC-GNMの情報を追加するファイルは、drivers/staging/rt2860/usb_main_dev.cの148行目あたりになります。
変更、保存後makeを実行します。
一度makeを実行していますので変更部分のみの処理が行われます。
6番の処理も済んでいますので子機を装着すれば無線LANが有効になるはずです。
802.11nで使うのであれば、RT2870STA.datの内容の変更が必要かもしれません。

以下はrt2800usb.koを使う場合です。
make -C...のM=以下は処理するディレクトリを指定しますので、rt2800usb.cがあるディレクトリを指定しなければなりません。
6番目の作業のモジュール名の変更もrt2870sta.koではなく、/lib/modules/.../rt2x00/rt2800usb.koにしなければなりません。
6番目の作業でmkdir -pから3行は必要ありません。

オフライン

 

#11 2011-01-04 20:45:12

noritoshi
新しいメンバ
登録日: 2010-12-29

Re: BUFFALO WLI-UC-GNMをUbuntu 10.04 LTSで使う方法

jackalopeさん、ありがとうございました。
usb_main_dev.cに以下の情報を追加したら、やっと動きました。

コード:

{ USB_DEVICE(0x0411, 0x01A2) }, /* Buffalo Airstation WLI-UC-GNM */

みんなさんのお蔭で成功いたしました。本当にありがとうございました。

オフライン

 

Board footer

Powered by FluxBB