満員でなかなかウチのサーバーに入れない方へ -サーバーブラウザのすすめ-

L4D2が1日無料だったということで、おかげさまでうちのサーバーも大盛況です。
トラフィックが爆発してて、プロバイダーの乗り換えを余儀なくされているほど。並大抵のプロバイダーではもうダメっぽい。

さて、今回の1日無料キャンペーンをきっかけに、新しく入ってこられた方も多いと思うけど、
「満員でChase鯖になかなか入れない!」っていう場合もあると思う。

そこで今回紹介したいのがサーバーブラウザ。これを使うと空きが出た時に自動的に繋ぎに行ってくれる。サーバー一覧とにらめっこしなくていいんです。ほったらかしてのんびり艦これとかしててもいいんです。

※でも鯖に繋がったまま放置は勘弁な…

この「サーバーブラウザ」は、サーバーの一覧を表示するものなんだけど、L4D(2)ではマッチング機能があるから、そっちを使ってくれ、という開発者の思いがあるようで、通常のメニューからは開けないようになっている。

続きを読む

擬似VDI環境で艦これ。

おひさしぶりですー。

仮想環境「KVM」を使い、その上にWindows7を載っけて、その仮想デスクトップを使ってAndroidタブレット上で艦これしてみた。

続きを読む

Steamウォレットを活用した、1円でもSteamゲーを安く買うテクニック

[お知らせ] 2014/8/20より、Steamの取引通貨が日本円になったため、この方法は使えなくなりました。

続きを読む

念願の一眼

かれこれ5年以上前から構想はあったんだけど、高くてなかなか買う気がしなかったモノをついに手に入れた。社会人パワーですね。

本体はニコンのD5200。機能と価格から見て丁度期待してたポジションの機種だったので。

ボディーのみでも良かったんだけど、ボディー単体と18-55 VRキットの相場がそれほど離れてなくて、お得感があったからキットを購入した。

キット付属のレンズの正式名は、AF-S DX NIKKOR 18-55mm f/3.5-5.6G VR。長っ。

こんな感じ。

買ってすぐに物足りない感じがしたからレンズも追加で買った。これまでモノを撮影することが多かったから、マクロ系のレンズが適してるだろうと思って選んだのがこれ。

SIGMA 18-250mm F3.5-6.3 DC MACRO OS HSM。やっぱり長い。覚えられない><

ズームなんだけど、マクロらしい。最短被写体距離は35cmまでいける。マクロレンズにしてはちょっと長めだけど、色々使えそう。

室内とかそれほど明るくない所で撮ることが多そうだから、手ブレ補正付きのを選んだ。SIGMAの手ぶれ補正の実装はOSって呼ぶらしい。

このレンズ、電源が切れてる状態だと下の方にレンズがズレてて、レンズに電力が供給されると正しい位置に上がってくる。説明書によると、これがOSの仕様らしい。この状態を維持するためか、パワーオフになる時間が、ノーマル設定で18-55 VRだと約8秒のところが、このレンズ付けると1分ぐらいに延長されちゃう。消費電力的にどうなんだろう。

重さは18-55 VRと比べると重い。というか18-55 VRがやたら軽いんだろうけど。下向きで撮影すると、重みでレンズが伸びる時があるので注意が必要。

Twitterや過去記事からの再掲が多くなるけど、接写で色々撮ってみるとこんな感じ。

最近投稿した写真の性質が変わったと感じている方がもしいたら、鋭いよ。

※一部、切り出したり、暗くて後から補正してる写真もあります

今まで、コンパクトデジカメと携帯がメインだったけど、やっぱりマニュアルにできたりシャッターの手応えがすると、写真を撮ってる感覚が出ていいね。色々パラメータいじくって、綺麗な写真が取れるよう頑張ってみる。

Atheros AR8161のLinux用ドライバのインストール

GIGABYTEのGA-Z77X-UD3Hには、AtherosのAR8161というオンボードLANチップが載ってる。

マニュアル記載の仕様表には、「Atheros GbE LANチップ」とだけ書いてあって、型番の記載はない。

AR8161

現物は中央の逆さになってる、この小さなチップ。

これ書いた時点では、これが新しめのチップらしくて、openSUSEでは初期状態で認識できなかったから、compat-driversからドライバをインストールした。その時の手順のメモ。

openSUSE 12.3でやったからそれに合わせて書いてるけど、他のディストロでも同じような手順を踏めばいけると思う。

openSUSEの場合は、ビルドサービスに有志ビルドのパッケージがあるかもしれない。漁ってみるのもいいかも?ただ、これだと更新が来たときにすぐ対応しきれないところがあるから、今回はあえて自力でインストールを試みた。

openSUSE 12.3インストール直後は、YaST上では一応見れるけど、設定させてくれない。

opensuse 12.3インストール直後のYaSTの画面

YaSTでは表示はされているけど、設定させてくれない

ifconfigではインターフェースとして出てこない。lspciコマンドでもやはり使用ドライバが無い状況。

hostname:~ # ifconfig -a
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:52 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4901 (4.7 Kb)  TX bytes:4901 (4.7 Kb)

hostname:~ # lspci -knn
(中略)
05:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR8161 Gigabit Ethernet [1969:1091] (rev 10)
        Subsystem: Giga-byte Technology Device [1458:e000]

チップの型番でググってみたところ、Linux Foundationのページが引っかかり、alxというドライバを使うことが判明。上で黄色で示してる部分のデバイスIDも合ってる。コレだね。alxドライバはcompat-driversに収録されているようだ。

インストール方法はhttps://backports.wiki.kernel.org/index.php/Documentation/compat-driversを参考にした。

