X



Slmodem を FreeBSD に移植するスレ
00011垢版NGNG
最近の NotePC によく載ってる SmartLink 製のモデム。
これはいわゆる Winmodem なので FreeBSD では動かず、悲しい。
ところが、SmartLink ltd は Linux 用のドライバー(kernel module)を作って公開してくれてる。
しかも、ソース付きという太っ腹ななわけですよ!!
これを生かさない手はないという事で、早速、↓から頂いて来ました。
ftp://ftp.smlink.com/linux/unsupported/

すかさず展開して、ドキュメントの類は一切見ずに make しました。
そしたらエラーがでました。
------------------------------
make -C modem all
"Makefile", line 35: Need an operator
"Makefile", line 38: Need an operator
"Makefile", line 62: Need an operator
"Makefile", line 65: Need an operator
"Makefile", line 68: Missing dependency operator
"Makefile", line 72: Need an operator
make: fatal errors encountered -- cannot continue
*** Error code 1
------------------------------
「やっぱね、ドキュメント読まないとね」と思い、頑張って読みました。
しかし一歩も前進できませんでした、と言うのが現段階の状況なのです。

そこで、この板の皆さんに協力して頂きたいのです。
皆で協力して Slmodem を FreeBSD に移植しましょう!!
単発スレを立ててよいかを迷ったのですが、結構かかるかもと思って立てちゃいました。

