Linux on ThinkPad 240X
目次
はじめに
Vine-2.1 をインストール
BasiliskII で MacOS を
VMware で Win2k
英語キーボードに置き換える
ディジタルカメラ
内蔵モデム
PHS モデム
はじめに
このページは、以前「ThinkPad を Multi-OS マシンに!!」という題のページの他、いくつかに分れていた ThinkPad 240X についての話題をひとつに纏めたものです。 今ではもうかなり古くなったし、「そう、それで?」的な記述も多いのですが、 私にはなぜか愛着があるし、 何よりまだ時々訪れて下さる方もいらっしゃるので、 敢えて (他と体裁を合わせて) 残しておきます。 また、思いつくかぎりのアップデートもしておきました。(赤字で追加)Linux on ThinkPad
やっと手に入れた ThinkPad ですが、 それにLinux をインストールして、ちゃんと使えるようにするまでに は、結構右往左往しました。お役にたてるかどうかわかりませ んが、これから挑戦しようという方のために、やった事を書き残して おきます。
前提条件と目標
- H/W: ThinkPad 240X。 Windows2000 がプレインストールしてありました。
- メモリは、192 MB に増設しました。
- BIOS は、
1.03.121.03.14 (3/17/01) にアップデート
- Vine Linux 2.1 をインストールしかつ
- pre-install されているWin2k を、dual boot 可能にする。
- (後程、このWin2k をLinux の上の VMware からも使えるようにする。)
全体の流れ
- 事前準備:FIPSでLinux用のパーティションを切る。
- Vine-Linux 2.1 をインストール。
- Vine-Linux のチューニング。
1) 事前準備
- Win2k には、ブートディスクを作る機能がないので、ちょっと悩まし いですが、大丈夫、DR-DOSが使えます。 ここからダウンロードして下さい。(ldisk01, -0.2, -03の 三つで充分です。)
- フロッピィからDR-DOSを起動して、format a:/s でブランクフロッ ピィをフォーマットし、それに、FIPS をコピーします。実際には Vine のソースツリーのdosutils/fips20の下にあるファイルを全 てそのフロッピィにコピーして下さい。
- このフロッピィでリブートして、FIPSを起動し、新たなパーティ ションを作ります。Win2k には 6 GB くらい残せば充分でしょう。 起動する前に、fips.doc を良く読む事をお勧めします。(でも、あ まり生真面目に読んで、危いからやめておこう、とならないで下さい ね:-P)
2) Vine のインストール
- 私は、CD-ROM ドライブを持っていないので、CD-ROM boot を試して いません。
- それ以外では、どこかにUnix(Linux) Machine をお持ちでした ら、そにダウンロードしてくるか、CD-ROM の中身を移すかして、 そこからネットワーク越しにインストールするのが最も手軽なよ うです。私はいつもこの手を使っています。
-
pcmcia.img をdd でコピーして作ったフロッピィから起動すれ
ば、インストールはすんなり行きます。が、次の点には留意した方
が良いでしょう。
- 後述するように、X が最初はうまく動きません。インストー ルはtext modeでやりましょう。また、X の設定後のチェッ クもしない方が(スキップした方が)良いでしょう。
- keyboard は日本語106キーボード、マウスの設定は、OS/2マ ウスを選択します。
- パーティションを切る際、あたり前ですが、先頭 (/dev/hda1)に ある FAT32のpartition は弄ってはいけません。今は、マウ ントポイントも設定しない方が安全でしょう。 また、 root (/) partition に 1 GBを割りあてたの では不足するかも 知れません。1.5 GB 以上にしておいた方が安全でしょう。1 GB では、パッケージをぎりぎりに絞って、若干それ以下にでき たとしてもても、インストーラが途中でスペースが足りない、 といって止ってしまう事もあります(経験者騙る、いや語る (^^;)。
- Hardware clockをGMTにすると、Win2k を立ち上げた時、時 計が狂います。
- X の設定は手動で
- Video Card: SMI LynxEM+
- Display: Generic LCD Panel 800x600
- Memory: 2 Mb
- clock chip: not set
3) Vine のチューニング
Video Chip (SMI LynxEM+)
- まず、Vine-2.1 そのままではX がうまく働いてくれません。 XFree86-xxx を必ず、 3.3.6-13vl16 以降のものにバージョンアップして下さい。 老 婆心ながら、アップデートには、RPMSが揃っているディレクト リへ言って、rpm -F XFree* とするのが便利です。
- それでも、若干不安定さが残るので、XF86Config ファイルの、 Section "Device" の最後に、option "no accel" を付け加えた 方が良いでしょう。
Sound Chip (CS4281)
2.2.17 までのkernel に附属するCS4281のドライバは不完全で、オリジ ナルのVine-2.1 (kernel-2.2.17) ではうまく鳴っ てくれません。対処法はいくつか有って、
- カーネルはそのままで新しいドライバと置きかえる。
- kernel を2.2.18 に上げる
- Vine のkernel-2.2.18 package を入れる
などなど。3. が一番簡単そうですが、私自身は試していません。実際 に試した人による と、IRQ のバッティングが起きるらしい。私自身は、1. を経て現在は 2. で満足しています。<訂正 3/17/01> 3. もやっ てみました。結果は OK です。実際これが一番簡単でした。
また、デバイスドライバの作者によると、デバイスのイニシャライズにまだ 問題があるとの事。これに関連するのでしょうが、TIPSとしては、
- insmod(modprobe) に失敗するようだと、cold boot してみる。 (Windows と併用しているような場合には特に有効というか、必要 な場合が多いようです。)
- /etc/sysconfig/apmd に、次のような行を付け加えて下さい。
RESTORESOUND="yes" RESTORESOUNDPROGS="yes" SOUNDMODULE="cs4281"
Misc
- /etc/lilo.conf を編集して、
other=/dev/hda1 label=Win2k
の行を付け加えて、sudo lilo して下さい。(もちろん、lilo を 実行する前に、/dev/hda1をどこかにマウントしておかないと、エラー になります。)
以上で、Linux と Win2k の dual boot ができるようになったはずです。
MacOS on Basilisk (on Linux)
以前のこのページでは、まだまだ試行錯誤が続いていて、あちこち訂正して しまい、訳が解らない説明になりかけていましたが、今のところ かなり落ち着いているので、最新版の環境に基いて書き直す事にしました。ただ、現状の安定動作は「sound やNetwork を使わない」 事を前提にしています(最後の現状 を参照) 。 内心忸怩たるものが有りますが、 現在安定しており、かつ十分実用になっているので、 敢えてこれらの安定化を図るガッツが有りません(^^; 従って、install の中の5) は省略するのが吉かも知れません。
能書き
Mac fun の中には、B5 サイズの PowerBook が(また)出る事を首を長くし て待ってる人も多いと思います。私もその一人。以前 PB540 を使っていま したが、これを担いで会社まで往復すると、テキメンに腰痛にたたられるよ うになり、大部前に持ち運ぶ事をあきらめてしまいました。
実は私が本当に使いたい Mac の application は、HyperCard くらいのものなので、Emulator でも間に合うんじゃないかと色々試行錯誤した 結果、BasiliskII にたどりつきました。これと Netatalk と組み合せると 結構快適な環境になります。が、ちょっと(というかかなり)不安定です。 しかも freeze する時は X をまきぞえに…、という嫌なコケかたをします。 (telnet ではいるための他のマシンがなければ、reset ボタンを押すしか なくなる。) あと、立ち上げている間中(iconize している間も)、CPU をほぼ100 % 占有します(dual CPU だと 100 % + 50 % くらい)。すなわち、普段は iconize しておいて、いざという時その icon をクリックすると、パッと Mac の画面が出るという具合にはな かなかいかない。
というのが、これまでの話。最新版の0.8 は 安定度が格段に向上して おり、しかも Full screen mode で立ち上げた場合 iconize した ら CPU 時間を殆ど食わない…。すなわち、常に立ち上げておいて、 必要になったら icon を click するだけ、 という使い方ができるようになりました。 私は狂喜乱舞です。
68k Mac からのROM の吸い出し、MacOS のインストール等が完了し ていれば、BasiliskII そのもののインストールは簡単です。 Bauer さんのところ にアップロードされている、17-Feb-2001 snapshot をダウンロードしてcompileされる事をお勧めします。
BasiliskII を使えるようにする
BasiliskII を使えるようにするには、BasiliskII 本体のインストー ルの他、Mac OS のインストール等他に何ステップか必要なので、詳 細は、神山文雄さんの「(LinuxでマルチOS) VMware の使い方」 (翔泳社)や、 Poseidonさんのホームページを御覧下さい。
こういう周到かつ網羅的な情報が有るのに、なんで屋上屋根を重ねる 事があるかという疑問がお有りでしょうが、
- Vine(-like) Linux に特化
- 動いているMac を既に持っていて、それがネットワークにつな がっている
- 一番易しいやりかたを提案し
- かつNetwork(Netatalk)に凝ってみる
と、いう訳ですので、手順は、
- Linux マシンにNetatalk をインストール
- Mac上で、ROM image、Disk image を作る
- Netatalk を使って、上記二つのファイルをLinux マシンに転 送
- BasiliskII をインストール。(ここまでで、BasiliskII が使える ようになります)
- おまけ:Host/Mobile machine 向けにNetatalkを設定
1) Netatalkをインストール
開発が再開されてみたいで喜ばしい限りです。最新版は。1.5pre6 でsource forgeにあります。1.5pre5 の rpm パッケージをダウンロードしてきて (1.5pre6 は未確認) インストールして下さい。普段使っているホームディレクトリの下に (例えばnetatalk) というディレクトリを作り、
~/netatalk "YourHostName"という一行を含む .AppleVolumes という名前のファイルを作って下 さい。これでインストールは終り。
# /etc/rc.d/init.d/atalk startで、netatalkが立ち上がります。
Mac で、ファイルシェアリングができる事を確認しておいて下さい。 うまく行けば、YourHostName という名前のホストが認識されて、 Linux box のuser name とpassword で共有が開始できるはずです。
2) Mac のROM とHDD のイメージファイルを作る
上記の資料を参考にして、ROM のイメージファイルを作って下さい。
HDD のイメージファイルは、Mac の"Disc Copy" ユーティリティを使っ て作ります。これは、BasiliskII にとっては普通のHDD に見える訳 で、この大きさがHDD の容量になり、この中には当然起動できる MacOS のシステムフォルダが無ければなりません。
私のように、小さなHDD をさらにまたパーティションに分けて使って いたケチな人はラッキーです:-) そのボリューム(パーティション)を そのまま Disc Copy でイメージファイルにすれば良いのですから ("ディスクのイメージを作成"メニューを使う)。 ここでのミソは、イメージファイルを作る先を、netatalk で共有し ているLinux box のHDD にする事です。
system folder を含むボリュームが 1 GB を越えているような人は、 自業自得で:-)、もうちょっとだけ、手間がかかります。選択肢は二 つ有って
- 適当な大き さの仮想ディスクを作って、それにMac OS をインストールする
- フォルダを一つ作り、その中へSytem File やら、その他のア プリケーションなどをそれにコピーする事によって現在のMac の 環境のサブセットをつくり、そのフォルダ全体をDisc Copy でイ メージファイルにする。
3) イメージファイルをLinux box へ転送
こうやって作ったファイルを、Netatalk を介して、Linux box へ転 送しておきます(要するに、Mac 側からは、そのファイルを YourHostName アイコンに drag、Linux box では、netatalk direcotry から copy commandで所望のディレクトリにコピー。) Linux box での置き場所はどこでも OK ですが、 /usr/local を/ と別のパーティションにしている方は、/usr/local の下のどこかの方が良いでしょう。(このイメージファイル達は、 "/" 以下のファイルより長生きの筈ですから。)
4) BasiliskII をインストール
上記の rpm パッケージを使ってインストールします。
BasiliskII command で、BasiliskII の設定ウィンドウが立ち上がり ます。ここでの必須の設定項目は
- Volumes: 先程置いた、ディスクイメージの場所をフルパスで 指定します
- Grahic/Sound: フルスクリーンモードがお勧めですが、最初に 立ち上げる時は、640x460 くらいの Window で様子を見る方が安 心かも。同じ理由でサウンドも off にしておきましょう。
- Serial/Network: Ethernet interface はまだ空欄にしておいた方 がトラブルが少ないかと。
- Memory/Misc: メモリは元のMac のメモリと同程度の容量にし ておけば問題無いでしょう。Mac Model ID とCPU type も元の Mac に合わせます。私は MacOS 8.1 Quadra 700 でしたので Quadra 900, 68040 を選びました。
一応動く事を確認したら、full screen モードにしてみます。
5) ネットワークの設定 (注意: 現在私は MacOS 上でネットワークを使っていません。)
Basilisk 上の Mac もネットワークにつなげる事ができます。私は、現 在次のようにしています。
- Host Machine: Ethertap を使い、自機の上のnetatalk にアク セスする。(上記の神山さんの本には、「単純にはBasiliskと同 時に使う 事はできません」とありますが、これは可能です。但し、 Ethertap に若干の修正が必要です。)
- Mobile Machine (Think Pad): Sheep_net を使う。
5-1) Host Machine でEthertap を使う
Host machine の上で、Linux source tree の drivers/net/ethertap.c を- "#define CONFIG_ETHERTAP_MC 1"の一行を、一連の#include の行の後に置く
- ethertap_probe()関数の中の、"dev->flags|=IFF_NOARP;"の行 をコメントアウトする
# ifconfig tap0 192.168.1.2 arpとして、tap0 インターフェースを立ち上げます。
続いて、Basilisk を立ち上げ、control panel の のSerial/Netork でEthernet interface をtap0として、Start です。Mac OSが立ち あがったら、まず、TCP/IP control panel で自機のIP address を tap0 のIP addressと同じドメインに設定(192.168.1.7等)さらに、 router address をtap0 のIP address に設定します。
以上で設定は終り。chooser (セレクタ)で shared file を click す ると、YourHostName が候補として見える筈です。
5-2) Mobile Machine で sheep_net を使う
Mobile machine の seep_net はもっと簡単ですが、実はrpm で install しただけでは、これは使えません。BasiliskII のソースを 取って来て、 sheep_net.o というモジュールをコンパイルしてインストールする必 要が有ります。(詳細は、上記神山さんの本の183 ページをごらん下 さい。ガッツが有れば、BasiliskII のソースに付いてくる INSTALL ファイルを読むだけでも、充分にインストールは可能ですが。)
以上で、Linux box 上の Netatalk に、Linux box 自身の Basilisk と、 Mobile machine 上の Basilisk 両方からアクセスできるようになりまし た。これは便利です。
現状
前に本ページをアップデートした時はいろいろな問題をレポートしましたが、 現在は、非常に安定に使えています。実際、この一箇月程、常に BasiliskII を起動しておき、時折画面に呼び出して使う、 という使い方をしていますが、一度もクラッシュを経験していません。但し
- Full screen mode で使う。
- Sound はoff にしておく。
- Network は使わない(AppleTalk は off にしておく)。
- Basilisk II を立ち上げる時は、MODEM card を抜いておく。 (一旦立ち上げてしまえば、MODEM (PPXP) とBasilikII を同時に使っても 大丈夫)
などの条件で使っています。
Win2k on VMware (on Linux)
能書き
Linux の上で走るVMware は既にかなりポピュラーになっていますが、ここ では、ThinkPad にプレインストールされた Windows2000 をVMware on Linux で走らせてみた結果を報告します。
プレインストールされた Win2k を Linux とのデュアルブートにできる事は解っていましたが、その Win2k を VMware on Linux から走らせる事ができるかどうかについては自信が有りませんでした。 で、こわごわやってみたのですが、なんとか成功しました。
なんでこんな面倒な事にこだわったか、ですか? Win2k を改めて買うのがどうしても嫌だったんです:-) というのは冗談(でもなかば本気)ですが、 dual boot できるようにしておくと、Linux ではまだサポートが不十分な機能(例えば USB CD-ROM やディジタル・カメラを接続するとか)が確保できるから、です。
さて、おおまかな手順と、それぞれのポイントは
- Win2k を(ちょっとだけ)Hack する。(Non-ACPI HALにする。) (警告:このステップだけは慎重に。失敗すると、Windows が 立ちあがらなくなる可能性が有ります。) とはいうものの、あっさりリカバリできるし、 Linux から file をさわれるし、何とかなるので、実際はそれ程怖がる 必要はない。(悪魔のささやき)
- VMware をインストールする。
- Linux 上のvmware-config.pl で VMware を configure する。 (全ての質問にreturn のみで答 える)
- 起動するシェルの locale を英語にする。
- VMware を立ち上げ、Wizard で設定する。 (Disk type setting で Exisiting physical disk を選ぶ)
- Virtual machine を起動 Lilo で Windows を、Windows の selector では、 VIRTUAL を選ぶ。(途中でたくさん出る警告は無視。)
- VMware tools は install しない。
Win2k の変更
Win2k は、ACPI (Advanced Configuration and Power Management) をサ ポートしてるんだとか。(どういうものなのか、何が嬉しいのか、私に聞 かないで下さい。)で、 ThinkPad 240X はこの機能を持っているので、その上にプリインストール されている Win2k もこの機能を ON にしてあります。
しかし、VMware が供給しているvirtual machine は、まだこの機能を実 装していず、このまま Win2k を立ち上げると途中でクラッシュしてしま います。
そこで、Win2k が non-ACPI で動くようにするわけですが、次の手順でや りました。
- Win2k のインストール disk を持っている友人から、 HAL.DL_ と NTOSKRNL.EX_ というファイルを二つもらってくる。
- TP 上で、Win2k をネイティヴに(MVware の上でなく)立ちあげ、 command prompt を開く。
- 上のファイルが、例えば A: ドライブにあるとして
expand A:\HAL.DL_ C:\WINNT\SYSTEM32\VMHAL.DLL expand A:\NTOSKRNL.EX_ C:\WINNT\SYSTEM32\VMOSKRNL.EXE
とやって、展開します。 - command prompt で
C:\> attrib boot.ini -s -h -r
とやって、boot.ini を読めるようにし、その最後にmulti(0)disk(0)rdisk(0)partition(1)\WINNT="VIRTUAL" /fastdetect /KERNEL=VMOSKRNL.EXE /HAL=VMHAL.DLL
の行(実際には一行にする)を付け加えます。 -
boot.ini の属性をもとにもどします。
C:\> attrib boot.ini +s +h +r
VMware のインストールとConfigure
VMware のインストールは簡単で、rpm package を rpm コマンドを使って インストールするだけです。
一方その後のセットアップはそれ程簡単ではありません。というか、この 部分だけとっても素気ない Perl スクリプト (vmware-config.pl)で他の 部分と比較して とても見通しが悪い。(英語だから、という事もあるの かも知れません。)
でも心配御無用。秘策があります(ってそんな大層なものでもないですが)。 要するに「デフォルトの答が用意されている質問には、すべてそのままリ ターンキーを押す(デフォルトの答を選ぶ)」です。簡単ですね。でも、 これで OK、ちゃんと動きます。
もしこれで問題が出るとしたら、むしろ Linux の環境の方で、
- C の開発環境が整っていない:C のソースをコンパイルできる環境を
インストールして下さい。(これはちょっと大変かも。)
- kernel headers がインストールされていない:rpm でinstall する
のが簡単。もし現行の kernel が御自分でコンパイルされたものなら、
下記参照。
- kernel headers が現行のカーネルと正しく合っていない:もし /usr/src/linux が sym link の場合は、お使いのカーネルと合っ たバージョンのソースを指しているかどうか確認して下さい。
VMware の設定
さていよいよ、VMware を立ち上げるのですが、その前に…。 ロケールに関する環境変数を必ず英語にしておいて下さい。 (Vine はデフォルトで日本語になっています。)すなわち、
LANG="ja_JP.eucJP" LC_ALL="ja_JP.eucJP" LANGUAGE="ja"となっているのを
LANG= LC_ALL= LANGUAGE=とすれば OK です。(Bash や zsh ならば、この通り type する。)
次にsuper user になって、vmware を起動します。起動したら、動作モー ドを聞いてきますから、wizard を選択。以下、各パネルでの設定です。
- Welcome: 読んで(読まなくても可:-)Next へ
- Virtual Machinery Directory: デフォルトのままでOKでしょ う。ただ、設定ファイルがどこへ置かれるのか覚えておいた方が良いで すね。(Next へ。以下同じ)
- Disk Type Setting: ここからが肝心。ここでは、 "Exisiting physical disk" を選びます。すると、/dev/hda 以下がず らずらと表示されるはず。
- Rawdisk Permission Setting: 普通にFips を使っていると、 /dev/hda1 が "Win95 FAT32 LBA" となっていると思います。これを、 Read/Write にします。(後は、Read Only のまま。)
- CD-ROM Device Setting: 何故かCD-ROM が detect されてい る、と言われますが、糠喜びしてはいけません(私の事です)。どうせ 使えないので、ここは、disabled にして、次へ。
- Floppy Device Setting: Floppy は使えるので、enabled に しておきます。デバイスはデフォルトのままで OK。"start with the floppy connected" はチェックを外しておきます。
- Networking Setting: 最初この画面を見ると、何の事やらわ からなくてちょっとパニックになりますが、ここはとりあえず、最後の "Bridge and host-only networking" を選んでおきます。
- Confirmation: で、Done を選べば現在の設定が保存されま す。
Windows 2000 on VMware の起動
とりあえずの設定は以上で完了です。ここで、menu bar の左端の Power On ボタンを click すると、VMware のvirtual machine が起動されます。いろんな警告や表示が出ますが、無視して OK としてやれば良いでしょう。 RTC にアクセスできない、という警告が出ますが、Win2k でちゃんと時刻 が表示されるので、これも無視。
Virtual machine は、自前の BIOS を持っていて、その起動画面も出て来 ます。ちょっと感動もの。でも、ここからはタイミングが大事、しっかり 画面を見ていて下さい。
最初に、Liloの選択画面が出ます。デフォルトでは Linux になっている と思いますが、カーソルキーで Win2k のラベルを選択 します。Linux を選んでしまうと、律義にその Linux を立ち上げようと します。/dev/hda2 を read only にしてあれば error で止まりますが、 そうでなければ…。(/dev/hda2 は、read only (デフォルトのまま)に しておくのが得策かと。)
次に、Win2k のboot selector 画面になりますので、先に設定した Virtual の側の OS を選びます。
ここからは時間もかかりますし、タイミングを要求される操作もないので、 コーヒーでも飲みながら、Win2k が立ち上るのを待ちます(って、そんな にはかからないですが)。 無事立ち上がったでしょうか。
立ち上がったなら、menu button の full screen を click して、full screen mode にします。ここからは、普通の Windows 2000 と同じように 使えます。full screen mode を抜けるには ctrl-alt-esc です。
Win2kを終了するには、通常通り、「スタート」メニューから(いつも思 うんですが、これちょっと「お馬鹿」ですよね:-) 「シャットダウン」を 選び、電源を落せる状態にしてから、menu button の Power off を click します。
再起動の際にも、警告が出ますが、無視して OK。警告を出さないように もできますが、そうそう起動する訳でもないので、私はそのままにしてい ます。
VMware tools のインストール
windows mode になっている状態で、VMware の"Setting" menu から、 VMware tools install を選んで、VMware tools を install します。で も、私は一度も使った事がないので、普通は必要ないでしょう。特に dual boot したいなら(ネイティヴでも使いたいなら) SVGA driver をインストールしてはいけ ません!!
英語キーボードと置き換える
つまらないこだわりですが、私はどうしても、日本語配列キーボード に馴染めません。で、ThinkPad にも英語キーボードを載せてみました。
英語キーボードにすると、 何だか精悍な感じがする。と思うんですが、 どんなもんでしょうか。
英語キーボードを入手する
IBMは、英語キーボードを売ってくれますが、ただ、残念ながら、 最初からそういうキーボードが載った ThinkPad を売ってはくれません。 (勿論米国 IBM が売る ThinkPad は、英語キーボードが付いていますが、 これは日本へは発送してもらえません。)従ってどうしても、後付けす るしかない事になります。
英語キーボードは日本 IBM からも買えますが、私が聞いた時は、納期二 箇月、値段は一万円以上という事でした。しかし米国在住の友人に US IBM に聞いてもらったら US IBM からだと、2 週間と5000円との事。 無理をお願いして、買ってもらいました。
キー配列を変える
ところが、入手してみてびっくり。A の横が Tab になっています。相 当悩みましたが、
- やっぱり、Aの隣りはControl(何より大事:-)。
/usr/lib/kbd/keymap/qwerty/us.kmap.gz に
# keycode 15 = TAB TAB keycode 15 = Control
のような変更を加え、これを、/etc/sysconfig/keyboard が指す ようにします。 すなわち、KEYBOARDTYPE="pc" KEYTABLE="us"
と変更する。
- Tab key がどうしても必要なのは、Sawfish のActive Window の切り替えのみ(のような気がする)。では、Sawfishの設定の 方を切り換えよう。(Alt-` で切り換えるようにした。Sawfish 設定のショートカットで、M-' Cycle Window の行を加えた。)
- 他のTabが必要な場面では、Ctrl-I で殆ど問題なく代用でき る。
Digital Camera を Linux on ThinkPad に繋ぐ
能書き
ちょっと前に Olympus の Camedia C-3040ZOOM を手に入れました。 一番オーソドックスかな、 と思えたのと、何より PC とつなぐのに特別な SW が必要なく、 単にケーブルをつなげば USB のマス・ストーレジとして見えてしまう、という点に魅かれたのでした。
買ったその日に iMac (MacOS 9.1) でテスト。何なくつながり、動画の再生まで OK でした。さすが!(何が?って、勿論 MacOS です:-)
こちら(今、Sweden の Lund というところに滞在してます)に来て、 ThinkPad につないでみました。Win2k だと、繋ぐだけ(データの転送)は すぐに OK でした。でも、 動画の再生は「圧縮方法が違う」とかで蹴られてしまいます。まあ、これも QuickTime か何かをダウンロードしてくれば OK でしょう。 (あんまり熱意なし;-p)
と、ここまでは比較的順調というか思惑どおり。
早速今住んでるアパートの写真を撮って家族に送りました。
Linux の設定
IBM 純正のUSB CD-ROM ドライブを、Linux から見ようとして結構はまって しまったので(で、まだできてません(^^;)、カメラを、 と思った時には既にかなりいじまわした後でした。 しかし、Vine-2.1 から変更した個所のうち、関係ありそうなの はkernel を VineSeed の 2.2.18-0vl13 にアップデートしたことくらいでしょうか。 (これが必須かどうかも未確認)。
途中経過はおいておいて、結論だけ書くと、
- /etc/sysconfig/usb の中身を usb=uhci とする。(デフォルトのまま
でも OK でしょうが、こうしておくと立ち上時のエラーメッセージを
減らせませす。)
- /etc/rc.d/rc.sysinit の usb 関連部分を、
# Enabling USB device [ "$usb" = "" -a -f /etc/sysconfig/usb ] && . /etc/sysconfig/usb if [ ! "$usb" = "off" ] ; then [ ! "$usb" = "ohci" ] && \ # qaction "Loading UHCI usb host-interface module" insmod usb-uhci qaction "Loading UHCI usb host-interface module" modprobe usb-uhci [ ! "$usb" = "uhci" ] && \ qaction "Loading OHCI usb host-interface module" insmod usb-ohci # Newly added qaction "Loading usb-storage module" insmod usb-storage # Mount /proc/bus/usb qaction "Mounting usbdevfs filesystem" mount -n -t usbdevfs \ /proc/bus/usb /proc/bus/usb fi
のように変更します。usb-uhci の insmod を modprobe に変更し insmod usb-storage を付け加えました。また if のかかり具合を変えて あります。 - 例えば、/mnt/camera というディレクトリを作る
- /etc/fstab に、
/dev/sda1 /mnt/camera vfat noauto,user 0 0
という行を付け加える(ここで auto としても自動ではマウントしてく れませんし、Linux の起動時 warning が出ます。)
注意!注意! rc.sysinit を編集する時は、うっかり他の部分を壊したり、パーミッ ションやオーナを変えたりしないように気をつけましょう。(こんな殊勝な事 を書くのは怪しいって?はい正解、私、これをやって Linux が立ち上がらな くなり、青くなっておりました。)
カメラを繋ぐ
こうしておいて、カメラを繋ぎ、カメラのモードスィッチを off から[⇒] (再生)にしておいて、
% mount /mnt/cameraとやると、 カメラのスマートメ ディアの内容が /mnt/camera の下にマウントされます。後は、普通のファ イルと全く同様に扱えます。
内蔵モデムを使う (改訂版)
能書き
元の 「内蔵モデムを使う」 で、ThinkPad の内蔵モデムをドライバ ltmodem-5.78e をインストールして使ってみた結果を書きました。概略、 何とか使えるものの、内蔵モデムを使った後 PCM-CIA MODEM を挿すとシステムがハングする、といったところです。
また、その後 6.00a にアップグレードしてみたら、内蔵 MODEM を起動しようとした時点でシステムがハング。それやこれやで、 安定性が何より重要な出張先では、自然使い慣れた PCM-CIA MODEM に頼る、 という具合になっていました。
6.00a でのハングがあまりに酷かったので、(羹に懲りて)しばらくは 内蔵モデムの事は忘れていたのですが、まだ β とは言え、6.00b14 までリビジョンが上がったので、もうそろそろ良いかな、と試してみました。
結果は OK。単独でちゃんと動くのは勿論、PCM-CIA カードを挿してもハングするという事は無くなっています。この事から、 かなり信頼性・安定性が上ってるように見えるので、もう今後は PCM-CIA カードを持ち歩かなくても良いかな、と思っています。
訂正(2/24/02): PCM-CIA カードの MODEM を挿しても、WLAN card を挿しても OK だったのに、大部経って、Air-H" カードを挿したら、一回目の「ピッ」 でハングしてしまいました。旧版のドライバで MODEM カードを挿した時に起きたのと同じ現象です。 かなりタチが悪いハングで、sleep を含むキー入力は一切受け付けなくなり、 他からのログインもできず、その上、再起動後、X が正常に表示されない、その後の起動時今度は、USB UHCI ドライバの起動中にハング、と怖い事になりました。 (Win2k を一旦立ち上げたら、その後は無事動いています。)
これがもし、MODEM カードだけで起きるなら、 「内蔵モデム一本で行く」ことにすれば良いのですが、Air-H" は今後も使い続けるので、そうは行きません。当面、 内蔵モデムの使用は控える事にします。
システムの条件
- H/W: ThinkPad 240X (2609-62J)
- OS: Vine-2.1
- PPP: PPxP-0.99120923 (interface tap0)
インストール
- ソース(
ltmodem-6.00b14.tar.gz) を取って決ます。
- 適当なディレクトリに展開します。(もう一つ同じ名前の tar.gz ファ
イルができますが、これはそのままにしておきます。)
- 展開したディレクトリに移動して、
$ ./build_module
とするとモジュールができるので、 - さらに
$ sudo ./ltinst2
としてインストール。 - また、さらに
$ sudo ./autoload
として、デバイスファイルの作成、/etc/module.conf の変更等を行ないます。 (autoload が自動でやってくれます。) - この後、PPxP の .ppxp/conf/your_conf を例えば
source qdial set MODE active set AUTH.PASSWD so-net set LOG.FILE so-net.wired set LINE /dev/modem set DIAL.LIST 2204701 set AUTH.PROTO PAP CHAP/MD5 CHAP/MS set IP.VJ yes set IP.RESOLV yes
のように書きます。これは、So-net の川崎に接続する場合の例ですが、 PCM-CIA MODEM の場合と全く同じで OK です。
これでおしまい。簡単ですね。
使ってみる
こうしておいて、
$ ppxp your_confとやると、内蔵モデムを通して、PPP 接続が完成できます。
自宅の電話線を使ったので、それ程徹底した確認はできていませんが、 安定性、転送速度とも、PCM-CIA カードと遜色ないと思われます。
PHS ModemをThinkPadに
能書き
スウェーデン暮しも悪くなかったのですが、たまには不便な事もありました。 そのうちの一つが、PHS モデムが使えなかった事。どこに居ても (ThinkPad さえ手許にあれば) インターネットや自宅のホストにアクセスできる、 というのは結構嬉しい事なんですね。 無くなってみて初めて有難味が分る。
スウェーデンに赴任する前は、DDI Pocket の H" に加入して、 SII の MC-P200 というカードを使っていました。これ、 とても丈夫にできていて、PC に挿しっぱなしでも不安が無い程。 接続断がうまくいかない事が有る、という意外は、満足していました。 (意外にも、カバーする地域は DoCoMo Personal より広いらしい。So-net の PIAFS のアクセスポイントは、サイトがおかしくなっていて 確認できませんでした。)
さて帰国して、一番に考えたのは、また MC-P200 を買って、 H" に復帰する事。Linux 用のスクリプトが残っているし、 なにより、H/W の価格が 980 円!とびついたのですが、 残念ながら在庫が有りませんでした。「取り寄せできるかも」 と言ってくれたけど、何しろこちらは帰省の途上。そんなには待てません。 (四国に帰省してからも買おうとしたのですが、今度は 「住所が四国じゃないとダメ」と断られた。)
そうこうしているうちに、うちの奥さんが、 日通工とかいう会社で、H" 加入のキャンペーンをやってるのを見つけて、FCタイプの C@ard-H"64 Petit を注文してくれました。 (H/W、手数料ともタダ。)
それがやっと昨日届きました。 PCM-CIA アダプタに装着したところ、および ThinkPad に挿したところ です。(うちのチビさんに撮ってもらったので、 ピントが甘いのは御容赦。)
PPxP の設定
PPXP での、modem file とconf file を示します。
#~/.ppxp/modem/piafs64-21 include standard InitialTimeout 3000 Name "CFE-01" MaxDTESpeed 115200 Initialize "AT&FH0@O42S7=255S0=0&D2E1" #HangUp "\5d+++\100oATH0" HangUp "ATH0" #PiafsDial "AT&K4D\p" PiafsDial "AT&K3D\p"
#~/.ppxp/conf/tokyo2 source qdial set MODE active set AUTH.PASSWD so-net set LOG.FILE so-net.log set LINE /dev/modem #set DIAL.TYPE Tone # will call PiafsDial in piafs64-21 modem description set DIAL.TYPE Piafs set DIAL.LIST 03-5793-9020/5 set AUTH.PROTO PAP set SERIAL.MODEM piafs64-21 set IDLE.INIT 0 set IP.VJ yes set IP.RESOLV yesMC-P200 から変ったのは、modem file の中の PiafsDial と HangUp の二行 だけです。
これで、カードを PCM-CIA スロットに挿すと自動で認識してくれ、 ppxp tokyo2 とやると、So-net のPIAFS 東京第二 に継がります。( ppxp> のプロンプトで、c と打つ必要はあります。)
使ってみて
いきおい、MC-P200 との比較になりますが、
(長所)
- 電波強度と回線の状態表示が別のLEDになった。
- 接続断が確実。
- PDAにも挿せる(まだ確認してませんが)。
- カードが電波を出すとThinkPad のスピーカに雑音が乗る事がある。 (ThinkPad はスピーカが PCM-CIA スロットの直上にあるので、 特にそうなのかも知れない。)
- MN-128 の RAS に接続できない(No Carrier error になる。)
- ちょっと「やわ」かな?
結論
もうすぐ出ると予想される Air-H" の CF サイズのカードが気になるところですが、肝心の So-net さんは対応してくれそうもないので、とりあえずはこれで「正解」だったかな と思っています。
128/1,788,550 Taka Fukuda Last modified: Sun Apr 3 13:01:28 JST 2005