無料ブログはココログ

2012年10月21日 (日)

CG-WLCB300GNM

何と、1,490円の802.11n対応PCカードが!

というわけで、早速入れ替え。
ブツはコレガのCG-WLCB300GNM。
中身はRaLinkのRT2760なので、rt2x00で大丈夫。

11n関係でちょっと不具合があったので、hostapdを1.0へバージョンアップ。

設定項目に付いては、iw listの結果を参考にあれこれ。
ちなみに、うちの場合はこんな感じ。

# iw list
Wiphy phy0
        Band 1:
                Capabilities: 0x2f2
                        HT20/HT40
                        Static SM Power Save
                        RX Greenfield
                        RX HT20 SGI
                        RX HT40 SGI
                        TX STBC
                        RX STBC 2-streams
                        Max AMSDU length: 7935 bytes
                        No DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 2 usec (0x04)
                HT RX MCS rate indexes supported: 0-15, 32
                TX unequal modulation not supported
                HT TX Max spatial streams: 2
                HT TX MCS rate indexes supported may differ
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm) (passive scanning, no IBSS)
                        * 2472 MHz [13] (20.0 dBm) (passive scanning, no IBSS)
                        * 2484 MHz [14] (20.0 dBm) (passive scanning, no IBSS)
                Bitrates (non-HT):
                        * 1.0 Mbps
                        * 2.0 Mbps (short preamble supported)
                        * 5.5 Mbps (short preamble supported)
                        * 11.0 Mbps (short preamble supported)
                        * 6.0 Mbps
                        * 9.0 Mbps
                        * 12.0 Mbps
                        * 18.0 Mbps
                        * 24.0 Mbps
                        * 36.0 Mbps
                        * 48.0 Mbps
                        * 54.0 Mbps
        max # scan SSIDs: 4
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * WDS
                 * monitor
        Supported commands:
                 * new_interface
                 * set_interface
                 * new_key
                 * new_beacon
                 * new_station
                 * set_bss
                 * authenticate
                 * associate
                 * deauthenticate
                 * disassociate
                 * join_ibss
                 * Unknown command (55)
                 * Unknown command (57)
                 * Unknown command (59)
                 * Unknown command (67)
                 * set_wiphy_netns
                 * Unknown command (65)
                 * Unknown command (66)
                 * Unknown command (84)
                 * Unknown command (87)
                 * Unknown command (85)
                 * connect
                 * disconnect

で、hostapd.confも一部書き換え。
関係する場所は

ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40][SMPS-STATIC][TX-STBC][RX-STBC12]

こんな感じ。
正しいかどうか解らないけど、一応動いてるから良とする。
スマホで確認すると、リンク速度が72Mbps。
11gより上が出てるから成功してる、はず。

2010年9月26日 (日)

zd1211三度

Vendor driver

http://www.kernel.org/pub/linux/kernel/people/mcgrof/zd1211/

zd1211のパッチ集

http://htl10.users.sourceforge.net/patchsets/

forでループさせちゃうのが楽かも。
手動で一つずつやっても、大した労力じゃないけどね。

2010年9月19日 (日)

無線ルータ作成まとめ

諸般の事情により、この記事以降、squeeze。

無線ルータに必要なもの。
dhcpd
quagga
linux-idg
hostapd
echo 1 > /proc/sys/net/ipv4/ip_forward
本当に必要なのは、後二者。

hostapd
hostapd.confに必要な事柄を書き込む。
間違えると、起動しないor正しく動かない。
hostapd.confの雛形自体が説明書になっているので、読みながら設定する。

dhcpd
無線子機を固定アドレスで運用するなら不要。
大抵の場合、これも入れておいた方が楽。

quagga
自前のルータがripを理解するなら、入れておいた方が良い。
linux無線ルータを動的アドレスで運用するなら必須。

linux-idg
upnp機能を付けたいなら、入れておく。

hostapd

hostapd.confが全て。

interface=wlan0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0

ssid=Athlon64_wpa2
country_code=JP
hw_mode=g
channel=4
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0

wep_default_key=0
wep_key0="testt"

eap_server=0

own_ip_addr=127.0.0.1

wpa=3
wpa_passphrase=testtest
wpa_key_mgmt=WPA-EAP WPA-PSK
wpa_pairwise=CCMP TKIP
rsn_pairwise=CCMP TKIP
wpa_group_rekey=600

dhcpd

dhcpd.confを設定する。

ddns-update-style none;
option domain-name-servers *.*.*.*,*.*.*.*;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
}

subnet 192.168.1.0 netmask 255.255.255.0 {
       range 192.168.1.100 192.168.1.200;
       option routers 192.168.1.1;
       option broadcast-address 192.168.1.255;
}

quagga

設定ファイルを直接叩いても良いけれど、対話的な設定もできるので、利用すると楽かも。

予め、/etc/quagga/daemonsを

