[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:28300] Re: Note PCのネットワーク設定



こじま@このヘンは田原さんが詳しいので,間違ってたら修正よろしく,です(苦笑

# と書いてたら先を越されてしまった..(^^;

From: KATOH Yasufumi <karma@xxxxxxxxxxxxxxxx>
Subject: [plamo:28298] Re: Note PC のネットワーク設定
Date: Tue, 17 Jul 2007 14:55:50 +0900

> > だから,こっちで eth0 や eth1 を定義しても,murasaki 側で modprobe
> > eth0 とかしないと利用されないみたい.
> 
> となると,今,このあたりの名前決めは murasaki がやっているという事でしょ
> うか? (モジュールの場合)

いえ,murasaki は単純に /lib/modules/`uname -r`/modules.XXXmap や自分の
持っているリストに従って,PCI や USB のベンダー & 機器 ID 等を元に該当
するモジュールをロードしているだけだと思います.

最近の PCI や USB 接続の機器の場合,機器の機能を利用するにはそれぞれの
機器用のドライバが必要ですが,ベンダー ID や機器 ID 等の情報は各機器用
のドライバを使わなくてもカーネルが認識できるようになっています.カーネ
ルはそれらを sysfs(/sys) を用いてユーザ領域にアナウンスして,udev や
hotplug agent はその情報を元に必要な処理を行います.

カーネルがPCI/USB の接続を検知 -> PCI/USB の情報を /sys 以下に告知

  -> udev が /sys の情報を元にそのデバイスを使うために必要な処理を実行
      +--> /dev 以下に適切なデバイスファイルを作成 
      +--> hotplug agent(Plamoだと murasaki)を使って必要なドライバをロード 

-> アプリはデバイスファイルを利用してその機器を利用
-> カーネルはデバイスファイルを用いてアプリとやりとりし,ドライバを使って
   その機器を制御する.

みたいな感じだったように思います.

> ということは,カーネルがデバイスを認識して付けた名前が,後でつけかえら
> れているということでしょうか? 今回の場合,dmesg で出力されているものは,
> 実際は使われていなくて,murasaki (?) が認識する際に,名前を付けている
> という事ですか?

名前を付けているのはカーネルなので,加藤さんが示された demsg ログのよう
に eth0 が複数認識されるというのは普通はありえないのだけど,このあたり
はそれぞれのドライバが初期化されるタイミングの問題のような気がします.

# 一方の初期化が終了する以前に他方の初期化が動きだしたとか.

多分,カーネルの内部的にはこのヘンの排他制御はちゃんとやれているのだけ
ど,printk を実行して画面表示するにはそれなりに時間がかかるから,,といっ
たあたりが原因のような.

---------
こじま


Follow-Ups
[plamo:28301] Re: Note PC のネットワーク設定, KATOH Yasufumi
References
[plamo:28292] Re: Note PC のネットワーク設定, KATOH Yasufumi
[plamo:28295] Re: Note PCのネットワーク設定, KOJIMA Mitsuhiro
[plamo:28298] Re: Note PC のネットワーク設定, KATOH Yasufumi

[検索ページ] [メール一覧]
Plamo ML 公開システム