そうそう、ドライバのビルドには、kernel-develとかgccとかmakeが必要。入っていない場合はDVDインストールメディアからインストールする。

kernel- develについては、現在動いてるカーネルと同じバージョンが必要。初期状態でインストールされているカーネル(=3.7.10-1.1- desktop)であれば、DVDインストールメディアにパッケージが入ってる。更新でカーネルが新しいバージョンになっている場合は、そのバージョン用 のkernel-develを拾ってくる必要がある。

compat-driversのリリースページ(http://drvbp1.linux-foundation.org/~mcgrof/rel-html/backports)から、今使ってるカーネルより「新しいバージョン」の、末尾に”u”付きのものを選ぶ。

例)3.7.10-1.1→compat-drivers-3.8.3-2-snpu

今回は~/src/にダウンロードしたドライバを展開している。

注意点として、compat-drivers-xxxxのディレクトリから相対パスで実行しないといけない決まりがあるみたい。

インストールするドライバとして、alxを選択。その後make

user1@hostname:~/src/compat-drivers-3.8.3-2-snpu> ./scripts/driver-select alx
Processing new driver-select request...
Backing up makefile: Makefile.bk
Backup exists: Makefile.bk
Backing up makefile: drivers/net/ethernet/broadcom/Makefile.bk
Backing up makefile: drivers/net/ethernet/atheros/Makefile.bk
Backup exists: Makefile.bk
Backup exists: Makefile.bk
Backup exists: drivers/net/ethernet/broadcom/Makefile.bk

user1@hostname:~/src/compat-drivers-3.8.3-2-snpu> make
./scripts/gen-compat-autoconf.sh /home/user1/src/compat-drivers-3.8.3-2-snpu/.config /home/user1/src/compat-drivers-3.8.3-2-snpu/config.mk > include/linux/compat_autoconf.h
make -C /lib/modules/3.7.10-1.4-desktop/build M=/home/user1/src/compat-drivers-3.8.3-2-snpu modules
make[1]: ディレクトリ `/usr/src/linux-3.7.10-1.4-obj/x86_64/desktop' に入ります
  CC [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/compat/main.o
  CC [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/compat/compat-3.8.o
  LD [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/compat/compat.o
  CC [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/drivers/net/ethernet/atheros/alx/alx_main.o
  CC [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/drivers/net/ethernet/atheros/alx/alx_ethtool.o
  CC [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/drivers/net/ethernet/atheros/alx/alx_hw.o
  LD [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/drivers/net/ethernet/atheros/alx/alx.o
  Building modules, stage 2.
  MODPOST 2 modules
  CC      /home/user1/src/compat-drivers-3.8.3-2-snpu/compat/compat.mod.o
  LD [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/compat/compat.ko
  CC      /home/user1/src/compat-drivers-3.8.3-2-snpu/drivers/net/ethernet/atheros/alx/alx.mod.o
  LD [M]  /home/user1/src/compat-drivers-3.8.3-2-snpu/drivers/net/ethernet/atheros/alx/alx.ko
make[1]: ディレクトリ `/usr/src/linux-3.7.10-1.4-obj/x86_64/desktop' から出ます

パッケージ化したかったからcheckinstallが使えないか試してみたけど、ビルド中に競合モジュールを止めるところでコケた。渋々、make install.

user1@hostname:~/src/compat-drivers-3.8.3-2-snpu> su
パスワード:
hostname:/home/user1/src/compat-drivers-3.8.3-2-snpu # make install
Warning:
You may or may not need to update your initramfs, you should if
any of the modules installed are part of your initramfs. To add
support for your distribution to do this automatically send a
patch against ./scripts/update-initramfs. If your distribution does not require this
send a patch against the '/usr/bin/lsb_release -i -s': openSUSE
tag for your distribution to avoid this warning.
(中略)
depmod will prefer updates/ over kernel/ -- OK!

Now run:

sudo make unload to unload all: wireless, bluetooth and ethernet modules
sudo make wlunload to unload wireless modules
sudo make btunload to unload bluetooth modules

Run sudo modprobe driver-name to load your desired driver.
If unsure reboot.

hostname:/home/user1/src/compat-drivers-3.8.3-2-snpu #

この説明文からすると、この時にinitramfsの更新までやってくれてるみたい。

再起動すると、モジュールがロードされる。modprobe alxで再起動せずに使うことも可能。

以下、コマンドラインからの確認。alxドライバがAR8161に割り当てされていて、ネットワークインターフェースとしても認識してる。

user1@hostname:~> lsmod | grep alx
alx                    72577  0 
compat                 17617  1 alx
mdio                   13808  1 alx

hostname:~ # lspci -knn
(中略)
05:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR8161 Gigabit Ethernet [1969:1091] (rev 10)
        Subsystem: Giga-byte Technology Device [1458:e000]
        Kernel driver in use: alx

hostname:/home/user1 # ifconfig -a
eth0      Link encap:Ethernet  HWaddr 90:2B:34:XX:XX:XX  
          inet addr:XXX.XXX.XXX.XXX  Bcast:XXX.XXX.XXX.XXX  Mask:255.255.255.0
          inet6 addr: fe80::922b:XXXX:XXXX:XXXX/64 Scope:Link
          inet6 addr: 2408:11:83a0:c300:XXXX:XXXX:XXXX:XXXX/64 Scope:Global
          inet6 addr: 2408:11:83a0:c300:XXXX:XXXX:XXXX:XXXX/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:44 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9363 (9.1 Kb)  TX bytes:15626 (15.2 Kb)
          Interrupt:18 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:56 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5101 (4.9 Kb)  TX bytes:5101 (4.9 Kb)

早く標準ドライバとして入ってくれないかなー。