私の環境は FreeBSD 5.2.1R です。SmartLink モデム の X40 がそのうち届きます。
私は C 言語はこれが初めてですが、Fortran の経験を使って頑張ります。
なかなか価値あるプロジェクトだと思うのですよ。検索してもヒットしなかったです。
0003名無しさん@お腹いっぱい。垢版NGNG
          >;;;;;/l      /! ((⌒`ヾir彡=、ヽ ヽ
         ,,.-'';;;;/ll|    //l、lr=ニ     )) l! li,
     _,,.-'';;;;;;;;;;/  l| i   /// {{i´      `''=シ、彡'、
    ヾ;;;;;;;;;;;;:-''{   ヽ`ニ=彡/  `''ー    (´  iヽ  ヽ
       ヾ/   '、_,,ノ ,,..ニシ--、,,_        _,-i ヽ }!
      /    /   / ((彡, ミ=r=≧;;-   /≦=ヤト、 )ツ
     {!   /    >、ミ= 、ヽゝヾ;;シ``   l"k;;シチ ))´ノ!
     lヽ、 ,'    (   ̄`ヾ.) ^^^`    i ´^^`/'´ ハ
     >、ヽ|    ヾミ=‐イ          '、  (__彡'  ',
    /,.- ヾミ、    {`=彡r,.       /  (´_彡'i、  ! 
    .l/=-'´ ̄ヽ、   `{´ { {{{i、_ノ  ー-`ニ-   ∧ !  ヾ!,ノ 
   /´/ ,,. ‐={ヽ、   ``ヽ ̄ヽ、 `''ー'  ,.イリノ' ヽ  |l! >>1さん、恥を知りなさい。 
00061垢版NGNG
>>2 応援どうも。
テストできなくても良いんで助けてください。私もまだテストはできません。
#つーか、そんな段階ではない。

>>3 恥を忍んでお願いしているのですよ!!

>>4 まだないっす、ってかダメですよ。買ってください。最近は NotePC 安いですよ。

>>5 私自身は下宿でも内蔵モデムを使ってます(ltmdm 万歳!)。
まぁ、これは珍しいとは思いますが、内蔵モデムは旅行時に便利ですよ。特に海外。


で、移植の進展なんですが、あのエラーからまったく抜け出せない…
だいたいにして、"Makefile" は 70 行もない。もう何がなんだか…
どなたか試してもらえないですかね。うちでは本当に上のエラーで止まります。
おかしいよなぁー。
0009そんな餌に釣られクマ垢版NGNG
BSD makeとGNU makeの区別も出来ない香具師に
*.oのみでしか提供されて無い部分もある出刃どらの移植は無理。
>>1は蟻でも喉に詰らせて逝け。
00121垢版NGNG
>>7, >>8
何ですかそれは?

>>9
あー、なるほど、GNU make(gmake) と言うのがあって書式が違うわけね。
やっとわかったよ。いつも make 使ってて知らなかった。サンクス。
00131垢版NGNG
で、gmake したら、いくつか警告がでるものの、かなりコンパイルが進んだ。
-----------------------------------------------------------------
gmake -C modem all
gmake[1]: Entering directory `/tmp/slmodem-2.9.6/modem'
rebuild profile...
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_main.o -c modem_main.c
modem_main.c: In function `modem_main':
modem_main.c:761: warning: implicit declaration of function `basename'
modem_main.c:761: warning: passing arg 1 of `modem_debug_init' makes pointer from integer without a cast
modem_main.c:774: warning: implicit declaration of function `getpt'
modem_main.c:817: warning: passing arg 2 of `modem_create' makes pointer from integer without a cast
modem_main.c:818: warning: assignment makes pointer from integer without a cast
modem_main.c:840: warning: format argument is not a pointer (arg 3)
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_cmdline.o -c modem_cmdline.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem.o -c modem.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_datafile.o -c modem_datafile.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_at.o -c modem_at.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_timer.o -c modem_timer.c
00141垢版NGNG
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_pack.o -c modem_pack.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_ec.o -c modem_ec.c
modem_ec.c:689: warning: `t403_timeout' defined but not used
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_comp.o -c modem_comp.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_param.o -c modem_param.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_debug.o -c modem_debug.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o homolog_data.o -c homolog_data.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o dp_sinus.o -c dp_sinus.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o dp_dummy.o -c dp_dummy.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o sysdep_common.o -c sysdep_common.c
gcc -o slmodemd modem_main.o modem_cmdline.o modem.o modem_datafile.o modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o dsplibs.o sysdep_common.o
modem_main.o: In function `modem_main':
/tmp/slmodem-2.9.6/modem/modem_main.c:774: undefined reference to `getpt'
gmake[1]: *** [slmodemd] Error 1
gmake[1]: Leaving directory `/tmp/slmodem-2.9.6/modem'
gmake: *** [modem] Error 2
----------------------------------------------------------------------------
もう、ほとんど上手くいってる感じ。
modem_main.c:774: undefined reference to `getpt' はこれから調査。
00151垢版NGNG
しかし、良く見たら >>9 指摘の通り、.o しかないのが2つあった。
全部 source があると思ってたからガッカリ。やっぱ、これ、まずいですかね?
ライブラリーだから OK とか、 i386 同士なら互換とか、甘いですかね?
もしダメなら SmartLink にメールして source も入れてもらいますか。

>>10 それってインストール先じゃないのかな? まだ関係ないと無視してた。

>>11 うーん、言ったかもしれないけど、覚えてないなぁ。移植も開発も初めてだしなぁ。
0016名無しさん@お腹いっぱい。垢版NGNG
>>9 は反省しる。

>あー、なるほど、GNU make(gmake) と言うのがあって書式が違うわけね。
>やっとわかったよ。いつも make 使ってて知らなかった。サンクス。
教えられた瞬間に態度がでかくなる奴ってよくいるね。

以降放置推奨。
0018名無しさん@お腹いっぱい。垢版NGNG
まぁガンガレ>1
漏れは生暖かくヲチしてます。

ところでWinモデムって海外じゃうまく使えないことがあるのは
知ってるかな?
0019名無しさん@お腹いっぱい。垢版NGNG
とりあえず、オブジェクトはしばらく忘れて、
何もしないデバイスドライバをアタッチするところから始めたら?
SLmodemって、要するにICHのAC97のモデムリンクの先に
ある奴なんで、まずはICHをアタッチさせるのが先決でしょうな。
00201垢版NGNG
>>19
つまり無駄なことしてるってことですか?それか
らアドバイスくれているようですが、質問者やク
レクレ君が理解できてその目的が達っせられること
くらい判らないのですかねぇ。
まぁ自称上級者に何を言っても無駄ですが。
(AA略
0022名無しさん@お腹いっぱい。垢版NGNG
>>20
数ヶ月かけてコンパイルエラーを回避するのに費す時間があるなら、
FreeBSDで動くドライバをSlmodem用に仕立て直す方が現実的という
ことですね。
00231垢版NGNG
まず最初に、>>20 は偽物です。

>>17 情報どうも。
いや、持ってきてないです。それ関係でコケまくるのがわかりました(後述)。

>>18 どうも。
私は、幸運なのか、 ltmdm でうまくいかなかった事ないです。
もちろん、国別の設定をしてですが。

>>19 アドバイスどうも。
うーんと、そう言う部分はあの Linux 用のセットに含まれていないのかなぁ。
もしかして、含まれていても FreeBSD とは違い過ぎて移植と言う次元ではないのですかね。

>>22 なるほど…
00241垢版NGNG
/modem の中はほとんど問題なくて、 modem_main.c の getpt だけです。
これは >>17 の手がかりで何とかなりそうな予感。dsplibs.o も問題ない?

しかし、問題は /driver の中。
そのままではコケまくるのがわかった。まったくもって >>17 指摘の通り。
これを克服するのがどれくらい大変なのか、素人の自分にはわからない。
たぶん、>>20 >>22 が正しいのだと思う。

予想外だった…
ソースがあるから Linux と FreeBSD とで違う部分だけ書き変えれば
FreeBSD の kernel モジュールが出来上がるかと期待していた。
それだって自分には難しいんだけど、この板のハッカーの知恵を借りれば何とかなるかなぁと。

で、もう1つ予想外だったのは、需要の低さ。>>5 指摘通りだった。
今どきは 56Kbps のアナログモデムなんて使われないですね。
正直、需要があるからハッカーが集うだろう、と思ってた。
で、「この部分はこれで」てな具合にパッチがスレに集まって、
いつのまにかに完成しちゃったら嬉しいなぁと。

まぁ、問題がそう簡単でないことがわかっただけでも良かったですよ。
もっと簡単なものから始めて、いつかまたこれに戻って来たいと思ってる。
自分個人的には使えると嬉しいんで。ながーーい目で見ていてちょうだい。
みんなどうもありがとう。では。
00261垢版NGNG
>たぶん、>>20 >>22 が正しいのだと思う。

間違えた… 正しくは >>19 >>22 です。では。
00271垢版NGNG
>>25 それを知らなかったのですよ。甘かったです。勉強になりました。

あと、スレッドを age ちゃいけなかったですね。sage ます。ではまたどこかで。
0029名無しさん@お腹いっぱい。垢版NGNG
何だよ、せっかくカーネルを少しでもいじれる奴かと思ったのに、
最初の宿題でつまづいてもう敗北宣言かよ。ヘタレめ。
まぁ、続きやる奴が居るなら、comms/ltmdmを
見ておけってこった。

#いやね。おいらのにもICH経由のモデムついてて、
#手元にslmodemは置いてあって、いじろうかと思ったけど時間
#なくて放置してるんだよね。えろげーしたり、2chしたりIRCするので忙しくて。
レスを投稿する


ニューススポーツなんでも実況