- PR -

Air'H 利用時の cardmgr から読み込まれるドライバの誤認について

1
投稿者投稿内容
水無月 遊々
大ベテラン
会議室デビュー日: 2003/10/22
投稿数: 139
お住まい・勤務地: お星様☆彡
投稿日時: 2005-03-05 20:01
こんにちは。上記表題の件について不明点がございますので質問させていただきたく思います。よろしくお願いいたします。

ー現象ー

 pcmcia が誤認する場合があって困っております(正常認識の場合もあります)。また、そのときの情報を以下に張ります。

※上段が 「cardctrl ident」の結果で、下段がその時の syslog になります。

コード:
-------------------↓正常認識↓-------------------------
Socket 0:
  no product info available
Socket 1:
  product info: "SII", "PHS AH-S405C"
  manfid: 0xc01e, 0x0000
  function: 2 (serial)

  Feb 26 13:42:41 muramasa cardmgr[801]: socket 1: Serial or Modem
  Feb 26 13:42:41 muramasa kernel: ttyS01 at port 0x02f8 (irq = 10) is a TI16750
-------------------↑正常認識↑-------------------------

-------------------↓誤認識↓-------------------------
Socket 0:
  no product info available
Socket 1:
  product info: "SII", "PHS AH-S405C"
  manfid: 0xc01e, 0x0000
  function: 2 (serial)

  Feb 27 21:28:39 muramasa cardmgr[801]: socket 1: Serial or Modem
  Feb 27 21:28:40 muramasa kernel: ttyS01 at port 0x02f8 (irq = 10) is a 16450
-------------------↑誤認識↑-------------------------



 上記情報を分析した私の見解としては、cardctrl では正しく認識されていながら、syslog で読み込まれている serial ドライバが違うことから…

  1.カードそのものは正しく認識されている。
  2.cardmgr の DB にも問題はない。
  3.カーネルにロードされるドライバが間違ってロードされるときがある。

…という、意見に落ち着きました。で、ここで、カーネルに読み込ませるドライバを指定する方法を探したのですが、残念ながらたどり着くことが出来ませんでした。

ー解決方法ー

 現在の検討している解決方法としては「カーネルのソースを変更してしまう」以外見つかっておりません。私としてはもう少しスマートに対策を行いたいのですが、何かお知恵を拝借できないでしょうか…。

ー環境ー
 PC:Sharp PC-MT2-F1 Muramasa
 OS:Vine Linux 3.1
 カード:SII AH-S405C (CF)
 Kernel:2.4.27-0vl7.3
 PCMCIA:kernel-pcmcia-cs-3.2.7-0vl3
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-03-05 22:11
こんばんわ.

今更確認するまでもないかもしれませんが念のため.

/etc/pcmcia/config に下記の部分を追記してもダメでしょうか?
manfid: 0xc01e, 0x0000
自分も以前,誤認識で間違った kernel module が load されて困った際,
追記したら起動するようになりました.

いいな〜ぁ,murasama.
日立の OEM が備品として配備されたのを横目に見て欲求を抑えてます...

水無月 遊々
大ベテラン
会議室デビュー日: 2003/10/22
投稿数: 139
お住まい・勤務地: お星様☆彡
投稿日時: 2005-03-06 04:56
お久しぶりです。kaz様。
アドバイスありがとうございます。

引用:

/etc/pcmcia/config に下記の部分を追記してもダメでしょうか?
manfid: 0xc01e, 0x0000
自分も以前,誤認識で間違った kernel module が load されて困った際,
追記したら起動するようになりました.



「manfid: 0xc01e, 0x0000」なのですが、認識されているカードと bind されるモジュール「serial_cs」は問題ないようなので、現在の症状の件には合致しないようです(bind されるモジュールが誤認されている場合や、CIS を指定するような場合には必要なのですが…)。

 今回のケースではカーネルソースの「drivers/char/serial.c」に「autoconfig」という関数がありまして、どうやらそこで誤認されているようなのです。

 …で、更に調べてみましたところ、「serial.opts」ファイルに「SERIAL_OPTS」という setserial コマンドに渡すためのパラメータ設定がありました。そして、この setserial コマンドにおいて利用するドライバが変更できることが分かりました。(実は調べ始めた時にも setserial へ渡すパラメータがあることには気がついたのですが、 setserial コマンドにて利用ドライバが変更できるとは思っていませんでした。)

 よって、以下のパラメータを追加することにより問題なく動きそうです。(必ず誤認するわけではなかったので、しばらく様子を見る必要がありそうですが…)

serial.opts:
SERIAL_OPTS="uart 16750 skip_test"

 以上、お手数をおかけしました。

引用:

いいな〜ぁ,murasama.
日立の OEM が備品として配備されたのを横目に見て欲求を抑えてます...





 私の muramasa は一昔前のタイプ(キーボードが浮き上がってくるタイプ)なので
最近の A4 以下のサイズと比べると少し大きいです^^; もっとも仕事では結構重宝してますね。お客様との打ち合わせでは特に(笑)

 昔は Linux と Note-PC って 「Note-PC のメリットを生かせないなー」って思っていたんですけど、最近ではそんなことないですね。 hibernate もかなり安定していますし、復帰のスピードも結構早いです。バッテリーのモニタがきちんと動いていることや、fan のコントロールなど ACPI 対応も結構進んでいて Linux にて Note-PC を利用することに不自由が少なくなりました。

 それに HDD に 映画のDVD を入れて船旅してみたりと、Note-PC 一つで結構色々楽しめますよん(笑) さぁ、Kaz様も一緒にいかがですか…?(悪魔の囁き)

1

スキルアップ/キャリアアップ(JOB@IT)