トップ(最新) | <前

nDiki : Linux kernel

Linux kernel

スポンサード リンク

Related term

2006年2月24日 (金)

NdisWrapperThinkPad X31無線 LAN を使う このエントリーを含むはてなブックマーク

Linux kernel 2.6.15 で MADWIFI がうまく動かないようなので、NdisWrapper を試してみることにした。 NdisWrapper は、LinuxWindows の NDIS (Network Driver Interface Specification) 無線 LAN ドライバを使えるようにするラッパーモジュールである。

モジュールをインストール:

 #apt-get install ndiwrapper-source
 #module-assistant prepare
 #module-assistant auto-install ndiswrapper
 #apt-get install ndiswrapper-source

lspci でコントローラを確認:

 #lspci
 0000:02:02.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
 #lspci -n
 0000:02:02.0 0200: 168c:1014 (rev 01)

Lenovo からドライバをダウンロード:

  • ワイヤレスLAN(ThinkPad 11a/b/g)(Windows 2000/XP/XP Tablet Edition 2005)
  • Ver.4.1.102.133
  • 77wc36wj.exe

Windows 上で展開してできた WINXP_2K ディレクトリを Linux 上にコピー。

ndiwrapper コマンドでドライバをインストールする:

 #cd /path/to/WINXP_2K
 #ndiwrapper -i NET5211.INF
 #ndiswrapper -l
 Installed ndis drivers:
 net5211         driver present, hardware present
 #modprobe -a ndiswrapper

wlan0 でインタフェースが作成される。 MADWIFI と同じ無線 LAN 設定で、つながった。

通信も成功。

しかし、やはり大きなファイルの転送が途中で止まってしまう。

うーん、もしかしたらドライバ以外の問題なのだろうか。

スポンサード リンク


[ 2月24日全て ]

2006年2月25日 (土)

大きいファイルの転送が止まってしまうのは TCP Window Scale Option のせいだった このエントリーを含むはてなブックマーク

Linux kernel を 2.6.15 にして以来、無線 LAN で大きなファイルの転送がすぐに止まてしまうようになったので、ドライバをいろいろ変えてみるなど試行錯誤中。

大きなファイルの転送ができないと必要なファイルのダウンロードもままならないので、昨日の夜有線で接続して作業を行うことにした。

……あれ?

有線でも駄目じゃん。大きなファイル転送できないじゃん。

@ 無線 LAN の問題ではなかった

ThinkPad X31 の内蔵 NIC の方は会社だとうまく動いているし、どうやら自宅内の LAN、あるいは ADSL 接続あたりに問題があるようだ。

確認してみると無線 LAN アクセスポイント経由での PC 間のファイルのやりとりは問題なし。 早く気がつくべきだった。

とすると次の可能性はルータ(RTW65b)か。

@ RFC1323 TCP Window Scale Option

Linux kernel 2.4.27 だとうまく通信できているので、そのあたりから調査。 Web を見てみると 2.6.8 から net.ipv4.tcp_default_win_scale がデフォルトで 0 でなくなった事で同様の障害が発生し話題になったようだ。

自分が以前 2.6 系に乗り換えようとしたのもちょうど 2.6.8 だったので、その時に駄目だったのも実はこれが原因だった可能性がある。

 echo 0 > /proc/sys/net/ipv4/tcp_default_win_scale

でこの設定が変えられるのだが、2.6.13 以降このオプション自体が無くなっている。

tcp_window_scaling はまだ存在するので、

 echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

してみる。

……直った。

@ ということで

MADWIFINdisWrapper もシロだったようだ。

そろそろルータ買い換え時なのかなぁ。 YAMAHA で気にいってはいるんだけれど。


[ 2月25日全て ]

2006年3月10日 (金)

Linux kernel を 2.6.15 にしたらハードディスクへのアクセスが遅くなった理由 このエントリーを含むはてなブックマーク

2週間ほど前に ThinkPad X31 (2672-PHJ) の Linux kernel を 2.4.27 から 2.6.15 にしたのだが、その頃からか何となく動作がもったりするようになった。 コマンドを実行した際のレスポンスが遅くなったし、amaroK での音楽再生時にもちょっと負荷が上がるとすぐ音が切れるようになってしまった。

まさか kernel の性能が落ちたとは考えにくいので、設定のせいであろう。 感じからして、HDD まわりのようだ。

