[ Main Page ]

MACNICA mPS110 (LPM-SCSI2) driver for Linux 2.6

最近たまたま手に入れたLogitecのLPM-SCSI2は古過ぎてLinux 2.6では使えないようです。 PCMCIAのデータベースには、qlogic_csと登録されていますが、 loadするとkernel panicを起こしてまともに使えません。 Linux 2.0では使えるようですが、 今どきこんな古いversionを使うのはちょっと問題があります。 せっかくなので、この古いversionをいろいろと書き換えてとりあえず動くようにしてみました。 ただ、まだ色々と直っていないところがあります。

schedule_work()を使用してqueuecommand()を実装しているためアクセス時にevents/0がかなりCPUを食う(=polling driver) (もとのdriverがIRQを使わない変則的な構造になっていたため。 使えれば嬉しいので、これについては書き換えるつもりはあまりありません。)
HD,CDROMではなぜかLUNのhandlingができない(CDROM,HDをつなぐと、すべてのLUNに応答してしまうのでScsi_Host->max_lun = 1;してあります。)
OBSOLETEな関数が残っている
Linux 2.6での新しいerror handlingに完全に対応できていない(ので時々kernel panic)
特定条件下でkernel panicする(もちろん、mountしたままejectしちゃだめだけど。)

mps110_cs.c for Linux 2.6
まず、展開してmakeします。(kernelのconfigで、SCSIやPCMCIAなど、必要と思われる オプションはつけておくこと)mps110_cs.koができたら、 /lib/modules/(kernel's version)/kernel/drivers/scsi/pcmcia/ にコピーし、depmod -aします。そうしたら、cardmgrの設定ファイル (Gentoo Linuxの場合は/etc/pcmcia/config)のMACNICA mPS110 SCSIの設定を書き換えます。

card "MACNICA mPS110 SCSI"
version "MACNICA", "MIRACLE SCSI-II mPS110"
bind "mps110_cs"

後は、cardmgrを再起動し、周辺機器をカードに接続して電源を入れた上で slotに差し込めばうまくいくと認識します。(何かする前に、sync はしておきましょう。また、SysRqを有効にしておけばもしもの時に便利です。)

追記事項

カーネルのversionが上がったせいか、sym53c500_cs driver が使えるようになったようです。PCMCIAの設定は、qlogic_csを sym53c500_csに直せばよい筈です。

Yesterday I asked one of my students if she knew what an encyclopedia is, and
she said: "Is it something like Wikipedia?".

    -- alisonclement
    -- Twitter Twit ( http://twitter.com/alisonclement/status/8421314259 )

 <rindolf>  whoppix: what's up?
 <whoppix>  rindolf, haskelling through the night.
 <rindolf>  whoppix: ah.
 <whoppix>  rindolf, im pretty much a beginner, tho.
 <rindolf>  whoppix: yes, I learned Haskell back at the time.
 <rindolf>  whoppix: I tried to write a log analyser in Haskell once.
 <rindolf>  whoppix: it segfaulted.
 <rindolf>  whoppix: a CL-one was much better.
  <Caelum>  rindolf: haha
 <whoppix>  sadness
 <rindolf>  whoppix: then people showed me how to write it better.
 <rindolf>  whoppix: but it segfaulted too.
 <whoppix>  haha
  <Caelum>  hahaha
  <Zoffix>  lol
 <rindolf>  whoppix: I gave up on using Haskell for production.
  <Caelum>  rindolf: I've submitted your story to bash.org

    -- Log Analyser in Haskell
    -- #perl, Freenode


Powered by UNIX fortune(6)
[ Main Page ]