zebra=yes
bgpd=no
ospfd=no
ospf6d=no
ripd=yes
ripngd=no
isisd=no

という感じにしておいて、

$ su
パスワード:
# vtysh
# configure terminal
# router rip
# network 192.168.0.0/24
# network 192.168.1.0/24
# end
# write memory

zebra.confとripd.confに書き込まれるはず。

次に、tcpdumpを使って、ripのパケットが送出されているのを確認。

$ su
パスワード: # tcpdump -i eth0 udp port 520

30秒位に一回の割合で、パケットが送出されていれば正しい。

既存のルータが他のプロトコルを理解するなら、そっちで遊ぶのも可。
うちのwebcasterはrip1とrip2しか理解しないので、あまり遊べない。

2010年6月 6日 (日)

linuxとxlink

linuxにもxlinkがある。
が、いかんせん、情報が少ない。

というわけで、まとめみたいなもの。

文字化け

kaiEngine-7.4.18/kaiengineを普通に起動すると、チャットが文字化けする。
xlinkのチャットはシフトジス、というのが原因なので、ロケールを指定すればよい。

で、

sudo LANG=ja_JP.shiftjis ./kaiengine

こんな感じ。

ドライバ

rt2800usbが対応している。
zd1211bも出来そうな気がするけど、未検証。

手順

順番が重要。

sudo LANG=ja_JP.shiftjis ./kaiengine
ifconfig wlan1 down
iw dev wlan1 set type ibss
ifconfig up
iw wlan1 ibss join PSP_AULJM05500_L_MHP2Q000 2462

多分、こんな感じ

PSPの設定

集会所の選択を手動にしておくと、面倒が減る。

2010年5月23日 (日)

GW-US300MiniSでWPA

GW-US300MiniSでWPAを動かすことに成功。
rt2870を積んでいる他のドングルも、同様に動かせるはず。

用意するのは、rt2x00と、hostapd。

rt2x00

これは、LinuxWirelessからBleedingEdgeを持ってくる。
ありかはここあたり
うちの場合、2010年5月21日のバージョンで動いた。

config.mkを編集して、

CONFIG_RT2800USB_UNKNOWN=y

に変更しないと、ドライバが読み込まれないので注意。

後はmake、make installで出来上がり。
ドングルを挿せば、rt2800usbがロードされるはず。

hostapd

例によって、hostapdのサイトから取得。
試行錯誤の結果、0.7.2で動いた。
ただ、0.6系列で動かないわけでもない模様(未検証)。

これも普通にmake、make install。

後始末

/etc/network/interfacesを編集。

/etc/dhcp3/dhcpd.confを編集。

注意事項

ralinkのサイトから入手できるドライバは、マスターモードにならない。

rt2800usbのマスターモードは、iwconfigでは制御できない。
必ず、hostapdを通じて設定する。

Still To Do

11nの設定は後回し。
11nの子機がないので、確認しようがない。

2010年4月18日 (日)

GW-US300MiniSでmaster mode

長らく放置してきたが、久々に更新。
GW-US300MiniSをマスターモードで動かすことに成功。
ただ、今のところwep だけ。

ドライバ

compat-wirelessを取ってきて、make。
ファームウェアが必要らしいので、ralinkのサイトから貰ってくる。

挿したらrt2800usbがロードされるはず。
されてなかったら、何か失敗してる。

iwconfigでmasterに変更することはできない。
hostapdを通じて制御する。

hostapd

hostapdを設定。

注意するのは、デバイス名とか、ファイル名とか。
設定ファイルを複数用意して、引数に並べれば、複数のインターフェイスをhostapdの管理下置くことができる。
0.6.10を使うとハマるので、0.6.9を使うか、開発版を使う。

2009年8月13日 (木)

zd1211再び

最新のVendorDriver

何と、http://www.kernel.org/pub/linux/kernel/people/mcgrof/zd1211/ に、最新のVendorDriverがあるらしい。
早速入手してmake。

と思ったら、うまく行かない。

/home/nori/download/zd1211.3.0/ar2524drv/src/zd1205.c:7874: error: too few arguments to function ‘iwe_stream_add_event’

こんなエラーが出る。

調べてみると、定義が変わっている様子。
なら、定義に合わせて書き換えればいい。
diffはこんな感じ。

「zd1205.c.diff」をダウンロード

このpatchを使うときは、その危険性を理解して使ってください。
何があっても、私は責任を持ちません。

文系大卒営業職サラリーマンの作った、ドライバ用パッチ。
まともな神経を持っていれば、こんなもの跨いで通り過ぎるレベル。
試しに使って痛い目にあっても、野良犬に噛まれたと思ってやり過ごせる人だけ、使ってください。

2009年7月20日 (月)

quagga

手元のwebcasterがripを使えるらしいので、quaggaを導入。

ripd.confに

router rip
network 192.168.0.0/16

と入れる。

他にも複雑な設定はできるようだけど、とりあえず動いてる。

