Linuxでシリアルポートが利用できません

このQ&Aのポイント
  • debian5.0.6をdynabook satellite1800で使用中の際、j-pilotでシリアルポートを開こうとするとエラーメッセージが表示され、Hotsyncができません。
  • 調査の結果、/dev/ttyS0をopen()する際にENODEVエラーが発生していることがわかりました。しかし、ioportやirqはバイオスの設定と一致しています。
  • 起動時にali15x3_smbusエラーが表示されており、シリアルポートが欠落しているためにpicやpalmの操作が制約されています。どのようにすればシリアルポートを使用できるようにすることができるでしょうか?
回答を見る
  • ベストアンサー

Linuxでシリアルポートが利用できません

Linuxでシリアルポートが利用できません debian5.0.6をdynabook satellite1800で使っています j-pilotで/dev/ttyS0を開こうとすると”dev/ttyS0 そのようなデバイスはありません” とでてきてしまいHotsyncができません。 ほかにネットで色々調べてみると、/dev/ttyS0をopen()しようとした時に ENODEVがかえって来てしまっている事がわかりました。 しかし,ioportやirqは/proc/ioportsや/proc/interruptsをみてみると バイオスで設定されている物と同じでした。 でも/proc/interruputsの一番最後のフィールドにはserialとは載っていませんでした。 あと起動時には [ 27.374146] ali15x3_smbus 0000:00:08.0: ALI15X3_smb region uninitialized - up grade BIOS or use force_addr=0xaddr [ 27.374325] ali15x3_smbus 0000:00:08.0: ALI15X3 not detected, module not inse rted. というエラーがでてました。 自分はpicやpalmがいじりたいのでシリアルポートがないときついです。 どうしたらシリアルポートが使えるようになりますか?

  • Kaznt
  • お礼率91% (21/23)

質問者が選んだベストアンサー

  • ベストアンサー
  • noyuo
  • ベストアンサー率39% (33/84)
回答No.1

デバイスファイルが無いのなら、mknod で作る必要がありますし、 /dev/ttyS0 ファイルが確かにあるなら、inittab などで gettyが使用する設定が残って無いか確認してみてください。

参考URL:
http://lab.zio-matrix.net/doc/serialcon_linux2solaris.html
Kaznt
質問者

お礼

回答ありがとうございます。 ファイルは確かに存在しますしinittabでターミナルを使ってもいません 存在するのにエラーになる状態です