もしかして DMA?

 #hdparm -t -d /dev/hda

 /dev/hda:
  using_dma    =  0 (off)
  Timing buffered disk reads:    8 MB in  3.10 seconds =   2.58 MB/sec

ビンゴ!

 #hdparm -t -d1 /dev/hda

 /dev/hda:
  setting using_dma to 1 (on)
  HDIO_SET_DMA failed: Operation not permitted
  using_dma    =  0 (off)
  Timing buffered disk reads:    8 MB in  3.05 seconds =   2.62 MB/sec

おや?

[Device Drivers] ---> [ATA/ATAPI/MFM/RLL support] ---> [Intel PIIXn chipsets support] (CONFIG_BLK_DEV_PIIX) がモジュールになっていたのが問題のようだ。

組み込みにして Debian kernel パッケージ構築しなおしてインストール再起動

 hdparm -t -d /dev/hda

 /dev/hda:
  using_dma    =  1 (on)
  Timing buffered disk reads:   84 MB in  3.05 seconds =  27.56 MB/sec

なおった。


[ hdparm ]


[ 3月10日全て ]

2006年7月29日 (土)

Debian GNU/Linux sid 環境を新 HDD このエントリーを含むはてなブックマーク

朝から ThinkPad X31HDD 新しく入れ替えて Debian GNU/Linux sidインストールを開始。

@ Debian GNU/Linuxインストール

今日は sarge のネットワークインストール CD イメージからブートしてインストール。 今回はブートドライブにできる「ThinkPad USB ポータブルCD-ROMドライブ」があり、またこのイメージで起動して e1000 が認識できるので楽勝である。

(第1回目USB FDD + PC カード NIC でインストール第2回目HDD 上のインストーラから GRUB からの起動によるインストールだった)

最低限のものを入れたらすぐ sid へアップグレード。

@ 旧 HDD からのコピー

ヤバイ状態の旧 HDDUSB 外付け HDD ケースに詰めて

  • /home 全部
  • /usr/local で必要なもの
  • 参照用に /etc の複製
  • /var/www、/var/spool

を新しい HDD にコピー。

次に環境の復旧。 以下備忘録。

@ MADWIFI

以前作った Linux kernel 2.6.15 deb パッケージをインストールした後 module-assistant で madwifi をインストールするも、ビルドした GCC のバージョンが違ってロードできず。 kernel は GCC 4.0 の時にビルドしたもので、madwifi は現在のバージョンである GCC 4.1 によるビルドであることが問題。

まずは前にビルドした 2.6.15 のソースディレクトリでカーネルパッケージを GCC 4.1 で作りなおしてインストールし、あらためて module-assistant。

 module-assistant prepare
 module-assistant auto-install madwifi

で /etc/network/interfaces を書き戻す。

@ SMTP サーバを Postfix

ここずっと使っていた qmail をこの機会にやめることにした。 Postfix へ。

全体の設定はインストーラに従って設定。

個人設定は、

~/.qmail

 | preline /usr/bin/procmail

として procmail を使っていたので、~/.forward を作って同様に procmail に流すようにする。

 "|IFS='' && exec /usr/bin/procmail -f- || exit 75 #naney"

~/.procmailrc は以前のまま。ClamAVbsfilter でふるいにかけた後、Maildir へ。

@ bsfilter は deb のものに

以前入れた時は deb が古かったので /usr/local に自前でインストールした。 まずはこれを古い HDD から戻して動作確認後 deb のものに切り替え。

.mew.el の中も

 (load "/usr/share/doc/bsfilter/examples/mua/mew4/mew.el")

に変更。

@ Samba

/etc/samba/smb.conf を書き戻す。smbpasswd でパスワード再設定。

@ X

とりあえずインストール時の設定で xorg.conf を作る。

 Load "freetype"

をコメントアウトして、

 Load "xtt"

に変更。

@ KDE

sid は現在 3.5.3 と 3.5.4 混在状態になっているため、依存関係の問題で簡単にはインストールできずてこずった。 kdebase-data と kdelibs-data の 3.5.3 を http://snapshot.debian.net/ からとってきて hold して 3.5.3 系 KDE として各種パッケージをインストール

@ フレッシュリーダー

