- 1 名前:login:Penguin [02/01/31 01:14 ID:t3s191ys.net]
- ディバイスドライバの改造、製作にまつわる情報交換、質問、
噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。
- 717 名前:login:Penguin mailto:sage [2007/10/21(日) 18:39:44 ID:SCXCQ8PP.net]
- >>704
pciのデバイスとしては1つにしか見えないんだけどさ どうやって、その後4ポート認識してるかわからないんだよね
- 718 名前:login:Penguin mailto:sage [2007/10/21(日) 19:36:55 ID:f7YPzoUy.net]
- >>705
それはPCIブリッジが載ってるからじゃね? LANチップはその向こうのローカルバスに4ケ載ってるかと。
- 719 名前:login:Penguin [2007/10/23(火) 20:59:15 ID:pGCXISsZ.net]
- どなたかおしえてください。カーネルモジュールにバイナリコードを渡したい
のでrequest_firmware()を呼び出しているのですが、このrequest_firmware() という関数から呼び出されるhotplugはどのディレクトリでバイナリコードを 検索してくれるのかわかりません。言ってみればバイナリコードをどのディレクトリ におけばいいかがわかりません。ディストリビューションはfc6でカーネルは2.6.22です。 カーネルモジュールに対応するデバイスは無いので、sysfs上に仮想的なバスと デバイス、ドライバを作ってあります。このデバイスのdevice構造体を使って request_firmwareを呼んでいます。申し訳ありませんが、かなりまいってるので お願いします。ご助力ください。
- 720 名前:login:Penguin mailto:sage [2007/10/23(火) 21:05:08 ID:tiPDo332.net]
- >>707
Documentation/firmware_class/* ?
- 721 名前:login:Penguin mailto:sage [2007/10/23(火) 22:03:44 ID:+D+WWc4l.net]
- BUFFALOのCD-RWドライブがまだ使えるのでハックしたいんですが、
必要な情報ってメーカーから提供されているんでしょうか?
- 722 名前:login:Penguin mailto:sage [2007/10/24(水) 15:38:46 ID:8BiGN5WQ.net]
- ハゲシク板違い
- 723 名前:login:Penguin mailto:sage [2007/10/26(金) 18:00:12 ID:OMFZLcsd.net]
- お馬さんの本読んで勉強してるのだが、さっぱり分からん。
ちなみに今3章のscullデバイス。 みんな最初はこんなもんなの? それとも、俺がバカなだけなのか?諦めたほうがいいのか? 意見求む!!
- 724 名前:login:Penguin mailto:sage [2007/10/26(金) 18:53:10 ID:OVakku/9.net]
- やる気の問題じゃね?
- 725 名前:login:Penguin mailto:sage [2007/10/26(金) 20:06:04 ID:nlKsXgN2.net]
- >>711
「作ってみなきゃわかんない」 の典型かもしれん。 実際作業するとキャラクタデバイスは楽しい。 そして、ブロックデバイスに挑戦するときに 分けわかんなさをもう一度楽しめる
- 726 名前:login:Penguin mailto:sage [2007/10/27(土) 11:47:28 ID:US/tv6oE.net]
- よくわかんないのが、他のドライバの叩き方なんだよな。
ネットワーク通信してファイルとかブロックデバイスにも書くような ドライバが最終ゴールなんだけど、他のドライバのAPIってどうやって 叩くのか(どこがインタフェース界面なのか)と。
- 727 名前:login:Penguin mailto:sage [2007/10/27(土) 12:04:42 ID:Y1miLqrF.net]
- OSの勉強やり直しっぽい
- 728 名前:login:Penguin [2007/10/27(土) 19:45:56 ID:5LV4rb/o.net]
- >>714
それってkernelspaceじゃなくてuserspaceでやればいいのでは。
- 729 名前:login:Penguin mailto:sage [2007/10/27(土) 20:15:47 ID:US/tv6oE.net]
- >>716
使う側からはファイルシステムに見せたいので、実際プロトタイプは FUSE方式でやろうとしてます。でもそれだと簡単ではあるものの 二級市民みたいなので、kernelspaceでの正しいやり方を知りたいなと。 nfsとかcryptfsのコードを読むは読むにしても、どっかにそういう 各種ドライバを内部から使うための情報をとりまとめたものとかは ないのかなと。
- 730 名前:login:Penguin mailto:sage [2007/10/27(土) 21:00:45 ID:RlzxlVfH.net]
- >>717
とにかくなんでもいいから氏ねw
- 731 名前:711 mailto:sage [2007/10/28(日) 02:49:08 ID:W9zUZBn1.net]
- >>712
鋭いな。そうかもしんない。 >>713 なるほど、これは貴重な意見が聞けた。サンスコ!!
- 732 名前:login:Penguin mailto:sage [2007/10/28(日) 02:54:06 ID:7ULWmmgi.net]
- >>717
ntfs-3g なんかはfuseだけど、実用的に動いているし、全然2級って感じしないけど。
- 733 名前:login:Penguin [2007/10/28(日) 23:36:04 ID:jy3FHf6c.net]
- 馬本にOSの仕組みを知ってる必要があると書いてありましたが、
どんなことを知っていたほうがいいのでしょうか?
- 734 名前:login:Penguin mailto:sage [2007/10/28(日) 23:41:48 ID:1vAj4w/k.net]
- メモリ管理・特権・スケジューリング・ファイルシステム(ry…全部じゃん
- 735 名前:login:Penguin [2007/10/28(日) 23:45:24 ID:jy3FHf6c.net]
- >>722
ありがとうございます。 詳解Linuxカーネルも読みます。
- 736 名前:login:Penguin mailto:sage [2007/10/29(月) 00:42:23 ID:uCaYz1aO.net]
- >>723
知りたくなったときに読めばいいよ でも必ず買っとけ
- 737 名前:login:Penguin mailto:sage [2007/10/29(月) 09:44:50 ID:wx/mrO8x.net]
- 買うなら原書(英語版)のほうがいいぜ
版が新しいし安いからな
- 738 名前:login:Penguin mailto:sage [2007/10/29(月) 10:27:48 ID:nDk3r2gZ.net]
- > 版が新しいし
4th edition でたの?
- 739 名前:login:Penguin mailto:sage [2007/10/29(月) 20:53:20 ID:Bg0Jp9i7.net]
- konozama.comとか少しは自分で調べようよ
- 740 名前:login:Penguin mailto:sage [2007/10/29(月) 23:42:16 ID:oMEBh2dX.net]
- Oh〜、チョッとお聞きしただけで損何怒らなくても
いいじゃないですかぁ〜。Hey,take it easy ! でも調べるところは教えてくれるアナタに感謝で〜す!
- 741 名前:login:Penguin [2007/11/08(木) 00:29:00 ID:Cm3oK6QC.net]
- メーカーとかが作ったデバドラのソースって公開してるものはあるのでしょうか?
- 742 名前:login:Penguin mailto:sage [2007/11/08(木) 01:07:57 ID:vscqki7B.net]
- ネットワークデバイス系はそういうのが結構多いような。
超いい加減だけど: つ $ grep -r 'Inc[.o]' drivers | egrep -v '(Red|Vista|Foundation)'
- 743 名前:login:Penguin [2007/11/12(月) 11:19:56 ID:vNQ95D4g.net]
- kernel2.6.18.6でターゲット側のUSBドライバ書こうとしてるんですが
参考になるサンプルってありますでしょうか? drivers/usb/gadget/net2280.cとかが近いのかも知れないですけど どうもpciで登録してるように見えて「別物かなぁ?」と思いまして。 あとホスト側のUSBドライバで挿されたら何でも拾う設定って usb_device_idの.device_infoに適当な値を突っ込めばいいと思って たんですがどうにもattachの際に自作のprobeが呼ばれません。 成功した方っていらっしゃいます? ご存知の方いらっしゃればお願いします。
- 744 名前:login:Penguin mailto:sage [2007/11/12(月) 23:57:28 ID:xIHzaILy.net]
- >>731
おめー御馬様のサンプル 見てていってるんだよね? もしそうなら、適正無いから諦めろ 見てないなら、お前は調査能力ない からニートかなんかになれ
- 745 名前:login:Penguin mailto:sage [2007/11/13(火) 00:56:13 ID:0Tz4Ruwv.net]
- >>732
よく判ってらっしゃる。 馬本はさらっと読みましたが元がLinuxでも組み込みでもない世界で やってて、急遽ヘルプで入ったんでさっぱり。 前任が逃げてヘルプなんで誰も知ってる人がいない\(^o^)/ で、聞いてみたんですが俺も逃げっかな・・・
- 746 名前:login:Penguin mailto:sage [2007/11/13(火) 01:11:37 ID:nAlW3/rO.net]
- >>733
一週間悩んだら解かんないか? すげー複雑な科学計算とか遺伝子関係の プログラミング以外ほとんどの対象のプログラミング なんて簡単だぞ 時間がかかるものが多いのは事実だが ドライバは簡単な部類だ
- 747 名前:login:Penguin mailto:sage [2007/11/13(火) 01:21:16 ID:0Tz4Ruwv.net]
- >>734
まだ2日程度なんですよね。 「デバドラ」だと思ったんで聞いてみたんですがレベル設定あるみたいなんで 「くだらねぇ」でも行ってきます(´・ω・`)
- 748 名前:login:Penguin mailto:sage [2007/11/13(火) 01:24:22 ID:O430Avmc.net]
- 御馬様っていうのか・・・
昨日、買いました。勉強します〜
- 749 名前:login:Penguin mailto:sage [2007/11/13(火) 09:24:54 ID:SFIG7nsG.net]
- >>734
ちなみに、回答しない人の言うことは無視したほうがいいよ。 >>732はニートとか言ってるし典型的な煽り。
- 750 名前:735 mailto:sage [2007/11/14(水) 00:27:19 ID:2+ZY8Hov.net]
- 馬本見たら「本書の範囲を超えるので載せません」て書かれてた(´・ω・`)
USB gadgetは難しいだろうかnet2280.cよりもZero.c見たほうがいいのかなぁ・・・。
- 751 名前:login:Penguin mailto:sage [2007/11/14(水) 02:20:20 ID:aLuJUt0c.net]
- 文句とか愚痴だけいって何も貢献しない人間ほどむかつく奴はいない。
- 752 名前:login:Penguin [2007/11/17(土) 09:40:38 ID:MN9c6cz5.net]
- >>739
どうどうどぅ…
- 753 名前:login:Penguin mailto:sage [2007/11/17(土) 11:39:12 ID:AZzmHExp.net]
- >>739
Do! Do! Do!
- 754 名前:login:Penguin [2007/11/17(土) 11:43:31 ID:4avAGLIe.net]
- do_fork
- 755 名前:login:Penguin [2007/11/29(木) 13:55:56 ID:yo1OGExb.net]
- mmapで特定のデバイスのIOメモリを仮想空間に割り付けて,
その領域に対してユーザーからデータを書き込むことを考えています. ユーザープログラムからその領域上に,あるデータ型の双方向リスト を作りたいのですが,ユーザー空間の特定のアドレス範囲から空き メモリ領域を動的に確保する方法ってないでしょうか void *dev_malloc(start_address, end_adress, nbyte); とすると仮想アドレスstart_address〜end_adressの範囲から nbyteバイトの領域を確保するみたいなイメージです
- 756 名前:login:Penguin mailto:sage [2007/11/29(木) 20:09:08 ID:iCD9/EY6.net]
- >>743
かーなーり スレ違い デバイスドライバ関係ない 汎用heap管理ライブラリがほしいってことだろ heap-management とか ヒープ管理 でぐぐってみそ ちなみに void *dev_malloc(start_address, end_adress, nbyte); ってI/Fはありえないと思うぞ 毎回 start_addressとend_adressを与えるわけ??
- 757 名前:login:Penguin [2007/12/02(日) 23:50:11 ID:lbIQi7BJ.net]
- あげ
- 758 名前:login:Penguin [2007/12/13(木) 19:50:31 ID:pBhS9AMD.net]
- あげ
- 759 名前:俺 [2007/12/18(火) 23:09:45 ID:K//ZswLt.net]
- ドライバでCPUキャッシュのフラッシュやりたい!
どうやるの?だれかおせぇ〜てぇ〜
- 760 名前:login:Penguin mailto:sage [2007/12/18(火) 23:41:07 ID:uNdsweTC.net]
- >>747
CPUキャッシュのフラッシュをする命令を実行すればいいんじゃない? CPUはなに?
- 761 名前:俺 [2007/12/18(火) 23:59:27 ID:K//ZswLt.net]
- >>748
Xeonの5100です。 データシートとか見つからなくて。。。 ご存知でしたら教えていただけませんか? <経緯> Linuxマシンで、DMAでPCIeのデバイスからホストメモリにデータ転送 したときにキャッシュのせいか、2周目のリングバッファ領域が うまく参照できていなく、フラッシュすればと思いました。。
- 762 名前:login:Penguin mailto:sage [2007/12/23(日) 13:45:51 ID:VU+KNtKv.net]
- >>ORE
ttp://www.intel.com/products/processor/manuals/index.htm
- 763 名前:login:Penguin [2007/12/24(月) 18:03:58 ID:ugbio3bt.net]
- Linux 2.6.22 ARM9マシンでシリアルコンソールでデバッグするためにカーネルコマンドラインで
console=uart,mmio,0x80004600,57600n8 とすると、カーネルの初期化中に early_uart_console_init()→register_console()→early_uart_setup()→parse_options()→ioremap()→__arm_ioremap()→__arm_ioremap_pfn()→get_vm_area()→__get_vm_area_node()→kmalloc_node()→kmalloc()→kmem_cache_alloc() が呼ばれてkmem_cache_alloc()でこけます。 slabアロケータがまだ初期化されていないのにkmem_cache_alloc()が呼ばれているのがこける原因と思うのですが、armマシンでもearly_uart_consoleは使えるのでしょうか?
- 764 名前: 【大吉】 【801円】 [2008/01/01(火) 19:54:53 ID:EHGXP/cp.net]
- 新年あげ
- 765 名前: 【中吉】 【156円】 [2008/01/01(火) 20:58:21 ID:LfamTH+n.net]
- >750
749じゃないけど,これいいな.サンクス. みんなチップのデータとかはどこから調べてくるの? ちょっと想像してみたけど,「とりあえずメーカサイトを調べる」 以外の方法がわからん. windowsのドライバから情報調べたりする人もいるの? いたらその解析方法とかおしえてください.
- 766 名前:login:Penguin mailto:sage [2008/01/01(火) 20:59:27 ID:VCekl7x7.net]
- >>753
メーカに電話して聞く
- 767 名前:login:Penguin mailto:sage [2008/01/01(火) 23:23:30 ID:hQDOyXLN.net]
- >>749
Intel の CPU だとその手のキャッシュのことは気にしなくていいんじゃなかったっけ? いわゆるバススヌープ。ま、明示的にフラッシュしたきゃできるだろうけど。 (実は俺自身は x86 以外用のドライバしか書いたことがないので聞きかじりだが...) あと、キャッシュが効いているなら1周目でも駄目な場合がありそうだがどうなん? 単にリングバッファのアリゴリズムでしくじってたりして。 って、よく見るとえらい昔の書き込みだった。もう解決したのかな。
- 768 名前:login:Penguin mailto:sage [2008/01/02(水) 12:58:56 ID:jVjgkvN4.net]
- チップの購入先の営業から入手とか
チップベンダのwebサイトからダウンロードだろ 常考
- 769 名前:login:Penguin [2008/01/14(月) 11:44:33 ID:MLu8ArWP.net]
- 今馬本の第 3 版読んでんだけど scull のソースコードって
Web でダウンロードできるの?
- 770 名前:login:Penguin mailto:sage [2008/01/14(月) 11:59:56 ID:hAs2atpA.net]
- あるよ
- 771 名前:login:Penguin mailto:sage [2008/01/14(月) 13:03:13 ID:MLu8ArWP.net]
- >>758
早速ありがとう. 本を斜め読みしてるんだけど URL が見当たらないです. 検索しても見付からないし,もしよろしければ教えていただけますと うれしいです
- 772 名前:login:Penguin mailto:sage [2008/01/14(月) 13:36:46 ID:Q2m15cvj.net]
- >>759
>>80
- 773 名前:login:Penguin mailto:sage [2008/01/14(月) 14:10:16 ID:MLu8ArWP.net]
- >>759
ありがとう! 3版のは FTP で以下からダウンロードできました. ar.linux.it/pub/ldd3/ldd3-samples-1.0.0.tar.gz かなり感謝です ありがとう
- 774 名前:login:Penguin mailto:sage [2008/01/14(月) 14:13:07 ID:MLu8ArWP.net]
- 自分にお礼ちまった
>>761の「>>759」は >>760 の間違いです >>760さんありがとう
- 775 名前:login:Penguin mailto:sage [2008/01/17(木) 11:56:40 ID:1+AIbUNm.net]
- >>761
あれ?お馬さんの第3版それなの? 日付が気になるので、第3版翻訳本に載ってたのをこぴぺ ftp://example.oreilly.com/pub/examples/linuxdrive3 examples.tar.gz 70 KB 2005/05/12 0:00:00 ちょいとだけ新しいかも。同じくLinuxデバドラはじめる所なので よろしく〜。Win系でWDM書いてました〜。
- 776 名前:!omikuji !dama [2008/01/25(金) 07:11:44 ID:dVpHcdky.net]
- kaso
- 777 名前:login:Penguin mailto:sage [2008/01/25(金) 21:56:39 ID:OZPnpJ0W.net]
- ドライバでのロックの掛け方とか
その変のデザインパターンみたいなもの ないのですか? 馬本読んでも、DualSocket 4コアとか その辺の場合どうすればいいとかまったく 書いてなくて困ってる。 CPU毎にあるモノを意識しなければならないのか 全リソースを意識した作りなのかの判断も ケースバイケースとかだし。WDMの方がいいよね
- 778 名前:login:Penguin mailto:sage [2008/01/26(土) 23:10:19 ID:jNmSnKBM.net]
- >>765
スピンロック様
- 779 名前:login:Penguin mailto:sage [2008/01/27(日) 14:19:40 ID:/9d4A9Tg.net]
- WDMってよく知らないが、割り禁、スピン、寝る&起こす以外に
排他の方法があるの?
- 780 名前:login:Penguin mailto:sage [2008/01/27(日) 17:28:29 ID:Q2ylOq7r.net]
- そもそも排他なんじゃねーの?
昔はLinuxも明示的にスケジュールよぶまで カーネル空間は排他だったじゃん SMPが出てきて全部直す羽目になったけど
- 781 名前:login:Penguin mailto:sage [2008/01/27(日) 19:45:28 ID:/9d4A9Tg.net]
- 割込みハンドラ
- 782 名前:login:Penguin [2008/02/03(日) 19:45:35 ID:coODkdMv.net]
- 過疎
- 783 名前:login:Penguin mailto:sage [2008/02/07(木) 03:30:55 ID:9BnmgFGp.net]
- 「新着1件ってことは、いつもの良スレ上げ厨かなぁ」と思ったらそう来たか。
- 784 名前:login:Penguin [2008/02/19(火) 16:29:32 ID:vNMS2dUr.net]
- 基本的にPCIデバイスにデータ渡すだけのドライバを作ってるのですが、
I2Cデータ転送もしたいといわれ、苦戦中につき質問させて下さい。 カーネルリリースは2.6.11-1.1369_FC4 今のところインクルードしてるのは下記ヘッダーです。 linux/module.h linux/kernel.h linux/pci.h linux/pci-dev.h asm/uaccess.h unistd/.h sys/ioctl.h sys/perm.h I2Cのオープンのために、これにfcntl.hを加えたところ、dev_tの型などが再定義されたとエラーが出ます。 また、KERNELDIRを取得して、その場でMAKEしているため Makefileにて、環境変数C_INCLUDE_PATHに/usr/includeを設定しているのですが fcntl.hを除いてコンパイルしてもclose, ioctl等が未定義と警告されます。 これらエラーや警告の対応に行き詰まってしまいました。 インクルードに過不足あるのか、Makefileが悪いのか、そもそもPCIドライバからI2Cを叩く方法が悪いのか… アドバイス等お願い出来ますでしょうか。
- 785 名前:login:Penguin mailto:sage [2008/02/19(火) 19:10:24 ID:5BDGV8A6.net]
- デバイスドライバでunistd.hなんかincludeしちゃダメだろ
fcntl.hも同様
- 786 名前:login:Penguin mailto:sage [2008/02/19(火) 21:35:29 ID:ec7S8nn5.net]
- 何言ってるのかわからないなw
PCIデバイスとして、I2Cバスへのブリッジが載っているのか? それとも、PCIバス/デバイスとは関係なく、全く別のI2Cバス上のデバイスをアクセスしたいだけなのか?
- 787 名前:772 mailto:sage [2008/02/19(火) 22:00:59 ID:vQR2/dLm.net]
- >>773
やっぱりダメですか。 というか、無理やり環境変数使ってコンパイラのエラーを抜けてる(unistd.h以降3ヘッダ、加えてfcntl.h)のは全部includeしちゃダメですかね。 >>774 >PCIデバイスとして、I2Cバスへのブリッジが載っているのか? >それとも、PCIバス/デバイスとは関係なく、全く別のI2Cバス上のデバイスをアクセスしたいだけなのか? PCIデバイスにI2Cバスへのブリッジが載っている、のはずです。
- 788 名前:login:Penguin mailto:sage [2008/02/19(火) 22:53:37 ID:5BDGV8A6.net]
- つーかさ
カーネルモードで動いてるデバイスドライバの中から open()とかclose()とかioctl()みたいなシステムコールを 発行できるわけないだろ? >>772が作りたいと思ってるのは root権限で直接I/O叩くだけの ユーザランドで動くアプリなんじゃないのか?
- 789 名前:login:Penguin mailto:sage [2008/02/19(火) 23:10:27 ID:ec7S8nn5.net]
- >>775
じゃあ、そのPCI-I2Cブリッジのデバイスドライバを書いているんだとして、 >I2Cのオープンのために なんで、こうなるのよw とりあえずDocumentation/i2c/summaryでも読んでくれ。
- 790 名前:login:Penguin mailto:sage [2008/02/20(水) 08:43:00 ID:zgvkT7V3.net]
- >>776
呼んじゃダメなんですね。了解しました。 先週までアプリしかやったことがなく、ついそっち寄りな考えに、と、蛇足でした。失礼しました。 >>777 あー、確かに。 教えていただいたものを読んでみます。 ありがとうございました。
- 791 名前:login:Penguin mailto:sage [2008/02/20(水) 09:40:57 ID:zxxPBExl.net]
- >>773
そういえば、しちゃダメだ ってどこにも書いてないな わからない奴はわからないんじゃないか?
- 792 名前:login:Penguin mailto:sage [2008/02/21(木) 00:46:11 ID:VUV3LHo/.net]
- ちょっと相談なんだが、いいかな
writeの中で長時間割り込み待ちをするような処理と、その場で終わる処理を持ったデバドラがあって、 (処理の切り替えはioctl) まずアプリAが長時間かかる処理のためにwriteわ呼び出す。 当然割り込み待ちになるが、そのままアプリBがioctlやwriteを呼び出すとどうなる? 普通に処理出来る?
- 793 名前:login:Penguin mailto:sage [2008/02/21(木) 00:55:15 ID:A2lpGb2W.net]
- 一つのデバイスを二つのアプリで同時に使うっつー事ですか?
- 794 名前:login:Penguin mailto:sage [2008/02/21(木) 01:18:43 ID:VUV3LHo/.net]
- >>781
その通りで。 ただ、1つのアプリがマルチスレッドになってるという場合もありでお願いしたい
- 795 名前:login:Penguin mailto:sage [2008/02/21(木) 01:55:12 ID:6LvlPNy5.net]
- できるかどうかは作り方次第だろうな
資源の排他処理が必要なら、ロック使わなきゃならん その場合は、すぐ終わるはずの処理ももちろん待たされる 待たせたくなけりゃ、長時間かかるというwriteにバッファを設けて write処理と割り込み処理とを分離するみたいな工夫したらどうだ 的外れならスマソ
- 796 名前:login:Penguin mailto:sage [2008/02/21(木) 02:11:45 ID:VUV3LHo/.net]
- >>783
資源は共有しないからロックはいらなさそうだ writeにバッファを設けて処理を分離ってのがイマイチわからんのだけど、説明頼んでもいいかい? デバドラの中でもスレッドとかで並列にするの?
- 797 名前:login:Penguin mailto:sage [2008/02/21(木) 06:04:45 ID:Xs+RkuJQ.net]
- シリアルポートを想像してみたらどうだろう
Write、Read、割り込みがそれぞれ並列に動くはずだ Writeで割り込み使ってるかどうかは知らないけど
- 798 名前:login:Penguin mailto:sage [2008/02/21(木) 07:26:26 ID:Kf6eqU14.net]
- ブロック と ノンブロック という用語を使ってほしいところだな
んで複数プロセスから同時に使えるかどうかはデバイスドライバの作り方次第 手抜きにつくると open()されるときに競合問題を判断して 同時にひとつとかopenできないようにするよな 複数同時にopenして、ひとつがブロックしてる時に また別のがノンブロックの処理要求してきたなんて場合は そういう風にうまく動くようにドライバの中で考慮する必要がある
- 799 名前:login:Penguin mailto:sage [2008/02/21(木) 07:32:20 ID:Kf6eqU14.net]
- 追記
呼び出し側がマルチスレッド使ってるかどうかはあまり関係ない ふたつのプロセスがメモリを共有してようがしてまいが ドライバにとっては関係ない話だ それよりCPUが複数ある(いわゆるSMP)かどうかの方が重要 smp対応させるなら必要なところできっちりspinlockしないとダメ
- 800 名前:login:Penguin mailto:sage [2008/02/21(木) 08:59:36 ID:VUV3LHo/.net]
- >>787-788
ブロック=長時間処理 ノンブロック=即時処理 でおk? 複数からopenされるのはアリにしないといけないっぽいんで、考えてみる。 ブロック中にアプリBからもwrite自体は呼び出せる? その時点で破綻してるなら、今のwriteをそのままスレッド化して、write自体はスレッド起動だけにするなりで対応とか…ダメかな あとCPUは1つ前提でおkっす。 余裕があったら後学のためにもsmp対応も抑えておきたいがw
- 801 名前:login:Penguin mailto:sage [2008/02/21(木) 09:10:48 ID:Kf6eqU14.net]
- > ブロック中にアプリBからもwrite自体は呼び出せる?
もちろん呼べる ブロック処理とは、簡単にいうと処理開始をデバイス(ハードウェア)に 通知したあとスリープ状態に入り、処理完了割込が入ったら 割込ハンドラがスリープ(ブロッキング)しているプロセスを たたき起こすって流れ。 アプリAがスリープ(ブロッキング)している間に アプリBからreadなりwriteなりが発行されるのは当然ありうる話。 ちゃんとドライバを書いておけば問題なく動く。 linuxカーネルのソースコードそのものがいいサンプルコードだから いろいろ読んでみるとよい。 それから、procfs(/procの下に仮想ファイルをつくる)に 状態監視・デバッグ操作用のI/Fを用意しておくと後々楽になるよ。
- 802 名前:login:Penguin mailto:sage [2008/02/21(木) 09:27:27 ID:VUV3LHo/.net]
- >>789
凄く参考になった! ありがとう >答えてくれた人達 いろいろありがとう
- 803 名前:login:Penguin [2008/03/03(月) 00:13:39 ID:JgGlbVL6.net]
- ttp://www.atmarkit.co.jp/fsecurity/rensai/rootkit03/rootkit02.html
上記を参考にシステムコールをフックするプログラムを書きました(そのままでは駄目なので必要に応じて修正しています)。 コンパイルすると、 original_sys_uname = sys_call_table[sys_uname]; sys_call_table[sys_uname] = hook_uname; のsys_unameで `sys_uname' undeclared (first use in this function) とエラーがでます。 これは arch/i386/kernel/syscall_table.S をインクルードしておく必要があるのでしょうか? 使用しているカーネル:2.6.23
- 804 名前:login:Penguin mailto:sage [2008/03/03(月) 01:17:37 ID:dOT+ttrq.net]
- >>791
よく知らんけど、これよめ。 System calls replacement ttp://kerneltrap.org/node/5793 nm -uでundefinedなシンボルが置き換えらればいいだけなら、 LD_PRELOADなりLD_AUDITをつかってどうにかしたほうがいいんじゃね? そうなら、以後下へどうぞ。 Linuxプログラミング pc11.2ch.net/test/read.cgi/linux/1118024349/
- 805 名前:login:Penguin mailto:sage [2008/03/03(月) 04:02:04 ID:JCTvrwL7.net]
- >>791
sys_call_table[NR_uname] = hook_uname; の様な気がするわけですが。 >>792 それはユーザー空間で乗っ取る方法ですがな。
- 806 名前:791 [2008/03/03(月) 07:25:41 ID:zrYDUX8A.net]
- >>792-793
試してみます。 情報ありがとうございます。
- 807 名前:login:Penguin mailto:sage [2008/03/04(火) 09:36:17 ID:NdRlprld.net]
- >>791
乗り遅れたか!? Linux 2.6からシステムコールのフックはできません。 パッチ当てなきゃできないようなことが ttp://tldp.org/LDP/lkmpg/2.6/lkmpg.pdf 8章にそのようなことが書いてあったはず。 記憶が確かなら、792の示したサイトの unsigned long **sys_call_table = find_sys_call_table();を 加えればできたと思う。
- 808 名前:795 mailto:sage [2008/03/04(火) 09:39:35 ID:NdRlprld.net]
- >>791
パッチを当てるのが嫌ならLSMを使ったらいい。 決まった関数で始めるとか、とかsecurity_operations構造体に登録するあたりとか デバドラに似ているからsecurity以下を読めば使えると思う。
- 809 名前:791 [2008/03/04(火) 19:10:21 ID:iX0t2env.net]
- >>795
どうもです。 あれから色々調べたら>>795の言うとおりに2.6.xからはできないみたいですね。 下記のURLに書いてある。i386_ksyms.cに extern void* sys_call_table[]; EXPORT_SYMBOL(sys_call_table); を、追加・再構築してやってみようと思います。 ttp://mail.nl.linux.org/kernelnewbies/2006-05/msg00334.html
- 810 名前:login:Penguin mailto:sage [2008/03/04(火) 20:25:09 ID:neWtFAJV.net]
- >>791
調べもせずに書いてるけどLinux版のウィルス対策ソフトのお試し版に 運がよければカーネルモジュールのソースが含まれていて、なおかつ、 それがシステムコールのフックしていたりしないか?
- 811 名前:791 [2008/03/05(水) 00:39:02 ID:QPFLTsD+.net]
- >>798
そのようなことはございません
- 812 名前:login:Penguin [2008/03/17(月) 18:46:02 ID:c0UdNwV3.net]
- あげ
- 813 名前:login:Penguin mailto:sage [2008/03/18(火) 18:12:00 ID:z8581E+A.net]
- init中にalloc_chrdev_regionでデバイス番号を動的確保した後で、
そのまま(関数内で)スペシャルファイルを作成する事は可能? mknodコマンドでなく、あくまでインスコだけで済ませるように出来ないかと…
- 814 名前:login:Penguin mailto:sage [2008/03/18(火) 18:22:19 ID:qC/Waqz9.net]
- udevじゃダメなの?
- 815 名前:login:Penguin mailto:sage [2008/03/18(火) 20:50:35 ID:Hq9+Lc7G.net]
- >>801
オレならprocなりsysなりのみで済ます
- 816 名前:801 mailto:sage [2008/03/18(火) 21:37:57 ID:z8581E+A.net]
- >>802>>803
それだとinsmod以外にも必要になるんじゃないんですか? 関数で無いですかね (init_moduleから呼び出す) insmod hoge だけ実行すればアプリから叩けるような形にしたいんですが…
- 817 名前:login:Penguin mailto:sage [2008/03/18(火) 21:49:17 ID:irgQA2zj.net]
- shell スクリプト作ってその中で insmod、mknod すれば?
rmmod も出来るようにすれば、なお良いでしょ?
- 818 名前:login:Penguin mailto:sage [2008/03/18(火) 23:47:40 ID:z8581E+A.net]
- >>805
それが良さげですね。 ありがとうございました。
- 819 名前:login:Penguin mailto:sage [2008/03/18(火) 23:49:33 ID:owXiyD5i.net]
- >>801
mknodしたくないってだけなら、device_create(9)か、手を抜きたいなら misc_reg
- 820 名前:ister(9)に全部にまかせれば、>>802が言ってるように、udevが勝手に
スペシャルファイルを作ってくれるんじゃないか? [] - [ここ壊れてます]
- 821 名前:login:Penguin mailto:sage [2008/03/19(水) 10:35:22 ID:J+fEVrF8.net]
- ブロックデバイスのブロックサイズってどこで決まってるの?
ユーザアプリから見る方法ある?
- 822 名前:login:Penguin mailto:sage [2008/03/19(水) 14:37:31 ID:ZMxkS/nc.net]
- >>808
mkfsする時に決まると思うが。 ext2/ext3 なら tune2fs -l で見るか、ファイルがあれば stat構造体の st_blksize を見る。
- 823 名前:login:Penguin mailto:sage [2008/03/20(木) 00:19:26 ID:tEIlyDHp.net]
- >>808
そのブロックデバイスドライバが制御しているハードの規格によりだね。 SCSI系ならMode Senseコマンドで取れたんじゃないっけ?
- 824 名前:login:Penguin mailto:sage [2008/03/20(木) 00:24:56 ID:tEIlyDHp.net]
- >>808
試してないけど、blktool(8)のblock-szコマンドでいけそうかもね?
- 825 名前:login:Penguin mailto:sage [2008/03/20(木) 02:10:32 ID:wMmGSYfl.net]
- >>809
フォーマットする前に最適値を知っときたい乙女心です >>810-811 ありがとう。でもハードの規格というよりブロックデバイスとして なんかその辺を返してくれるioctlなりなんなりがあったらいいな とか夢想してた
- 826 名前:login:Penguin mailto:sage [2008/03/28(金) 15:40:00 ID:BcQjSrEl.net]
- >>807見て、misc_register調べてちょっと使ってみたんだけど、
これで作ったもんどうやって消すんだ? 関数自体は使い方分かったが、対になるもの無い? misc_register込みのinsmod→rmmod→再度insmodでハングするんだが
- 827 名前:login:Penguin mailto:sage [2008/03/28(金) 15:47:49 ID:BcQjSrEl.net]
- 書いた直後に自己解決しちまったorz
misc_deregisterがあるのね… スレ汚しすまんかった
- 828 名前:791 [2008/04/06(日) 15:36:55 ID:n9AD6VHb.net]
- ほ?
- 829 名前:login:Penguin [2008/04/10(木) 21:40:14 ID:zop984mC.net]
- mmapを利用して物理アドレス0x10000000に存在するデバイス(SRAM)のR/Wを
行うドライバを作成しようと思っています。 馬本の第3版のサンプルソース(simple)を参考にしながらremap_pfn_rangeで マッピングし、ダンプをとってみたところ、0x10000000エリアのデータでは なく、全て0のデータが読み取れました。 0x1000等の小さい物理アドレスであれば正常にリード出来ているようです。 0x10000000のように上の方のアドレスは、remap_pfn_rangeではマッピング されないのでしょうか? カーネルのバージョンは2.6.11です。
- 830 名前:816 [2008/04/10(木) 22:19:28 ID:zop984mC.net]
- /dev/mem openして
memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000) でも同じ結果でした・・・
- 831 名前:816 [2008/04/10(木) 22:20:55 ID:zop984mC.net]
- 訂正
>>817 >memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) >memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000) mmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) mmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000)
- 832 名前:816 [2008/04/10(木) 22:21:43 ID:zop984mC.net]
- 訂正
>>817 >memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) >memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000) mmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000) mmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000)
- 833 名前:login:Penguin mailto:sage [2008/04/10(木) 23:10:16 ID:hws3UYgb.net]
- Linux 2.6.11 使ってないしためしてないけど、
/sys/devices/pci*/*/resource? を mmap(2) って出来ないんだっけ?
- 834 名前:login:Penguin mailto:sage [2008/04/11(金) 00:58:30 ID:pzz5pihD.net]
- とりあえず、落ち着けw
man mmap2
- 835 名前:816 [2008/04/11(金) 23:01:18 ID:1s5/4DVK.net]
- >>821
>man mmap2 ↓ですよね? www.pinkdragon.net/doc_lib/contents/ja/linux_man/mmap2.2.html Linux 2.3.31 以降で使用可能とありますが、この環境では定義されていないと言われます。 組込み系だからなんでしょうか・・・ それと馬本第3版のP437 15.2.6 RAMのマッピングを変更する に 「ramap_pfn_rangeがRAMを扱えないことは・・・」ってくだりがあります。 実際いま起きている問題はこれなんでしょうか? ioremap_nocacheでReadする方法とダンプ比較したところ,mmapだと 0x00000000〜0x00800000 あたりまではちゃんとよめますが、 0x01000000になったとたん、0x00000000の値になってしまいます・・・ ioremap_nocacheでは0x01000000も見れるのに・・・
- 836 名前:login:Penguin mailto:sage [2008/04/12(土) 04:09:25 ID:CJCvWk/v.net]
- MTD使えばいいんじゃない?
phram.koとか slram.koとか
- 837 名前:login:Penguin mailto:sage [2008/05/26(月) 23:35:38 ID:ZMUO6bXW.net]
- タスクレットの中でsleep_on_timeoutって呼べないんですか?
なぜかカーネルパニックになってしまいます…
- 838 名前:login:Penguin mailto:sage [2008/05/28(水) 19:14:20 ID:eAKKlqpI.net]
- タスクレットからkill_fasync()呼びたいんですけど、
第一引数ってどこから持ってくればいいんでしょうか?
- 839 名前:login:Penguin [2008/06/13(金) 19:47:44 ID:ngpRzev4.net]
- フリーオのデバイスドライバー書ける人が居たら神!
- 840 名前:login:Penguin mailto:sage [2008/06/13(金) 22:56:58 ID:yAy4CW2H.net]
- 玄箱用のは、あるだろ
- 841 名前:login:Penguin [2008/07/05(土) 05:09:39 ID:+CtKxXwh.net]
- あげあげ
- 842 名前:login:Penguin mailto:sage [2008/07/05(土) 08:11:05 ID:d6Puhgue.net]
-
ttp://pc11.2ch.net/test/read.cgi/linux/1213378360/
- 843 名前:login:Penguin mailto:sage [2008/07/05(土) 11:49:23 ID:D1363wxr.net]
- やっぱり情報公開されてない物のドライバ造るのって無理がある?
Willcomスマートフォン端末でLinuxを動かすプロジェクト?があるのですが、 WS003SH、WSはPrismチップの無線LANを使用。 WS011SHではSharp独自のチップを使用した物のようです。 WS020SHは不明。 当方WS011SHの物の開発に興味があるのですが、難しいどころか情報の公開がされていない限りは 手すら付けられない状態でしょうか? アドバイスよろしくお願いします。
- 844 名前:login:Penguin [2008/07/27(日) 04:17:46 ID:JGvJfhtT.net]
- copy_{to,from}_user()でユーザプロセスのアドレスを与えるところにカーネル空間のアドレスを与えるとどうなります?
やっぱりaccess_ok()で弾かれる?
- 845 名前:login:Penguin [2008/07/27(日) 08:01:26 ID:Nq54nVAZ.net]
- >>831
その程度、自分で確認しろ。
- 846 名前:login:Penguin [2008/08/21(木) 06:11:30 ID:5vh0FBcx.net]
- あげ
- 847 名前:login:Penguin [2008/09/17(水) 22:50:23 ID:v0hV3n2N.net]
- Linuxデバドラ移植の質問です。
雑誌の記事でx86Linuxデバドラを他CPUのLinuxに移植する際に、デバドラのソースが x86に依存してて移植できないことを知りました。 どうやらx86プログラマが他のCPUへの移植性を考えずに開発したことが原因みたいです。 雑誌によるとデバドラの依存箇所は以下が多いようです。 ・バイトオーダ ・アライメント ・I/Oアクセス ・タイミング 皆様に質問ですが、このようなx86に依存したLinuxデバドラが落ちている場所を ご存じないでしょうか? また、根本的なことですがx86Linuxデバドラを移植したり、移植しようとしたが x86に依存してて大変だったという案件は多いのでしょうか? どうぞよろしくお願いいたします。
- 848 名前:login:Penguin mailto:sage [2008/09/17(水) 23:58:51 ID:3YmhTjsY.net]
- >>834
drivers/ 直すのはそんなにめんどくないが、どこに地雷があるかわかりにくいのがのう。
- 849 名前:login:Penguin mailto:sage [2008/09/18(木) 00:34:30 ID:YTkXriLK.net]
- >>834
というか、デバイスドライバは基本的にハードに依存して当然 という側面も否定できないと言わざるを得ないこともあるので。
- 850 名前:834 mailto:sage [2008/09/18(木) 00:34:38 ID:csSd+QEz.net]
- カーネルソース内にあるんですね!
知りませんでした; 私は初心者でよく知らないんですが、てっきりカーネルソール内のコードって 移植性をちゃんと考えてあって(arch/以外)、管理されていると思ってました。 むしろ、カーネルソース外の開発(企業or個人)で公開されているドライバに あるのかと思ってました。
- 851 名前:login:Penguin mailto:sage [2008/09/18(木) 10:25:28 ID:tEXQNL4k.net]
- >>834
ふつー開発者の持ってるCPUでしかテストしないよ。 tg3とかe1000とかはNEC(ia64)とかIBM(powerpc)とかが 頑張って自分とこのハードで動くようにしてるけど、 個人でハックしてるものはたいていx86だけ。
- 852 名前:login:Penguin mailto:sage [2008/09/19(金) 05:32:38 ID:PmgUOzFO.net]
- まあ、過去の経験からすると
・USBターゲット - ほとんど手を入れる必要無し ・PCI - そんなに苦労することはない ・CPU直結 - 健闘を祈る てところですかねえ。
- 853 名前:login:Penguin [2008/11/09(日) 10:59:58 ID:QBZrgAJi.net]
- age
- 854 名前:login:Penguin mailto:sage [2008/11/13(木) 05:29:37 ID:dS9nrsy0.net]
- USBデバイスでも無線LANとかは
- 855 名前:login:Penguin [2008/12/07(日) 17:23:17 ID:Ht7uJKzk.net]
- age
- 856 名前:login:Penguin mailto:sage [2008/12/19(金) 14:08:43 ID:MwDJWbRs.net]
- HWからの割込み処理中の、ローカルAPICへのEOI発行タイミングについて質問があります。
レベル・トリガの割込みだった場合は、end関数からEOIを発行しています。 これは、割込み処理の先頭で発行してしまうと、I/O APICへEOIが通知され、デバイスのアサートが 失われてしまうのが不都合だからでしょうか? カーネルのverは2.6.18 です。
- 857 名前:login:Penguin mailto:sage [2008/12/20(土) 08:40:05 ID:9ZJbjYSC.net]
- >>843
一般的な話だけど 割り込みに関わるのは3つ。 @割り込み発生の条件と、割り込み要求するデバイス A割り込みを調停する割り込みコントローラと、割り込み受付のカーネル B実際の割り込み処理プログラム @→A→Bの流れは分かるよね それなら質問の答えも分かるよねw わんこ蕎麦に例えると @>>843のお椀の蓋が開いてる A>>843のお椀に蕎麦を放り込むおばちゃん B蕎麦を食べる>>843 満腹になった>>843Bが最初にすべきは、@の処理かAの処理か
- 858 名前:login:Penguin mailto:sage [2008/12/21(日) 18:36:36 ID:6RSqLOEI.net]
- >>844
「ご馳走様でした」と言いながら金を払わないで蓋も開けっ放しで逃げる。
- 859 名前:login:Penguin mailto:sage [2008/12/21(日) 19:17:37 ID:otIiAnj0.net]
- ダブルフォルト乙
- 860 名前:login:Penguin mailto:sage [2008/12/22(月) 03:52:28 ID:guo09gfy.net]
- (1)はおばさんのスピードに勝てないと判断して、(2)のおばさんに話し掛けるよな
もうお腹いっぱいって
- 861 名前:login:Penguin [2009/01/24(土) 00:42:09 ID:UJ+xFTUa.net]
- a
- 862 名前:login:Penguin mailto:sage [2009/02/17(火) 22:55:17 ID:m2mCukTw.net]
- ポートIOするサンプルを作ってみようと思ったのですが、
下のコードの時点で、すでにコンパイルが通りません。 sys_ioplを呼ぶのに、何が足りないのか分からないです。 どうしたら良いか、アドバイス頂けたら助かります。 よろしくお願いします。 debian 2.6.24 gcc 4.1.2 make -C /lib/modules/2.6.24/build M=/test module error: implicit declartion of function 'sys_iopl' --- #include <linux/init.h> #include <linux/module.h> #include <linux/io.h> #include <linux/ioport.h> static int __init hello_init(void){ sys_iopl(3); return; } static void __exit hello_exit(void){ return; } module_init(hello_init); module_exit(hello_exit);
- 863 名前:login:Penguin [2009/02/17(火) 22:55:48 ID:m2mCukTw.net]
- すみません、sageてしまいました。
- 864 名前:login:Penguin mailto:sage [2009/02/18(水) 00:04:19 ID:lQ8CDN9P.net]
- 根本的に間違っているような気がするので、
もう少し具体的にやりたいことを書いた方がいいと思う。 取り合えずドライバでioplはいらねえ。
- 865 名前:login:Penguin mailto:sage [2009/02/18(水) 01:04:31 ID:WJ6360yx.net]
- >>851
もしかして、ドライバ内では、ポートにアクセスするのに、iopl自体が使えないということでしょうか? そうすると、request_regionしていくしかないということですかね。 それとも、アクセス許可自体が必要ないのでしょうか。 元々、独自PCI-I/Fボードにアクセスするアプリがありまして、 それの、ドライバ版を作ろうと思いました。 そのアプリでは、iopl(3)→outb(),inb()にて値を取得していたので、同じ様に作っていたところでした。 PCIからのポートアドレス取得が上手くでき、そのアドレスにアクセスする段階だったのですが、 ioplでどうしてもコンパイルが通らず、includeの問題なのか、Makefileなのか、 途方に暮れてました。>>849はそのテストプログラムを抜き出しです。
- 866 名前:login:Penguin mailto:sage [2009/02/18(水) 01:38:21 ID:lQ8CDN9P.net]
- なんでドライバにする必要があるのかよくわからんが。
そういうレベルでわからんのであれば、まずは馬本で基礎知識を 身につけた方がいいと思う。 ついでに、sys_ioplの呼び方はそうじゃない。 つうかカーネルの中でsys_〜は直接呼ぶもんじゃない。
- 867 名前:login:Penguin mailto:sage [2009/02/18(水) 12:48:39 ID:WJ6360yx.net]
- >>853
ありがとうございます。 ドライバ版の意図は、いずれ割り込みを使うつもりだったからです。 馬本は十分理解できなかったので、とりあえず作ってみるという感じでやってました。 sys_ioplは呼んではいけないんですね。 馬本、もう一度読んでみます。
- 868 名前:login:Penguin mailto:sage [2009/02/18(水) 16:25:38 ID:zpaCJvuo.net]
- 馬本はカーネルの知識がある程度ある前提で書かれてるので
まずはLinuxカーネルに関する文献を読んでみることをおすすめするよ デバイスドライバはカーネルの一部でもあることを忘れるな
- 869 名前:login:Penguin mailto:sage [2009/05/29(金) 14:40:20 ID:D/EXOrYt.net]
- Kernel 内で IN/OUT アセンブラ命令に相当するのは
何かマクロがあるんじゃなかったっけ? READ_PORT とかそんなの。
- 870 名前:login:Penguin mailto:sage [2009/05/29(金) 23:00:18 ID:A6oE+oT8.net]
- in[bwl]
out[bwl] とか。 include/asm/io.hに入ってたはず。
- 871 名前:login:Penguin mailto:sage [2009/07/04(土) 14:39:23 ID:D5yvn6Kc.net]
- シリアルドライバ内の情報で、何バイト受信済みとか、何バイト未送信という情報って
取得することは可能ですか?
- 872 名前:858 mailto:sage [2009/07/04(土) 16:35:43 ID:D5yvn6Kc.net]
- 補足です。
上記の情報をアプリケーションから取得できますか?
- 873 名前:login:Penguin mailto:sage [2009/07/05(日) 02:17:52 ID:vnzKXmwE.net]
- >>859
ioctlでTIOCINQとかTIOCOUTQみれば出来そう。 つーかマニュアル嫁よ。せっかくあるんだからよ。
- 874 名前:login:Penguin mailto:sage [2009/07/05(日) 14:39:25 ID:jkHVDhT6.net]
- ヌルイぞ。そこは
つーかソース嫁よ。せっかるあるんだからよ。 だろ。ソース以上の資料なんかないんだからOSSってのは質問禁止なんだよ。 ・・・ってえらいひとがいってました!
- 875 名前:login:Penguin mailto:sage [2009/07/05(日) 23:11:19 ID:vnzKXmwE.net]
- >>861
その偉い人は馬鹿だよ
- 876 名前:login:Penguin mailto:sage [2009/07/05(日) 23:20:49 ID:xNWd+cLB.net]
- どこでも、えらい人は馬鹿なもんさ。
- 877 名前:login:Penguin [2009/09/19(土) 20:24:56 ID:I29pddJ7.net]
- 保守上げ
- 878 名前:login:Penguin mailto:sage [2009/10/12(月) 16:24:20 ID:cJbteqq9.net]
- >>861
× だろ。ソース以上の資料なんかないんだからOSSってのは質問禁止なんだよ。 ○ だろ。ソース以外の資料なんかないんだからOSSってのは質問禁止なんだよ。
- 879 名前:login:Penguin mailto:sage [2009/12/03(木) 22:11:10 ID:s69LcKJk.net]
- i386BSDカーネルの386BSDカーネルソースコードの秘密
ソース以上の資料なんかないんだから、に対して何か書いてあったな。
- 880 名前:login:Penguin mailto:sage [2009/12/03(木) 23:11:02 ID:LYVup2we.net]
- >>866
ソースそのものと、ソースにこめられた趣旨は別じゃないかな?
- 881 名前:login:Penguin mailto:sage [2009/12/10(木) 00:21:58 ID:XvjOUXRH.net]
- UTSL だな。
- 882 名前:login:Penguin [2010/02/18(木) 10:40:00 ID:hWc/MwlX.net]
- linuxmintとウィンドウズ7RCを使っています。WIN7は試用なので来月から起動後一時間で自動で電源が落ちるようです。
リナックスに乗り換えるのは簡単なのですが、今使ってるテレビチューナーのドライバがリナックスには無いのです。 だれかmvp-rx3のドライバを書いてください。 このままではリナックスでテレビが見られず、リナックスをあきらめてウィンドウズのところにお嫁にイかされてしまいます。 テレビを見るためにはリナックスをお慕いもうしあげていますのにウィンドウズを買わなければならない境遇に どうかどうか同情をしていただけるスーパーハッカーの方はドライバ書いてくださいませんか。 生きていくためには愛をもあきらめゲイツに身をゆだねなければならないのかと震えております。 ちなみにあたし女子中学生です。生娘です。似ている芸能人は17歳のころの広末涼子です。
- 883 名前:login:Penguin mailto:sage [2010/02/18(木) 19:21:20 ID:tk+7V5La.net]
- >>869
GV-MVP/RX3 www.iodata.jp/product/tv/analog/gv-mvprx3/ mvp-rx3はアナログTVキャプチャーボードですね。 2011年7月にアナログテレビ放送が終了するので どのみち地上デジタルテレビチューナーが必要になります。 Windows7を買う金でPT2を買ってLinuxで使う方がよいと思います。 PT2なら地デジでもコピーワンスによる不便から逃れられます。 日経Linux 2010年2月号 itpro.nikkeibp.co.jp/article/MAG/20100105/342880/ > 特集2 > PT2で地デジ録画システムを作る > パソコンで地上デジタル放送や衛星放送を受信できる > デジタル・チューナ「PT2」を使ってシステムを作ります。 > 最新のLinuxディストリビューションのFedora 12とUbuntu 9.10で > PT2のドライバをインストールし,高画質のテレビ番組を見てみましょう。 > 番組表から録画予約する方法も紹介します。 【視聴】Linuxでデジタル放送【録画】 pc11.2ch.net/test/read.cgi/linux/1230616112/
- 884 名前:login:Penguin mailto:sage [2010/06/28(月) 20:46:03 ID:Pckx/KO8.net]
- デバイスクラスがCDCでバルクでデータ転送するUSBドライバを作りたいんですけど、usb-skeltonドライバのベンダーIDとプロダクトIDを変更すれば使えるのでしょうか?
- 885 名前:login:Penguin mailto:sage [2010/11/04(木) 21:49:31 ID:S1XESMQS.net]
- ioctlについて教えてください。
ioctlのパラメーターで指定するIDはlinux/ioctl.hで定義されているIOWやIORを使います。 しかし、アプリ開発者に渡すヘッダにIOWなどを使ってしまうと、ioctl.hはカーネルヘッダなので アプリ開発者に渡せません。 ioctl.hごと渡すという手もありますが、ioctl.hの実態はarchの下を辿っていったものなので、 ずばりIOWなどが定義されているioctl.hを渡してしまっては、アーキテクチャを隠蔽している意味が 薄れてしまいます。 かと言って、別にヘッダを作っては無駄です。 これは、本来はどのように解決することを想定されているのでしょうか?
- 886 名前:login:Penguin mailto:sage [2010/11/04(木) 22:06:18 ID:qwjxXvn/.net]
- ビルド環境に入っているものを素直に使う。
- 887 名前:login:Penguin mailto:sage [2010/11/04(木) 22:34:19 ID:S1XESMQS.net]
- >>873
ビルド環境? すみません、Linuxはドライバの開発とOSの移植しかやったことがないので、 ビルド環境がよくわかりません。 ドライバを開発するうえで、アプリ屋さんにどのようにドライバのヘッダファイルを 渡すのが正しいやり方なのかを知りたいです。
- 888 名前:login:Penguin mailto:sage [2010/11/04(木) 22:38:36 ID:LR3hS2yn.net]
- ?ttp://homepage3.nifty.com/rio_i/lab/driver24/00205ioctl.html
- 889 名前:login:Penguin mailto:sage [2010/11/04(木) 23:04:47 ID:S1XESMQS.net]
- 分かりました。
ioctl.hはわざわざ渡さなくても、アプリ開発で使用するカーネルヘッダに入っているので 大丈夫ということですね。 ありがとうございました。
- 890 名前:login:Penguin mailto:sage [2010/12/02(木) 23:23:04 ID:4b10+uK8.net]
- ドライバコンパイル時に静的ライブラリをリンクさせることって出来ますか?
- 891 名前:login:Penguin mailto:sage [2010/12/02(木) 23:29:16 ID:QEjw5J80.net]
- はい
- 892 名前:login:Penguin mailto:sage [2010/12/03(金) 01:20:27 ID:q4cXzrWN.net]
- どうやったら出来ますか?
2.6系のカーネルですが、-lでライブラリを指定しても WARNING: "hoge" [/home/hoge.ko] undefined! と言われてリンクできないんですよ。
- 893 名前:login:Penguin mailto:sage [2010/12/03(金) 01:26:12 ID:HjCnxCbQ.net]
- .koってライブラリじゃないよ
- 894 名前:login:Penguin mailto:sage [2010/12/03(金) 10:36:25 ID:CY74Qv7R.net]
- そもそもgccやbinutilsはWARNINGとか大文字は出さないだろう
何かすごい勘違いしてそう
- 895 名前:login:Penguin mailto:sage [2010/12/11(土) 14:59:04 ID:uuYvSF4I.net]
- >>879
そもそも -l のかわりにソース直指定ならリンクできるのか?
- 896 名前:login:Penguin [2010/12/29(水) 17:20:29 ID:4yM0+SZ6.net]
- webcam(UVC)を接続すると、/dev/video0にデバイスが作成されますが、
ここから流れてくるフォーマットについて知りたいのですが、どこか 参照するところってありますでしょうか?
- 897 名前: 【中吉】 【1992円】 mailto:sage [2011/01/01(土) 00:36:00 ID:NRMsojMl.net]
- おめおめ!
- 898 名前:login:Penguin mailto:sage [2011/05/27(金) 16:14:52.73 ID:hBkzVcCP.net]
- Cライブラリのassert()のドライバ版みたいなのないですかね?
勉強用にドライバを書いているのだけど、エラーチェックにいちいち if文を書くのが面倒くさい。 普通のアプリの場合は、assert()で一行でエラーチェックを終わらせるのだけど。 無いなら、どうやってエラーチェックしてるか教えて貰えるとありがたい。
- 899 名前:login:Penguin mailto:sage [2011/05/27(金) 16:21:32.12 ID:oqgnTIfp.net]
- BUG_ON
- 900 名前:login:Penguin mailto:sage [2011/05/27(金) 23:08:25.94 ID:NHryjoxJ.net]
- タイプ数減らしたいだけなら自分でマクロ書けばいいじゃん
#define assert(x) なんとかかんとか
- 901 名前:885 mailto:sage [2011/05/28(土) 21:55:24.09 ID:DZ/zAfXL.net]
- >886
どうもありがとう。良い情報を頂きました。 >887 最悪その方法を取るけれど、既存の洗練された方法があるならそっちを使うべきでしょう?
- 902 名前:login:Penguin [2011/07/28(木) 17:08:37.75 ID:fa8I36t3.net]
- PCIの自作用穴あき基板ってあるんですかね?
自作基板をスロットに差してデバドラも自分で書いて使ってる人います?
- 903 名前:login:Penguin [2011/07/28(木) 21:19:13.92 ID:9X016Sem.net]
- FPGAでプログラムする人とかいるんじゃないかな
- 904 名前:login:Penguin mailto:sage [2011/08/30(火) 14:59:09.92 ID:0covJFQI.net]
- >>889
サンハヤトで売ってる ttp://www.sunhayato.co.jp/products/details.php?u=242&id=07008 もう生産終了して在庫のみみたいだが… ・FPGAにPCIバスコントローラIPを組込む (QuickPCIのようなPCIコア搭載のASSPも可) ・PLXのPCIバスブリッジLSIを使う とかが簡単かな? ただし、多chロジアナかPCIバスアナライザがないとH/Wのデバッグつらそう
- 905 名前:電板住人 mailto:sage [2011/09/08(木) 22:50:33.11 ID:5S22Lom/.net]
- >891
なせばなるってか。 elm-chan.org/works/pci/report.html USB highspeed で足りなくなる用途ってのがなかなかなくて なんか作る前に PCI がオワコンになってしまた。
- 906 名前:login:Penguin mailto:sage [2011/09/08(木) 22:57:53.59 ID:gAMXe89X.net]
- 汎用のPCIプロトコルICがあればいいのにね
プロトコルが複雑なせいで使いにくいよ、PCIは
- 907 名前:login:Penguin mailto:sage [2011/09/08(木) 23:36:34.13 ID:M1WIsemQ.net]
- >>893(やーさん)
891が言ってるPLXのPCI bridge LSIが、いわゆる汎用のPCIプロトコルICだろ? ttp://www.plxtech.com/products/fastlane/ ttp://www.plxtech.com/products/expresslane/bridges
- 908 名前:login:Penguin mailto:sage [2011/09/09(金) 00:51:36.99 ID:i51Tyjoe.net]
- >894
MOUSERで買えるんだな。知らなかった。 俺が知ってるのはこっち。 shop.trenz-electronic.de/catalog/product_info.php?products_id=801
- 909 名前:login:Penguin mailto:sage [2011/09/09(金) 08:48:41.83 ID:RO54tTej.net]
- PCIってバスマスタ機能ついてないと強烈に遅いからなぁ
ターゲットアクセスONLYだったらUSBの方が全然マシ
- 910 名前:login:Penguin mailto:sage [2011/09/09(金) 12:22:55.91 ID:c/CggDIE.net]
- USBはターゲット側から割り込みかけられんのがなあ
3.0が一般的になれば解決しそうだが
- 911 名前:login:Penguin mailto:sage [2011/09/16(金) 20:45:13.24 ID:sbRt/b8G.net]
- page2.auctions.yahoo.co.jp/jp/auction/b124613538
旦那、アナライザが出てきましたぜ
- 912 名前:login:Penguin mailto:sage [2011/09/17(土) 13:18:09.75 ID:1xn24TfS.net]
- >>898
一瞬安いと思ってしまったが、いまさら使い道ないよなぁ
- 913 名前:login:Penguin mailto:sage [2011/10/01(土) 08:26:06.16 ID:PYdveQ5P.net]
- create_workqueueでカーネルスレッドいっぱい作るドライバが多いな
core-i7とか12個もできたりする
- 914 名前:login:Penguin mailto:sage [2012/04/10(火) 20:10:51.64 ID:K9bAsJRY.net]
- NICレジスタのとあるフィールドを、MMIOを使って書き換えようとしています。
1.pci_get_device()でデバイス情報取得 2.pci_resource_start()で物理アドレス取得 3.ここで、一応request_mem_region()をコールしますが、既にベンダー提供の デバイスドライバでrequest_mem_region()されているので、0が返ってきます。 が、構わず続けて、 4.ioremap_nocache()でマッピングされたアドレスを取得 4.の結果を以ってレジスタのREADはできた(ethtool -dとの比較結果が一致)のですが、 writeb()を使って書き込んでも反映されていません(ethtool -dで確認)。 そこで質問なのですが、既にrequest_mem_region()されているレジスタについては、 READはできてもWRITEは不可といったことなんでしょうか? それとも、他にフラグ操作等足らない操作があるのでしょうか?
- 915 名前:login:Penguin mailto:sage [2012/04/10(火) 20:13:57.19 ID:TjB2iYHy.net]
- 同じリソースに2ヶ所(個別の管理している?)からアクセス(書き込み)したら、どうなるかわかってる?
- 916 名前:login:Penguin mailto:sage [2012/04/11(水) 07:08:07.09 ID:Ov29jEBq.net]
- >>902
実際にはある条件を満たすパケットを捨てる/捨てないを担う1bitの書き換えなのですが、 それでも横から弄られたら破綻するかなと思います。 そもそも、ベンダー側ドライバがこのbitを操作するioctl()なりEXPORT関数なりを用意 してないので、サポート外動作というのは理解しています。 一応、この辺はベンダー側にNDAでもいいんで提供してもらえるように依頼しています。 今回は、それまでに時間がかかるのでとりあえずでも弄ることができないかとあれこれ やっています。 最悪は、このbitをドライバロード時に設定しているドライバソースを弄ればなんとか なりそうなんですが、ソースを弄ることなく外から設定できるといいな、と。
- 917 名前:login:Penguin [2012/04/11(水) 07:42:58.51 ID:k8CqWmKf.net]
- ioremap()の場合ですが、こんな事書いてる人もいますね。
ttp://0x74.blogspot.jp/2009/05/linuxrequestmemregionio.html その後バージョンが上がって変わってるかもしれません。
- 918 名前:login:Penguin mailto:sage [2012/04/11(水) 14:34:19.38 ID:idMu7gyr.net]
- >実際にはある条件を満たすパケットを捨てる/捨てないを担う1bitの書き換えなのですが、
スレタイに通りに、NDAドライバをハックして バイナリパッチのほうが早くね
- 919 名前:login:Penguin mailto:sage [2012/04/11(水) 19:39:13.21 ID:Ov29jEBq.net]
- >>904
今回、MMIO使って書き換えてみようと考えたのが、そこのページを見たためでした。 結局まだうまくいってませんが… >>905 とりあえず、ドライバソースを弄る方で先にやってみようと思います。
- 920 名前:906 mailto:sage [2012/04/12(木) 20:02:46.16 ID:lbSIQeJF.net]
- 結局、ドライバソースを弄って無事目的を果たせました。
- 921 名前:login:Penguin mailto:sage [2012/10/08(月) 17:33:01.99 ID:Z+p5tcDI.net]
- kernel技術者の需要ってどんなもんでしょう?
技術者が不足している分野と、 待遇の目安など教えてもらえると嬉しいです。
- 922 名前:login:Penguin mailto:sage [2012/10/09(火) 10:23:13.53 ID:fG1BPWH9.net]
- 今それが見えてない時点でアウトだと思うよ
- 923 名前:login:Penguin mailto:sage [2012/10/09(火) 10:46:20.92 ID:HshUGVwS.net]
- いや、なら他を当たるまでなので別によいです
webなりDBなり頑張ります
- 924 名前:login:Penguin mailto:sage [2012/10/09(火) 11:24:00.87 ID:fG1BPWH9.net]
- ジャンルには関係ないとは思うが、まあいいか
- 925 名前:login:Penguin mailto:sage [2012/10/09(火) 12:26:59.26 ID:sI4/BkKw.net]
- >>910
まだ選択の余地があるなら他に進んだ方がいいと思う。プログラム業なんて、>>909みたいなカスしかいないから。
- 926 名前:login:Penguin mailto:sage [2012/10/09(火) 13:10:40.17 ID:GPpGUb7J.net]
- プログラム業
- 927 名前:login:Penguin [2013/03/26(火) 08:51:30.75 ID:CLzKF3Up.net]
- age
- 928 名前:login:Penguin [2014/02/13(木) 19:42:26.30 ID:StvXlIag.net]
- /dev/input で
type=EV_MSC code=MSC_SCAN って なにを意味してんの?
- 929 名前:login:Penguin [2014/02/23(日) 12:43:47.37 ID:ytOaVGS4.net]
- ecb ってなにドライバー?
- 930 名前:login:Penguin [2014/02/26(水) 10:47:34.06 ID:w6lQvC2s.net]
- キン肉ドライバー!
- 931 名前:login:Penguin mailto:sage [2014/04/02(水) 15:13:48.18 ID:rDv+tjOg.net]
- ドバイスデライバァ!
- 932 名前:login:Penguin mailto:sage [2014/04/09(水) 11:07:29.91 ID:MFnWvffb.net]
- 奇跡、神秘、真実、夢
- 933 名前:login:Penguin [2014/10/30(木) 21:21:48.26 ID:xfEc1Jae.net]
- ユーザーランドで動作するデバイスドライバ
って作れる?
- 934 名前:login:Penguin mailto:sage [2014/10/31(金) 07:35:14.24 ID:tkZ1h6qo.net]
- >>920
User Space I/O (uio)のこと?
- 935 名前:login:Penguin mailto:sage [2015/09/06(日) 01:15:03.40 ID:M4p9U028.net]
- 923
- 936 名前:login:Penguin mailto:age [2015/09/19(土) 22:49:35.27 ID:wUZ4n7AX.net]
- ハック?
- 937 名前:login:Penguin mailto:sage [2015/09/20(日) 05:44:26.94 ID:Y/A9fOOn.net]
- 啓発
- 938 名前:login:Penguin mailto:sage [2015/09/20(日) 16:39:17.03 ID:Y/A9fOOn.net]
- deviceは接続しただけで、大手デイストリやその系列は自動認識の時代だろ
- 939 名前:login:Penguin [2016/03/14(月) 02:03:02.13 ID:wYUVNjV4.net]
- >>46
懐かしい。もう14年経ったか。この人いまどうしてるだろう? 私はこの話の元ネタであるコメンテーターというお笑いネタをマ板に書いた者。 当時は想像もしなかったが、今じゃ私もLinux使いになってしまった。 私が書いたのはお笑いネタだけど、>>46みたいに、実際のコードを 面白おかしく解説してくれる記事があったらもっと読みたかったな。 記念に書きのこしておく。スレ汚しごめんよ。
- 940 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|