スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Debian-WheezyでUSB 無線LANアダプタを使うーその2

無線ドライバのインストール2 簡単版


前回、DebianでUSB無線アダプタをつかうためにカーネルの再構築まで行ったわけですが、その後カーネルに関する記事(日経Linux)を読んでいたら、ん!!?という記事を見つけた。

日経Linux2013-3月号の特集中に「既存のドライバを類似機器に適用できる」というサブタイトル。
気になって読んでみると

Linuxカーネル2.6以降で、ダイナミックデバイスIDという仕組みに対応したことによりカーネルモジュールのソースコードを書き換えずに情報を登録する事ができるようになった。これにより、ちょっとしたコマンでできるようになる・・・、そんな感じのことが書いてあった。

なんですと!!
あのカーネル再構築に費やした時間は何だったのだ!
これはぜひ試してみよう!!
というわけで、再度OS(Debian)の再インストール(← 完全に馬鹿です。費やした時間が・・・云々言ってるくせに、再インストールとか(^ ^;))

- 環境 -
 Debian(Wheezy)
 LAN-W300N/U2S(Logitec)



1. ドライバの準備&メーカID/プロダクトIDの確認
前回の記事のドライバダウンロード、メーカID/プロダクトID確認参照
 
もし、動いているUbuntuがあるならば"/lib/firmware/rt2800usb.bin"というものがあるのでこれをどうにかDebianの"/lib/firmware/"配下にコピーすればOK。
 

2. コマンドの入力
続いて、ターミナルから以下のコマンドを実行する。
※rootになっておいてください

# modprobe rt2800usb
# echo 0789 0169 > /sys/bus/usb/drivers/rt2800usb/new_id


これを実行した後再度無線モジュールを挿し直して、dmesgで確認すると・・・

wlan0が認識してるやん!!やだ、簡単(時間がかからない)!

意気揚々と再起動してみると・・・
認識されませんでした(笑)
※ちなみに2のコマンド再度実施すればできます。



で、再度記事を読んでみると、下の方に何やらコマンドのようなものが書いてある。
・・・が、これをどうすればいいのかがわからない。
これを元にネットを調べた結果、どうやらこのコマンドのようなものはおそらくファイルとして記述する
ものらしい。
日経LinuxさんドSか!この記事だけ見ても完全には出来ませんでした(爆笑)初心者殺しめ・・・。
読み足りないのか、読解力がないのか、はたまた愛の鞭か!?

こちらのサイトを参考にさせていただきました。

1./etc/modprobe.d配下に好きな名前で下のファイルを作成

#vim /etc/modprobe.d/logitec-usbwlan.conf
内容は次の通り
alias usb:v0789p0169d:dc*dsc*dp*ic*isc*ip* rt2800usb
install rt2800usb /sbin/modprobe --ignore-install rt2800usb $CMDLINE_OPT && /bin/echo "0789 0169" > /sys/bus/usb/drivers/rt2800usb/new_id



2./etc/modulesの最下行に以下を追加

rt2800usb


3.ドライバをインストール

上の「ドライバを準備」参照


4.再起動

できました!!
前回のカーネル再構築に比べるとはるかにスピーディーにできます。

上記modprobe.d、modules、上記コマンドの理解はちょっと怪しげなのでとりあえず、できましたとだけ。



テーマ : UNIX/Linux
ジャンル : コンピュータ

Debian-WheezyでUSB 無線LANアダプタを使う

Debianでの無線LANに挑戦! -カーネル再構築編-


※追記があります。(2013/4/1)


家に転がっていた古いノートPC(700MHz,370M程度のメモリ)にDebian(Wheezy)を入れてみた。
実はいろいろあったが、まぁここまでは問題なし。


で、ノートのメリットを活かすべく無線接続をしようとしたところ、利用した無線カードはWPA/WPA2に対応していなくWEPのみという事がわかった。うちのBuffalo製無線ルータでは、WEP接続だけ保護(排除)する機能があり「インターネットアクセスはできるがその他のPC等のと通信はさせない」という事ができる。
このノートPCの用途として考えられるのはWebとその他のPCへのリモートアクセス。
よって後者の用途でWEPだと困る。何より、今更簡単に突破できるWEPを使うのもどうかしてる(笑)

-環境-
 ・Debian-Wheezy
 ・Logitec製LAN-W300N/U2S