WN-WAG/CBH

I-O DATAWN-WAG/CBH

今のマシンにCard-Busがない点を補うために、拡張カードまで買うバカさ加減。
店員さんにも「usbで同じ機能のものがありますよ」と勧められた。
ま、そりゃそうだよな。

このカードを選んだのは、madwifi-projectの記事で、AR5212を使っていると書いてあったから。

でも、lspciすると、

Atheros Communications Inc. AR5413 802.11abg NIC (rev 01)

ん?5413?
ま、いいや、動くだろ。
などと、軽く考えたのが間違いだった。

madwifi or ath5k

さて、このチップに対応するドライバは、二種類ある。
madwifiとath5k。
色々試してみて、ath5kの方が使えるので、こっちを選択。
madwifiではstuck beacon problemが発生して、とても使い物にならない。

madwifiの名誉のために付け加えると、ステーションモードなら大丈夫なので、apとして使う予定のない人はmadwifiを使えば問題ない(はず)。
また、5413だからといって、必ず発生するものでもない模様。

ath5k

ath5kは、linux-wirelessにある。
ath5kだけを貰う方法もあるかもしれないか、面倒なのでcompat-wireless-2.6.tar.bz2を持ってくる。
適当な場所で展開してmake、make install。

hostapd

ath5kはiwconfigでは設定しない。
ap(master)modeはhostapdを通じて制御する。
hostapdでath5kを使うにはnl80211が必要なので、必然的に0.6系列の最新版を取得することになる。

今日の時点で最新のhostapd-0.6.9.tar.gzをダウンロード。
適当な場所に展開。

hostapd-0.6.9/hostapd/defconfigを参考に、hostapd-0.6.9/hostapd/.configを作る。
ath5kを使うのだから、nl80211をyにするのは必須。
それ以外は任意。

で、make、make install。

実は、最初は深く考えずにaptitude経由でパッケージを入れた。
結局削除したんだけど、initスクリプトは残った。
便利だから、これを流用する。
daemonの在り処を書き換えるだけなんだけどね。

hostapd.conf

hostapdをインストールしたら、hostapd.confというファイルを作る。
雛形があるので、参考にする。
うちの場合はこんな感じ。

「hostapd.conf」をダウンロード

/etc/network/interfaces

例によって、追加。

allow-hotplug wlan0
iface wlan0 inet static
        address 192.168.3.1
        netmask 255.255.255.0
        network 192.168.3.0
        broadcast 192.168.3.255
        post-up /bin/echo "1" > /proc/sys/net/ipv4/ip_forward
        post-up /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.0/24 -j MASQUERADE
        post-up /bin/sleep 20
        post-up /bin/sh /etc/init.d/hostapd restart

post-upで何をやっとるんだ、と思うだろうが、これは順番に。

nat

linuxboxでnatすれば少し楽ができるかも、という発想の下、

post-up /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.0/24 -j MASQUERADE

この一行を加える。

hostapdの謎

ここまで設定して、動くことを確認して、再起動する。
すると、なぜかpspがapを探知できない。
シェルから

/etc/init.d/hostapd restart

を実行すると上手く行く。
バッドノウハウではあるが、

post-up /bin/sh /etc/init.d/hostapd restart

この一行を加える。
わざわざ/bin/shを噛ませているのは、そうしないと動かなかったから。
sleepはおまじない。

dhcpd.conf

新たなサブネットが出来るので、/etc/dhcp3/dhcpd.confに追加。

subnet 192.168.3.0 netmask 255.255.255.0 {
  range 192.168.3.100 192.168.3.200;
  option broadcast-address 192.168.3.255;
  option routers 192.168.3.1;
}

こんな感じ。

linux-igd

pspのネットワーク接続テストを実行すると、「upnp」という項目が出る。
「なし」と書かれるのが悔しいので、このルータにもupnpを追加。
linux-igdというパッケージがあるので、持ってくるだけ。
設定も簡単。

2009年5月10日 (日)

グラボ

グラボ買った。
RADEON4670とかいう石の載ったボード。

準備

  • モジュール構築環境
  • XFree86-Mesa-libGL
  • libstdc++
  • libgcc
  • XFree86-libs
  • fontconfig
  • freetype
  • zlib
  • gcc

plamoな人は、ソースを取ってきて自分でやるのも可。

ドライバ入手

http://support.amd.com/us/gpudownload/Pages/index.aspx

ここからファイルを入手。
適当な場所へ保存。

suして実行すると、数秒から数分でできあがり。

設定

仕組みを理解しているなら、手書きでxorg.confを書き換えてしまえばいい。
楽をしたいなら、aticonfigを使う。
/etc以下は特権がないと書き込めないので、これもsuして実行。

aticonfig --initial

これでオーケー。
aticonfigはオプションでいろいろ細かい設定ができるようなので、好奇心旺盛な人は試してみるといいかも。

«USB関連のあれこれ