2012-05-25

Linux にて Wake on LAN を有効にする方法

P5Kというマザーボードには, Attansic TechnologyのL1というEthernet controllerが載っているのですが、Wake on LAN(WOL)にはソフトウェアから設定をしなければならないようです. ethtoolというツールを使ってWOLを有効にする設定をするということまでわかったのですが, フォーラムによると, Vine Linux 4.2のkernel 2.6.16ではWOLに対応していなくて, kernel 2.6.27から修正されるそうです. それを修正するのは面倒そうなので, Venderのドライバを使ってみることにしました.
  1. ATL1ドライバのページからVender Versionのドライバをダウンロードしてインストール このとき, カーネルに付属のモジュール atl1.ko を上書きするようなので、念のためにバックアップしておきました.
  2. # ethtool -s eth0 wol pg
確認した後, /etc/rc.local などに「ethtool -s eth0 wol pg」を追加しておきましょう.

2012-05-19

HSPICEでMOSFETの拡散面積・拡散周囲長を自動で計算する方法

HDIF というパラメータを設定すると, 自動で AS, AD, PS, PD が計算される. W を変えて特性をシミュレーションする場合, AD, PD を毎回設定するのは面倒である. このような場合に, HDIFをモデルファイル中に設定しておくことで, 自動で計算される.
AS = AD = HDIF x W
PS = PD = HDIF x 2 + W x 2
ゲートから拡散の端までの最小距離を入れておくとよい. 例:
.model n.1 nmos
+ level = 53
...
+ hdif = 1.5e-7

参考

  • 集積回路の設計
  • 2012-05-16

    gnome-terminal のカーソル点滅

    先日 Fedora 15 から 16 にアップデートしたところ, Gnome-terminal でカーソルの点滅の振る舞いが変わってしまった. これまでは入力中は常に表示, 通常時は点滅だったのに, 常に点滅し続けるようになってしまった. これだと, カーソルを左右に移動するときにどこにいるのかわからなくなってしまう. どうも, Gnome-terminal のカーソル点滅の設定が Gnome 全体の設定に移行してしまったようだ. /apps/gnome-terminal/profiles/Default/cursor_blink_mode に on を設定すれば良いようだ.

    2012-05-15

    低消費電力サーバ

    サーバマシン, とくに, 家庭, SOHO でのサーバは小規模なものであり, 高パフォーマンスが要求されない用途 (メール, ゲートウェイ, ウェブなど) も多数ある. このような場合には, ノートPCを使用することも有力な選択肢である. 以下に挙げる利点がある.
    • 低消費電力
    • バッテリ付き (UPSを購入する必要がない)

    ラップトップモード

    ラップトップモードの設定
    echo 5 > /proc/sys/vm/laptop_mode
    

    CPU周波数

    CPU周波数を最小にする. (1000000の部分は /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies の中の最小値を選択.)
    modprobe acpi_cpufreq
    for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq ; do
        echo 1000000 >$i
    done
    

    HDD

    HDDの書き込みをまとめる (HDDが省電力状態に入りやすくなる)
    echo 2500 > /proc/sys/vm/dirty_writeback_centisecs
    
    SCSI/SATAの電力管理を省電力優先にする.
    for i in /sys/class/scsi_host/host*/link_power_management_policy; do
     echo min_power >$i
    done
    

    バッテリ

    Thinkpad であれば, バッテリの充電開始・充電終了の基準を設定. 深い充電・放電を行うと, 寿命が縮むと言われている.
    modprobe tp_smapi
    echo 50 >/sys/devices/platform/smapi/BAT0/start_charge_thresh
    echo 80 >/sys/devices/platform/smapi/BAT0/stop_charge_thresh
    

    参考

    Livedoor IRCサーバからの接続

    最近になって, Livedoor のサーバから私の管理する httpd へ何度か要求がきた.
    125.6.255.10 - - [**/***/****:**:**:** +0900] "CONNECT 125.6.255.10:6667 HTTP/1.0" 405 325 "-" "-"
    IRCの通信を通すことができるオープンなプロキシを探しているようだ. 私の管理するサーバでは当然のことながら拒否する.

    125.6.255.10irc.livedoor.ne.jp.と逆引きされる. Livedoor の発表からもわかるように, IRCサービスを提供しているサーバである.

    2012-05-05

    Linux による IPv6 パケットのルーティング

    Linux で IPv6-in-IPv4 を設定し, ルータとして使用する方法をまとめる. ここでは, Redhat EL 6 を例にして説明する. Hurricane Electric では, /64 セグメントと /48 セグメントを割り当ててトンネリングするサービスを無料で提供している. このサービスで IPv6 アドレスを取得して, Linux マシンをルータとして使用する.

    構成

    ホスト Host1, Host2 があり, Host1 はインターネットに接続されており, Host1-Host2 間は LAN で接続されている. Host1 のインターネット側のデバイスは eth1, LAN 側のデバイスは eth0 と割り当てている.

    トンネリングの設定

    まずは, Host1 で IPv6-in-IPv4 の設定を行う. Hurricane Electric で /64 アドレスを取得すると, 丁寧に設定方法を教えてもらえる.
    ifconfig sit0 up
    ifconfig sit0 inet6 tunnel ::xx.xx.xx.xx
    ifconfig sit1 up
    ifconfig sit1 inet6 add 20xx:xxxx:xxxx:xxxx::2/64
    ip route add ::/0 dev sit1
    
    少し設定方法を変えてしまったが, これで設定が完了. ping6 で接続されているか確認する.
    ping6 www.kame.net
    この設定をパーマネントに反映させる方法はまだ調べていない.

    アドバータイズの設定

    yum install radvd
    cat >/etc/radvd.conf <<EOF interface eth0 { AdvSendAdvert on; prefix 20yy:yyyy:yyyy:1::1/64 { AdvOnLink on; AdvAutonomous on; }; }; EOF ifconfig eth0 add 20yy:yyyy:yyyy:1::1/64 service radvd start
    20yy:yyyy:yyyy:1::1 の部分には, /48 セグメントの中の /64 セグメントを選んで設定する.

    パケットフォワーディングの設定

    sudo tee /proc/sys/net/ipv6/conf/all/forwarding <<<1
    ip6tables -I FORWARD 1 -p tcp -j ACCEPT -m state --state ESTABLISHED,RELATED # 確立された tcp パケットを許可
    ip6tables -I FORWARD 2 -j ACCEPT -i eth0 -o sit1 -p tcp -m tcp --dport http # http ポートへの接続を許可
    # ip6tables -I FORWARD 3 -j ACCEPT -i eth0 -o sit1 # LAN からインターネットへの全てのパケットを許可 (設定してもよい)
    # ip6tables -I FORWARD 4 -j ACCEPT -o eth0 -i sit1 # インターネットから LAN への全てのパケットを許可 (設定するべきでない)