という事で、USB の無線アダプタ(Logitec製LAN-W300N/U2S)を購入。
早速Ubuntuに刺してみる。

$dmesg
[871599.896925] usb 1-1.2: new high-speed USB device number 16 using ehci_hcd
[871600.084712] usb 1-1.2: reset high-speed USB device number 16 using ehci_hcd
中略
[871600.210368] Registered led device: rt2800usb-phy5::radio
[871600.210438] Registered led device: rt2800usb-phy5::assoc
[871600.210498] Registered led device: rt2800usb-phy5::quality
[871600.259350] ADDRCONF(NETDEV_UP): wlan1: link is not ready

となって、wlan1として認識されている。
ifconfigを実行してもwlan1が表示されて後は無線の設定をすれば使えそう。

よしよし!Linuxすげーと思いつつ、Debianに挿したら行かないわけですよ(笑)Ubuntu便利なんだなぁ。
さてどうしたものかと思ってGoogle先生に聞いてみる。何やら難しそうな「カーネルの再構築」というキーワードがたくさん・・・。
まぢか、そんな難しい話なのか!?初心者として避けてきたカーネルのお話。。。
とはいえ、買っちゃったUSB無線アダプタ無駄にするわけにも行かないので日経Linxu(2012/12月号)のカーネルアップデートの記事を参考にやってみた。


0.事前確認

・ベンダーIDとプロダクトIDを調べる
USB 無線アダプタを挿した状態でlsusbを実行し、赤字の部分をメモしておく。
$ lsusb
Bus 001 Device 016: ID 0789:0169 Logitec Corp.

・チップの情報をネットで調べる
本製品はRalink社のRT2870というものを使っているらしい。


1.カーネルの再構築 必要なアプリのインストール
  
必要なアプリのインストールとファイルの解凍などを行う。
$ sudo apt-get -y update
$ sudo apt-get -y install build-essential fakeroot kernel-package
$ sudo apt-get -y install libncurses-dev
$ sudo apt-get -y install linux-source-3.2
$ mkdir ~/tmp
$ cd ~/tmp
$ sudo bunzip2 linux-source-3.2.tar.bz2
$ tar xvf /usr/src/linux-source-3.2.tar linux-source-3.2/
$ cd linux-source-3.2




2.カーネルで必要なモジュールの選択

"make menuconfig"コマンドを実行すると、ちょっとだけグラフィカルなメニュー形式の選択画面が表示されるので

"DeviceDrivers → NetworkingDeviceSupport → Wireless LAN → Ralink driver Support"の順にたどり
rt2800usb - Include support for unknown (USB) devices
を選択し「Y」を押す。
あとは、Exitを続けて最後に保存する書き換えるので保存する。



3.ファイルの確認

/tmp/linux-source-3.2/drivers/net/wireless/rt2x00/rt2800usb.cの中身を確認する。
重要なのはさっき調べたメーカIDとプロダクトIDが乗っていること。

#ifdef CONFIG_RT2800USB_UNKNOWN
(中略)
/* Logitec */
{ USB_DEVICE(0x0789, 0x0168) },
{ USB_DEVICE(0x0789, 0x0169) },
{USB_DEVICE(0x0789,0x016b)}, /* Logitec LAN-W450AN/U2 */
{USB_DEVICE(0x0789,0x0170)}, /* Logitec LAN-W300AN/U2 */




4.カーネルのビルド


CONCURRENCY_LEVEL=4 make-kpkg --rootcmd fakeroot --initrd linux_image

CPUが非力なためめちゃめちゃ時間がかかります。。。



5.再構築したカーネルのインストール

一つ上のディレクトリに.deb形式のファイルができるので、これをインストール。
$ sudo dpkg -i linux-image-3.2.39_3.2.39-10.00.Custom_i386.deb




6.ドライバのダウンロード

このサイトからドライバをダウンロードしてくる。
”2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2”というファイルだった。

これを解凍し、そのフォルダの中の"common"フォルダ内にある、"rt2870.bin"を/lib/firmware配下にコピー
$ tar xvf 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2
$ sudo cp 2010_0709_RT2870_Linux_STA_v2.4.0.1/common/rt2870.bin /lib/firmware



7.再起動


