Slmodem を FreeBSD に移植するスレ
最近の 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 の経験を使って頑張ります。
なかなか価値あるプロジェクトだと思うのですよ。検索してもヒットしなかったです。
>>1 残念ながら、俺はAirH"と光回線なのでテストできず。
がんばってくれ。
>;;;;;/l /! ((⌒`ヾir彡=、ヽ ヽ
,,.-'';;;;/ll| //l、lr=ニ )) l! li,
_,,.-'';;;;;;;;;;/ l| i /// {{i´ `''=シ、彡'、
ヾ;;;;;;;;;;;;:-''{ ヽ`ニ=彡/ `''ー (´ iヽ ヽ
ヾ/ '、_,,ノ ,,..ニシ--、,,_ _,-i ヽ }!
/ / / ((彡, ミ=r=≧;;- /≦=ヤト、 )ツ
{! / >、ミ= 、ヽゝヾ;;シ`` l"k;;シチ ))´ノ!
lヽ、 ,' (  ̄`ヾ.) ^^^` i ´^^`/'´ ハ
>、ヽ| ヾミ=‐イ '、 (__彡' ',
/,.- ヾミ、 {`=彡r,. / (´_彡'i、 !
.l/=-'´ ̄ヽ、 `{´ { {{{i、_ノ ー-`ニ- ∧ ! ヾ!,ノ
/´/ ,,. ‐={ヽ、 ``ヽ ̄ヽ、 `''ー' ,.イリノ' ヽ |l!
>>1さん、恥を知りなさい。
てつだってやるからノートパソコンとそのモデムをよこせ。
今更ダイアルアップにこだわる理由って何。
>>2 応援どうも。
テストできなくても良いんで助けてください。私もまだテストはできません。
#つーか、そんな段階ではない。
>>3 恥を忍んでお願いしているのですよ!!
>>4 まだないっす、ってかダメですよ。買ってください。最近は NotePC 安いですよ。
>>5 私自身は下宿でも内蔵モデムを使ってます(ltmdm 万歳!)。
まぁ、これは珍しいとは思いますが、内蔵モデムは旅行時に便利ですよ。特に海外。
で、移植の進展なんですが、あのエラーからまったく抜け出せない…
だいたいにして、"Makefile" は 70 行もない。もう何がなんだか…
どなたか試してもらえないですかね。うちでは本当に上のエラーで止まります。
おかしいよなぁー。
「知ってるならなぜ指摘してくれなかったのですか」のパクリの予感
「この先生きのこるには?」のパクリの予感
BSD makeとGNU makeの区別も出来ない香具師に
*.oのみでしか提供されて無い部分もある出刃どらの移植は無理。
>>1は蟻でも喉に詰らせて逝け。
KERNEL_DIR:=/lib/modules/$(shell uname -r)/build
で嵌ってる時点でアレだと思うが。
「Fortran の経験を使って」ってなーんかどっかでみたことあるような
フレーズなんだよなぁ〜
>>7,
>>8 何ですかそれは?
>>9 あー、なるほど、GNU make(gmake) と言うのがあって書式が違うわけね。
やっとわかったよ。いつも make 使ってて知らなかった。サンクス。
で、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
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' はこれから調査。
しかし、良く見たら
>>9 指摘の通り、.o しかないのが2つあった。
全部 source があると思ってたからガッカリ。やっぱ、これ、まずいですかね?
ライブラリーだから OK とか、 i386 同士なら互換とか、甘いですかね?
もしダメなら SmartLink にメールして source も入れてもらいますか。
>>10 それってインストール先じゃないのかな? まだ関係ないと無視してた。
>>11 うーん、言ったかもしれないけど、覚えてないなぁ。移植も開発も初めてだしなぁ。
>>9 は反省しる。
>あー、なるほど、GNU make(gmake) と言うのがあって書式が違うわけね。
>やっとわかったよ。いつも make 使ってて知らなかった。サンクス。
教えられた瞬間に態度がでかくなる奴ってよくいるね。
以降放置推奨。
まぁガンガレ>1
漏れは生暖かくヲチしてます。
ところでWinモデムって海外じゃうまく使えないことがあるのは
知ってるかな?
とりあえず、オブジェクトはしばらく忘れて、
何もしないデバイスドライバをアタッチするところから始めたら?
SLmodemって、要するにICHのAC97のモデムリンクの先に
ある奴なんで、まずはICHをアタッチさせるのが先決でしょうな。
>>19 つまり無駄なことしてるってことですか?それか
らアドバイスくれているようですが、質問者やク
レクレ君が理解できてその目的が達っせられること
くらい判らないのですかねぇ。
まぁ自称上級者に何を言っても無駄ですが。
(AA略
>>20 チミ、そういう穿った物の見方すると進まないよ。
>>20 数ヶ月かけてコンパイルエラーを回避するのに費す時間があるなら、
FreeBSDで動くドライバをSlmodem用に仕立て直す方が現実的という
ことですね。
まず最初に、
>>20 は偽物です。
>>17 情報どうも。
いや、持ってきてないです。それ関係でコケまくるのがわかりました(後述)。
>>18 どうも。
私は、幸運なのか、 ltmdm でうまくいかなかった事ないです。
もちろん、国別の設定をしてですが。
>>19 アドバイスどうも。
うーんと、そう言う部分はあの Linux 用のセットに含まれていないのかなぁ。
もしかして、含まれていても FreeBSD とは違い過ぎて移植と言う次元ではないのですかね。
>>22 なるほど…
/modem の中はほとんど問題なくて、 modem_main.c の getpt だけです。
これは
>>17 の手がかりで何とかなりそうな予感。dsplibs.o も問題ない?
しかし、問題は /driver の中。
そのままではコケまくるのがわかった。まったくもって
>>17 指摘の通り。
これを克服するのがどれくらい大変なのか、素人の自分にはわからない。
たぶん、
>>20 >>22 が正しいのだと思う。
予想外だった…
ソースがあるから Linux と FreeBSD とで違う部分だけ書き変えれば
FreeBSD の kernel モジュールが出来上がるかと期待していた。
それだって自分には難しいんだけど、この板のハッカーの知恵を借りれば何とかなるかなぁと。
で、もう1つ予想外だったのは、需要の低さ。
>>5 指摘通りだった。
今どきは 56Kbps のアナログモデムなんて使われないですね。
正直、需要があるからハッカーが集うだろう、と思ってた。
で、「この部分はこれで」てな具合にパッチがスレに集まって、
いつのまにかに完成しちゃったら嬉しいなぁと。
まぁ、問題がそう簡単でないことがわかっただけでも良かったですよ。
もっと簡単なものから始めて、いつかまたこれに戻って来たいと思ってる。
自分個人的には使えると嬉しいんで。ながーーい目で見ていてちょうだい。
みんなどうもありがとう。では。
Xのような下地がある環境ならともかく、カーネル直付けのドライバが
パッチ当てたくらいで動くんなら誰も苦労しない。
>>25 それを知らなかったのですよ。甘かったです。勉強になりました。
あと、スレッドを age ちゃいけなかったですね。sage ます。ではまたどこかで。
単発スレを反省した後、削除依頼。これ。
何だよ、せっかくカーネルを少しでもいじれる奴かと思ったのに、
最初の宿題でつまづいてもう敗北宣言かよ。ヘタレめ。
まぁ、続きやる奴が居るなら、comms/ltmdmを
見ておけってこった。
#いやね。おいらのにもICH経由のモデムついてて、
#手元にslmodemは置いてあって、いじろうかと思ったけど時間
#なくて放置してるんだよね。えろげーしたり、2chしたりIRCするので忙しくて。
なるほどな、そりゃー忙しいな、ってオイ!
>>29 さん、そろそろ時間が取れる様になりましたか?
>>29 さん、
そろそろエロゲーの方は終わりにして頂けると嬉しいんですが。。。
あなただけが頼りです。世界中の人が待ってます。
>>29さんがslmodemを動かせるようにしたら
えろげが寄付されるというシステムにしてはどうか
amazonのwishリストとかあるしな
″ ″ ″ ″ ノ ″ ノ
″ ″″ ノ ″ ノ 。 ゚
″ ″ ″ ノ ″ノ ノ ゚
″∧ ノ ″ ノ 。 ゚
| || ″ ノ ゚ 。 ゚ 。
| || カンパイ! カンパーイ! ∧_∧ =/ ̄ ̄ ̄ ̄ ̄
| || ∧_∧ λλ ∧_∧ (゚Д゚;)< 俺も混ぜろゴルァ!
| || (*´∀`)(σ.σ)ロ(・∀・ ) ロ⊂_⊂\ \_____
| || (っへへ=ロ!ロヽ へへι ) \ ."〜=
\ヽλ__)__)zzz(-∀-*))∪〜 @"@ =
^^^^^^ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄^^^^^^^^^^^^^^^^
″ ″ ″ ″ ノ ″ ノ
″ ″″ ノ ″ ノ 。 ゚
″ ″ ″ ノ ″ノ ノ ゚
″∧ ノ ″ ノ 。 ゚
| || ″ ノ ゚ 。 ゚ 。
| || カンパイ! カンパーイ! ∧_∧ =/ ̄ ̄ ̄ ̄ ̄
| || ∧_∧ λλ ∧_∧ (゚Д゚;)< 俺も混ぜろゴルァ!
| || (*´∀`)(σ.σ)ロ(・∀・ ) ロ⊂_⊂\ \_____
| || (っへへ=ロ!ロヽ へへι ) \ ."〜=
\ヽλ__)__)zzz(-∀-*))∪〜 @"@ =
^^^^^^ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄^^^^^^^^^^^^^^^^
どこぞのスレを見ていたら、
>>1みたいな作業もまだまだ意義があるのかもなと思ったんだよもん。
あげ
ええけつしとるのぉ(*´Д`)ハァハァ
うはっwwwおkwww??
ええけつしとるのぉ(*´Д`)ハァハァ
うはっwwwおkwww??
ええけつしとるのぉ(*´Д`)ハァハァ
うはっwwwおkwww??
>>35 それはまずいかと。
>>29 さんのエロゲ好きが公になってしまう。
なにか良い案はないかなぁ。
ふむ。要するにオーディオとしてアタッチしてLinuxのドライバを
ユーザランドで動かすわけね。
50 :
名無しさん@お腹いっぱい。:2005/06/15(水) 03:59:39
すまん、詳しいことはわからん。
でも、NetBSD と FreeBSD なら、同じ 〜BSD ってくらいだから移植とか可能じゃないかなぁ、と。
へぇ、色んな意味で面白いなw
やっぱ NetBSD の人はこういうの得意なのかねぇ
52 :
名無しさん@お腹いっぱい。:2005/06/16(木) 23:11:22
両対応のパッチとかできないのかな?
これで動くとすれば、Linuxにすらバックポートは可能だと思う....
けどパフォーマンスとか大丈夫なのかなぁ。
一応、snd_ichにモデムインターフェイスをattachは出来たけど、
AC97 codecとかが正しく反応しない。どうも2つコーデックが
あるみたいなんだが。モデム側もオーディオ側も同じコーデックが
見えてる模様。
pcm0: <Intel ICH4 (82801DB)> port 0x1c00-0x1cff,0x18c0-0x18ff mem 0xc0000c00-0xc0000dff,0xc0000800-0xc00008ff irq 11 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Analog Devices AD1981B AC97 Codec>
pcm1: <Intel ICH4Modem (82801DB)> port 0x2400-0x24ff,0x2000-0x207f irq 11 at device 31.6 on pci0
pcm1: [GIANT-LOCKED]
pcm1: <Analog Devices AD1981B AC97 Codec>
pcm1: ac97 link rate calibration timed out after 1097606 us
55 :
名無しさん@お腹いっぱい。:2005/06/18(土) 02:41:56
>>54 NetBSDだよね?
それとも、もしかしてホントに移植できちゃったとか?
もしそうだったらマジですご過ぎ。。。
FreeBSDだよ?ちょっとデバイスID付け加えただけ。
すごいなんて言葉はまともに動作してからにして頂いた方が...
あのログにはきちゃないデバッグライトは隠しといたけどね。
Xのinwとかをつかうといいけど、
この例のマップされたアドレスのうち0x247c,0x247eにプライマリのコーデックのID
(オーディオドライバで認識されるものと同じ)が見えてて
0x24fc,0x24feにセカンダリのコーデックのIDらしきものが見えてる。
これが一応パッチだ。
http://www.init-main.com/ichdiff
すごいよ。十分にすごい。
俺なんかまだ slmodem-2.9.9b-netbsd.patch を当てる所で躓いている。
解凍して、slmodem-2.9.9b に行って、 patch < ../slmodem-2.9.9b-netbsd.patch
で良いよね? なぜか file to patch? とか聴かれるんだよ。。。。
>>57 ヒント: patch -p<number>
59 :
名無しさん@お腹いっぱい。:2005/06/19(日) 17:03:02
というか、
>>56 のパッチはカーネルのパッチみたいだ。
ただ、うちが 5.4R だからか、かなりの部分がリジェクトされた。。。
60 :
名無しさん@お腹いっぱい。:2005/06/26(日) 13:43:31
進展はいかが?
やっぱり無理ぽそうだね。。。
62 :
Huidae Cho:2005/07/03(日) 04:08:50
Hi,
this is a good discussion.
I'm not sure if I fully understood the english-translated page of this thread.
But you guys may want to visit
http://geni.ath.cx/slmodem.html .
I made a patch, but it's not complete.
Hmm, You are Korean, it seems. So I think it is more accurate result using
Korean-Japanese translator site like,
http://enjoyjapan.naver.com/ I think it requires support on AC97 codec register manipulation
to make it works...You may want to look at sys/dev/sound/pcm/ac97.c
盛り上がってまいりますた!!
65 :
名無しさん@お腹いっぱい。:2005/07/05(火) 16:37:19
>>62 nice work.
I got many
"arplookup 0.0.0.0 failed: host is not on local network"
after re-compiling my kernel with your ich.patch.
Does this help you?
Cheers
66 :
65:2005/07/05(火) 16:39:42
Sorry. I find that messega is not related to your ich.patch.
It may be problem in driver for em.
Cheers
67 :
名無しさん@お腹いっぱい。:2005/10/31(月) 06:34:37
どれくらい進みましたか?
68 :
名無しさん@お腹いっぱい。:2006/01/08(日) 05:52:41
なかなか難しいね
そもそもいまさらSlmodemなんて使いたいの?というのがひとつあるけど、
ま、手近な動いていないデバイスだから手ごろかもね。
70 :
名無しさん@お腹いっぱい。:2006/01/14(土) 11:19:33
手ごろどころか、超難問で誰も成功してませんけど。トライした人はいる。
71 :
名無しさん@お腹いっぱい。:2006/02/10(金) 10:51:45
そんなに難問なの?
手ごろってのは、そこらにある、ということかもねー
73 :
名無しさん@お腹いっぱい。:2006/03/10(金) 13:42:53
落として見たけど、挫折したよ。
74 :
名無しさん@お腹いっぱい。:2006/10/01(日) 22:18:53
>>62 のパッチ R6.1 にはあたらない。どうしたら良いかな?
75 :
名無しさん@お腹いっぱい。:2007/03/27(火) 23:51:21
MacBook を参考にしたら一瞬でポートできないかな?
あんまり興味ないから試してないけど、数ヵ月前の廃虚と化してるtech-jpに
これ関係の投稿があった気がする。
77 :
名無しさん@お腹いっぱい。:2008/05/31(土) 23:39:08
養殖するスレにしよう
78 :
名無しさん@お腹いっぱい。:2009/04/03(金) 17:50:24
どなたか、そろそろできましたか?
hackしようにも、自宅にアナログ電話回線がないのでテストできん。
80 :
名無しさん@お腹いっぱい。:2010/04/11(日) 02:15:59
ナイススレッド
ファイト!! >> 1
移植できた?