以前インスールした状態に復旧

  1. libapache2-mod-suphp php5-cli をインストール
  2. /var/www/freshreader、/etc/apache2/sites-available/freshreader を戻す
  3. a2ensite freshreader
  4. /etc/init.d/apache2 reload
  5. /etc/hosts に freshreader を追加

@ cpufreqd

  1. cpufreqdインストール
  2. /etc/cpufreqd.conf を戻す
  3. /etc/init.d/cpufreqd restart

@ Skype

skype-beta-1.3.0.30-1_i386.deb をインストール

@ cron

一般ユーザ naney の crontab ファイルを再登録。

@ Perl モジュール

足りないと気がついた時点で順次インストール

@ autofs + smbfs (2006年8月3日)

/etc/auto.master、/etc/auto.misc を書き戻して /etc/init.d/autofs restart。

@ mt-daapd (2006年8月22日)

deb パッケージを公式サイトからダウンロードし、/etc/mt-daapd.conf を書き戻して /etc/init.d/mt-daapd restart


[ 7月29日全て ]

2006年8月2日 (水)

ThinkPad X31 で fglrx が使えない このエントリーを含むはてなブックマーク

現在 ThinkPad X31X.Org X server 7.0.22 を使っているのだが、サスペンド/レジュームがうまく使えていない。

ATI の fglrx ドライバを入れたらもしかしたらうまくいくかなと思いチャレンジ。

 module-assitant prepare
 module-assistant auto-install fglrx

コンパイルエラー

Linux kernel 2.6.17 だと fglrx に パッチを当てる必要があるらしい。 ついでに Linux kernel の方もいくつか組み込みではなくモジュールしておかなければならないものがあるらしいので、全部再コンパイルする。

まずは fglrx-kernel-src をインストール。 でいつも通り /usr/local/src/linux 以下で作業。/usr/local/src/linux-source-2.6.17 以下に前回ビルドしたソースツリーがある。

 tar jxvf /usr/src/fglrx.tar.bz2
 emacs modules/fglrx/firegl_public.c # 一部修正
 cd linux-source-2.6.17/
 MODULE_LOC=/usr/local/src/linux/modules fakeroot make-kpkg --revision=sebastian.1.1 modules_image
 cd ..
 dpkg --install linux-image-2.6.17_sebastian.1.1_i386.deb
 dpkg --install fglrx-kernel-2.6.17_8.24.8-1+sebastian.1.0_i386.deb

再起動。で fglrx をロードしてみる。

 WARNING: Error inserting fglrx (/lib/modules/2.6.17/misc/fglrx.ko): No such device

駄目。drm、radeon、fb がロードされていると駄目らしいのでアンロードしてあるのだがそれでも駄目である。

引き続き調査。


[ 8月2日全て ]

2006年8月8日 (火)

Linux で使えるデスクトップ検索ツール Beagle でローカルファイルを検索 このエントリーを含むはてなブックマーク

Windows だと Google Desktop でローカルファイルの検索ができるのだが、残念ながら Linux 版はでていない。 そこで Beagle を入れてみることにした。

Beagle はデーモン形式のバックエンドと、検索インタフェースであるフロンエンドに分かれたているデスクトップ検索ツールである。

ファイルシステム上にあるテキストファイルだけでなくメールや、Firefox でアクセスしたページ、OpenOffice.orgMicrosoft Office のファイルなどをインデックス化し検索できるようにすることができるらしい。

@ ちなみに今まで

ローカルファイルの検索

メールMew 4 での検索(with Namazu)。
nDiki 記事howm で記事ソースデータを検索 (方法)、あるいは www.naney.org 公開記事を Google で。
メモhowm
開発中のソースコードEmacsgrep-find でだいたい事足りる。たまに ack。
仕事のメモできるだけ社内 Wiki社内 Blog に書いておいて Hyper Estraier
その他grep 程度。

といった感じかな。

それ以外はだいたいファイルの位置をうろ覚えしているので、何カ所か探せば見つかることが多い。

問題はうろ覚えの場所になかった時。 その時はなかなか見つからない。

そんなファイルを見つけるのが楽になれば、導入効果あり。

@ インストールして試してみる

@ Linux kernelinotify を有効にする

まずは Linux kernel の設定を確認。inotify が有効になっている方が良いらしい。 この間ビルドした時の .config を見て

 CONFIG_INOTIFY=y
 CONFIG_EXT2_FS_XATTR=y
 CONFIG_EXT3_FS_XATTR=y

となっていることを確認。

@ /home の extended attributes を有効にする。

/etc/fstab を編集し、

 /dev/hda4 /home ext3 defaults 0 2

 /dev/hda4 /home ext3 defaults,user_xattr 0 2

に変更する。書き換えたら、

 mount -o remount /home

でマウントしなおす。

@ Beagleインストール

Debian パッケージインストール

@ Beagle を起動

一般ユーザで

 beagled

で起動する。停止は

 beagle-shutdown

で。

@ Beagle を設定
 beagle-settings

で設定 UI を起動し、インデックスに含めたくないディレクトリなどを設定。

@ 検索してみる
 beagle-search

検索 UI を起動し検索してみる。 日本語も OK のようである。

GNOME 環境をほとんどインストールしていなかったので、検索結果からファイルを開けずつまらなかたので gonome-control-center、gnome-panel あたりをインストールして環境設定等をしてみた。

KDE 系のクライアントもあるので別途いろいろ確認

@ Firefox 拡張

xpi ファイルを入れておく。 後は普通に閲覧したページが、Beagle でインデックス化されて検索できるようになる。

設定してしまえば、以前開発して使っていた WWWOFFLE + Namazu よりお手軽である。

@ 感想

デーモンが逐次インデックス化していくので、明示的定期的にインデクサを走らせなくていいというのは楽でいい。

日本語関連がどの程度うまく検索できるのか、検索結果は使いやすい順に出力されるのかが未知数。 しばらく遊んでみて便利かどうか確かめてみたい。


[ 8月8日全て ]

2007年12月23日 (日)

Debian Linux kernel 2.6.23 をビルドする。 このエントリーを含むはてなブックマーク

ThinkPad X31 に入れている Debian GNU/Linux sidLinux kernel を随分アップデートしていなかった(2.6.17 を使用中)。 今日 aufs を入れついでに、一緒に最新(2.6.23)をビルドすることにした。 Debian kernel パッケージ構築は去年の8月以来。

今回は linux-patch-aufs を入れておいて、aufs 用のパッチを当てる。

 #apt-get build-dep linux-image-2.6.23-1-686
 #apt-get install linux-source-2.6.23 linux-patch-aufs
 #exit
 $mkdir -p /usr/local/src/linux
 $cd /usr/local/src/linux

 $tar jxvf /usr/src/linux-source-2.6.23.tar.bz2
 $cd linux-source-2.6.23
 $make menuconfig
 $make-kpkg clean

 $fakeroot make-kpkg --added-patches put_filp,lhash,splice,ksize,sysfs_get_dentry --revision=sebastian.1.0 kernel_image
 $cd ..
 $su
 #dpkg -i linux-image-2.6.23_sebastian.1.0_i386.deb

パッチが一部 2.6.22 用で 2.6.23 には当たらなかったが、よしとしておく。 ここで再起動。次に MADWIFIaufsインストール

 module-assistant prepare
 module-assistant auto-install madwifi
 module-assistant auto-install aufs

いつも入れている shfs も同様に入れようと思ったがこちらはコンパイルエラー。 頻繁に使うわけではないので、とりあえずほっておくことにする。

コンパイルが面倒なのでそろそろ Debian 公式のを使おうかと思ったが、試してみたところ

ということ NG。 やはり自前でビルドしなければならないことを再確認。


[ 12月23日全て ]

2008年1月4日 (金)

今日のさえずり - アイスも冷凍食品も全滅っぽい このエントリーを含むはてなブックマーク


[ 1月4日全て ]

2008年1月5日 (土)

aufsinotify を使ってブランチ上の直接の変更をすぐに反映させる このエントリーを含むはてなブックマーク

最近 aufs を使って Web サイトのドラフトを作成する(記事)ようにしているが、使っていて1つ不具合が出てきた。 今の設定だと、ブランチ側(今回の使い方だと公開ディレクトリツリー)のファイルを直接変更しても、aufsキャッシュによりマウントしたディレクトリ側ではその変更されたファイルではなく、変更される前のファイルが見えてしまう。 これはちょっと不便。

マニュアルを見るとマウント時のオプションで udba=inotify を指定して inotify を使うようにすれば良いとのこと。