再起動後、確認。
$ demsg
56.324055] usb 1-1: new high-speed USB device number 4 using ehci_hcd
[ 56.473555] usb 1-1: New USB device found, idVendor=0789, idProduct=0169
[ 56.473563] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 56.473568] usb 1-1: Product: 802.11 n WLAN
[ 56.473573] usb 1-1: Manufacturer: Ralink
[ 56.473576] usb 1-1: SerialNumber: 1.0
[ 56.588052] usb 1-1: reset high-speed USB device number 4 using ehci_hcd
[ 56.746189] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[ 56.747038] Registered led device: rt2800usb-phy1::radio
[ 56.747088] Registered led device: rt2800usb-phy1::assoc
[ 56.747139] Registered led device: rt2800usb-phy1::quality
[ 56.779309] rt2800usb 1-1:1.0: firmware: agent loaded rt2870.bin into memory
[ 57.061184] ADDRCONF(NETDEV_UP): wlan0: link is not ready


ifconfigでも正しく"wlan0"と認識されている。
良かったこれでアダプタが無駄にならずにすみました♪

実は、ここまで来るのに結構かかりました(汗
まぁ、カーネルの再構築という経験ができたのは良かったです。



続きを読む

dfとduをいつも混同するよ

Linuxコマンド df/du について


どうでもいい独り言です。


ファイル・ディレクトリの使用量確認とか、ディスクの空き容量とかに使うコマンドとして
dfコマンドとduコマンドがあるが、いまいちよくわかってなく使っていたのでちょっと整理してみた。

そもそもコマンド名も似ていてどっちがどっちなのかよくわかりづらい。
なので、そもそも何を意味する英語からきているのか調べてみた。


manでそれぞれ見ると

- df -
NAME
df - report file system disk space usage

- du -
NAME
du - estimate file space usage


どちらにも、File、Usageというキーワドが入っているのでちょっとわからない・・・。


WikiPediaによると

df
df (abbreviation for disk free)


du
du (abbreviated from disk usage)

という事らしい。

・df -> ディスク空き容量
・du -> ディスク使用量

といったところですかね。
って、それってそれぞれ反対だけど、ある意味同じなんじゃ・・・?



ともかく

 df:ディスクの空き容量(Free)を調べる
 du: ディスク上でファイルが利用している(Usage)容量を調べる



と覚えることにした。
とここまで書いて思った。ん、調査不足かな?
世の中にはもっと正しいこと書いてあるサイトあるかも(笑)

duコマンドに関してはこちらのサイトが大変参考になりました。

Ubuntuを赤外線リモコンで操る

赤外線リモコンでUbuntuを遠隔操作してみましたのでメモしておきます。


※前置きが長いので、結論を見たい人は下の方まで飛んでください。



少し前から、将来構成に向けてXBMCを入れて試してみています。
XBMCで検索すればたくさんヒットするので詳細は割愛しますが、要はHTPC(ホームシアターPC)を実現するためのソフトウェアとの事です。HTPCとは大雑把に言うと、リビングのTVに写したPC画面をソファーで見られるように文字・アイコンの大きさ等含め作りこまれたPC、のようなイメージです。もともとはXBOX用に開発されたものらしいですが、現在はいろいろなOSで動くようになっています。いろいろなスキンなどをいじることができて、動きもカッコイイです。これがまたフリーというのが、もう開発者の人には頭が上がらないです。

リビングPCで何でもやってみたい私。
少し前に、USB-DACを接続して現状スピーカーからの音声でDVD視聴やHDD内の音楽、ネットラジオやYoutube再生等を聞くことができます。
ちなみに、音楽を真剣に聞きたい人は「MPD」なるものもあるらしいです。Linuxを利用して高音質な音楽を再生しちゃおう!という試みらしいです。興味がある人は検索してみてください。私は今のことろ手を出していないです。

で、音楽を聞いていて困るのがいちいちマウスやキーボードでコントロールするのは面倒臭い!という事です。もっと家電のように使いたい。
そんな人のために、XBMCはiOSやAndroid用の公式/サードパーティ製のリモコンアプリがあるので自宅で無線LAN環境があればなんとリモートコントロールできてしまいます。素晴らしいです!
ところが・・・、便利この上ないのですが場合によっては物足りないケースがあります。
最もそれを感じたのは
「ボリュームを下げたい、上げたい」や「あ、ちょっとミュートにしたい!」
などという時。得てしてこういう時はスピーディーに行いたいのですが

●リモコン
 リモコンを取る → ボリューム(ミュート)ボタンを押す

●アプリ
 iPhoneを取る → ホームボタンを押す → パスワードロックを解除 → アプリを起動 → ボリュームボタンを押す
 
と、アクションがちょっと多いので、時間がかかる・・・。
ましてや、アプリが他の画面なら画面遷移や、接続されていない状況ならサーバ接続、リモコン画面の表示などが必要になるケースもありスピーディさにかけます。何度も言いますが、便利なんですけどね。無線なので、方向関係ない、他の部屋からもコントロールできるなどのメリットもあります。
上記デメリットに加えて、家に転がっているiPodTouch(1G)にはアプリが入らないため私がいない場合は利用できないという点も加味して、じゃリモコンみたいなもので操作できないの?って思い立ったのがきっかけです。



前置きが長くなりましたが、本題に入ります。

そんなわけで、ネットを調べていて見つけたのがこれです。
ビット・トレード・ワンの「USB赤外線リモコンKIT」
http://bit-trade-one.co.jp/BTOpicture/Products/005-RS/index.html

コントロールする目的であれば、BlueTooth対応のリモコンや、受信機等があったのですがこれを選んだ理由は

 ・ 様々な赤外線リモコンのレシーバとして利用できる(各種メーカー)
 ・ 受信だけででなく送信もできるので、PCから家電を操作することも可能
  ※現状、エアコンのコントロールは無理のようです
 
という2つの機能を持っている点が気に入りました。
なんと言っても、各種リモコンに対応しているので現在のTVとCATVにリモコンを追加することなく可能!!(→実は誤算がありました。後述)
おまけに、自作キットがあってハンダ付けが楽しめちゃう!久々にハンダづけしてみたかったので、迷わず自作キットを選択♪


作成(ハンダ付け、ケース作成)

製作過程を撮り忘れましたが、出来上がりはこんな感じ。
後ろはちょっと下手だったので写真は見せられません(^ ^; はんだづけ自信あったんだけどなぁ。。
説明書は写真入りで、はんだづけ経験者なら30分程度で簡単に出来ると思います。ちょっとminiUSBのポートのはんだづけがすごく小さく、間隔が近いです。実は1か所ショートしてないか微妙だったのですが手元にルーペがなく、壊れるの覚悟で接続したら大丈夫でした。セーフ(笑)

完成写真
受信機基盤



で、同じく説明書の手順に従って、フリスクのケースを加工して入れてみます。

受信機1

受信機2




設定

次に、ソフトウェア的な設定です。
リモコンから送信されるコードを覚えさせる操作が必要です。このツールはWindows用しか提供されていないのでUbuntu上のVirtualBox上にあるWinXPを起動し、ツール(REMOCON_CT_RECV)をインストール!
エラーが出ました。。。。
受信ツールインストールエラー


どうやら、.NetFramework3.5が必要なようです。4.0ではダメでした。DLリンクの横に書いてくれれば良いのに(ボソッ) まぁ、Win7使えというか、WinXPだとしても.NetFrameworkが入ってないやつなんかいねーよ!ってことですかね。ですよねー、多分。。
どうしてもWindowsが必要なときの逃げのためだけなので普段使わないし(笑)



起動したらこんな画面になります。
設定画面


登録はすごく簡単で特に引っかかるところは無いので、公式のマニュアルを見てください。

基本的には 
 ① 登録したいボタン番号をクリック
 ② 左の「受信開始」ボタンをクリックして、信号待ち状態にする
 ③ リモコンの割り当てたいボタンを押す。→コードが表示される
 ④ 左のメニューから割り当てたい操作を選択する。  
   ・マウス操作(左クリック、右クリック ・・・etc)
   ・ボリュームコントロール(ボリュームアップ/ダウン、ミュート)
   ・キーボード操作(Ctrl、Alt、Winキーなどとの組み合わせ可)
 ⑤ 「設定」ボタンをクリック。
以上を繰り返します。



Ubuntuに接続
設定が完了したこのUSB受信機(フリスク)をおもむろにUbuntu12.04に接続します。


dmesgコマンドを実行すると
$ dmesg | tail -n 10
[ 56.686501] UDF-fs: INFO Mounting volume '24C402_V', timestamp 2012/11/24 13:23 (121c)
[ 1588.856066] usb 6-2: USB disconnect, device number 2
[ 1593.236033] usb 6-2: new full-speed USB device number 3 using uhci_hcd
[ 1593.435535] input: Bit Trade One LTD. USB IR REMOCON as /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0/input/input14
[ 1593.435760] generic-usb 0003:22EA:001E.0009: input,hidraw1: USB HID v1.11 Mouse [Bit Trade One LTD. USB IR REMOCON] on usb-0000:00:1d.0-2/input0
[ 1593.439168] input: Bit Trade One LTD. USB IR REMOCON as /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.1/input/input15
[ 1593.439300] generic-usb 0003:22EA:001E.000A: input,hidraw2: USB HID v1.11 Device [Bit Trade One LTD. USB IR REMOCON] on usb-0000:00:1d.0-2/input1
[ 1593.442528] input: Bit Trade One LTD. USB IR REMOCON as /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.2/input/input16
[ 1593.442614] generic-usb 0003:22EA:001E.000B: input,hidraw3: USB HID v1.11 Keyboard [Bit Trade One LTD. USB IR REMOCON] on usb-0000:00:1d.0-2/input2
[ 1593.446202] generic-usb 0003:22EA:001E.000C: hiddev0,hidraw4: USB HID v1.11 Device [Bit Trade One LTD. USB IR REMOCON] on usb-0000:00:1d.0-2/input3

のように表示されます。
問題なく認識されました。


使ってみる

早速使ってみます。
Winキーやら、ボリュームキーをを割り当てたリモコンのボタン押してみると特にLinuxだからという事はなくすんなりと動いてくれました。
なので、受信利用としてはWindowsでリモコンのコードを設定してあげて、Ubuntuに接続してあげればそのまま利用できます。

快適です!!





続きを読む

Nagiosのバージョンアップ

Nagiosをバージョンアップしてみる


以前インストールしたときは3.4.1だったNagios-Coreがいつの間にやら3.4.4になっていた。
脆弱性が発見されたよという連絡を受けたのがきっかけで必要にかられてバージョンアップを行ったのでメモ。


3.x→3.xへのバージョンアップは非常に簡単。
公式の手順書をそのとおりやればアップデート完了。
参考:公式手順
一応日本語化しているのでそのへんを再度実施する。


-環境-
 Ubuntu12.04 Server
 NagiosCore 3.4.1(バージョンアップ前)
 NagiosCore 3.4.4(バージョンアップ後)





1.ファイルのダウンロード
まずはファイルをダウンロードします。
$wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.4.4/nagios-3.4.4.tar.gz


2.解凍・日本語パッチ適用

ファイルを解凍します。
$tar xvf nagios-3.4.4.tar.gz


以前と同じ日本語パッチ(ももーいさん作成)をダウンロードし、解凍したnagiosフォルダにコピーします。
※手順は以前と同じ
※気づきませんでしたが3.4.3バージョンがupされてましたので活用させて頂きます。
 ありがとうございます。m(_ _)m
$cp nagios-jp-3.4.3.patch.gz ./nagios
$cd ./nagios
$gzip -dc nagios-jp-3.4.3.patch.gz | patch -p1



3.インストール
これまた前回(※./html/Makefile.inの編集のあたり)と同じく、パッチを当てた場合うまく行かない箇所があるので一部をコメントアウトします。
インストールを行ったあと、取りこぼしのファイルを手動でコピーします。
$sudo ./configure --with-command-group=nagcmd
$sudo make all
$sudo make install
$sudo cp -p ./html/includes/rss/{AUTHORS,INSTALL,TROUBLESHOOTING,CHANGES,NEWS,cookbook,ChangeLog,README} /usr/local/nagios/share/includes/rss/
$sudo chown nagios:nagios /usr/local/nagios/share/includes/rss/*



これで完了です。
念の為、"$ sudo service apache2 restart"でWebサービスを再起動してアクセスするとNagiosのトップページのバージョンが変わっていることがわかります。



気づいた点では、検索した時に表示件数が複数ページに渡った際に、ページ遷移がうまく行かなかったのが正しくなりました。地味に嬉しいです。





プロフィール

Author:Opecha-DaDa
メモ的なブログですが、あなたのお役に立てる内容があれば幸いです。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。