BOCA-HOWTO _Installing a Boca 16-port serial card (Boca 2016) with Linux_ <author>David H Dennis, <tt>david@freelink.net</tt> <date>1 August 1997 <trans>高橋 聡 <tt>hisai@din.or.jp</tt> <tdate>14 Mar 1999 <abstract> <!-- This HOWTO is being maintained by David H Dennis, david@freelink.net, to try and help any other individuals who may have acquired a BocaBoard, stared at it and found out that it didn't seem to do anything. --> この HOWTO は David H Dennis, david@freelink.net が維持、管理しています。 このドキュメントは BocaBoard を動作させようと四苦八苦している方々にとって 役立つと思います。 </abstract> <p> <!-- A very high percentage of those interested in the BocaBoard are also interested in becoming Internet Service Providers (ISPs). If you are one of them, please feel free to drop by my web site, http://www.amazing.com , and check out my Inet-Access FAQ, over 9,000 lines detailing how to hook up to the net and how to make your Internet provider business succeed in these most interesting times. --> BocaBoard に高い関心をもっている方々の大多数は、Internet Service Providers (ISP) を自分で運営することにも興味を持っています。あなたがその一人なら、 私の web サイト <url url="http://www.amazing.com"> で Inet-Access FAQ を ご覧ください。 そこにはネットワークへの接続方法と、ISP ビジネスを成功へと導く方法について 述べた 9,000行を越える文章があります。 <!-- Kevin Traas has issued a helpful update to this FAQ that contains a major correction to the information on mknod. He is also standing in as a new source for cables for the device. --> Kevin Traas 氏からこの FAQ のアップデート情報をいただきました。主な訂正内容 は、mknod についての情報です。またこのデバイス用のケーブルについての、 新しい情報も提供してくれています。 <!-- W a r n i n g ! --> <sect>警告! <p> <!-- _Multi-Port serial cards, such as the BocaBoard, are all but dead._ If you are in business as an Internet Service Provider (ISP), you will _not_ want to use any of these devices, because the new 56k modem standards will not support them. Instead, you need digital modem/terminal server combinations such as the Livingston PM3, Cisco 5200 or US Robotics Total Control. Otherwise, you simply won't be competitive in major markets. Users want high speeds; you won't be able to provide them with a BocaBoard or other multi-port serial card. --> <tt>BocaBoard のようなマルチポートシリアルカードは死に体です。</tt> Internet Service Provider (ISP)を行っておられるなら、もうこのようなデバイス を利用しようと思わないでしょう。それは新しい 56k モデムの規格は、もうこれら のデバイスをサポートしないからです。そのかわりに Livingston PM3, Cisco 5200 や US Robotics Total Control といったデジタル モデム/ターミナル サーバが必要と なります。 そのような機材を採用しなければ、市場競争に負けてしまいます。ユーザは高速なサー ビスを望んでいますが、BocaBoard や他のマルチポートシリアルカードではそのサー ビスを提供できません。 <p> <!-- _Even as a multi-port serial card, the BocaBoard is hopelessly obsolete._ The overwhelming majority of people who want to buy a BocaBoard would be better off getting a accelerated card such as the Cyclades or Rocketport. (When last I looked, Rocketport was a better board, but Cyclades had the most stable kernel support). Accelerated cards use less of the CPU of your machine, and so you can support more ports per computer with less performance degradation. --> <tt>マルチポートシリアルカードとしてみても BocaBoard は全く時代遅れの代物です。 </tt> BocaBoard を購入しようとする大多数の方々は、Cyclades もしくは Rocketport のようなアクセラレータカードを手に入れた方が幸せになります。(最近見た時は Rocketport の方が良さそうでしたが、Cyclades は非常に安定したカーネルサ ポートがあります)。 アクセラレータカードは CPU に負荷をかけないので、コンピュータの性能をほとんど 下げることなく多くのポートを利用することができます。 <p> <!-- That being said, perhaps you own one of these devices and want to make use of it, or perhaps you are planning an ISP based on a low-cost business model that basically means the use of cast-off equipment from others. In that case, the information in this document should be useful for you. But again, I repeat: _The person who buys a new BocaBoard at this point probably needs a few more clues before starting his ISP or other venture._ --> ですからこれらのデバイスを所有しており、それを利用したいかもしくは他のあまり ものを使ってコストがかからない ISP を運営しようと考えている場合にこのドキュ メントは役立つはずです。繰り返し述べますが、この時点で新しい BocaBoard を 購入する方は、ISP や他のビジネスを始める前に、もう少し調査された方が良いと 思います。 <p> <!-- The information here was obtained by begging many people for help. Unfortunately, I have forgotten their names due to a pressing need for disk space on my Netcom account. :-( Nonetheless, I thank them very much for their assistance when things looked blackest. This is my way of paying some of that back. --> このドキュメントの情報は、数多くの方々に求めた助けの結果得られたものです。残念なこと にそれらの方々のお名前を忘れてしまいました。Netcom 上の私のアカウントがある ディスク資源を圧縮する必要があったものですから。:-( お名前は忘れてしまいました が、うまくいかない時に得られた彼らの援助には深く感謝しています)。 <p> <!-- At the end of this document, there is additional information on a special $ 80 piece of equipment you will need in addition to your BocaBoard, and some comments on Boca customer service and availability. --> このドキュメントの最後に、BocaBoard を拡張するのに必要な 80 ドルの機材について の情報とその効果、 Boca のカスタマーサービスからのコメントを載せておきます。 <p> <!-- WHAT DO YOU NEED TO DO TO INSTALL A BOCABOARD? In outline, the following: 1. The board itself and its manuals 2. Your Linux source tree 3. Patience Here's the basic procedure: --> <sect>BocaBoard をインストールするには何が必要か。 <p> 必要なものは、 <p> <enum> <item> ボードとそのマニュアル <item> Linux のソースツリー <item> 忍耐 </enum> です。 <p> <sect>基本的な手続き <p> <!-- % Recompiling The Kernel --> <sect1>カーネルの再構築 <p> <!-- The first step is to change your kernel so that it knows you have a BocaBoard. Unfortunately, this is not a part of the configure script; you must go in and modify the source by hand. This consists of putting the following line at the beginning of linux/drivers/char/serial.c: --> まず BocaBoard を認識させるためにカーネルを修正します。残念なことに再構築の の時に使用する configure スクリプトを実行しても認識させることができないので、 ソースを直接変更しなければなりません。 次の行を <tt>linux/drivers/char/serial.c</tt> に追加します。 <tscreen><verb> #define CONFIG_BOCA 1 </verb></tscreen> <!-- Well, it used to work that way. As of some kernel version or another, this has changed. To make it work with newer kernels, search for the "BOCA_FLAGS" #define in serial.c, and change the value to --> 以前はこれでよかったのですが、あるバージョンのカーネルからはこの部分は変わっ てしまいました。新しいカーネルでも動作させるためには、serial.c の中で "BOCA_FLAGS" を #define しているところを捜してください。そしてその値を次の ように変更してください。 <tscreen><verb> #define BOCA_FLAGS ASYNC_BOOT_AUTOCONF </verb></tscreen> <!-- You can then recompile your kernel using the instructions included with the source tree. I recommend running the new kernel from a floppy until you're very sure it works; otherwise, the procedure for getting back your system is mind-numbing at best. --> これでこの定義をソースに反映させて再構築ができるようになりました。 構築が終ったら、そのカーネルでうまく動作することを確認できるまで、新しい カーネルはフロッピーから読み込むようにする事をお勧めします。さもないとシス テムを再構築前の状態に戻すのに非常に苦労する事になります。 <!-- At least to me, digging into my kernel and re-compiling it was quite a stressful venture! Relax; as long as you copy it to a floppy, your new kernel is completely harmless. It won't bite! Honest! :-) --> 私自身も、カーネルの再構築の時はプレッシャーを感じます。リラックスしま しょう!! フロッピーディスクにコピーするだけなら、新しいカーネルは人畜 無害ですから。 <p> <!-- Installing The Card --> <sect1>カードをインストールする <p> <!-- The default address on both the card and the Linux software for the configuration is 0x100; leave that alone. Set the IRQ on the card to Linux' default of 12. If you want to change the IRQ, you will have to search for "BOCA_FLAGS" in the file. You will find lines like this: --> カードと Linux のデフォルトのアドレス設定は、0x100 です。これはこのままにして おきます。カードの IRQ を Linux のデフォルト値の 12 にします。もし IRQ を変えたいなら "BOCA_FLAGS" を設定ファイルから捜します。それは次のような感じ になります。 <tscreen><verb> { BASE_BAUD, 0x100, 12, BOCA_FLAGS }, /* ttyS16 */ { BASE_BAUD, 0x108, 12, BOCA_FLAGS }, /* ttyS17 */ ... </verb></tscreen> <!-- You can change the IRQ from 12 by changing the 12 to any valid IRQ. I have not tried this, however. --> 12 を好きな(かつ有効な)IRQ に変更することによって、IRQ を 12 から 変更することができます。私はまだやってみたことはありませんが。 <p> <!-- Telling Linux About Your Card --> <sect1>Linux にカードを認識させる <p> <!-- Once you have compiled your new kernel, switch off the machine and install the card. Then, turn your machine on with the new kernel floppy in the drive. If the installation succeeded, you should see all sorts of strange stuff about 16550 UARTS being connected to ttyS16-ttyS32. The system will then come up normally. --> カーネルを構築したら、電源を落してカードをインストールしましょう。インストール したらフロッピーディスクにある新しいカーネルでブートします。インストール がうまくいっていれば、ttyS16 〜 ttyS32 に接続されている 16550 UARTS チップ を確認できるはずです。これでシステムは正常に立ち上がります。 <p> <!-- The odds are pretty good that you don't actually have entries in /dev for those lines. Remember that they start at 16 and go on to 32. If you look at the source code, you'll see why; support for other cards is included in the code for lower line numbers. Creating them is pretty simple, once you know the trick. To create entries for dial-out lines (where you call out), type: --> おそらく、/dev にはまだこれらの回線用のデバイスは無いと思います。デバイス番号 が 16 から 32 までであることをお忘れなきように。ソースコードを見れば理由がわ かります。 他のカードのサポートのためにこれより小さい番号が使用されているのです。 やり方さえわかれば、これらのデバイスをつくることは簡単です。 発信のための定義の入力はこのようになります。 <tscreen><verb> mknod /dev/cuaxx c 4 N </verb></tscreen> 訳註: 4 はデバイスファイルのメジャー番号、n はマイナー番号を表します。 <p> <!-- n = 64 + <line number%gt; . The C indicates that this is a character mode device. For example, to create the first couple of lines on your board, type: --> n = 64 + <回線番号>。"C" はこのデバイスがキャラクタ型であることを意味 します。 例えば、初めの 2 回線を発信用に定義するには次のように入力します。 <tscreen><verb> mknod /dev/cua16 c 4 80 mknod /dev/cua17 c 4 81 ... </verb></tscreen> <!-- To create dial-in lines (where users call you), type --> 着信用の定義は次のようにします。 <tscreen><verb> mknod /dev/ttySxx c 5 n </verb></tscreen> <!-- % where N is the same as described above. For example, to create the % first couple of lines on your BocaBoard, type: --> "N" は上記と同じように定義します。例えば、初めの 2 回線を着信用に定義する には次のようになります。 <tscreen><verb> mknod /dev/ttyS16 c 5 80 mknod /dev/ttyS17 c 5 81 ... </verb></tscreen> <!-- It is recommended that you create both dial in and dial out lines for each port, so that you have maximum flexibility. It turns out to be very handy to call another line of your system by activating one of your lines as dial-out and calling your main number. I've done this already and it works great! It's most useful for checking how things look "on the other side of the fence"; I used it to find out how my software looked at 2400bps. (It's slower than the Linux console. A LOT slower, in fact). --> それぞれのポートを発着信両方で利用できるように作成すると、とても柔軟な環境に なります。こうすることによって、複数ある回線の一つを発信用にして自分の電話番 号に発信すれば、自分の別の回線を呼び出すことができます。 私はすでにそのようにしており、とてもうまくいっています。これは、接続相手側が どのような状態かをチェックする場合にとても役に立ちます。私の場合、この方法で 自分のアプリケーションが、2400bps で接続されていることがわかりました (これは Linux のコンソールより遅い速度です。実際遅すぎます)。 <p> <!-- Once you've finished with this, you can add entries to your inittab file in the same way as you would for a standard ttySx entry, and the modems or terminals should come up! --> 上記の設定を終えたら、標準の ttySx の設定と同じ方法で inittab ファイルに設定 を追加できます。そうすればモデムやターミナルが使えるようになっているはずです。 <p> <!-- Possible Problems --> <sect1>既知の問題点 <p> <!-- If you have problems, you may find that this is due to conflicts between your Boca board and systems with dual IDE controllers. According to Kevin Traas: --> 問題が起こったら、それは Boca ボードとデュアル IDE コントローラの衝突による ものかもしれません。 Kevin Traas 氏から寄せられた情報を次に挙げておきます。 <quote> <!-- Is the kernel recognising the board? i.e. Right at the start of the boot process, all sixteen ports should be listed onscreen with ttySxx, I/O Port, and IRQ identified. Also, `setserial -bg ttyS*` should list *every* port in your system. --> カーネルはボードを認識していますか? 認識していればブート中に 16 個全ての ポートの ttySxx、I/Oポート、IRQが表示されるはずです。あわせて、 <tt>setserial -bg ttyS*</tt>を実行すると、システムの*<bf>すべての</bf>* ポートが表示されるはずです。 <p> 訳註: 正しくはsetserial -bg /dev/ttyS* です。 <p> <!-- By default, the BB2016 is configured to use IO Ports between 0100 and 017f. This creates problems on systems with two IDE controllers. The second controller, ide1, uses 0170-0177 which falls into this range. Big problems!!! --> デフォルトでは BB2016 で使用する IOポートは 0100 〜 017f になっています。 このことが、 2 つの IDE コントローラをもつシステムで問題を起こします。2 番目のコントローラである ide1 は 0170 〜 0177 を使用していますので、先ほど のアドレスと重複してしまいます。 これは非常に問題です! <p> <!-- So, the solution, in my cases, is to go with an IO base of 0200 through 027f. I haven't had any conflicts in this region; however, you may want to check you system to be sure. (run `cat /proc/ioports` - better run `cat /proc/interrupts` to make sure IRQ 12 isn't used either.) --> 私の場合は IO の範囲を 0200 〜 027f にして解決しました。このアドレスの 範囲では全く衝突は起きていません。しかしこれは私の環境の場合なので、ご自分 のシステムで確認されたほうがよいと思います。(`cat /proc/ioports` を実行して みてください。 また `cat /proc/interrupts` として IRQ12 が使われていないことも確認したほう がよろしいでしょう)。 <p> <!-- Once you've found an IO range and IRQ that isn't used, you'll have to change the jumpers on the BB2016 and edit /usr/src/linux/drivers/char/serial.c to reflect the new settings. Then, compile the kernel and install as per normal. --> IO ポートの範囲が重なっておらず、また IRQ も使われていないなら、BB2016 の ジャンパを変更して、/usr/src/linux/drivers/char/serial.c を新しい設定に 合わせて書き換える必要があります。その後カーネルを再構築してインストールを 行ってください。 </quote> <p> <!-- THE BIG GOTCHA: Something extra you will need, and service comments --> <sect>素晴らしいお知らせ:特別に必要になるかもしれない事とサービスコメント <p> <!-- If you want to use your new Boca card with any standard DB-25 RS232 connector, you will have to get a special breakout box, which costs about $ 80. The card itself comes with a breakout box that plugs into the card through a truly formidable cable. It then supplies phone-like cables for the ports. The special $ 80 box has phone-like cables that plug into the breakout box included with the Boca card; you can then plug your modems or terminals into standard RS-232 connectors on the box. Unless you actually have a system that accepts the phone-like connectors, you should add the price of the box to the cost of the card when comparing it to other alternatives. --> 新しい Boca カードを標準の Dsub25 ピンの RS232 コネクタで利用したい場合、 約 80 ドルする特別な拡張機材を用意する必要があります。カードはその機材と セットで利用し、とてつもなくすごいケーブルで接続します。またポートに接続 するための電話線のようなケーブルもついています。80 ドルするその機材には、 接続するための電話線のようなケーブルも付属します。これで機材に付いている 標準 RS-232 コネクタにモデムや端末が接続できます。 もし電話線のようなコネクタを接続できるシステムを持っていないなら、機材の 購入の選択をするときにこれを選ぶべきです。 <p> <!-- I got my Boca 2016 card through a special wholesale deal that I don't think many people will be able to reproduce. It was available quickly. However, the breakout box for RS-232 took about two weeks to ship. You should be aware of your need for this box before you acquire the card. The 2016 board was $ 235 and the additional box was $ 79.95. --> 私は Boca 2016 を特別な卸売業者から購入しましたが、皆さんが同じように購入 できるとは思いません。この購入方法はすぐにも利用できますが、出荷まで二週間 ほどかかります。またこの機材はカードを購入する前に注文すべきだと思います。 2016 ボードは 235 ドル、この機材は 79 ドル 95 セントです。 <p> <!-- I've heard that this breakout box is no longer available, and that now people just have special cables made. I'm not sure how you would go about doing this, though. --> ただし、もはやこの機材は手に入らないという話も聞いています。そのために特別な ケーブルを作っている人もいるようです。残念ながらどのようにそれを作るかは分か りません。 <p> <!-- Only one port of my first Boca 2016 worked. I called Boca, expecting to hear a long string of questions and advice. When they said, "Linux? What's that?" I feared the worst. However, upon hearing my actual problem, they cheerfully told me that the card was defective and I should send it back; full 5-year factory warranty, 30-days exchange. I was struck by how cheery the lady was. It was as though they were expecting the worst, and very kindly making the most of it! --> 最初に購入した Boca 2016 は 1 ポートしか動きませんでした。そこで色々なやり とりを期待して Boca に電話しましたが、期待とは裏腹に " Linux? それは何です か?" という最悪な状況になってしまいました。しかし Boca が問題点を確認すると、 それはカードの不良なのでカードを送るようにと言ってくれました。このカードは 5 年間の修理保証と、30 日間の無償交換保証がついています。応対にでた女性の なんと親切なこと。最悪の状況を覚悟していたにもかかわらず、できる限りの対応 をしてくれました。 <p> <!-- I had my hardware guy exchange the card. Unfortunately, the cards were back-ordered and they took about two more weeks to give me my new card. I have to say that I was quite annoyed at this, since I was anxiously chomping at the bit to get this thing up and running. --> 私は購入先にカードの交換を依頼しました。あいにく在庫がなく、新しいカードが 来るまで二週間以上かかりました。この遅れには本当にまいってしまい、カードが 到着して動き出すまで、心底から穏やかな気持にはなれませんでした。 <p> <!-- Some people have problems with ports past the first eight. I have tested my card up to port 11 and all the ports appear to be working. Boca Research quality control may be lacking; I would recommend that people with troubles with the card call Boca and deal with them directly. I suspect that if I'd exchanged the card directly through the factory I would have had better service than through my dealer. The factory people were all quite nice and eager to please. --> 8 ポート目以降がどうしてもうまく動作しない方々がいます。私は 11 ポートまで テストして、11 ポート全てうまく動きました。Boca の品質管理がよくないので しょう。カードの調子が良くないときは、Boca に電話してその問題を直接伝える ことをお勧めします。 ディーラーを通すより、メーカーと直接やりとりした方がより良いサービスを受け られると思います。メーカーの人達はとても親切で、対応が素晴らしいです。 <p> <!-- Right now, I have only four phone lines. I bought the 16-port card for two reasons: Because it has modem control, unlike the smaller ones, and in anticipation of future expansion. --> 今のところ、私は 4 回線しか持っていません。16 ポートのカードを購入したわけは、 2 つあります。それはポート数が少ない製品とは違い、モデムの制御ができることと、 将来の回線数の拡張を見越しているからです。 <p> <!-- Some additional information on this subject from Kevin Traas of Baan Business Systems: --> 下記の追加情報は、Baan Business Systems 社の Kevin Traas 氏によるものです。 <p> 訳註: 下記の情報が日本から利用できるかどうか、著者はわからないそうです。 直接本人に確認して欲しいといわれましたが、e-mail アドレスがわかりません :-( <p> <quote> <!-- BTW, I've used the BB2016 several times and found to work really well under Linux. I'm extremely happy with them. They perform very well, are very inexpensive, and are reliable. They claim 115200 bps per port. I've got a unique situation whereby I've got two systems with a PPP serial link between them. I'm running this link at 115200 and I experience almost 0% error rate (with hundreds of thousands of packets transmitted). My next step is to implement EQL and additional PPP links between the boxes to increase the bandwidth... We'll see how it goes. --> ところで、私は BB2016 を以前から幾度となく利用しており、Linux でもうまく 動いています。 BB2016 は順調に動いていて、かつ安価で信頼性があるので非常に満足しています。 ポート当たりの速度は、115200bps を要求します。このカードを経由して 2 つ のシステムを PPP で接続するという珍しい接続を行っています。115200bps で接続できており、エラーレートは 0% です(数十万パケットの転送において)。次の ステップは EQL の導入と、帯域を太くするため更に複数の PPP リンクを追加すること です。そのうち結果をお知らせできると思います。 <p> <!-- One final note. Contrary to the suggestion in the Howto, I build my own cables for the BB2016 (they've got RJ ports on them). At first, I "dabbled" with RJ45-8 conductor plugs, but the BB2016 has RJ48-10 conductor jacks, so to get full modem support, I ended up going that route. --> 最後にこのドキュメントでのアドバイスと相反することを書きたいと思います。 私は BB2016(RJ ポートを持っている)のために、ケーブルを自作しました。最初は RJ45 の 8 芯コンダクタ プラグを真似てみましたが、BB2016 は モデム線を フルサポートするために RJ48 の 10 芯ジャックを使っていたので、このやり方 をあきらめました。 <p> <!-- I now run all 10 wires between the BB2016 and my modems. It works great! No problems, no regrets! The only initial problem I had was finding a source for RJ48 plugs, 10 conductor wire, and RJ48 to DB25 adapters..... None of these are very cheap due to the low demand. Oh, yeah, and you need an RJ48 crimper as well. --> 今は 10 芯の線を使用して BB2016 とモデムを接続しています。それは非常にうまく 動作しており何の問題もありません。唯一の問題は、RJ48 のプラグと 10 芯の コンダクタ線と RJ48 - Dsub25 ピン変換アダプタを手に入れることです。 これらは需要がないせいか、安価というわけではありません。それから RJ48 のクランパも忘れないで用意してください。 <!-- If you want, I can build these cables for you and send them to you. If you're interested, e-mail me and I'll let you know pricing, etc. I found building my own was cheaper than the adapter that is mentioned in the Howto - which I couldn't find a source for anyway. --> もしお望みなら、これらのケーブルを作ってお送りすることができます。興味がある 方は e-mail で連絡をいただければ値段などをお知らせします。このドキュメントに 書いてあるアダプタより安価に作れます。 </quote> <p> <!-- I believe the adapter mentioned in this document is no longer being manufacturered, leaving cables such as your own the only remaining way of connecting the device. --> このドキュメントに書いてあるアダプタはもう製造されていないようです。残された 接続方法は、自分でケーブルを何とかするしかありません。 <p> 訳註: 著者への質問は、必ず英語でお願いします。 <sect>日本語訳の謝辞 <p> この翻訳を行うに当たって、下記の方々にお世話になりました。ありがとうございま した。 <p> 早川 仁さん(uv9h-hykw@asahi-net.or.jp)<newline> 森本 淳さん(morimoto@marib.imagica.co.jp) </article>