1 名前:login:Penguin [02/01/31 01:14 ID:t3s191ys] ディバイスドライバの改造、製作にまつわる情報交換、質問、 噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。
226 名前:login:Penguin mailto:sage [03/05/28 14:11 ID:2En7vxAz] insmod するとこんなエラーが出てきたのですがどうすればいいでしょう? couldn't find the kernel version the module was compiled for
227 名前:山崎渉 mailto:(^^) [03/05/28 16:42 ID:3t6i6zxR] ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
228 名前:login:Penguin [03/05/28 16:55 ID:3qAfQe3K] >>226 そのドライバを今のカーネルでコンパイルし直してください。 もしくは -f オプションで insmod してください。なんちって
229 名前:login:Penguin mailto:sage [03/05/28 23:40 ID:z1beycbb] >>226 なにをいれた? 「実はモジュールじゃない」ってときもそれ。
230 名前:226 mailto:sage [03/05/29 18:33 ID:FeUqO3hy] >>228 >>229 MIPS で動いているLinux に、Redhat7.2 のUSBデバイスドライバです。 ソースのコンパイルはちゃんと通るのですが。 あと、Hello World を出力するだけのデバドラの動作は確認済。
231 名前:login:Penguin mailto:sage [03/05/29 21:59 ID:5gpS9IGq] >>230 archがあってないとか。 $ file vmlinux $ file そのモジュール の結果を見てみたい所ですね。
232 名前:226 mailto:sage [03/05/30 10:13 ID:Mg17snq6] >>231 $file vmlinux ./vmlinux: ELF 32-bit LSB mips-2 executable, MIPS R3000_LE [bfd bug], version 1, statically linked, not stripped $file test.o ./test.o: ELF 32-bit LSB mips-2 relocatable, MIPS R3000_LE [bfd bug], version 1, not stripped
233 名前:login:Penguin mailto:sage [03/05/31 15:40 ID:pCrUKetP] >>232 あってるねえ。謎だなあ。 init_moduleがエラーを返してるって事はないよね?
234 名前:226 mailto:sage [03/06/02 11:33 ID:O0kbkjww] >>233 cc に渡すパラメータに -DCONFIG_MODVERSIONS を付け加えたら無くなりました。 ところが今度は、insmod するとこんなエラーが・・・ ./test.o: unresolved symbol _gp_disp ./test.o: Note: modules without a GPL compatible license cannot use GPLONLY_ symbols _gp_disp はどこのライブラリにあるのでしょうか?
235 名前:login:Penguin mailto:sage [03/06/03 01:50 ID:iocW6lsY] >>234 そんな関数見たことないなー。 別なモジュールに依存してるとかないの? カーネル絡みはlibgcc以外のライブラリ使わないよ。
236 名前:コピペ mailto:sage [03/06/03 13:33 ID:9FZ3sCry] (゚∀゚) ? Insmod が _gp_disp シンボルが未定義だと文句を言います (゚∀゚) ! _gp_disp は MIPS の PIC コード中で使われているマジックシンボルです。 このエラーは、システムをクラッシュから救ってくれたため、むしろ有り難いものです。 この場合の問題の要点は、カーネル作成時の Makefile のオプションと、 カーネルモジュール作成時のオプションは同じにすべきだということです。 特に、オプション -mno-pic -mno-abicalls -G 0 が重要です。
237 名前:login:Penguin mailto:sage [03/06/03 13:34 ID:9FZ3sCry] まあなんか知らんけどgoogleって便利ってのはわかった 意味まではわかんないけど
238 名前:login:Penguin mailto:sage [03/06/03 14:40 ID:iocW6lsY] >>236 へぇ、MIPSのPICは変わっていると聞いたことがあるが… そんな事もやってるのか。 ひとつ賢くなったような気がする。
239 名前:() mailto:sage [03/06/03 18:52 ID:U5Cecnio] Windowsで動いているUSBデバイスドライバを、Linux へ移植しようとしています。デバイスの認識、open, write, close はうまく出来ているようなのですがreadがうまく行きません。 -75 のエラーが usb_bulk_msg() から返って来ます。-EOVERFLOW のエラーのようです。 ところが、一度、Windowsに認識させてから、そのデバイスをLinux につなぎ直してreadするとうまく行きます。 何らかの初期化をしているようなのですが、Linux ではどのようにすればいいのでしょうか? sniffer Tool の出力には 0000027510:31:13>>>>>>> URB 4 going down... 0000027610:31:13-- URB_FUNCTION_CLASS_INTERFACE: 0000027710:31:13 TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK) 0000027810:31:13 TransferBufferLength = 00000008 0000027910:31:13 TransferBuffer = 81406fd0 0000028010:31:13 TransferBufferMDL = 00000000 0000028110:31:13 0000028210:31:13 0000: 0000028310:31:13 80 0000028410:31:13 25 0000028510:31:13 00 0000028610:31:13 00 0000028710:31:13 00 0000028810:31:13 02 0000028910:31:13 08 0000029010:31:13 00 0000029110:31:13 0000029210:31:13 UrbLink = 00000000 0000029310:31:13 RequestTypeReservedBits = 00 0000029410:31:13 Request = 20 0000029510:31:13 Value = 0000 0000029610:31:13 Index = 0000 とでていたので、usb_ctrl_msg()を使うのかと思ったのですが。 #define EPIPE32/* Broken pipe */ のエラーを返してしまいます。どうやればいいのでしょうか? ちなみにチップは、日立の38K0です。
240 名前:login:Penguin [03/06/04 10:07 ID:RzUG7kJc] デバドラ開発超初心者です。 誰か教えてちょーだい!! カーネルモジュールでぬるぽ等による例外が起きてoopsが出た後って リブートしなくちゃいけないの? rmmodするとリソースbusyと言われて出来ないし。 簡単にやり直せる方法はないのでしょうか? kdbとかを使うと出来るのでしょうか? 小さなドライバなので出来ればprintkだけでデバッグ 済ませてしまいたいです。
241 名前:login:Penguin mailto:sage [03/06/04 15:22 ID:miGkoc0u] >>240 su して、 reboot これが最速。
242 名前:login:Penguin mailto:sage [03/06/04 15:58 ID:YRPx8Qpb] >>240 MOD_INC_USE_COUNTしなければ、rmmodできるはず。 Oops食らったまま動かし続けるのは気持ち悪すぎるが。
243 名前:240 [03/06/04 18:14 ID:RzUG7kJc] >>241 >>242 さん、ありがとうございます。 MOD_INC_USE_COUNT、MOD_DEC_USE_COUNTを空に 再定義してみました、単純なミスとかで他のメモリ 領域に影響なさそうであれば、これで切り抜けよう と思います。 危なそうな場合は、やっぱりrebootですね。
244 名前:うまうま mailto:sage [03/06/04 23:56 ID:yoK8ZXbv] >>239 ドライバの移植?なかなかおもしろそうだね read, writeのコマンドシーケンスは合ってる? ひょっとして、readする前にデバイスに対し的確なコマンドを writeしてあげないといけないのでは? そのsnifferログは、OSから8バイトのデータをデバイスに送っている 点や、URB番号が若い点からして、USBデバイスからディスクリプタを 読み出そうとしているところと見た。それはWindowsでもLinuxでもデバイスを 繋いだらUSBホスト側が自動的に行う部分。いわゆる初期化処理。 今回のreadできない問題に関係あるとは思えないな。
245 名前:239 mailto:sage [03/06/09 11:05 ID:FPzn7DZy] >>244 write シーケンスの前にあるこの処理が妖しいとは思うのですが、Linux でどうやって実現したらいいのか・・・ 0000037010:31:29>>>>>>> URB 7 going down... 0000037110:31:29-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: 0000037210:31:29 PipeHandle = 814d7b1c 0000037310:31:29 TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) 0000037410:31:29 TransferBufferLength = 00001000 0000037510:31:29 TransferBuffer = 8140c000 0000037610:31:29 TransferBufferMDL = 00000000 0000037710:31:29 UrbLink = 00000000 0000037810:31:29B133TN: m_Endpoint1IN.SubmitUrb status ==> 0000037910:31:290x00000103 0000038010:31:29 0000038110:31:29B133TN: B133TNDevice::Create Status 0000038210:31:290x00000000 0000038310:31:29 0000038410:31:29B133TN: Entering B133TNDevice::Device Control, 0000038510:31:29IRP: Major=0xe 0000038610:31:29 Minor=0x0 Flags=0x30 0000038710:31:29B133TN: Code=0x222000 InputSize=0x4 OutputSize=0x0 0000038810:31:29B133TN: 0000038910:31:29B133TN: Entering B133TNDevice::IOCTL_B133TN_COMMAND_OUT_Handler, 0000039010:31:29IRP: Major=0xe 0000039110:31:29 Minor=0x0 Flags=0x30 0000039210:31:29B133TN: Code=0x222000 InputSize=0x4 OutputSize=0x0 0000039310:31:29B133TN: 0000039410:31:29B133TN: FIFO ReservedDataSize=> 0000039510:31:290x00000000 0000039610:31:29 0000039710:31:29UsbSnoop - IRP_MJ_INTERNAL_DEVICE_CONTROL, IOCTL_INTERNAL_USB_SUBMIT_URB 0000039810:31:29
246 名前:239 mailto:sage [03/06/10 11:06 ID:3w0EVlGb] ttp://www.xlsoft.com/jp/products/windriver/windriver.html ここにある、winDrive の体験版でハードを調査したところ、インターフェースが活性化されていないのが原因のようです。 usb_set_interface() を使えばいいのだろうけど、パラメータがよくわからない。
247 名前:login:Penguin mailto:sage [03/06/13 16:03 ID:pewsS0ej] cat /proc/bus/usb/devices で表示されるインターフェースの中から C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=piece E: Ad=83(I) Atr=03(Int.) MxPS= 16 Ivl= 16ms I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=piece E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=piece のデバイスを活性化するにはどうすればいいのでしょうか?
248 名前:247 mailto:sage [03/06/13 18:44 ID:pewsS0ej] ここを読んだら自己解決しますた。 USB通信プログラミングテクニック ttp://www.picfun.com/usb00.html
249 名前:うまうま mailto:sage [03/06/13 22:20 ID:EYuB3skO] >>248 こりゃ使えるサイトだ。日本語でUSBの仕様をここまで説明したサイトって、 他にはないよきっと >>247 に質問! 「活性化」というのがよくわからないから教えてほしい。 cat /proc/bus/usb/devices で >>247 のような表示がされたってことは、 すべてのPIPEがオープンされているものと思ったけど。 結局、このデバイスにはInterfaceが二つあって、USBバス上に 接続したときは Interface 0しか初期化されなかった。その状態で Interface 1のEndpoint 0x81からread()しようとしたが、 まだPIPEがオープンされてないためできなかったということ?
250 名前:login:Penguin [03/06/14 17:46 ID:G+Mtao/F] オイラGPLライセンスだよ〜 と表明するときに書くマクロって どういうやつだっけ?
251 名前:login:Penguin mailto:sage [03/06/14 18:11 ID:1HDS5RSe] MODULE_LICENSE("GPL"); のことかにゃ。
252 名前:login:Penguin mailto:sage [03/06/14 18:13 ID:G+Mtao/F] >>251 (゚∀゚)サンクスコ
253 名前:247 [03/06/16 12:53 ID:bzsTHCID] >>249 そのとおりです。 えーと、いま作成中のドライバを試してみたら解決していませんでした。 Interface 1の初期化ってどうやるのでしょう?
254 名前:247 [03/06/16 17:13 ID:bzsTHCID] 追記:cat /proc/bus/usb/devices の表示は >>247 なのですが、なぜかread が出来ないのです。writeは出来るのですが
255 名前: [03/06/19 18:39 ID:L1S32rBn] 質問です。USB のpipe を reset するにはどうすればいいのでしょうか?
256 名前:中年ハード屋 [03/06/20 00:46 ID:GdrpjdbN] DVDのCSS回路を設計するために、そのCSSの方法を理解するために、 LINUXのide-cdを利用したソフトを書いています。(ライセンス済みです) それで、DVDのディスクキーや内部情報、そして、認証などは出来るのですが、 タイトルキーの取得が出来なくて困っています。 atapiを通したイトルキーの取得で何かしらのトリックがあるのでしょうか? このようなソフトを書く場合に、通常のアプリソフトのように(いまの やりかた)書けば動作するのですか、それともドライバーソフトのように 特殊な方法が必要なのでしょうか? よろしくお願いします
257 名前:login:Penguin [03/06/20 12:05 ID:w5824KTx]
258 名前:login:Penguin [03/07/02 02:02 ID:VujfXoME] (・∀・)renice!
259 名前:login:Penguin [03/07/06 23:29 ID:lEtq+gmE] (・∀・)renice!
260 名前:login:Penguin [03/07/08 15:11 ID:nDf4bQ70] (・∀・)renice!
261 名前:linuxer [03/07/09 01:17 ID:W4/RwfEH] 僕はLinux のethernet のドライバを改造したいデス ふつは通信用途に最適化されてると効きました それはぺケットをみる目的につかいます なにかアイディアはありますか??
262 名前:login:Penguin mailto:sage [03/07/09 01:22 ID:9Ead9bym] tcpdump等の既存のものより詳細にみれなければ意味がない気がするけど大丈 夫なのかしら。
263 名前:_ mailto:sage [03/07/09 01:29 ID:RRaEUYou] homepage.mac.com/hiroyuki44/hankaku09.html
264 名前:login:Penguin mailto:sage [03/07/09 01:48 ID:FD/eKW7A] >>262 石にもよるでしょうねえ。 最近の利口な奴はいろいろ手を入れてくれるし。
265 名前:login:Penguin mailto:sage [03/07/09 13:47 ID:GtKhiIZ8] >>261 現行ドライバだと、どの点が不満なのか言ってもらわないと助言しようがないよ パケットモニタリングはNICチップのpromiscuousモードの仕様に依存する話だ
266 名前:login:Penguin mailto:sage [03/07/10 07:33 ID:sMbuqqa1] >>265 現行のドライバならpromiscuousモードで動かしたときに パフォーマンスがわるいな感じです それでぺケットを取りこぼすことになってしまうので キャプチャ用途に最適化できたらいいなと考えましたです
267 名前:login:Penguin mailto:sage [03/07/10 07:41 ID:oOmBMqv3] >>266 promiscuousモードだと全パケットをホストPCに転送するから 通常モードに比べて取りこぼす可能性は増える。対象のNICチップは何? 素直にintelなり3comを買えば済むだけの話かもよ。 ちなみにリアルテック(蟹)の性能がよくないのは特許を避けてるから。 現状でいいパフォーマンスのNICが欲しけりゃIntel(or元DEC)、3comの ちょっと値が張るNICを買うしかないよ。 ドライバでどうこうできる話ではない
268 名前:login:Penguin mailto:sagee [03/07/10 23:13 ID:TravPTn9] >>267 リアルテクです。3COMも使ってますが、スイッチと相性が悪いな感じで 無反応になってしまう(壊れているのかもしれない)こともありますで リアルテクでペルフォマンスがよくならないかなと想いました ちなみに特許って具体的にはどんな特許ですか?
269 名前:login:Penguin mailto:sage [03/07/10 23:46 ID:bBVT4pXs] >>268 261と268で目的が変化してるぞ。
270 名前:login:Penguin mailto:sage [03/07/11 13:32 ID:CtoBVZIQ] >>268 そもそもパケットモニタリングするのにスイッチングハブを使ってる時点でアウト リピータハブ(ダムハプ)を使わないと他ホストの通信は傍受できないよ 結論 ・RealtekのNICは捨てて、Intelか3Comを使え ・スイッチングハブではなく、リピータハブを使え 全然デバドラと関係ないや スレ違いどころか板違い?
271 名前:login:Penguin mailto:sage [03/07/13 22:55 ID:UrPfG9sV] >>267 >promiscuousモードだと全パケットをホストPCに転送するから 違うよ。promiscuousモードって言うのは、リンク層で受信したデータが 自ホストの物理アドレスでなくても受信すること。 >>270 が正しい事を言っている。
272 名前:login:Penguin [03/07/14 02:37 ID:imGWjqw6] age
273 名前:267=270 mailto:sage [03/07/14 15:12 ID:E/Ns9e+C] >>271 すまん 267=270 なのだが 何か矛盾したこと言ったかな? MAC層(データリンク層)の処理はNICチップで行われる。 ホストPCはMAC層の処理にはまったく関与しない。 MAC層の処理後、必要なデータだけPCIバスを介してホストPCにDMA転送する。 つまり、通常モードだと自ホスト宛かブロードキャストのパケットデータだけを ホストPCに転送すればいいのに対し、promiscuousモードだとすべての パケットデータを転送しなくてはならず、転送量が膨大になる。 そのため、バッファがあふれる(=データを取りこぼす)ことになりやすい。
274 名前:268 mailto:sage [03/07/15 03:30 ID:Yac3cQfq] スイッチはL3スイッチでポトミラリング機能がありますよ ただ3COMのNICでも限界があるとですがぎりぎりまでぺケットの モニタ用に最適化したいと思いましたです リアルテクの話は忘れてください ふつはバッファも通信用に チュニングすれて確保してると思ったけどぺケットをモニタするときは 受け取るだけだから ドライバで受信用のバッファを多めに できたらいいなと思ったよ でもどうやったらいいか分らないよ ヘルプしてください
275 名前:山崎 渉 mailto:(^^) [03/07/15 11:17 ID:2JhhXBQM] __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
276 名前:login:Penguin [03/07/15 12:07 ID:Fo16Kpwc] (・∀・)renice!
277 名前:login:Penguin [03/07/22 11:30 ID:6WQ9WMDa] (・∀・)renice!
278 名前:login:Penguin [03/07/25 12:52 ID:NH3LXVfX] (・∀・)renice!
279 名前:login:Penguin [03/07/30 12:07 ID:cPdgkLk2] (・∀・)renice!
280 名前:ぼるじょあ ◆yBEncckFOU mailto:(^^) [03/08/02 05:04 ID:GfRe8vK7] ∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
281 名前:login:Penguin [03/08/02 10:27 ID:2rmp9gin] (・∀・)renice!
282 名前:login:Penguin [03/08/08 11:54 ID:mg5o8ebS] (・∀・)renice!
283 名前:login:Penguin [03/08/13 12:30 ID:pfCYHBFY] (・∀・)renice!
284 名前:login:Penguin mailto:sage [03/08/14 22:31 ID:EZZe4dzO] $> cd /pub $> more beer
285 名前:login:Penguin mailto:sage [03/08/14 22:44 ID:EZZe4dzO] $> man woman $> Segmentaion fault (core dumped)
286 名前:山崎 渉 mailto:(^^) [03/08/15 22:51 ID:dil3w4kp] (⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
287 名前:login:Penguin [03/08/15 23:47 ID:GfNK1qbf] (・∀・)renice!
288 名前:login:Penguin [03/08/16 15:04 ID:rNtMNMvg] (・∀・)renice!
289 名前:login:Penguin [03/08/25 09:46 ID:+hXUD3jL] (・∀・)renice!
290 名前:login:Penguin [03/09/02 21:16 ID:1mo12GKS] insmod xxx.oってことはドライバのソースはどんなに大きくてもxxx.cの1っこだけじゃないとだめなの?
291 名前:login:Penguin mailto:sage [03/09/02 21:20 ID:88sqYoXe] >>1 は、ママンでもファックしてろや!hahahahahahaaaaaaaaaaaaaa!
292 名前:login:Penguin mailto:sage ああウソだぜ [03/09/02 22:18 ID:qo69XMHR] >>290 完全なるカーネルモジュールにヘッダやリンカはいらない。 ソースは常にひとつ。
293 名前:login:Penguin mailto:sage [03/09/03 08:04 ID:CuYcG2U3] >>290 Cファイルをインクルードすればいいだろ。
294 名前:login:Penguin mailto:sage [03/09/03 11:30 ID:4cm8kGPF] >>293 よりによって一番最悪な答えですね先生
295 名前:login:Penguin mailto:sage [03/09/03 16:47 ID:iWz7WMbL] >>290 info ld -rの説明読め。
296 名前:login:Penguin mailto:sage [04/01/07 22:36 ID:ui3n7e6w] だいぶ下がってますが、 2.6 と 2.4 のドライバ記述って何か変りました? 2.6 まだインストしてないので報告キボンヌ・・・ 2.2 -> 2.4 程は変ってないのかなー?
297 名前:login:Penguin [04/01/16 18:02 ID:ZUOtu/O9] PCIのデバイスドライバを作成していますが、 全くできません。 less /proc/iomemで書かれているアドレスで read、write関数を使って書いたり、読んだりしてもだめです。 何がいけないんでしょうか?
298 名前:login:Penguin mailto:sage [04/01/16 19:15 ID:JS8EwlnL] とりあえず、lspci -vvv を晒してみたらどうでしょう。 もちろんデバイス指定でね。 それを見て私が答えられるかどうかはまた別の話ですけど。
299 名前:login:Penguin [04/01/16 19:52 ID:ZUOtu/O9] lspci -vvvで次のような表示になりました。 00:11.0 Class ff00: Altera Corporation: Unknown device 1998 (rev 07) Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Interrupt: pin A routed to IRQ 16 Region 0: Memory at dffe0000 (32-bit, non-prefetchable) [size=64K]
300 名前:298 mailto:sage [04/01/16 20:57 ID:JS8EwlnL] FPGAですね。 私もそんなに知っているわけではないので、 あまりあてにはしないで欲しいのですけれど… lspciの結果は特に変なところは無いと思います。 Class ff00はどのクラスにも属さないと言うことだと思うのでちょっと気にはなりますが、 読み書きぐらいはできるでしょうね、きっと。 だとすると、あとはドライバのソースでチョンボがあるか FPGAの中で書きこみ禁止になっているとかですかね。 FPGAにどんなipが載っているのか分からないので、あくまで推測ですけど。 あんまり力になれなくてごめんね。
301 名前:login:Penguin mailto:sage [04/01/18 02:27 ID:+zT3hNOG] >>298 read/writeのかわりに ioremap_nocache()で対象アドレスのページを取得して、 ポインタで直接参照してみたら? よみたい物理アドレスが (unsigned int) p_adr だとしたら unsigned char p_read(unsigned int p_adr){ unsigned int v_page,v_offset; unsigned char ret; v_offset=p_adr&0x0fff; v_page=ioremap_nocache(p_adr&0xfffff000, 0x1000); ret=*((unsigned char *)(v_page + v_offset)); iounmap(v_page); return (ret); } 適当だけどこんな感じで。ページサイズが4K決め打ちだけど。
302 名前:login:Penguin [04/01/18 02:28 ID:+zT3hNOG] あ>>299 のマチガイだ。
303 名前:login:Penguin mailto:sage [04/01/19 07:32 ID:kPFQP2Tn] PCIバスアナライザで観測しながらアクセスしてみそ
304 名前:login:Penguin mailto:sage [04/01/22 14:27 ID:O8v9hJ5s] >>303 持っているならいい方法だけどね。 買おうとすると激しく高い。 レンタルでも中古でも激しく高い。 でも、欲しいね。
305 名前:login:Penguin [04/01/28 10:42 ID:N5b+GE5n] マジレスすれば ロジアナでPCIバスを観測するか、PCIバスアナライザを使うか どっちかしないと、PCIデバイス/ドライバの開発は無理だろう
306 名前:login:Penguin mailto:sage [04/01/28 12:46 ID:OnT2yC/X] んなこたーない! 297 が FPGA開発を同時にやってるならまだしも・・・ あったほうが楽なのは確かだが、無理ではない。 ハード屋さんはバスレベルで確認して提出するはず。 read/write 出来ないのはドライバの不具合。 >>297 は pci_find_device 関数など、基本から勉強したほうがよさそう。
307 名前:305 mailto:sage [04/01/28 15:27 ID:N5b+GE5n] 無理ではないって言っても、そんなマゾプレイみたいなコトしたくないよ 目隠しして半田付けしろっていうのに近いな PCIのロジックって複雑だから、実機でバグが露呈するのはよくあること 430FXで動いたからって 875Pでは動かないとか余裕であるよ 市場に流通してるチップセットすべてで確認しないと市販は無理 名の通った枯れてるチップならまだしも、実機の動作チェックもしてない FPGAの回路をつかったPCIカードなら、最初から疑ってかからなきゃダメだと思います > ハード屋さんはバスレベルで確認して提出するはず。 PCIバスの全パターンをシミュレーションできる検証ツールってすごく高いよ 特にFPGAの開発のために検証環境買うのはコストにあわない PCIバスアナライザがある環境で実機試験して、少しずつ直すほうが早くて安い
308 名前:login:Penguin mailto:sage [04/01/28 18:36 ID:XM3JMqvR] >>307 そーゆーのはハード屋さんの仕事じゃないかと。 PCIブリッジの違いで動かないなんてのは設定云々じゃない限りドライバじゃ直せん。
309 名前:login:Penguin mailto:sage [04/01/28 19:09 ID:ceOaOw14] > そーゆーのはハード屋さんの仕事じゃないかと。 おれもそう思う。 でも、実際はソフト組み込んだらなんかおかしくて、 実は結局、微妙にハードが悪かったなんて事は良くある話だね。 きっと >>305 は苦い思いをしたんだろうよ。
310 名前:login:Penguin mailto:sage [04/01/29 18:47 ID:ci1wDtTm] >実は結局、微妙にハードが悪かったなんて事は良くある話だね。 ハード絡みやってりゃ必ずあるね。 慣れてくればハード、ソフトどっちが悪いか何となくわかるようになるけど。 制御チップ動かす時なんかはオシロ、ロジアナの出番が増える。 さすがに PCI制御用FPGAまで計測器突っ込んだ亊はないけどね・・・ そこまで行くと スレ違いですね >> 307
311 名前:307 mailto:sage [04/01/30 07:19 ID:tIkj6Ynv] 私はPWBAからASIC/FPGA デバイスドライバ アプリ まで全部自分で開発する ある意味何でも屋です FPGAの検証を実機でやるときにデバイスドライバを作ってるはずだから バスレベルで動作検証済なら、そのとき使ったドライバをハード屋さんから もらってくればいいんだと思います もちろんLinuxじゃない別のOSで検証してる場合もあるだろうけど 今の時代はLinuxでやってるケースがほとんどではないかなぁ Linuxは 1. ソースが公開されてて、ドキュメントも多くドライバ書くのが楽 2. CDからブートしてRAMDISKだけで動くシステムを簡単に作れる 等の利点があって、特に2が重要 PCIバスのハードのデバッグだとしばしばフリーズするので 正しくshutdownしないままリセットすることが頻発する。 winだろうがlinuxだろうがHDDにOSが入ってるシステムだと、 リセット連発していると、次の起動時に時間がかかるし そのうちHDDの内容が不整合を起こしてくる。 1CD ramdiskオンリー システムだと、気軽にリセットできて楽なんだ。 まぁlinuxじゃなくてFreeBSDでもいいんだけど。 私は5〜6年くらい前はFreeBSD(2.x/3.xの時代)でPCIカードのハードのデバグ やってたけど、今世紀に入ってからLinux(2.2の頃から)でやるようになった。 時代の流れで、商品としてlinuxへの対応が必要ってことになったので 最初からlinux用のドライバ書いておけば後が楽になるからね。 スレ違いだったかな 駄文失礼
312 名前:login:Penguin mailto:sage [04/02/03 23:12 ID:j9rA+N1w] >駄文失礼 気にしなくていいぜ。(w
313 名前:login:Penguin [04/02/09 07:11 ID:7h6uvjnn] すいません、どうしようもない質問なんですが、 実験的にカーネルパニックを発生させるドライバを作るのには どうすればよいでしょうか? カーネル関数panic()を使っても ハングするだけでパニックしないんです。。。 どうか教えてください。
314 名前:login:Penguin mailto:sage [04/02/09 20:13 ID:oe9mNV77] このスレは俺に勇気をくれた。
315 名前:login:Penguin mailto:sage [04/02/10 00:02 ID:0xm4A1oM] >>313 コンソールに"Kernel panic: …"って出てないの?
316 名前:login:Penguin mailto:sage [04/02/10 00:52 ID:4iNUE3rF] >>313->panic();
317 名前:login:Penguin [04/02/10 21:13 ID:WwFCucZO] >>315 −316 返信ありがとうございます! 単純にパニックするよりoops画面が表示するようにしたいのです。 mmapあたりをいじくるドライバを作れば、 oops画面を表示させることは可能ですか?
318 名前:殴られそうだが mailto:sage [04/02/10 23:35 ID:0xm4A1oM] >>317 試してないけど、 *(unsigned long)0 = 0; とか。
319 名前:login:Penguin [04/02/11 00:21 ID:QfDGoor4] >>318 似たようなので、 x=0; x=x/x; ってのをやってみたのですがダメですた。 やっぱLinuxって頑強だと思いますた。 mmapも見てみたらカーネル空間でなく補助記憶空間に マップするだけのようですし・・・ アドレス例外でoopsできるような方法とかあるのですかね??
320 名前:login:Penguin mailto:sage [04/02/11 17:17 ID:ViS2X9Xm] Oopsとpanicを混同しているような気がしないでもない。
321 名前:login:Penguin [04/02/12 00:21 ID:9Bh5Rhh+] >>320 すみません。。。 パニックとシステムフォルト(oops)と勘違いしていたようです。。。 ドライバからシステムフォルト(oops) させるような方法ってあるのでしょうか?
322 名前:login:Penguin mailto:sage [04/02/14 07:34 ID:kX0ZpYOB] linuxはsolarisみたいにクラッシュダンプ取れますか??
323 名前:login:Penguin mailto:sage [04/02/16 00:01 ID:dUYGf/LZ] >>322 ttp://lkcd.sourceforge.net/
324 名前:login:Penguin mailto:sage [04/02/19 02:35 ID:tYIYueC9] Linuxでのデバイス・ノード管理は現在 従来の/dev以下のデバイス・ノードファイル、devfs、udevが 存在しているようですが、デバイスドライバを書くような デバドラ開発者にはこの状態は影響するのでしょうか?
325 名前:login:Penguin [04/02/19 10:34 ID:iwEBqmwA] 私は従来の/dev以下のデバイス・ノードファイルを使ってます devfsに対応するのも簡単だけど優先度低いから先送り
326 名前:login:Penguin mailto:sage [04/02/24 22:37 ID:BGHqYIMS] modpostについて詳しく解説している文書をご存知でしたら教えて下さい。