[ 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に直せばよい筈です。

I would have been perfectly happy to leave it at that. If the Apps
Architecture team needed care and feeding and wanted to argue about stuff,
that was OK, I would argue with them as much as they wanted as long as they
left the programmers alone to do their work. But then something even more
interesting happened that blew my mind. I was sitting at lunch with some
coworkers, in the Redmond sun, when Pete Higgins came up to me. At that time
Pete was the general manager for Office -- I knew who he was, of course, but
didn't expect that he knew me very well. - "How's it going, Joel?" he asked.
"I hear you've been having some issues with the App Architecture group." - "Oh
no!" I said. "Nothing I can't handle." - "Say no more," he said, "I
understand." He left. By the next day the rumor had gotten back to me: the App
Architecture group was disbanded. Not only that, but each member of the group
was sent to a different department at Microsoft, as far apart as possible. I
never heard from them again. I was blown away, of course. At Microsoft, if
you're the Program Manager working on the Excel macro strategy, even if you've
been at the company for less than six months, it doesn't matter - you are the
GOD of the Excel macro strategy, and nobody, not even employee number 6, is
allowed to get in your way. Period.

    -- Joel Spolsky
    -- "Two Stories" ( http://www.joelonsoftware.com/articles/TwoStories.html )

Today is the last day of your life so far.


Powered by UNIX fortune(6)
[ Main Page ]