ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

RTLinuxコミュの【質問】/dev/rtf2 がオープンできません

  • mixiチェック
  • このエントリーをはてなブックマークに追加
たびたびすいません。。。

エラーが出ている辺のソースはこんな↓感じなんですが、
まだ全然素人でどこをチェックすればいいのかも分かりません。

         〜中略〜

if((ctl = open("/dev/rtf1", O_WRONLY)) < 0){
  fprintf(stderr, "Error opening /dev/rtf1\n");
  exit(1);
}

if((fd0 = open("/dev/rtf2", O_RDONLY)) < 0){
  fprintf(stderr, "Error opening /dev/rtf2\n");
  exit(1);
}
          〜中略〜

コメント(9)

>>きはちろうさん
RT_FIFOのところですよね?
パーミッションは大丈夫ですか?
インストール直後とかは確かパーミッションを少々弄くった記憶があります.あくまで記憶ですがroot以外でプログラムを実行する際には幾つかパーミッションを変更しないとうまくいかなかったような.
すいません,もう三年以上前のことなので記憶が定かではありません.
>須佐NO〜さん
いえいえ、ありがとうございます。

サンプルプログラムのfrank等は正常に動作しているので、そのパーミッションと比べてみたんですが、全く同じ設定になっていました。
ソースの方に問題があるんでしょうか??
>>きはちろうさん
確認されたのはfifoのパーミッションの事でしょうか?
“frankと比べる”という表現からだとソースのパーミッションを確認されているように思えるのですが.

実際に確認するのは/dev/以下のRT_FIFOのパーミッションです.
またrtf2がオープン出来ないとのことですが
記載していただいてるソースではrtf1とrtf2ではオープンするモードが違う為,これだけではどこに原因があるのかが判り難いと思います.同一モードでオープンしてみて下さい.それでパーミッションに問題があるのか,それともデヴァイスに問題があるのかくらいは判明すると思われます.

なんか曖昧な表現で申し訳御座いません.
>須佐NO〜さん
確認したのはソースのほうでした。
スイマセン。。。

fifoのパーミッションを確認してみたところ、rtf1, rtf2ともに同じ設定でした。

オープンするモードは、同一モードと
モードをrtf1とrtf2とで逆にして試してみたところ
結果は変わりませんでした。
>>きはちろうさん
しぶといですね〜(汗)

ところで現在はrootで作業をしてますか?
もししてないようでしたら少し光明が見えるのですが…
モジュールもちゃんと組み込めてますか?(自分で書いたソースのモジュール以外.たとえばrtl_fifoとか)
しぶといです‥

残念ながら作業はもちろん全てrootで行ってます。
RTのコアモジュールは、

# rtlinux start

で問題なく組込めてます。
一体なんなんでしょうか‥笑゛
>>きはちろうさん
ん〜,手元にないからちょっと判りません.

/dev以下にはrtf1,rtf2,rtf3とかが色々入っているんでしょうけどたぶんパーミッションは644なのでしょうね.

普通に考えると解決するとは思えませんが
#chmod 666 /dev/rtf*
でパーミッションを弄ってみてください.
解決する見込みはないですが.
普通この作業は一般ユーザで作業をしたい場合にするものであってrootでは必要ないはずだから今回とは無関係のようなきがします.でもこれくらいしか思いつきません.
すいません.
いえいえ、とんでもないです。。。
ちょっと試してみたいと思います。
原因が分かりました。
FIFOのIDの問題でした。
というか、ただのプログラミングミスです。

かなり初歩的なミスなんですが、rtf_createするときに
コピペしたんで、IDが全部1になってました。。。
ちゃんと2にしてやると正常に動作しました。

ホントしょうもない原因でした。
お騒がせしました。
須佐NO〜さんありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

RTLinux 更新情報

RTLinuxのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング