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
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/getpt.3.html
glibc独自だって書いてある。
それより前に/usr/include/linux/*.hが見つからないってコケないか?
もしかして一式持ってきた?移植ご苦労様です。
まぁガンガレ>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のような下地がある環境ならともかく、カーネル直付けのドライバが
パッチ当てたくらいで動くんなら誰も苦労しない。 >たぶん、>>20 >>22 が正しいのだと思う。
間違えた… 正しくは >>19 >>22 です。では。 >>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のドライバを
ユーザランドで動かすわけね。 すまん、詳しいことはわからん。
でも、NetBSD と FreeBSD なら、同じ 〜BSD ってくらいだから移植とか可能じゃないかなぁ、と。 へぇ、色んな意味で面白いなw
やっぱ NetBSD の人はこういうの得意なのかねぇ これで動くとすれば、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
>>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> というか、>>56 のパッチはカーネルのパッチみたいだ。
ただ、うちが 5.4R だからか、かなりの部分がリジェクトされた。。。 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 >>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 Sorry. I find that messega is not related to your ich.patch.
It may be problem in driver for em.
Cheers そもそもいまさらSlmodemなんて使いたいの?というのがひとつあるけど、
ま、手近な動いていないデバイスだから手ごろかもね。
手ごろどころか、超難問で誰も成功してませんけど。トライした人はいる。
>>62 のパッチ R6.1 にはあたらない。どうしたら良いかな?
MacBook を参考にしたら一瞬でポートできないかな? あんまり興味ないから試してないけど、数ヵ月前の廃虚と化してるtech-jpに
これ関係の投稿があった気がする。 hackしようにも、自宅にアナログ電話回線がないのでテストできん。 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
D57H48CL23 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
Z2LST