早速指定してみたがマウント時にエラー。 どうやら udba=inotify を使えるようにモジュールをコンパイルしていなかったようだ。

@ aufs モジュールを作り直し (Debian GNU/Linux sid)

aufsマニュアルを見ると CONFIG_INOTIFY と CONFIG_AUFS_UDBA_INOTIFY を有効にする必要があるとある。前者は Linux kernel ビルド時に指定済み。

後者を有効にして aufs を作り直す必要がある。

module-assistant だと設定の仕方がわからないので、aufs.tar.gz2 展開して直接 make-kpkg module_image でビルドするようにした。

aufs.tar.gz2 を展開後、debian/conf.mk を編集して

  • export CONFIG_AUFS_HINOTIFY = y 行を追加
  • EXTRA_CFLAGS 指定のところで、-DCONFIG_AUFS_HINOTIFY を追加

とし、後は普通に make-kpkg を使う。 マニュアルとは設定名/マクロ名が違うので、ちょっとはまったがこれで udba=inotify を使えるようになった。

@ マウントする

前回のマウント方法をちょっと修正して以下のようにする。

 mount -v -t aufs -o br:/home/naney/draft.naney.org=rw:/home/naney/www.naney.org=ro,udba=inotify none /home/naney/next.naney.org

これで /home/naney/www.naney.org 以下を修正すると、すぐさま /home/naney/next.naney.org の方でも反映されるようになった。

メデタシメデタシ。


[ 1月5日全て ]

2008年1月8日 (火)

sarge からetch へのアップグレードで危うくサービス壊すところだった このエントリーを含むはてなブックマーク

APT ラインが stable だったため中途半端に etch が混ざっているのが気になっているサーバがある。 セットアップした管理者がしばらく不在にしているので、アップグレードすることにしたが、やはりすんなりとはいかなかった。

@ Python 2.3 から 2.4

Python を使っているパッケージより先にインタープリタが削除されたため、そのパッケージが削除できなくなった。

依存関係無視して一旦削除して、更新。

@ Dovecot は設定がそのまま使えず、ダウングレード

Dovecot はアップデートしたら、設定ファイルの項目が変わったのか、エラーメッセージを吐いてデーモンがあがらなくなった。 MySQL 使ってたり、いろいろ苦労して設定してたものなので、いじるのは危険。 sarge からパッケージ持ってきてダウングレード。

@ Linux kernel もアップデートできず

kernel も 2.4 から 2.6 へアップデートしたが、再起動したら md まわりでエラーRAID のところがそのままでは駄目っぽい。 慌てて元に戻す。

一旦 udev にしたのも hotplug に戻した。

@ Apache は a2ensite・a2enmod しなおし

こちらは、バーチャルホストといくつかのモジュールの有効化がリセットされてサイトが見られなくなっていたので、それぞれ有効化しなおして復帰。


[ 1月8日全て ]

■よく検索されるキーワード

torrent(173) expressions(80) 竹内まりや(58) x31(25) ドラマ(23) linux(23) 手帳(21) 壁紙(21) perl(21) windows(20) 動画(19) wiki(17) porter(17) debian(16) 使い方(16) 画像(15) thinkpad(15) 作り方(15) gmail(14) usb(14) 秋葉原(13) ヨドバシ(13) ほぼ日手帳(13) 提案書(12) 活用(12) 竹内(12) 古川小百合(12) 修理(12) ノート(11) 無印(11) ヨドバシカメラ(11) nikon(11) 書き方(10) ダイソー(10) 万年筆(10) 生年月日(10) 大井町(10) ミニ6穴(9) ほぼ日(9) tc-1(9) 冷蔵庫(9) 設定(9) ニコン(9) java(9) mp3(8) 故障(8) 方眼(8) xp(8) 日誌(8) 感想(8) カメラ(8) allinanchor:*.torrent(8) バッグ(8) firefox(7) インストール(7) キーボード(7) mixi(7) 無料(7) リフィル(7) 小林麻耶(7) nikkor(7) ジョイントラック(7) madwifi(7) 原田夏希(7) skype(6) 変更(6) 三条まゆみ(6) ペンケース(6) web(6) emacs(6) home(6) ポーター(6) 2009(6) itunes(6) a6(6) 無印良品(6) デジカメ(6) finepix(6) 無線lan(6) 評判(6)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.622246s / load averages: 1.69, 1.50, 1.38
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)