ディバイスドライバの改造、製作にまつわる情報交換、質問、
噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。
ディバイスドライバをハックしよう!
レス数が900を超えています。1000を超えると表示できなくなるよ。
1login:Penguin
02/01/31 01:14ID:t3s191ys804801
2008/03/18(火) 21:37:57ID:z8581E+A2008/03/18(火) 21:49:17ID:irgQA2zj
shell スクリプト作ってその中で insmod、mknod すれば?
rmmod も出来るようにすれば、なお良いでしょ?
rmmod も出来るようにすれば、なお良いでしょ?
2008/03/18(火) 23:47:40ID:z8581E+A
2008/03/18(火) 23:49:33ID:owXiyD5i
2008/03/19(水) 10:35:22ID:J+fEVrF8
ブロックデバイスのブロックサイズってどこで決まってるの?
ユーザアプリから見る方法ある?
ユーザアプリから見る方法ある?
2008/03/19(水) 14:37:31ID:ZMxkS/nc
2008/03/20(木) 00:19:26ID:tEIlyDHp
2008/03/20(木) 00:24:56ID:tEIlyDHp
>>808
試してないけど、blktool(8)のblock-szコマンドでいけそうかもね?
試してないけど、blktool(8)のblock-szコマンドでいけそうかもね?
2008/03/20(木) 02:10:32ID:wMmGSYfl
2008/03/28(金) 15:40:00ID:BcQjSrEl
>>807見て、misc_register調べてちょっと使ってみたんだけど、
これで作ったもんどうやって消すんだ?
関数自体は使い方分かったが、対になるもの無い?
misc_register込みのinsmod→rmmod→再度insmodでハングするんだが
これで作ったもんどうやって消すんだ?
関数自体は使い方分かったが、対になるもの無い?
misc_register込みのinsmod→rmmod→再度insmodでハングするんだが
2008/03/28(金) 15:47:49ID:BcQjSrEl
書いた直後に自己解決しちまったorz
misc_deregisterがあるのね…
スレ汚しすまんかった
misc_deregisterがあるのね…
スレ汚しすまんかった
815791
2008/04/06(日) 15:36:55ID:n9AD6VHb ほ?
816login:Penguin
2008/04/10(木) 21:40:14ID:zop984mC mmapを利用して物理アドレス0x10000000に存在するデバイス(SRAM)のR/Wを
行うドライバを作成しようと思っています。
馬本の第3版のサンプルソース(simple)を参考にしながらremap_pfn_rangeで
マッピングし、ダンプをとってみたところ、0x10000000エリアのデータでは
なく、全て0のデータが読み取れました。
0x1000等の小さい物理アドレスであれば正常にリード出来ているようです。
0x10000000のように上の方のアドレスは、remap_pfn_rangeではマッピング
されないのでしょうか?
カーネルのバージョンは2.6.11です。
行うドライバを作成しようと思っています。
馬本の第3版のサンプルソース(simple)を参考にしながらremap_pfn_rangeで
マッピングし、ダンプをとってみたところ、0x10000000エリアのデータでは
なく、全て0のデータが読み取れました。
0x1000等の小さい物理アドレスであれば正常にリード出来ているようです。
0x10000000のように上の方のアドレスは、remap_pfn_rangeではマッピング
されないのでしょうか?
カーネルのバージョンは2.6.11です。
817816
2008/04/10(木) 22:19:28ID:zop984mC /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)
でも同じ結果でした・・・
memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x10000000)
memmap((void*)0, 0x1000,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0x1000)
でも同じ結果でした・・・
818816
2008/04/10(木) 22:20:55ID:zop984mC 訂正
>>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)
>>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)
819816
2008/04/10(木) 22:21:43ID:zop984mC 訂正
>>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)
>>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)
2008/04/10(木) 23:10:16ID:hws3UYgb
Linux 2.6.11 使ってないしためしてないけど、
/sys/devices/pci*/*/resource? を mmap(2) って出来ないんだっけ?
/sys/devices/pci*/*/resource? を mmap(2) って出来ないんだっけ?
2008/04/11(金) 00:58:30ID:pzz5pihD
とりあえず、落ち着けw
man mmap2
man mmap2
822816
2008/04/11(金) 23:01:18ID:1s5/4DVK >>821
>man mmap2
↓ですよね?
http://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も見れるのに・・・
>man mmap2
↓ですよね?
http://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も見れるのに・・・
2008/04/12(土) 04:09:25ID:CJCvWk/v
MTD使えばいいんじゃない?
phram.koとか
slram.koとか
phram.koとか
slram.koとか
2008/05/26(月) 23:35:38ID:ZMUO6bXW
タスクレットの中でsleep_on_timeoutって呼べないんですか?
なぜかカーネルパニックになってしまいます…
なぜかカーネルパニックになってしまいます…
2008/05/28(水) 19:14:20ID:eAKKlqpI
タスクレットからkill_fasync()呼びたいんですけど、
第一引数ってどこから持ってくればいいんでしょうか?
第一引数ってどこから持ってくればいいんでしょうか?
826login:Penguin
2008/06/13(金) 19:47:44ID:ngpRzev4 フリーオのデバイスドライバー書ける人が居たら神!
2008/06/13(金) 22:56:58ID:yAy4CW2H
玄箱用のは、あるだろ
828login:Penguin
2008/07/05(土) 05:09:39ID:+CtKxXwh あげあげ
2008/07/05(土) 08:11:05ID:d6Puhgue
ttp://pc11.2ch.net/test/read.cgi/linux/1213378360/
2008/07/05(土) 11:49:23ID:D1363wxr
やっぱり情報公開されてない物のドライバ造るのって無理がある?
Willcomスマートフォン端末でLinuxを動かすプロジェクト?があるのですが、
WS003SH、WSはPrismチップの無線LANを使用。
WS011SHではSharp独自のチップを使用した物のようです。
WS020SHは不明。
当方WS011SHの物の開発に興味があるのですが、難しいどころか情報の公開がされていない限りは
手すら付けられない状態でしょうか?
アドバイスよろしくお願いします。
Willcomスマートフォン端末でLinuxを動かすプロジェクト?があるのですが、
WS003SH、WSはPrismチップの無線LANを使用。
WS011SHではSharp独自のチップを使用した物のようです。
WS020SHは不明。
当方WS011SHの物の開発に興味があるのですが、難しいどころか情報の公開がされていない限りは
手すら付けられない状態でしょうか?
アドバイスよろしくお願いします。
831login:Penguin
2008/07/27(日) 04:17:46ID:JGvJfhtT copy_{to,from}_user()でユーザプロセスのアドレスを与えるところにカーネル空間のアドレスを与えるとどうなります?
やっぱりaccess_ok()で弾かれる?
やっぱりaccess_ok()で弾かれる?
832login:Penguin
2008/07/27(日) 08:01:26ID:Nq54nVAZ >>831
その程度、自分で確認しろ。
その程度、自分で確認しろ。
833login:Penguin
2008/08/21(木) 06:11:30ID:5vh0FBcx あげ
834login:Penguin
2008/09/17(水) 22:50:23ID:v0hV3n2N Linuxデバドラ移植の質問です。
雑誌の記事でx86Linuxデバドラを他CPUのLinuxに移植する際に、デバドラのソースが
x86に依存してて移植できないことを知りました。
どうやらx86プログラマが他のCPUへの移植性を考えずに開発したことが原因みたいです。
雑誌によるとデバドラの依存箇所は以下が多いようです。
・バイトオーダ
・アライメント
・I/Oアクセス
・タイミング
皆様に質問ですが、このようなx86に依存したLinuxデバドラが落ちている場所を
ご存じないでしょうか?
また、根本的なことですがx86Linuxデバドラを移植したり、移植しようとしたが
x86に依存してて大変だったという案件は多いのでしょうか?
どうぞよろしくお願いいたします。
雑誌の記事でx86Linuxデバドラを他CPUのLinuxに移植する際に、デバドラのソースが
x86に依存してて移植できないことを知りました。
どうやらx86プログラマが他のCPUへの移植性を考えずに開発したことが原因みたいです。
雑誌によるとデバドラの依存箇所は以下が多いようです。
・バイトオーダ
・アライメント
・I/Oアクセス
・タイミング
皆様に質問ですが、このようなx86に依存したLinuxデバドラが落ちている場所を
ご存じないでしょうか?
また、根本的なことですがx86Linuxデバドラを移植したり、移植しようとしたが
x86に依存してて大変だったという案件は多いのでしょうか?
どうぞよろしくお願いいたします。
2008/09/17(水) 23:58:51ID:3YmhTjsY
2008/09/18(木) 00:34:30ID:YTkXriLK
837834
2008/09/18(木) 00:34:38ID:csSd+QEz カーネルソース内にあるんですね!
知りませんでした;
私は初心者でよく知らないんですが、てっきりカーネルソール内のコードって
移植性をちゃんと考えてあって(arch/以外)、管理されていると思ってました。
むしろ、カーネルソース外の開発(企業or個人)で公開されているドライバに
あるのかと思ってました。
知りませんでした;
私は初心者でよく知らないんですが、てっきりカーネルソール内のコードって
移植性をちゃんと考えてあって(arch/以外)、管理されていると思ってました。
むしろ、カーネルソース外の開発(企業or個人)で公開されているドライバに
あるのかと思ってました。
2008/09/18(木) 10:25:28ID:tEXQNL4k
>>834
ふつー開発者の持ってるCPUでしかテストしないよ。
tg3とかe1000とかはNEC(ia64)とかIBM(powerpc)とかが
頑張って自分とこのハードで動くようにしてるけど、
個人でハックしてるものはたいていx86だけ。
ふつー開発者の持ってるCPUでしかテストしないよ。
tg3とかe1000とかはNEC(ia64)とかIBM(powerpc)とかが
頑張って自分とこのハードで動くようにしてるけど、
個人でハックしてるものはたいていx86だけ。
2008/09/19(金) 05:32:38ID:PmgUOzFO
まあ、過去の経験からすると
・USBターゲット - ほとんど手を入れる必要無し
・PCI - そんなに苦労することはない
・CPU直結 - 健闘を祈る
てところですかねえ。
・USBターゲット - ほとんど手を入れる必要無し
・PCI - そんなに苦労することはない
・CPU直結 - 健闘を祈る
てところですかねえ。
840login:Penguin
2008/11/09(日) 10:59:58ID:QBZrgAJi age
2008/11/13(木) 05:29:37ID:dS9nrsy0
USBデバイスでも無線LANとかは
842login:Penguin
2008/12/07(日) 17:23:17ID:Ht7uJKzk age
2008/12/19(金) 14:08:43ID:MwDJWbRs
HWからの割込み処理中の、ローカルAPICへのEOI発行タイミングについて質問があります。
レベル・トリガの割込みだった場合は、end関数からEOIを発行しています。
これは、割込み処理の先頭で発行してしまうと、I/O APICへEOIが通知され、デバイスのアサートが
失われてしまうのが不都合だからでしょうか?
カーネルのverは2.6.18 です。
レベル・トリガの割込みだった場合は、end関数からEOIを発行しています。
これは、割込み処理の先頭で発行してしまうと、I/O APICへEOIが通知され、デバイスのアサートが
失われてしまうのが不都合だからでしょうか?
カーネルのverは2.6.18 です。
2008/12/20(土) 08:40:05ID:9ZJbjYSC
2008/12/21(日) 18:36:36ID:6RSqLOEI
2008/12/21(日) 19:17:37ID:otIiAnj0
ダブルフォルト乙
2008/12/22(月) 03:52:28ID:guo09gfy
(1)はおばさんのスピードに勝てないと判断して、(2)のおばさんに話し掛けるよな
もうお腹いっぱいって
もうお腹いっぱいって
848login:Penguin
2009/01/24(土) 00:42:09ID:UJ+xFTUa a
2009/02/17(火) 22:55:17ID:m2mCukTw
ポート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);
下のコードの時点で、すでにコンパイルが通りません。
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);
850login:Penguin
2009/02/17(火) 22:55:48ID:m2mCukTw すみません、sageてしまいました。
2009/02/18(水) 00:04:19ID:lQ8CDN9P
根本的に間違っているような気がするので、
もう少し具体的にやりたいことを書いた方がいいと思う。
取り合えずドライバでioplはいらねえ。
もう少し具体的にやりたいことを書いた方がいいと思う。
取り合えずドライバでioplはいらねえ。
2009/02/18(水) 01:04:31ID:WJ6360yx
>>851
もしかして、ドライバ内では、ポートにアクセスするのに、iopl自体が使えないということでしょうか?
そうすると、request_regionしていくしかないということですかね。
それとも、アクセス許可自体が必要ないのでしょうか。
元々、独自PCI-I/Fボードにアクセスするアプリがありまして、
それの、ドライバ版を作ろうと思いました。
そのアプリでは、iopl(3)→outb(),inb()にて値を取得していたので、同じ様に作っていたところでした。
PCIからのポートアドレス取得が上手くでき、そのアドレスにアクセスする段階だったのですが、
ioplでどうしてもコンパイルが通らず、includeの問題なのか、Makefileなのか、
途方に暮れてました。>>849はそのテストプログラムを抜き出しです。
もしかして、ドライバ内では、ポートにアクセスするのに、iopl自体が使えないということでしょうか?
そうすると、request_regionしていくしかないということですかね。
それとも、アクセス許可自体が必要ないのでしょうか。
元々、独自PCI-I/Fボードにアクセスするアプリがありまして、
それの、ドライバ版を作ろうと思いました。
そのアプリでは、iopl(3)→outb(),inb()にて値を取得していたので、同じ様に作っていたところでした。
PCIからのポートアドレス取得が上手くでき、そのアドレスにアクセスする段階だったのですが、
ioplでどうしてもコンパイルが通らず、includeの問題なのか、Makefileなのか、
途方に暮れてました。>>849はそのテストプログラムを抜き出しです。
2009/02/18(水) 01:38:21ID:lQ8CDN9P
なんでドライバにする必要があるのかよくわからんが。
そういうレベルでわからんのであれば、まずは馬本で基礎知識を
身につけた方がいいと思う。
ついでに、sys_ioplの呼び方はそうじゃない。
つうかカーネルの中でsys_〜は直接呼ぶもんじゃない。
そういうレベルでわからんのであれば、まずは馬本で基礎知識を
身につけた方がいいと思う。
ついでに、sys_ioplの呼び方はそうじゃない。
つうかカーネルの中でsys_〜は直接呼ぶもんじゃない。
2009/02/18(水) 12:48:39ID:WJ6360yx
>>853
ありがとうございます。
ドライバ版の意図は、いずれ割り込みを使うつもりだったからです。
馬本は十分理解できなかったので、とりあえず作ってみるという感じでやってました。
sys_ioplは呼んではいけないんですね。
馬本、もう一度読んでみます。
ありがとうございます。
ドライバ版の意図は、いずれ割り込みを使うつもりだったからです。
馬本は十分理解できなかったので、とりあえず作ってみるという感じでやってました。
sys_ioplは呼んではいけないんですね。
馬本、もう一度読んでみます。
2009/02/18(水) 16:25:38ID:zpaCJvuo
馬本はカーネルの知識がある程度ある前提で書かれてるので
まずはLinuxカーネルに関する文献を読んでみることをおすすめするよ
デバイスドライバはカーネルの一部でもあることを忘れるな
まずはLinuxカーネルに関する文献を読んでみることをおすすめするよ
デバイスドライバはカーネルの一部でもあることを忘れるな
2009/05/29(金) 14:40:20ID:D/EXOrYt
Kernel 内で IN/OUT アセンブラ命令に相当するのは
何かマクロがあるんじゃなかったっけ?
READ_PORT とかそんなの。
何かマクロがあるんじゃなかったっけ?
READ_PORT とかそんなの。
2009/05/29(金) 23:00:18ID:A6oE+oT8
in[bwl]
out[bwl]
とか。
include/asm/io.hに入ってたはず。
out[bwl]
とか。
include/asm/io.hに入ってたはず。
2009/07/04(土) 14:39:23ID:D5yvn6Kc
シリアルドライバ内の情報で、何バイト受信済みとか、何バイト未送信という情報って
取得することは可能ですか?
取得することは可能ですか?
859858
2009/07/04(土) 16:35:43ID:D5yvn6Kc 補足です。
上記の情報をアプリケーションから取得できますか?
上記の情報をアプリケーションから取得できますか?
2009/07/05(日) 02:17:52ID:vnzKXmwE
2009/07/05(日) 14:39:25ID:jkHVDhT6
ヌルイぞ。そこは
つーかソース嫁よ。せっかるあるんだからよ。
だろ。ソース以上の資料なんかないんだからOSSってのは質問禁止なんだよ。
・・・ってえらいひとがいってました!
つーかソース嫁よ。せっかるあるんだからよ。
だろ。ソース以上の資料なんかないんだからOSSってのは質問禁止なんだよ。
・・・ってえらいひとがいってました!
2009/07/05(日) 23:11:19ID:vnzKXmwE
>>861
その偉い人は馬鹿だよ
その偉い人は馬鹿だよ
2009/07/05(日) 23:20:49ID:xNWd+cLB
どこでも、えらい人は馬鹿なもんさ。
864login:Penguin
2009/09/19(土) 20:24:56ID:I29pddJ7 保守上げ
2009/10/12(月) 16:24:20ID:cJbteqq9
2009/12/03(木) 22:11:10ID:s69LcKJk
i386BSDカーネルの386BSDカーネルソースコードの秘密
ソース以上の資料なんかないんだから、に対して何か書いてあったな。
ソース以上の資料なんかないんだから、に対して何か書いてあったな。
2009/12/03(木) 23:11:02ID:LYVup2we
>>866
ソースそのものと、ソースにこめられた趣旨は別じゃないかな?
ソースそのものと、ソースにこめられた趣旨は別じゃないかな?
2009/12/10(木) 00:21:58ID:XvjOUXRH
UTSL だな。
869login:Penguin
2010/02/18(木) 10:40:00ID:hWc/MwlX linuxmintとウィンドウズ7RCを使っています。WIN7は試用なので来月から起動後一時間で自動で電源が落ちるようです。
リナックスに乗り換えるのは簡単なのですが、今使ってるテレビチューナーのドライバがリナックスには無いのです。
だれかmvp-rx3のドライバを書いてください。
このままではリナックスでテレビが見られず、リナックスをあきらめてウィンドウズのところにお嫁にイかされてしまいます。
テレビを見るためにはリナックスをお慕いもうしあげていますのにウィンドウズを買わなければならない境遇に
どうかどうか同情をしていただけるスーパーハッカーの方はドライバ書いてくださいませんか。
生きていくためには愛をもあきらめゲイツに身をゆだねなければならないのかと震えております。
ちなみにあたし女子中学生です。生娘です。似ている芸能人は17歳のころの広末涼子です。
リナックスに乗り換えるのは簡単なのですが、今使ってるテレビチューナーのドライバがリナックスには無いのです。
だれかmvp-rx3のドライバを書いてください。
このままではリナックスでテレビが見られず、リナックスをあきらめてウィンドウズのところにお嫁にイかされてしまいます。
テレビを見るためにはリナックスをお慕いもうしあげていますのにウィンドウズを買わなければならない境遇に
どうかどうか同情をしていただけるスーパーハッカーの方はドライバ書いてくださいませんか。
生きていくためには愛をもあきらめゲイツに身をゆだねなければならないのかと震えております。
ちなみにあたし女子中学生です。生娘です。似ている芸能人は17歳のころの広末涼子です。
2010/02/18(木) 19:21:20ID:tk+7V5La
>>869
GV-MVP/RX3
http://www.iodata.jp/product/tv/analog/gv-mvprx3/
mvp-rx3はアナログTVキャプチャーボードですね。
2011年7月にアナログテレビ放送が終了するので
どのみち地上デジタルテレビチューナーが必要になります。
Windows7を買う金でPT2を買ってLinuxで使う方がよいと思います。
PT2なら地デジでもコピーワンスによる不便から逃れられます。
日経Linux 2010年2月号
http://itpro.nikkeibp.co.jp/article/MAG/20100105/342880/
> 特集2
> PT2で地デジ録画システムを作る
> パソコンで地上デジタル放送や衛星放送を受信できる
> デジタル・チューナ「PT2」を使ってシステムを作ります。
> 最新のLinuxディストリビューションのFedora 12とUbuntu 9.10で
> PT2のドライバをインストールし,高画質のテレビ番組を見てみましょう。
> 番組表から録画予約する方法も紹介します。
【視聴】Linuxでデジタル放送【録画】
http://pc11.2ch.net/test/read.cgi/linux/1230616112/
GV-MVP/RX3
http://www.iodata.jp/product/tv/analog/gv-mvprx3/
mvp-rx3はアナログTVキャプチャーボードですね。
2011年7月にアナログテレビ放送が終了するので
どのみち地上デジタルテレビチューナーが必要になります。
Windows7を買う金でPT2を買ってLinuxで使う方がよいと思います。
PT2なら地デジでもコピーワンスによる不便から逃れられます。
日経Linux 2010年2月号
http://itpro.nikkeibp.co.jp/article/MAG/20100105/342880/
> 特集2
> PT2で地デジ録画システムを作る
> パソコンで地上デジタル放送や衛星放送を受信できる
> デジタル・チューナ「PT2」を使ってシステムを作ります。
> 最新のLinuxディストリビューションのFedora 12とUbuntu 9.10で
> PT2のドライバをインストールし,高画質のテレビ番組を見てみましょう。
> 番組表から録画予約する方法も紹介します。
【視聴】Linuxでデジタル放送【録画】
http://pc11.2ch.net/test/read.cgi/linux/1230616112/
2010/06/28(月) 20:46:03ID:Pckx/KO8
デバイスクラスがCDCでバルクでデータ転送するUSBドライバを作りたいんですけど、usb-skeltonドライバのベンダーIDとプロダクトIDを変更すれば使えるのでしょうか?
2010/11/04(木) 21:49:31ID:S1XESMQS
ioctlについて教えてください。
ioctlのパラメーターで指定するIDはlinux/ioctl.hで定義されているIOWやIORを使います。
しかし、アプリ開発者に渡すヘッダにIOWなどを使ってしまうと、ioctl.hはカーネルヘッダなので
アプリ開発者に渡せません。
ioctl.hごと渡すという手もありますが、ioctl.hの実態はarchの下を辿っていったものなので、
ずばりIOWなどが定義されているioctl.hを渡してしまっては、アーキテクチャを隠蔽している意味が
薄れてしまいます。
かと言って、別にヘッダを作っては無駄です。
これは、本来はどのように解決することを想定されているのでしょうか?
ioctlのパラメーターで指定するIDはlinux/ioctl.hで定義されているIOWやIORを使います。
しかし、アプリ開発者に渡すヘッダにIOWなどを使ってしまうと、ioctl.hはカーネルヘッダなので
アプリ開発者に渡せません。
ioctl.hごと渡すという手もありますが、ioctl.hの実態はarchの下を辿っていったものなので、
ずばりIOWなどが定義されているioctl.hを渡してしまっては、アーキテクチャを隠蔽している意味が
薄れてしまいます。
かと言って、別にヘッダを作っては無駄です。
これは、本来はどのように解決することを想定されているのでしょうか?
2010/11/04(木) 22:06:18ID:qwjxXvn/
ビルド環境に入っているものを素直に使う。
2010/11/04(木) 22:34:19ID:S1XESMQS
>>873
ビルド環境?
すみません、Linuxはドライバの開発とOSの移植しかやったことがないので、
ビルド環境がよくわかりません。
ドライバを開発するうえで、アプリ屋さんにどのようにドライバのヘッダファイルを
渡すのが正しいやり方なのかを知りたいです。
ビルド環境?
すみません、Linuxはドライバの開発とOSの移植しかやったことがないので、
ビルド環境がよくわかりません。
ドライバを開発するうえで、アプリ屋さんにどのようにドライバのヘッダファイルを
渡すのが正しいやり方なのかを知りたいです。
2010/11/04(木) 22:38:36ID:LR3hS2yn
?ttp://homepage3.nifty.com/rio_i/lab/driver24/00205ioctl.html
2010/11/04(木) 23:04:47ID:S1XESMQS
分かりました。
ioctl.hはわざわざ渡さなくても、アプリ開発で使用するカーネルヘッダに入っているので
大丈夫ということですね。
ありがとうございました。
ioctl.hはわざわざ渡さなくても、アプリ開発で使用するカーネルヘッダに入っているので
大丈夫ということですね。
ありがとうございました。
2010/12/02(木) 23:23:04ID:4b10+uK8
ドライバコンパイル時に静的ライブラリをリンクさせることって出来ますか?
2010/12/02(木) 23:29:16ID:QEjw5J80
はい
2010/12/03(金) 01:20:27ID:q4cXzrWN
どうやったら出来ますか?
2.6系のカーネルですが、-lでライブラリを指定しても
WARNING: "hoge" [/home/hoge.ko] undefined!
と言われてリンクできないんですよ。
2.6系のカーネルですが、-lでライブラリを指定しても
WARNING: "hoge" [/home/hoge.ko] undefined!
と言われてリンクできないんですよ。
2010/12/03(金) 01:26:12ID:HjCnxCbQ
.koってライブラリじゃないよ
2010/12/03(金) 10:36:25ID:CY74Qv7R
そもそもgccやbinutilsはWARNINGとか大文字は出さないだろう
何かすごい勘違いしてそう
何かすごい勘違いしてそう
2010/12/11(土) 14:59:04ID:uuYvSF4I
883login:Penguin
2010/12/29(水) 17:20:29ID:4yM0+SZ6 webcam(UVC)を接続すると、/dev/video0にデバイスが作成されますが、
ここから流れてくるフォーマットについて知りたいのですが、どこか
参照するところってありますでしょうか?
ここから流れてくるフォーマットについて知りたいのですが、どこか
参照するところってありますでしょうか?
2011/05/27(金) 16:14:52.73ID:hBkzVcCP
Cライブラリのassert()のドライバ版みたいなのないですかね?
勉強用にドライバを書いているのだけど、エラーチェックにいちいち if文を書くのが面倒くさい。
普通のアプリの場合は、assert()で一行でエラーチェックを終わらせるのだけど。
無いなら、どうやってエラーチェックしてるか教えて貰えるとありがたい。
勉強用にドライバを書いているのだけど、エラーチェックにいちいち if文を書くのが面倒くさい。
普通のアプリの場合は、assert()で一行でエラーチェックを終わらせるのだけど。
無いなら、どうやってエラーチェックしてるか教えて貰えるとありがたい。
2011/05/27(金) 16:21:32.12ID:oqgnTIfp
BUG_ON
2011/05/27(金) 23:08:25.94ID:NHryjoxJ
タイプ数減らしたいだけなら自分でマクロ書けばいいじゃん
#define assert(x) なんとかかんとか
#define assert(x) なんとかかんとか
888885
2011/05/28(土) 21:55:24.09ID:DZ/zAfXL >886
どうもありがとう。良い情報を頂きました。
>887
最悪その方法を取るけれど、既存の洗練された方法があるならそっちを使うべきでしょう?
どうもありがとう。良い情報を頂きました。
>887
最悪その方法を取るけれど、既存の洗練された方法があるならそっちを使うべきでしょう?
889login:Penguin
2011/07/28(木) 17:08:37.75ID:fa8I36t3 PCIの自作用穴あき基板ってあるんですかね?
自作基板をスロットに差してデバドラも自分で書いて使ってる人います?
自作基板をスロットに差してデバドラも自分で書いて使ってる人います?
890login:Penguin
2011/07/28(木) 21:19:13.92ID:9X016Sem FPGAでプログラムする人とかいるんじゃないかな
2011/08/30(火) 14:59:09.92ID:0covJFQI
>>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のデバッグつらそう
サンハヤトで売ってる
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のデバッグつらそう
892電板住人
2011/09/08(木) 22:50:33.11ID:5S22Lom/ >891
なせばなるってか。
http://elm-chan.org/works/pci/report.html
USB highspeed で足りなくなる用途ってのがなかなかなくて
なんか作る前に PCI がオワコンになってしまた。
なせばなるってか。
http://elm-chan.org/works/pci/report.html
USB highspeed で足りなくなる用途ってのがなかなかなくて
なんか作る前に PCI がオワコンになってしまた。
2011/09/08(木) 22:57:53.59ID:gAMXe89X
汎用のPCIプロトコルICがあればいいのにね
プロトコルが複雑なせいで使いにくいよ、PCIは
プロトコルが複雑なせいで使いにくいよ、PCIは
2011/09/08(木) 23:36:34.13ID:M1WIsemQ
>>893(やーさん)
891が言ってるPLXのPCI bridge LSIが、いわゆる汎用のPCIプロトコルICだろ?
ttp://www.plxtech.com/products/fastlane/
ttp://www.plxtech.com/products/expresslane/bridges
891が言ってるPLXのPCI bridge LSIが、いわゆる汎用のPCIプロトコルICだろ?
ttp://www.plxtech.com/products/fastlane/
ttp://www.plxtech.com/products/expresslane/bridges
2011/09/09(金) 00:51:36.99ID:i51Tyjoe
>894
MOUSERで買えるんだな。知らなかった。
俺が知ってるのはこっち。
http://shop.trenz-electronic.de/catalog/product_info.php?products_id=801
MOUSERで買えるんだな。知らなかった。
俺が知ってるのはこっち。
http://shop.trenz-electronic.de/catalog/product_info.php?products_id=801
2011/09/09(金) 08:48:41.83ID:RO54tTej
PCIってバスマスタ機能ついてないと強烈に遅いからなぁ
ターゲットアクセスONLYだったらUSBの方が全然マシ
ターゲットアクセスONLYだったらUSBの方が全然マシ
2011/09/09(金) 12:22:55.91ID:c/CggDIE
USBはターゲット側から割り込みかけられんのがなあ
3.0が一般的になれば解決しそうだが
3.0が一般的になれば解決しそうだが
2011/09/16(金) 20:45:13.24ID:sbRt/b8G
http://page2.auctions.yahoo.co.jp/jp/auction/b124613538
旦那、アナライザが出てきましたぜ
旦那、アナライザが出てきましたぜ
2011/09/17(土) 13:18:09.75ID:1xn24TfS
>>898
一瞬安いと思ってしまったが、いまさら使い道ないよなぁ
一瞬安いと思ってしまったが、いまさら使い道ないよなぁ
2011/10/01(土) 08:26:06.16ID:PYdveQ5P
create_workqueueでカーネルスレッドいっぱい作るドライバが多いな
core-i7とか12個もできたりする
core-i7とか12個もできたりする
2012/04/10(火) 20:10:51.64ID:K9bAsJRY
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は不可といったことなんでしょうか?
それとも、他にフラグ操作等足らない操作があるのでしょうか?
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は不可といったことなんでしょうか?
それとも、他にフラグ操作等足らない操作があるのでしょうか?
2012/04/10(火) 20:13:57.19ID:TjB2iYHy
同じリソースに2ヶ所(個別の管理している?)からアクセス(書き込み)したら、どうなるかわかってる?
2012/04/11(水) 07:08:07.09ID:Ov29jEBq
>>902
実際にはある条件を満たすパケットを捨てる/捨てないを担う1bitの書き換えなのですが、
それでも横から弄られたら破綻するかなと思います。
そもそも、ベンダー側ドライバがこのbitを操作するioctl()なりEXPORT関数なりを用意
してないので、サポート外動作というのは理解しています。
一応、この辺はベンダー側にNDAでもいいんで提供してもらえるように依頼しています。
今回は、それまでに時間がかかるのでとりあえずでも弄ることができないかとあれこれ
やっています。
最悪は、このbitをドライバロード時に設定しているドライバソースを弄ればなんとか
なりそうなんですが、ソースを弄ることなく外から設定できるといいな、と。
実際にはある条件を満たすパケットを捨てる/捨てないを担う1bitの書き換えなのですが、
それでも横から弄られたら破綻するかなと思います。
そもそも、ベンダー側ドライバがこのbitを操作するioctl()なりEXPORT関数なりを用意
してないので、サポート外動作というのは理解しています。
一応、この辺はベンダー側にNDAでもいいんで提供してもらえるように依頼しています。
今回は、それまでに時間がかかるのでとりあえずでも弄ることができないかとあれこれ
やっています。
最悪は、このbitをドライバロード時に設定しているドライバソースを弄ればなんとか
なりそうなんですが、ソースを弄ることなく外から設定できるといいな、と。
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【野球】広島東洋カープの矢野雅哉・前川誠太選手を書類送検 ゾンビたばこを巡る容疑 広島県警 [Ailuropoda melanoleuca★]
- 第2次大戦に触れトランプ氏「米中は同盟国」、当時は中華民国…「抗日」巡る中国の言説補強する恐れ ★7 [蚤の市★]
- 「暗い未来に子供を産みたくない…」それでも左派よりも右派の方が「たくさん子供を産む」のはなぜか【米研究】 [首都圏の虎★]
- 若い農家の意欲奪わないで ジャガイモ輸入解禁「反対」、首相官邸前で訴え (JA新聞) [少考さん★]
- 「習氏より先に言うとは…」 トランプ氏同盟国発言、日本政府内に困惑 [蚤の市★]
- 【野球】セ・リーグ DB 2-1 T [9/25] DeNA3連勝 宮﨑11号逆転2ランホームラン 阪神連勝ストップ石井被弾 [鉄チーズ烏★]
- 【高市悲報】ベッセント、オンライン会談で円の過小評価を再確認、片山にくぎを刺す [733893279]
- 【実況】えちえちアソビ★まわり隊!初コラボ配信 ★2
- ガールズ&パンツァー第9話「絶対絶命です!」実況スレ🏡21時スタート
- 女性「たのしいピクニック女を擁護するってことは、常に俺の前ではニコニコしてろ、俺はコストを払わないって言ってるんだが?」 [592058334]
- おまえらって孤独に強いよな、なんかコツあるのか?ふつうは壊れるだろ [683838391]
- 東京都に住むメリットってなによ? [841411289]