関連するQ&A

  • VMPlayerでシリアルポートの使用

    WindowsXPにVMPlayerを入れて、Debianを動かしています。 この環境で、シリアルポートを使うプログラムを書きたいんですが、 Openに失敗します。 VMPlayer、Linuxともに、初心者ですので、行き詰まっております。 Windows上では、COM1で通信はできています。 VMPlayerの起動時に Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:0a: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A と、なっていますが #define DEV_NAME "dev/ttyS1" int main() { int fd; //デバイスファイル オープン fd = open( DEV_NAME, O_RDWR ); if(fd<0) { //オープン失敗 printf("Open fauls \n"); exit(1); } } 抜粋、ではttyS0、でもttyS1でもオープンできません。 どこが、まずいんでしょうか? よろしく、お願いいたいます。

  • linuxマシンからシリアルポートでtelnet接続をしたい

    ルーターの管理のため、シリアルポート経由でルーターに接続したいのですが、うまくいきません。ご存知の方やり方をご教授おねがいします。 ディストリビューション vine3.2 やってみたこと telnet ttyS0 結果 telnet: ttyS0: Name or service not known ttyS0: Unknown host ホスト名のところは、何を入れればよいのでしょうか。 よろしくお願いします。

  • Linux上でのシリアル送受信

    質問の内容を書いてくださいこんばんは。 ある課題で、Linux上でシリアルポートを使っての通信をしなければなりません。 シンプルな方法としては、ヌルモデムケーブルを使っての送受信で、先生もその方法をデモンストレーションとしてみせてくれました。先生としてはその方法でやってほしいが、少し点数は落ちるとしても、一大のPCでターミナルを二つ開いてttyS0に書き出し→ttyS0で受信を視覚化できるならいいそうです。 自分ができる範囲でやろうと思い、後者ですすめようとしたのですが、まずUbuntuのインストールで(何が悪かったのかわかりませんが)HDがパァになり(Windowsとは別パーティションでした)、仕方が無いので、Virtualboxを使ってやろうと思ったのですが、やはり物理的にシリアルポートが存在しないので躓いています。echoでリダイレクトしてもエラーになるので、存在しないのが問題なのかな? と……エラーコードは出ず、input/output error としか出ません。 質問したいことは三つです: ・Virtualboxで、せっかくの仮想マシンなのですから、そのシリアルポートを「ある」ことにできないでしょうか? 最近のマシンはそもそもついてこないのか、デスクトップにもノートにもないです。ノートに至っては、VGAすらないほど……。 ・シンプルにecho 'test' >/dev/ttyS0として、これをCatなどで二つ目のターミナルに表示させるにはどうしたらいいのでしょう(多分、何かを受信するまで待たせる必要があるのかなーと思いますが……)? cat</dev/ttyS0では何も表示されません。延々と待ち続けます。 ・この二つをこなせるプログラムをCで書くのに、参考になるサイトなどはありますか? とうほう海外なので、書籍はちょっと厳しいです。 なにぶん、Linux初心者なもので、よろしくお願いします。

  • Linux(Fedora)にPCI拡張ボードを認識させたい

    Linuxにシリアルポートを拡張するPCIボードを搭載しようと 思っています。 このときドライバはメーカからも提供はされているのですが、デフォルトで入っているものを使えるか使えないかどうかの判断はどのようにしたらいいでしょうか? また、PCIボードのデバイス名、 拡張したシリアルポートのデバイス名は 何になっているのかはどのように調べるのでしょうか? (/dev/ttyS0とか??) 質問がおかしかったらすみません。 ご回答宜しくお願いいたします。

  • Palm m130について

    Palm m130を購入してしっかり充電したあと、新しいソフトをパソコンから本体にダウンロードしようと思いクレードルのHotSyncボタンを押したところ、   HotSyncエラー   「HotSync機能を実行できません。ほかのアプリケーションが    シリアルポートを使用しています。」 というエラーが出ました。 シリアルポートにはゲームのコントローラーがささっていたので はずしたあと、再びHotSyncボタンを押したのですが また同じエラー内容が表示されまったくデータの同期ができません。 わかる方がいたらぜひ教えてください。 本体後ろにあるリセットボタンも試しましたが変わりませんでした。 あと、Palm本体のフェースプレートを付属されていたもう一つ フェースプレートに変えたいのですがはずす時に硬くて 無理やり外そうとしたら壊れそうだったのでやめました。 どなたかフェースプレートを外すコツなどがありましたら教えてください。

  • シリアルコンソール接続でヤマハRTX1100の設定をしたい

    CentOS5 を入れたパソコンのシリアルポート経由でのコンソール接続でヤマハRTX1100の設定をしたいのですが、接続確認は取れるようになったもの、プロンプトが返ってきません。 minicomを立ち上げている状態で、RTX1100をリセットすると文字化けデータが流れます。またシリアル接続しっぱなし状態だとすべてのランプがつきっぱなし状態となり、接続ケーブルを外すと正常に戻ります。 /dev/ttyS0 のパーミッションを666にして接続し、CUやminicomの終了後にはなぜか600に戻ってしまいます。 現在の設定は 【/etc/inittab】 s0:12345:respawn:/sbin/agetty -h 9600 ttyS0 vt102 【/etc/securetty]】 ttyS0 を追加済み なにかヒントがあれば、お願いいたします。

  • シリアル通信でのread関数の戻り値

    オムロン製PLCと上位コンピュータをRS232Cで接続し、FINSコマンドを用いてシリアル通信をしようとしています。 現在作っているプログラムの流れは、 ・シリアルポート"/dev/ttyS2"のオープン   comm_fd = open("/dev/ttyS2", O_RDWR | O_NOCTTY); ・通信設定   termios構造体を設定 ・コマンドフレーム(COMMAND)を作成し、ポートに書き込む   write(comm_fd, &COMMAND, strlen(COMMAND)); ・PLCからのレスポンスを読み出す   read(comm_fd, &RESPONSE, 256); のようにしているのですが、read関数が実行されたままになってしまいます。(エラーコードも返ってこない状態です) readの戻り値が-1ならポートにアクセスできていないとわかるのですが… ためしにcomm_fdと違う値をread関数に入れてみたところ(read(6, &RESPONSE, 256)、戻り値は-1となりました。 これはどういう状態になってしまっているのでしょうか? わかりにくい質問で申し訳ありません。

  • Palm VxのUSBケーブル

    知り合いのPalm Vxで、購入したのはいいのですが手持ちのWindowsパソコンに空きのシリアルポート(?)がなく、USBポートにてHotSyncしたいそうなんですが…ケーブルって売っているのですか?あればメーカー&品番なんかを教えていただきたいのです。 私はMacintosh&Visorの組み合わせで、知識が不足しています。助言をお願いします。

  • シリアルの送信完了を待つ方法

    AdvantechのPCM-9575ボードにRedHat9を入れてCOM2 をRS-485にして115kでシリアル通信しています。 プログラム的には"/dev/ttyS1"を使用して普通の23 2Cポートと同じように操作できますが、送信イネー ブル信号(RTS 信号がつながっているのでioctl() 関数で制御できます)を操作してやらないと送受信 できないので、送信直前にセットし、送信完了直後 にクリアしたいと考えているのですが、write() 関 数が送信完了まで待ってくれないので、タイミング を作るのに困っています。 シリアルの送信完了待ちの方法とかご存じでないし ょうか?

  • Mocha W32 PPPでPalmをネットワークに接続

    Mocha W32 PPPでPalm VxをHotSyncクレードルを使い、ネットワークに接続しようとしています。 とりあえず設定はすべてマニュアル通り行いましたが、実際に接続しようとすると、「シリアルポートが使用中です 」とPalmに表示されて接続できません。 考えられる原因は何でしょうか? http://muchy.com/review/mochaw32ppp.html