[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 09:40 / Filesize : 265 KB / Number-of Response : 871
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ディバイスドライバをハックしよう!



1 名前:login:Penguin [02/01/31 01:14 ID:t3s191ys]
ディバイスドライバの改造、製作にまつわる情報交換、質問、
噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。


89 名前:login:Penguin mailto:sage [02/08/17 16:55 ID:OXP9X1ng]
仕事としてソース非公開なLinux用ドライバ開発なんぞをやってます。

>>75の言ってる事は同感。
drivers/char/serial.cなんかを見てると情けなくて泣きたくなってくる。
「動けば正義」は否定しないけど、「動いたら放置」ってのはちょっと
なぁ。

Linuxだと、なら「ならお前が書き直せ」ってことになるんだけど、正直
どこから手をつければいいのか、途方にくれるようなドライバが多すぎ
る。

90 名前:login:Penguin mailto:sage [02/08/17 17:21 ID:MTVVTQyw]
88>書ければWinでネットしません!

91 名前:login:Penguin mailto:sage [02/08/17 20:48 ID:Zdf5lEt8]
サン電子は「ドライバ書くので情報くれ」といってもくれない会社だから
どうしようもない。


92 名前:login:Penguin mailto:sage [02/08/17 23:46 ID:IR8qSaOk]
じゃIO・DATAさんでも良いよ。
H"用のUSBケーブルで32kパケット通信(つなぎ放題)対応って2つしか無いのね!
9月にサンデンシから新しい奴が出るけどWinとMacのみ対応だし・・・・

93 名前:login:Penguin mailto:sage [02/08/18 19:29 ID:XonFUm75]
>>90
書けるけどWindowsで繋いでますがなにか。

>>91
いや、情報のない状態からつついて解析していくのも、なかなか
面白いものだよ。
必要性と興味が持続しないとやっとれんけどな。

94 名前:login:Penguin mailto:sage [02/08/20 04:33 ID:EFxDYaWg]
U-cableP5ならどっかにドライバ落ちてなかったか?

95 名前:login:Penguin mailto:sage [02/08/21 02:27 ID:++pf5YT/]
94>落ちてたけどウチのPCはFDも無いしCD−Rも無いから意味無し
それ以前にturboLinux7でドライバの入れ方知らんから無意味
Turboじゃなくても知らないが・・・
完全マスターTurboLinux読んで頑張ってみます。
お騒がせしました。

96 名前:login:Penguin [02/08/22 00:52 ID:hok07Wzb]
昔DOS3.1の時代に、プリンターのデバイスドライバーをひとつ一機種に
ついて書くたびに50万円もらっていた友達をしっている。
非常においしい商売だったようだ。

97 名前:login:Penguin [02/09/17 02:52 ID:uJTVD8V1]
今さらあげてしまいますが、オライリーのドライバの本に書いてある。
file構造体がなにをやっているのかよくわかりません。というかその存在自体が疑問です。file_operation構造体はinit_moduleによって登録されるってのはわかるんですが、file構造体はどんなときに使われるとかよくわかりません。
デバイスドライバで2番目に重要な構造体と書いてあったのでかなり意味があると思うのですが、
くだ質できく内容でないと判断したので、ここで聞かせて下さい。



98 名前:login:Penguin mailto:sage [02/09/17 22:14 ID:2Yzp0rLg]
>>97
Linux のドライバは(一部除いて)ファイルで表されてるわけです。
/dev/配下にいっぱいありますよね?
そのファイルをopen すればfile_operations 構造体のopen メソッドが呼ばれる。
そのファイルをread すればfile_operations 構造体のread メソッドが以下略。

多分システムコールかデバイスファイルについて知識不足なんだと思われ。
なぜ存在自体が疑問なのか書いてる途中でわけわかんなくなってきたよヽ(`Д´)ノウワァァン

ちなみにここでつまずいてたらその本絶対読めないから教えてくれる人探した方がいい。。。


99 名前:login:Penguin [02/09/18 03:24 ID:AWtWYegc]
ありがとうございました。
どうやらfile_operations構造体の次にでてきたので、
デバイスドライバ特有の構造体かと勘違いしてしまったようですが、
低水準システムコールのときのfile構造体と同じだったんですね。
わかったみたいです。

一応半分位まで読みました。なんとなくですがわかったきがするので、
音なるやつでも書いてみることにします。

100 名前:login:Penguin mailto:sage [02/09/19 00:16 ID:YeCer3VV]
>>99
あう。。。file 構造体の方でしたか。file_operations 構造体と間違えた。。。
ごめんなさい。でもわかったんならいいよね。。。


101 名前:login:Penguin mailto:sage [02/09/19 01:00 ID:Zca/tfIP]
デバイスドライバで、file構造体って見ることあります?
漏れ、見たことないんですが。


102 名前:login:Penguin mailto:age [02/09/24 08:38 ID:jDkNy+Lt]
age

103 名前:login:Penguin mailto:sage [02/09/24 10:47 ID:oRAD0jRL]
久々に上がってたりして...で亀レス

>>101
一つのドライバで複数のデバイスを制御(特に割り込み)する時に
使わない? (private_data)
static な領域にデータ置いといてベタで検索でもいいけど...


104 名前:ねここねこ mailto:age [02/09/24 12:11 ID:jDkNy+Lt]
デバイスドライバを書くときに使う各種マクロや関数などが
詳しく&解りやすく載っている資料とか無いでしょうか?

謎の関数が多くて、、、、



105 名前:login:Penguin mailto:sage [02/09/24 16:20 ID:oRAD0jRL]
>>104

>37 にある Linux DeviceDriver 2nd Edition
これを wget で落して(いいのか?) grep で検索しる。

あとはお決まりのソース drivers/char 以下を検索かな?



106 名前:101 mailto:sage [02/09/24 18:33 ID:YwjfORCG]
>>103
おお、なるほど。
そういうドライバは書いた事無いからなー。


107 名前:ねここねこ mailto:age [02/09/26 16:00 ID:3O4ltuCq]
>105
やっぱり、それしかないですか、、、
馬の本見てがんばります

さらに質問
ハードを直接叩く(?)デバイスドライバを作っているのですが
良いサンプルとか無いでしょうか?
とりあえずは、
linux/drivers/char/qpmouse.c
あたりを参考にしてるのですが、、、




108 名前:login:Penguin mailto:sage [02/09/26 17:52 ID:l3dRzYLM]
>>107
お馬さんで充分かと...

> ハードを直接叩く(?)デバイスドライバを作っているのですが
これだけでサンプルないかって言われてもなぁ。
誰もレス出来ないんじゃぁ?
マウスドライバでも作ってんの?
レス出来ないかも知んないけど。


109 名前:login:Penguin mailto:sage [02/09/26 18:12 ID:7zzSbQve]
>>107
ターゲットと同じ種類のドライバ
or
似たような構造のハードを制御するドライバ
が一番いいサンプルなんだが。

目的のハードがどんな物かわからんので誰も答えられんと思う。
物によって微妙に作りが違うし。


110 名前:ねここねこ [02/09/27 09:39 ID:2CKrLbeR]
>108&109
確かに、物が不明だとわからないですね

物はFPGAというチップ経由で
データがやってくるハードのようです
外部のチップからFPGAにある程度データが貯まると
IRQをキックして(?)まとめてデータをCPUに対して送ってくるとか
言ってたな、、、

実はハードがまだ出来ていなかったり〜



111 名前:login:Penguin mailto:sage [02/09/27 12:01 ID:Bk3J3OAM]
>>110
> 実はハードがまだ出来ていなかったり〜
よくある話。

まだ漠然としているが、画像処理か計測系だね?
割り込み関係と poll、 DMA or mmap? 、PCI?。
まず、このあたりをお馬さんで理解すればよろしいかと。


112 名前:ねここねこ [02/09/30 09:38 ID:ILjZfqgw]
>111
>まだ漠然としているが、画像処理か計測系だね?

だいたいそんな感じです
お馬さん本見てがんばります



113 名前:login:Penguin mailto:sage [02/10/03 20:49 ID:XOS3kDwu]
FPGAというチップってあーた

114 名前:ねここねこ [02/10/04 10:18 ID:reYTaTWA]
>113
なんか呼び方が変なのでしょうか?
FPGAというICが有ると効いたのですが、、、




115 名前:ねここねこ [02/10/04 10:18 ID:reYTaTWA]
あと、デバイスドライバ製作の資料になるようなページ

Linux PCI デバイスドライバ
www.hemamu.com/dev/linux/pci/index.html

Programmed I/O (PIO)を用いた簡単なPCIデバイスドライバ
www-online.kek.jp/~yasu/Kenshu/pci-device-driver.html

Linux Module-HOWTO
www.linux.or.jp/JF/JFdocs/Module-HOWTO.html

Linuxデバイスドライバ開発ノート
www2s.biglobe.ne.jp/~nunokawa/Linux/DD/

Linuxによるロボット制御・デバイスドライバ開発
www.mechatronics.mech.tohoku.ac.jp/~kumagai/linux/

Linux用デバイスドライバの作成
ap.fukushima-iri.go.jp/LinuxDeviceDriver/LinuxDeviceDriveMAIN.htm

LinuxデバイスドライバFAQ
www-online.kek.jp/~yasu/Kenshu/faq.html

エンジニアリングLinux応用技法
カーネル/デバイスドライバ/ポーティング/リアルタイム
www.cqpub.co.jp/hanbai/books/522070.htm

色々調べると
ロボット系の人が多いような気がします
SFに出てくるガレージでオリジナル2足歩行ロボットを作る
時代が来たのかな?

116 名前:login:Penguin [02/10/06 18:35 ID:URuHDkGy]
hack! age

117 名前:login:Penguin [02/10/17 21:17 ID:RGYfSOtJ]
age




118 名前:login:Penguin [02/12/13 10:20 ID:NJ02XiJx]
うおータコがドライバ書くのってやっぱ無理があるなー
でも仕事だしがんばるぞーちくしょー

119 名前:IP記録実験 mailto:IP記録実験 [03/01/08 22:12 ID:KwFqEkll]
IP記録実験
qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

120 名前:login:Penguin mailto:sage [03/01/09 01:09 ID:kgNvzzS1]
なんとか頑張って下さい>ひろゆき

お金は持ってないけど応援します。

121 名前:login:Penguin mailto:sage [03/01/09 01:23 ID:kgNvzzS1]
ひろゆきは早起きのし過ぎでちょっと壊れてるな。

122 名前:login:Penguin mailto:sage [03/01/09 01:33 ID:kgNvzzS1]
>>532
プ

123 名前:IP記録実験 mailto:IP記録実験 [03/01/09 01:55 ID:AmicprCv]
IP記録実験
qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

124 名前:login:Penguin mailto:sage [03/01/09 02:06 ID:0uJfVOg+]
名スレの予感

125 名前:login:Penguin mailto:sage [03/01/09 02:50 ID:yayiRGlu]
福島もキタ━━━━━━(゚∀゚)━━━━━━ !!!!

126 名前:login:Penguin mailto:sage [03/01/09 03:34 ID:TPkK0Va9]
>>81
まぁそういうところでよしゆきはすごいわな。

127 名前:山崎渉 mailto:(^^)sage [03/01/15 11:31 ID:m6zO97qQ]
(^^)



128 名前:ドライバー [03/01/15 13:09 ID:I5ofFU+k]
いまLynxEMのドライバいじってるんだけど、
マルチディスプレイに成功した人います?

もう何年も放置されてる問題だから無理なのかな…?

129 名前:login:Penguin mailto:sage [03/01/15 18:11 ID:nk4F1IDO]
>>128
Windows2000でも放置されてた問題だし
あきらめよう

130 名前:login:Penguin [03/02/05 19:41 ID:YQeAwX++]
保守age

131 名前:login:Penguin [03/02/07 19:54 ID:jVRQXDIx]
1ms以下のタイミングでポーリングを監視する方法って何かないですか?
やっぱ割り込み使わんと無理?

132 名前:login:Penguin mailto:sage [03/02/07 20:36 ID:0UoE11AV]
>>131
HZいじってタイマの周期を1ms以下にすればなんとかなると思うけど。
割り込み使うのが正攻法じゃないかなー。


133 名前:   [03/02/07 21:50 ID:VKdRg4g7]
ftpfs きぼんぬ
modprobe ftpfs login=ftp password=hoge@2ch.net host=ftp.ring.gr.jp
とかすんの


134 名前:login:Penguin mailto:sage [03/02/07 22:07 ID:nu9G29ZI]
>>133
www.google.co.jp/

# gnutellafsなんてのもあるのか...

135 名前:133 mailto:sage [03/02/11 02:29 ID:/akGZqt4]
ftpfs.sourceforge.net/
がーん・・・
寝る!

136 名前:login:Penguin [03/02/11 03:04 ID:bsSBCYyf]
>>17
> モジュールアンロード
> # rmmod hello.o

正しくは、rmmod hello
気になったんで...

137 名前:login:Penguin [03/02/14 03:21 ID:vgGnuLAo]
お馬さんの本にspinlockにぎったままsleepしちゃいかん、
って書いてあるんですがどんな困ったことが起こるのか教えて欲しい
今日この頃…



138 名前:login:Penguin mailto:sage [03/02/16 03:44 ID:tbT/WrCe]
>>137
スピンしっぱなしになる

ちなみに超電磁スピンはこれの応用

139 名前:login:Penguin mailto:sage [03/02/16 23:53 ID:7J4Y8mCH]
>>138
ああ、そっか。てことは攻撃中にspin_unlock()されるとマズー?


140 名前:login:Penguin [03/02/20 22:11 ID:+wCEK+nh]
>>137
デッドロックが起きる。
spinlock を獲得したままスリープすると、そのプロセスが目覚めるまで
同じ spinlock を獲得しようとするプロセスがビジーウェイトし続ける。

141 名前:137 [03/02/21 03:18 ID:qmT4Thn5]
>> 140
どうもです。
自作基板に載っているPCIバスブリッジのDMAを叩くのに、複数プロセスからDMA転送を
同時に行うことはできないのでspinlockにぎらせてwait_event_interruptibleか何かを
コールしようとたくらんでました。
DMA転送が終われば必ず割り込みで叩き起こされるのでそこでspin_unlockすれば
問題ないかなと思ったのですが、間違いですか?
その間ビジーウェイトし続けるのがもったいないということであればsemaphoreで
ブロックするべきでしょうか。

142 名前:login:Penguin mailto:sage [03/02/21 05:38 ID:wCxVa5I1]
>>141
だめ。
プロセスAのカーネル内: 獲得 -> sleep
プロセスBのカーネル内: 獲得に失敗してビジーウェイト
なのだけど、カーネル内では、ページフォルトとか明示的にschedule()呼ぶと
かしないとスイッチはおこらないので、単一プロセッサシステムだと絶対死亡。
SMPだとか、2.5のプリエンプションカーネルだと、大丈夫かもね。
終了割込みで起こされる処理なら、sleep と wakeupを使うのが普通じゃない?


143 名前:bluehat [03/02/27 02:47 ID:2xZ0HU3V]
デバドラをアクセス(介する?)することで、ファイルを暗号化して保存&
ファイルを複号化して取得、ってな事ってできんのか?
おめーだったらどうやって実現するよ?教えろ!ゴルァ!



144 名前:login:Penguin mailto:sage [03/02/27 03:04 ID:1e6KPqQp]
普通loopだろう。

145 名前:bluehat [03/02/28 03:17 ID:5YDI7es3]
>>144
却下。普通じゃだめぽ。デバドラで実現しる!

146 名前:login:Penguin mailto:sage [03/02/28 07:13 ID:0bshxi8O]
>>145
んー、何をもってデバドラというのかよーわからんが、狭義な,
ハードウェアを制御するドライバのことなら

「オマエラ、おつむ悪すぎなので出直して下さい。」

147 名前:login:Penguin mailto:sage [03/02/28 12:21 ID:oFO1qwF8]
>>145
んと、loopは広義のデバドラですよ。メジャー番号7のブロックデバイスです。



148 名前:login:Penguin mailto:age [03/03/06 14:51 ID:NOJmB8ay]
kernel-2.5 でデバドラのインターフェースが大幅に変わるという話を
きいたがおまえら知っているか?


149 名前:login:Penguin mailto:sage [03/03/06 22:23 ID:33Ph63nv]
>>148
プリエンプティブカーネルになるってのはどっかで見たが・・・
I/F というと、エントリーポイントの仕様でも変わるのか?
それとも、カーネルがエクスポートするルーチンの仕様変更?

150 名前:login:Penguin mailto:sage [03/03/06 23:24 ID:gj2ir03d]
>>148
モジュールまわりの仕様が変わるというのはあるが、
モジュール自体に影響ないはずだし…
構造体とかカーネル側の関数が変更されるのはよくあることだし…

その話の出所はどこよ?


151 名前:148 mailto:age [03/03/07 00:48 ID:2S2Wvrkx]
struct file_operations つくって register_chrdrv()するだろ。
そのやりかたが変わるとか聞いたんだが。


152 名前:login:Penguin mailto:sage [03/03/07 04:37 ID:2ohbwA9F]
>>151
(゚∀゚)んなこたーない

153 名前:148 [03/03/07 13:38 ID:2S2Wvrkx]
>>152
安心したよ
>>149
カーネルプリエンプションに関しては大問題だ。
ドライバかなり書き直さなくてはいかんのぉ。


154 名前:login:Penguin mailto:sage [03/03/08 00:05 ID:l6jbsomd]
2.5のソース読んでからまた来い

155 名前:login:Penguin mailto:sage [03/03/08 00:53 ID:dd9ui0La]
>>153
その様子では 2.5のカーネルプリエンプションを理解するのが先です。
名前から想像するものとはちょっと違うものです。

156 名前:login:Penguin [03/03/17 00:55 ID:POpqK4+0]
デバイスドライバを書いてる人って 日本に何人いるんだろう
hello.o くらいだったら1万人くらいいるのかな?

157 名前:login:Penguin [03/03/21 01:19 ID:4f4NMJji]
3000人くらい



158 名前:LINUX初心者 [03/03/22 00:33 ID:c2EgVY2O]
 ご質問があります。

 IDEのDVD-ROMから、暗号無しのDVDデータを取り出すソフトが必要になり
 まして、MT.FUJIの仕様書とcdrom.cを読んでいます。どうやら、DVDの
 情報はIOCTLを通して取り出せるみたいなのですが、データ(2Kバイト)の
 データの取り出しは、IOCTL経由では出来ないように見えます。その割には
 CD-ROMのモード1と2、CDオーディオのデータはIOCTLで読み出せます。

 フリーのソフトを見るとpf_readで実行しているようですが、どうやれば
 良いのでしょうか? 出来たらIOCTLを使いたいのですが・・・・

 よろしくお願いします。

159 名前:名無しさん@Emacs mailto:sage [03/03/22 11:15 ID:j2wJcuTQ]
>158

www.linuxvideo.org/docs/Linux-DVD-HOWTO/ja/DVD-Playing-HOWTO-Nihongo.html
ここを読んだだけだけど、、、
DVDでioctlを使うには、カーネルで、それようの設定をして
コンパイルが必要みたい?

160 名前:login:Penguin [03/04/13 20:50 ID:Z3+MYXr2]
USBドライバの開発の参考って何かないですか?

161 名前:あぼーん mailto:あぼーん [03/04/13 20:51 ID:fhD9Fsc5]
   ______________
 /:\.____\
 |: ̄\(∩´∀`) \  <先生!こんなのがありました!
 |:在  |: ̄ ̄ U ̄:|
ttp://saitama.gasuki.com/wara/

162 名前:login:Penguin [03/04/13 22:03 ID:Z3+MYXr2]
kill -9 161

163 名前:login:Penguin mailto:sage [03/04/13 22:08 ID:ecu8jjet]
>>160
定番は、似たようなのを見る だろ。なお、クラス(ってかベンダ)ドライバな
ら、一番簡単なのは、scanner.c 。バグありだけどね。



164 名前:login:Penguin [03/04/13 22:16 ID:Z3+MYXr2]
>>163
ありがとうございます。

ところで、カーネルに組み込まれているデバイスドライバのソースをモジュール化するのに定番の手法とかって
ないでしょうか?

カーネルがROM化されているので、モジュールにする必要があるもので。

165 名前:login:Penguin mailto:sage [03/04/13 22:25 ID:ecu8jjet]
>>164
手法って、なにも特別なことはないとおもうんだけど...

make modules 以外でコンパイルするっていみ? それなら -DMODULE がみそ。
カーネル関連のソース内部でも、ドライバでも、これを ifdef とかで見る。

それともmodule対応じゃないドライバを対応に書き直す方法? こっちなら、
適当な初期化/後かたづけ処理を module_init()とmodule_exit()で登録すればいい。




166 名前:login:Penguin [03/04/13 22:33 ID:Z3+MYXr2]
>>165
>module対応じゃないドライバを対応に書き直す方法
こちらの方です。ありがとうございます。意外と簡単なんですね。
早速、明日試してみます。

デスクトップで動いているドライバを組み込みLinuxに移植しようとしてるんですが、
ドライバを作るのははじめてなので、馬本で勉強してます。まだ2章目ですが


167 名前:開発メモ mailto:sage [03/04/14 14:29 ID:Y6l/xCVk]
Warning: loading module.o will taint the kernel: no license

がでたときは、
#include <linux/module.h>

MODULE_LICENSE("GPL");


printk の出力はdmesgで見ることができる。



168 名前:login:Penguin mailto:sage [03/04/14 22:12 ID:ktmIntrh]
>>160
こんなんが参考になるかも・・・
www-online.kek.jp/~yasu/Kenshu/usb-driver.html


>>167
> printk の出力はdmesgで見ることができる。

cat /proc/kmsg
としても見れます。

カーネルバッファにメッセージが追加される度にコンソールに表示されます。
でも表示内容の文頭に <4> というようなログレベルが付いてまうけど・・・

169 名前:login:Penguin mailto:sage [03/04/16 10:03 ID:Rj9RiWI4]
#define MODULE
#include <linux/module.h>
int init_module(void){ printk("<1>こんにちは\n"); return 0;}
void cleanup_module(void){ printk("さやうなら\n");}

を gcc -c hello.c でコンパイル
insmod ./hello.o で組みこもうとすると

./hello.o: Note: modules without a GPL compatible license cannot use GPLONLY_ symbols

というメッセージがでます。
カーネルのバージョン管理だと小間生のですが、カーネルの再構築をせずにすり抜ける
ことは不可能でしょうか?


170 名前:山崎渉 mailto:(^^) [03/04/17 11:54 ID:KRn99/cy]
(^^)

171 名前:login:Penguin mailto:sage [03/04/18 01:19 ID:HcWYqirI]
>>169
>>167 ?

172 名前:山崎渉 mailto:(^^)sage [03/04/20 06:14 ID:xFRXxEWb]
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

173 名前:login:Penguin [03/04/21 11:26 ID:dxqbEfvS]
insmod test.o をするとこんなエラーがでます。
どんなライブラリをリンクすればいいのでしょうか?

./test.o: unresolved symbol remap_page_range
./test.o: unresolved symbol __wake_up
./test.o: unresolved symbol schedule
./test.o: unresolved symbol kmalloc
./test.o: unresolved symbol vfree
./test.o: unresolved symbol usb_deregister
./test.o: unresolved symbol video_register_device
./test.o: unresolved symbol remove_wait_queue
./test.o: unresolved symbol video_unregister_device
./test.o: unresolved symbol usb_free_urb
./test.o: unresolved symbol usb_alloc_urb
./test.o: unresolved symbol usb_register
./test.o: unresolved symbol __pollwait
./test.o: unresolved symbol kfree
./test.o: unresolved symbol usb_string
./test.o: unresolved symbol add_wait_queue
./test.o: unresolved symbol usb_submit_urb
./test.o: unresolved symbol usb_control_msg
./test.o: unresolved symbol __vmalloc
./test.o: unresolved symbol printk
./test.o: unresolved symbol usb_set_interface
./test.o: unresolved symbol vmalloc_to_page
./test.o: unresolved symbol __generic_copy_to_user
./test.o: unresolved symbol usb_unlink_urb

174 名前:login:Penguin mailto:sage [03/04/21 11:35 ID:TzNUZhnB]
>>173
カーネルのバージョンとtest.cがわからないとちゃんと答えられない


175 名前:login:Penguin mailto:sage [03/04/21 11:37 ID:65INoG+s]
>>173
find ライブラリのありそうなパス -exec grep -l "remap_page_range" {} \;
とかやってみるとか?


176 名前:login:Penguin mailto:sage [03/04/21 12:03 ID:UyUiMYQq]
>>173
MODVERSIONSでせう。
test.cコンパイルするときに-DMODVERSIONSつけてみ。
当然includeはカーネルと同じものを使うこと。


177 名前:173 [03/04/21 12:48 ID:dxqbEfvS]
カーネルは、2.4.20 です。

ソースはこれです。usbカメラのドライバです。
www.smcc.demon.nl/webcam/pwc-8.10.tar.gz

このソースの *.c を

INCLUDEDIR = /usr/src/linux/include/

CFLAGS = -O2 -DMODULE -D__KERNEL__ -static -Wall -Wstrict-prototypes -DMODVERSIONS -I$(INCLUDEDIR) -DEXPORT_SYMTAB

でコンパイルしてできた、*.o を、
ld -o test.o -r ./*.o でリンク。insmod test.o で、173のメッセージがでます。

ROM化されたカーネルに、モジュールをいれてusbカメラを使えるようにしようと思ったのですが・・・

ちなみに、同じソースをカーネルに組みこめば動作するのは確認しました。




178 名前:login:Penguin mailto:sage [03/04/21 19:06 ID:UyUiMYQq]
>>177
そのカーネルの.configは?
CONFIG_MODVERSIONS=nのときに-DMODVERSIONS付けても同じ事になったような気がするが。


179 名前:うまうま mailto:sage [03/04/22 01:26 ID:0SpJ1zOH]
>>177
お馬さん本2巻目の
「11.3.1 モジュールでバージョンサポートを使う」
「11.3.2 バージョン付きシンボルのエクスポート」
あたりをみたらどうよ? サンプルコードもあったよ
健闘を祈る!

180 名前:177 [03/04/23 19:22 ID:TY1i8cop]
みなさん、ありがとうございます。

--static を外したら、うまく出来ました。

>>178
組込みのLinuxなんですが、開発元がソースをよこしてくれないので不明です。
GPL的にいいのだろうか・・・

181 名前:login:Penguin [03/04/23 21:19 ID:DUkd9IIg]
linkあげ
・カーネル2.6のドライバ・モデル
ttp://japan.linux.com/kernel/03/04/14/0833230.shtml

182 名前:login:Penguin [03/04/24 12:36 ID:LW5TaSjX]
Linux で USB制御とかを学ぶのに便利な電子工作キットのおすすめってありません?

できるだけ安いの。

183 名前:うまうま [03/04/25 12:03 ID:HCQr+NWK]
>>182
モルフィー企画のUSBキットはいかが?
www.morphyplanning.co.jp/

確かLinuxドライバを開発しているサイトがあった気がする。

184 名前:bloom [03/04/25 12:26 ID:1KQi+Ees]
homepage.mac.com/ayaya16/

185 名前:login:Penguin [03/05/02 11:48 ID:LZsBxbHZ]
USB デバイスを/dev 以下のデバイスノードに割りあてるにはどうすればいいのでしょうか?

馬本を見ながら、

devfs = devfs_mk_dir(NULL, "matsu", NULL);
if(!devfs)
return -EBUSY;

devfs_register(devfs, "nt401", DEVFS_FL_AUTO_DEVNUM, 0, 0,
S_IFCHR | S_IRUGO | S_IWUGO,
&scull_fops,
sampleDevice
);

とやっているのですが、indmod すると

Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters

IOやIRQはどこからとってくればいいのでしょうか?

186 名前:login:Penguin mailto:sage [03/05/02 12:21 ID:5kcklCyp]
>>183
モルフィー企画は、5/1 千葉地裁に破産申し立てを行った模様。
やっと終わったようですね、夢が・・・


187 名前:login:Penguin mailto:sage [03/05/02 13:17 ID:8SKdq5Sf]
>>185
それはモジュールの初期化に失敗した時のメッセージでつ。
だまされないように。




188 名前:login:Penguin mailto:sage [03/05/02 14:02 ID:fxkN+fN8]
>>185
それは、init_moduleがretun 0;以外で終了した場合のメッセージですよ。
普通、デバイスが見付からないときは -ENODEVとかでかえすでしょ?
返り値を確認汁。

ISAのデバイスでは、IOとかIRQの設定が違うと見付からないことが多いので、
insmodが、ヒントのために、IOとかIRQはどうよ? って書くことになってるだけ。


189 名前:185 [03/05/02 14:12 ID:LZsBxbHZ]
>>187
>>188
ありがとうございます。
probe の処理のところへ devfs 関係の処理を移したらinsmod できるようになりました。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<265KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef