ディバイスドライバの改造、製作にまつわる情報交換、質問、
噂話、ぐち、政治、経済に関するスレです。できる限り生産的にいきましょーや。
ディバイスドライバをハックしよう!
■ このスレッドは過去ログ倉庫に格納されています
1login:Penguin
02/01/31 01:14ID:t3s191ys435434
2005/04/16(土) 08:17:16ID:R/hasO1P 自己レスです.
解決法を見付けたので,書き込みます.
drivers/usb/input/hid-core.c 内の,hid_blacklist 構造体に,
joypad のベンダIDとプロダクトIDを加えることで,解決しそうです.
スレ汚し失礼しました.
解決法を見付けたので,書き込みます.
drivers/usb/input/hid-core.c 内の,hid_blacklist 構造体に,
joypad のベンダIDとプロダクトIDを加えることで,解決しそうです.
スレ汚し失礼しました.
2005/05/17(火) 18:53:06ID:CbytfkQn
2.6 kernel(2.6.11.x)上でデバドラ書く場合、
MOD_INC_USE_COUNT
MOD_DEC_USE_COUNT
を使用する事ってobsolete?
MOD_INC_USE_COUNT
MOD_DEC_USE_COUNT
を使用する事ってobsolete?
437login:Penguin
2005/05/18(水) 01:07:17ID:2baf1QgQ >>436
れがし
れがし
2005/05/19(木) 23:52:14ID:m1yq1rQI
カーネル2.6.8(turbolinux10Server)でデバイスドライバを開発しています。
ドライバAでエクスポートしたシンボルをドライバBでコールしたいのですが、
ドライバBのinsmod時に"Unknown symbol"エラーが出てしまいます。
そこで、単純なソースで確認してみたのですが、同様の状態でした。
同様のソースをカーネル2.4.18(turbolinux8Server)でコンパイルしてinsmod
したところ上手く動作したのですが、カーネル2.6では何か手続きが必要
なのでしょうか?
確認したソースは以下の通りです
==ドライバA==
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
int __init test_init_module (void)
{
printk("test : init_module\n");
s_print();
return 0;
}
void __exit test_cleanup_module (void)
{
printk("test : cleanup_module\n");
return 0;
}
void s_print(void)
{
printk("Hello, World!\n");
}
module_init(test_init_module)
module_exit(test_cleanup_module)
ドライバAでエクスポートしたシンボルをドライバBでコールしたいのですが、
ドライバBのinsmod時に"Unknown symbol"エラーが出てしまいます。
そこで、単純なソースで確認してみたのですが、同様の状態でした。
同様のソースをカーネル2.4.18(turbolinux8Server)でコンパイルしてinsmod
したところ上手く動作したのですが、カーネル2.6では何か手続きが必要
なのでしょうか?
確認したソースは以下の通りです
==ドライバA==
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
int __init test_init_module (void)
{
printk("test : init_module\n");
s_print();
return 0;
}
void __exit test_cleanup_module (void)
{
printk("test : cleanup_module\n");
return 0;
}
void s_print(void)
{
printk("Hello, World!\n");
}
module_init(test_init_module)
module_exit(test_cleanup_module)
439login:Penguin
2005/05/19(木) 23:52:48ID:m1yq1rQI ==ドライバB==
#include <linux/module.h>
#include <linux/kernel.h>
extern void s_print();
int __init test2_init_module (void)
{
printk("test2 : init_module\n");
s_print();
return 0;
}
void __exit test2_cleanup_module (void)
{
printk("test2 : cleanup_module\n");
return 0;
}
module_init(test2_init_module)
module_exit(test2_cleanup_module)
#include <linux/module.h>
#include <linux/kernel.h>
extern void s_print();
int __init test2_init_module (void)
{
printk("test2 : init_module\n");
s_print();
return 0;
}
void __exit test2_cleanup_module (void)
{
printk("test2 : cleanup_module\n");
return 0;
}
module_init(test2_init_module)
module_exit(test2_cleanup_module)
440login:Penguin
2005/05/19(木) 23:57:30ID:m1yq1rQI ==コンパイル手順==
cc -c -w -O -I/usr/src/linux/include -I/usr/include -D__KERNEL__ -DMODULE -DKBUILD_MODNAME=test initial.c
/usr/src/linux/scripts/mod/modpost initial.o
cc -c -w -O -I/usr/src/linux/include -I/usr/include -D__KERNEL__-DMODULE -DKBUILD_MODNAME=test -c -o initial.mod.o initial.mod.c
ld -r -o test.ko initial.o initial.mod.o
==動作確認==
# insmod test.ko
// シンボルのエクスポートを確認
# cat /proc/kallsyms | grep s_print
f8xxxxxx T s_print [test]
# insmod test2.ko
test2 : Unknown symbol in module 's_print'
となります。実機が側にないので出力メッセージは大体こんな感じということで。
よろしくお願いします。
cc -c -w -O -I/usr/src/linux/include -I/usr/include -D__KERNEL__ -DMODULE -DKBUILD_MODNAME=test initial.c
/usr/src/linux/scripts/mod/modpost initial.o
cc -c -w -O -I/usr/src/linux/include -I/usr/include -D__KERNEL__-DMODULE -DKBUILD_MODNAME=test -c -o initial.mod.o initial.mod.c
ld -r -o test.ko initial.o initial.mod.o
==動作確認==
# insmod test.ko
// シンボルのエクスポートを確認
# cat /proc/kallsyms | grep s_print
f8xxxxxx T s_print [test]
# insmod test2.ko
test2 : Unknown symbol in module 's_print'
となります。実機が側にないので出力メッセージは大体こんな感じということで。
よろしくお願いします。
2005/05/20(金) 03:04:35ID:Ds9MyJAI
442login:Penguin
2005/05/20(金) 08:58:08ID:zG+tsX8i >>441
烈婦ワロタ
レスありがとうございます。
s_printでgrepしてみたのですが、同名のシンボルは無いようでした。
念のため、ドライバAに
EXPORT_SYMBOL(s_print);
を追加しても'Unknown symbol'になってしまいます。
ドライバ間の依存関係をどこかで明示する必要があるのでしょうか?
烈婦ワロタ
レスありがとうございます。
s_printでgrepしてみたのですが、同名のシンボルは無いようでした。
念のため、ドライバAに
EXPORT_SYMBOL(s_print);
を追加しても'Unknown symbol'になってしまいます。
ドライバ間の依存関係をどこかで明示する必要があるのでしょうか?
2005/06/07(火) 10:17:39ID:6uaL4exB
普通はそんなことはできないんじゃない?
誰かができると言ったのかな?
デバイスファイル開いてioctlをコールが普通じゃねぇの?
誰かができると言ったのかな?
デバイスファイル開いてioctlをコールが普通じゃねぇの?
2005/06/17(金) 18:54:11ID:9kSGojSd
http://www.oreilly.com/catalog/linuxdrive3/book/index.csp
Linux Device Drivers, Third Edition
Linux Device Drivers, Third Edition
2005/06/18(土) 19:13:08ID:Uc6V46BE
2005/06/19(日) 15:13:18ID:f3bsYXGy
the role of a device driver is providing mechanism, not policy.
これが、policy-free
これが、policy-free
2005/06/19(日) 15:19:24ID:f3bsYXGy
ここでのfreeはduty freeのfreeと同じ使われ方。
policyがないdriver
policyがないdriver
448login:Penguin
2005/06/29(水) 18:33:32ID:hcN+gVRw カーネル2.4.28を使用して、EZ USB FX2のドライバを作成しています。
USBを4つさし、ここに、デバイスドライバを作成します。デバイスドライバは、
カーネルにあるusb-skelton.cを使って作成しました。3つまでさして、制御した場合、
動作したのですが、4つさし、アプリを動かずとドライバが死にます。
4つとも、ここにドライバを作成し、メジャー番号180 で、それぞれ、
マイナー番号を100 120 140 160としました。
open / closeのみを行うプログラムを作成し、何回か行いました。
何回かおこなうと、ドライバが死にます。
ドライバソースを追っていったのですが、open時に
dev = minor_table[minor]
という行でdevが0になっていました。
minor_tableは、probe関数で取得しているのですが、なぜNULLになったのか
なぞです。どなたかわかる方いらっしゃいますか?
USBを4つさし、ここに、デバイスドライバを作成します。デバイスドライバは、
カーネルにあるusb-skelton.cを使って作成しました。3つまでさして、制御した場合、
動作したのですが、4つさし、アプリを動かずとドライバが死にます。
4つとも、ここにドライバを作成し、メジャー番号180 で、それぞれ、
マイナー番号を100 120 140 160としました。
open / closeのみを行うプログラムを作成し、何回か行いました。
何回かおこなうと、ドライバが死にます。
ドライバソースを追っていったのですが、open時に
dev = minor_table[minor]
という行でdevが0になっていました。
minor_tableは、probe関数で取得しているのですが、なぜNULLになったのか
なぞです。どなたかわかる方いらっしゃいますか?
449login:Penguin
2005/06/29(水) 18:42:20ID:Cc/icRgl Linux のドライバのプログラミングの
良い入門書があったらおしえてください
良い入門書があったらおしえてください
2005/06/29(水) 22:17:33ID:OM3Tds/i
>>448
Kernel2.4.27のソースしか見てないので違ったら失礼。
>マイナー番号を100 120 140 160としました。
これがよくわからん。デフォでは192から16個を順番に割り当てるようになってるが、それをわざわざいじったってことか?
そうなると、スケルトンをあちこち変更してあるのだろうから、さすがにソース無いとなんも判らん。
Kernel2.4.27のソースしか見てないので違ったら失礼。
>マイナー番号を100 120 140 160としました。
これがよくわからん。デフォでは192から16個を順番に割り当てるようになってるが、それをわざわざいじったってことか?
そうなると、スケルトンをあちこち変更してあるのだろうから、さすがにソース無いとなんも判らん。
451login:Penguin
2005/06/29(水) 22:32:06ID:rSbPN/4/2005/06/30(木) 09:52:01ID:6k+4MtMc
12冊=たくさん
納得した
納得した
2005/06/30(木) 11:24:58ID:9CZUZn2O
なぜ12冊なのかちっとも納得いかないんだが
2005/06/30(木) 11:25:42ID:J4A9ru3W
たくさんだからだろう
455Artane. ◆o6gE1yuDGM
2005/07/04(月) 07:22:47ID:Y9u/GUb1 2.6.13で又モジュール周りのAPIが変わりそうな悪寒…
drivers/base/class_simple.cがまるごとなくなってる…そこのAPIを使ってる ttp://www.linuxant.com/ のx86_64用のHSFモデムドライバがそのままでは動かない状況に(;´Д`)
その前はACPI絡みでデッドロックがかーねるにあって動かなかったし、どうなってるんだろうヽ(`ー´)ノ
しかもライセンスがプロプラなのでどーすりゃいいのか頭が痛いです。
drivers/base/class_simple.cがまるごとなくなってる…そこのAPIを使ってる ttp://www.linuxant.com/ のx86_64用のHSFモデムドライバがそのままでは動かない状況に(;´Д`)
その前はACPI絡みでデッドロックがかーねるにあって動かなかったし、どうなってるんだろうヽ(`ー´)ノ
しかもライセンスがプロプラなのでどーすりゃいいのか頭が痛いです。
2005/07/07(木) 22:10:08ID:DftqFJii
2.4はcc -o hoge.o -c hoge.cするだけでokだったけど
2.6はmakeファイルを書かないとダメになった。
はぁ、マンドクセ
2.6はmakeファイルを書かないとダメになった。
はぁ、マンドクセ
2005/07/07(木) 22:51:04ID:Hy9t4ICF
ttp://japan.linux.com/kernel/03/10/26/1026229.shtml
ここの一番下に書いてあるのなら楽だろ。簡単に再利用できるし。
ここの一番下に書いてあるのなら楽だろ。簡単に再利用できるし。
2005/07/08(金) 11:00:44ID:9KK2lDyF
obj-m := unko.o
の1行でよくね?
の1行でよくね?
459login:Penguin
2005/07/24(日) 15:33:14ID:02p0TYUx USBのドライバ書いたことアルヤツいる?
2005/07/28(木) 21:47:52ID:3ylo+PR7
2005/07/31(日) 16:37:19ID:0Amwd3lA
カーネル2.6.xのSMPの wait_event_interruptible でしつもんです。
起こされる要因をビットであらわすようにして
起こされたあとに flag &= ~FLAG; として
起床要因をクリアしたいです。そこで、
wait_event_interruptible(wq, !(flag & FLAG) );
tmpflag = flag; // ◆1
// ★
flag &= ~FLAG; // ◆2
if( tmpflag & ・・・
としていたのですが、割込が運悪く★のところに来たときに
次回起床要因flagを割込ルーチンで設定された直後にクリアしてしまいます。
◆1と◆2をアトミックに処理するのに割禁使うのも大げさな気がします。
どうしたらよいでしょうか? (><)教えて!
起こされる要因をビットであらわすようにして
起こされたあとに flag &= ~FLAG; として
起床要因をクリアしたいです。そこで、
wait_event_interruptible(wq, !(flag & FLAG) );
tmpflag = flag; // ◆1
// ★
flag &= ~FLAG; // ◆2
if( tmpflag & ・・・
としていたのですが、割込が運悪く★のところに来たときに
次回起床要因flagを割込ルーチンで設定された直後にクリアしてしまいます。
◆1と◆2をアトミックに処理するのに割禁使うのも大げさな気がします。
どうしたらよいでしょうか? (><)教えて!
462login:Penguin
2005/08/18(木) 13:31:44ID:wsNIgIg1 ご存知の方がいたら教えて頂けないでしょうか?
printk の動作に関してなのですが、たとえば、ドライバの登録の際に
int init_module (void) /* Loads a module in the kernel */
{
printk("Hello kernel \n");
return 0;
}
などと printk を使い、(X-Window は起動しないで)コンソールで
# insmod filename.o
を実行すると Hello kernel とコンソールに表示されるはずなのですが、
表示される場合と表示されない場合があります。実際には、
ほとんどの場合は表示されず、表示されるのは数十回に1回程度です。
そもそも 「printk はコンソールに *必ず* 出力するわけではない」
のでしょうか?どうなのでしょう?
printk の動作に関してなのですが、たとえば、ドライバの登録の際に
int init_module (void) /* Loads a module in the kernel */
{
printk("Hello kernel \n");
return 0;
}
などと printk を使い、(X-Window は起動しないで)コンソールで
# insmod filename.o
を実行すると Hello kernel とコンソールに表示されるはずなのですが、
表示される場合と表示されない場合があります。実際には、
ほとんどの場合は表示されず、表示されるのは数十回に1回程度です。
そもそも 「printk はコンソールに *必ず* 出力するわけではない」
のでしょうか?どうなのでしょう?
2005/08/18(木) 14:45:51ID:AA5MGziJ
>>462
ほんとうに\nを入れたのか
ほんとうに\nを入れたのか
464login:Penguin
2005/08/18(木) 14:47:24ID:zqtjM++q465login:Penguin
2005/08/18(木) 14:54:07ID:zqtjM++q X-Window は起動せずにって書いてあったな。 すまそ。
printk() は中で register_console() されたドライバの ->write() を
直接呼んでるから必ず出力されるよ。
出ないとするとログレベルの設定かな。
頭に "<1>" とかつけるといいのでは?
printk() は中で register_console() されたドライバの ->write() を
直接呼んでるから必ず出力されるよ。
出ないとするとログレベルの設定かな。
頭に "<1>" とかつけるといいのでは?
466462
2005/08/18(木) 18:10:38ID:wsNIgIg12005/08/18(木) 18:35:47ID:spRqn48O
flushされていない or
同じメッセージなので纏められているのでは?(この場合、last message repeated xxx times とでる。)
同じメッセージなので纏められているのでは?(この場合、last message repeated xxx times とでる。)
2005/08/18(木) 20:41:10ID:cWStGfHc
469462
2005/08/19(金) 09:09:08ID:qyuoI/lN >>467, 468
/var/log/message には出てます。
改行もしてるんだけどなぁ。
どうもよくわからないので、あきらめることにしました。(^^;
お忙しいところ、レスありがとうございました!
/var/log/message には出てます。
改行もしてるんだけどなぁ。
どうもよくわからないので、あきらめることにしました。(^^;
お忙しいところ、レスありがとうございました!
470login:Penguin
2005/08/19(金) 22:08:36ID:ZOCJz/g6 /etc/syslog.conf に
kern.* /dev/console
とか書いてあるか?
kern.* /dev/console
とか書いてあるか?
471462
2005/08/22(月) 13:16:52ID:nvUzxFpI >>470
を! /etc/syslog.conf の kern.* /dev/console が
コメントアウトされています!
なるほど、これを有効にすると確実に表示されそう
ですねぇ。
今、ハードが客先に行ってしまったので
確認できないんですけど、ハードが戻ってきたら
試してみます。
ありがとうございます!
を! /etc/syslog.conf の kern.* /dev/console が
コメントアウトされています!
なるほど、これを有効にすると確実に表示されそう
ですねぇ。
今、ハードが客先に行ってしまったので
確認できないんですけど、ハードが戻ってきたら
試してみます。
ありがとうございます!
472login:Penguin
2005/10/22(土) 01:07:43ID:EmofMJka やべえ、カッコイイ......デバイスドライバ自分で書いてる人たち......。
Cは一通り入門程度のことは覚えたけど、遊びでstdio.h使うことばっかりで入門の領域出てないんですよね、僕。
Linuxにも入って間もないからシェルスクリプトの使い方もまともに知らないからLinuxプログラミングなんてまだまだ....。
お馬さんの本、大学の図書館にありましたねー、ぱらっと見たけどさっぱり......。
Cは一通り入門程度のことは覚えたけど、遊びでstdio.h使うことばっかりで入門の領域出てないんですよね、僕。
Linuxにも入って間もないからシェルスクリプトの使い方もまともに知らないからLinuxプログラミングなんてまだまだ....。
お馬さんの本、大学の図書館にありましたねー、ぱらっと見たけどさっぱり......。
2005/10/22(土) 17:23:49ID:0rh+z8HN
デバドラ本第3版の和訳もう出てるのね。
洋書を見つけてレジに持っていこうとするも、ふと横を見ると書棚にありました
洋書を見つけてレジに持っていこうとするも、ふと横を見ると書棚にありました
2005/10/23(日) 03:10:35ID:JQc1kDtY
2005/10/23(日) 06:34:02ID:TRsS2wCF
SMPな環境で、あるAという区間とBという区間があるとき
そこを走行するCPUをひとつだけにして、
かつAとBを同時に走らないようにしたい。
最速で処理できる区間ではspin_lock_irqsaveを使ってもいいけど
ちょっと時間を食いたい処理のときには割り禁にしたくない/出来bネい。
こb、いうときってャZマフォを使うbセっけ?
あと、誰かがそこを走行してたら、待たずにあきらめる処理も
どうやるのかいまいちわからんです。
そこを走行するCPUをひとつだけにして、
かつAとBを同時に走らないようにしたい。
最速で処理できる区間ではspin_lock_irqsaveを使ってもいいけど
ちょっと時間を食いたい処理のときには割り禁にしたくない/出来bネい。
こb、いうときってャZマフォを使うbセっけ?
あと、誰かがそこを走行してたら、待たずにあきらめる処理も
どうやるのかいまいちわからんです。
2005/10/23(日) 07:17:36ID:TyUzTsLn
っ[MUTEX]
2005/10/24(月) 11:41:52ID:y/bnKz7N
futex
478login:Penguin
2005/10/24(月) 21:00:03ID:qab5z916 insmod hello.o
が出来ません....
bash: insmod: command not found
と出てしょっぱなから弾かれました....。
FC4を入れているのですが、ぐぐったところKernelのバージョンが
上ってからサポートされなくなった(?)のようなことがかいてありましたが...
ちょっとわからないです..。
が出来ません....
bash: insmod: command not found
と出てしょっぱなから弾かれました....。
FC4を入れているのですが、ぐぐったところKernelのバージョンが
上ってからサポートされなくなった(?)のようなことがかいてありましたが...
ちょっとわからないです..。
2005/10/24(月) 21:41:23ID:nHBdU4lq
2005/10/25(火) 01:26:16ID:boXSHzJM
っ[/sbin/insmod]
2005/10/25(火) 01:50:35ID:mHOxbI49
$ su -
passwd:
#
passwd:
#
2005/10/25(火) 07:29:46ID:gtGeQ0F/
モジュールに挑戦する前にやるべきことがあるだろう。
2005/10/27(木) 22:32:36ID:5z/EqZNh
みなさん、返事が遅れてすみません....。
何日ものぞいていませんでした。
どうやら、おっしゃる通りパスが通っていないようでして、
あれから、/sbin/insmod [filename]
を試してみましたがなんだか、だめだ!のようなメッセージが表示されて
しまい、無理でした。Linuxのデバイスドライバのプログラミングは
BIOSレベルでのデバイスドライバを書くときの参考にもなるかと
思ったのですが、やっぱりLinuxを初めてあまりたっていないのに
背伸びをしすぎたようです。出直してきます。
御回答いただいた方々、ほんとうにありがとうございました。:-)
何日ものぞいていませんでした。
どうやら、おっしゃる通りパスが通っていないようでして、
あれから、/sbin/insmod [filename]
を試してみましたがなんだか、だめだ!のようなメッセージが表示されて
しまい、無理でした。Linuxのデバイスドライバのプログラミングは
BIOSレベルでのデバイスドライバを書くときの参考にもなるかと
思ったのですが、やっぱりLinuxを初めてあまりたっていないのに
背伸びをしすぎたようです。出直してきます。
御回答いただいた方々、ほんとうにありがとうございました。:-)
2005/10/28(金) 05:51:31ID:gqZeSigl
│
│
J
∩_∩ ∩_∩
( ・(ェ)・) (・(ェ)・ )
エサクマか? 違うクマよ、
あわてて食いつくと面倒なことになるクマ。
│
J
∩_∩ ∩_∩
( ・(ェ)・) (・(ェ)・ )
エサクマか? 違うクマよ、
あわてて食いつくと面倒なことになるクマ。
2005/10/28(金) 08:53:26ID:iWNW3bFs
486483
2005/10/30(日) 22:20:06ID:kv9dDPbi やっとできました!
>>167さんのレスのようにお馬さん初版第二章の一番最初のなーんにもしない
モジュールのソースに追加することでロードすることができました。
試しにカーネルソースのmodule.hを見てみるとメッセージでライセンスが無いといわれた経緯から
MODULE_LICENSE (license)の定義をみつけ、それをキーワードにぐぐったらこれを追加するような
記述をみつけることができました。
カーネルバージョンが2.4.1以降からこうなったようなことがinsmodのmanページにあったので一気に解決しました。
たぶん、insmodが認識されなかったのはKterm上からやろうとしたからですね....
嬉しい!
>>167さんのレスのようにお馬さん初版第二章の一番最初のなーんにもしない
モジュールのソースに追加することでロードすることができました。
試しにカーネルソースのmodule.hを見てみるとメッセージでライセンスが無いといわれた経緯から
MODULE_LICENSE (license)の定義をみつけ、それをキーワードにぐぐったらこれを追加するような
記述をみつけることができました。
カーネルバージョンが2.4.1以降からこうなったようなことがinsmodのmanページにあったので一気に解決しました。
たぶん、insmodが認識されなかったのはKterm上からやろうとしたからですね....
嬉しい!
2005/10/30(日) 22:27:05ID:dxIdqW+o
2005/11/19(土) 17:12:54ID:mr3HUTh9
2.4から2.6へポーティングしててkoができるまで行きました。
chrdevなんですけどudevの仲間に入る方法がわかりません。
2.4のころのように直接的にmknodしてinsmodするものなのでしょうか。
chrdevなんですけどudevの仲間に入る方法がわかりません。
2.4のころのように直接的にmknodしてinsmodするものなのでしょうか。
489login:Penguin
2005/11/24(木) 19:13:51ID:tUhrvxEF ageようよ。
2005/11/25(金) 02:45:31ID:Y8mPXznM
質問なのですが、回路の方は勉強しておられますでしょうか?
2005/12/08(木) 03:07:19ID:B0ejvBgu
ちょっと質問させて下さい。
ノートパソコンを使っているんですが、マイクとスピーカーの位置が近いのでサウンドドライバの
読み込み時からサウンドミキサーが起動して音量設定するまでの間にハウリングしたりするんです。
そこで、サウンドドライバ読み込み時にマイクをミュートにしたいと考えたのですが、
例えばドライバの中にマイクの初期音量を0にするコードを追加したりするようなことは可能なんでしょうか?
# スレ違いでしたら誘導お願いします。
ノートパソコンを使っているんですが、マイクとスピーカーの位置が近いのでサウンドドライバの
読み込み時からサウンドミキサーが起動して音量設定するまでの間にハウリングしたりするんです。
そこで、サウンドドライバ読み込み時にマイクをミュートにしたいと考えたのですが、
例えばドライバの中にマイクの初期音量を0にするコードを追加したりするようなことは可能なんでしょうか?
# スレ違いでしたら誘導お願いします。
492login:Penguin
2005/12/08(木) 10:11:04ID:j53o+rA9 ageようよ。
493login:Penguin
2005/12/11(日) 18:47:51ID:rh+AeURO はじめまして。
Windows対応のRS232C->USB変換ケーブルを使って、スイッチャを
LINUXのPCで制御しようとしているんですが、そもそもドライバを
自分で作る必要があるのでしょうか?
LINUXの環境はOSがRED HAT 9でカーネルは2.4です。
もしくは必要かどうかを確認する方法ってあるのでしょうか?
ご存知の方がいらっしゃいましたら、答えていただけないでしょうか?
よろしくお願いします。
Windows対応のRS232C->USB変換ケーブルを使って、スイッチャを
LINUXのPCで制御しようとしているんですが、そもそもドライバを
自分で作る必要があるのでしょうか?
LINUXの環境はOSがRED HAT 9でカーネルは2.4です。
もしくは必要かどうかを確認する方法ってあるのでしょうか?
ご存知の方がいらっしゃいましたら、答えていただけないでしょうか?
よろしくお願いします。
494login:Penguin
2005/12/11(日) 21:37:52ID:ZmBeQHZx495493
2005/12/13(火) 02:44:01ID:bCmTAm2t >>494
お返事ありがとうございます。
/var/log/messagesでログを見たら、新しいUSBデバイスが認識できている
っぽいことが書かれてました。
たぶんRS232C->USB変換ケーブルは認識できてると思います。
で、早速プログラム組んでスイッチャに信号を送ってみたんですが、
これがうんともスンとも言わなくて。
もしかして変換ケーブルだけ認識しててスイッチャは認識していないかも
って考えたのですが、シリアル通信だから信号を送るだけなら送れますよね?
お返事ありがとうございます。
/var/log/messagesでログを見たら、新しいUSBデバイスが認識できている
っぽいことが書かれてました。
たぶんRS232C->USB変換ケーブルは認識できてると思います。
で、早速プログラム組んでスイッチャに信号を送ってみたんですが、
これがうんともスンとも言わなくて。
もしかして変換ケーブルだけ認識しててスイッチャは認識していないかも
って考えたのですが、シリアル通信だから信号を送るだけなら送れますよね?
2005/12/13(火) 21:07:28ID:sg6goQTn
/dev/ttyUSBの読み書き許可がなかったよ
497色情前世鑑定士
2005/12/13(火) 23:49:52ID:xAfc4hOf498login:Penguin
2005/12/17(土) 23:06:34ID:oosooT9i >>496,497
助言ありがとうございます。
パーミッションに関してはchmod 666を実行したので、大丈夫だと思います。
ボーレート他の初期設定は、少し自信がないのですが、他のシリアル通信
のプログラムを参考にして一通りプログラム内で設定しています。
sttyで確認するというのは知らなかったので、早速やってみたいと思います。
ありがとうございます。
助言ありがとうございます。
パーミッションに関してはchmod 666を実行したので、大丈夫だと思います。
ボーレート他の初期設定は、少し自信がないのですが、他のシリアル通信
のプログラムを参考にして一通りプログラム内で設定しています。
sttyで確認するというのは知らなかったので、早速やってみたいと思います。
ありがとうございます。
2006/01/28(土) 02:19:52ID:eIqcEw8I
馬本買った記念age
500login:Penguin
2006/01/28(土) 02:22:46ID:eIqcEw8I ageて無かった…orz
501:login:Penguin
2006/01/28(土) 13:24:51ID:z02En7Mn tky007lip10.iij.net [210.130.172.193]
502login:Penguin
2006/02/06(月) 00:56:30ID:gxgsnq8Z age
2006/03/19(日) 20:02:53ID:wmRM5297
2006/03/21(火) 02:41:04ID:wxAXo3DG
SMPプログラミングの入門ページとかありませんかね?
どちらかというとAの処理をCPU0に割り当ててBの処理を1に
って感じで分けながら処理するタイプのプログラミングなので
ASMPのほうがよいのですがこのような話題はどこで聞けばよいのでしょうか
どちらかというとAの処理をCPU0に割り当ててBの処理を1に
って感じで分けながら処理するタイプのプログラミングなので
ASMPのほうがよいのですがこのような話題はどこで聞けばよいのでしょうか
505login:Penguin
2006/03/30(木) 20:19:25ID:P2MixPUa なんか誰も見てないような気もするけどちょっと質問
Redhat ES4(kernel 2.6..9-11 x86-64)
CPU Xeon 2.8G(HT-on EM64T)
メモリ4GB
な環境で、SCSI Low level driverを書いてるんですが、
物理メモリ4GBしかないのに、SCSI Mid levle driverから
渡されてくる転送アドレス(物理アドレス)が4GBを超えた
アドレスが渡されて来ます。
当然メモリ未実装エリアのアドレスなので転送しようにも
出来ない訳でSCSIカードが転送しようとしてエラーとなり
ます。
pci_set_dma_msakに指定している値は、SCSIカードがサ
ポートしてるアドレス範囲の40bitを指定しています。
これを32bitマスクにすると4GBを超えるアドレスは来な
くなるんですけど、もしかしてpci_set_dma_msakて実装メ
モリ量も気にしなければいけないんでしょうか?
馬本見てもそんな事書いてないし。たんにハードウェアの
アドレス範囲を宣言するだけと認識してるんですけど。
何方かご存知の方居られたらご教授願います。
Redhat ES4(kernel 2.6..9-11 x86-64)
CPU Xeon 2.8G(HT-on EM64T)
メモリ4GB
な環境で、SCSI Low level driverを書いてるんですが、
物理メモリ4GBしかないのに、SCSI Mid levle driverから
渡されてくる転送アドレス(物理アドレス)が4GBを超えた
アドレスが渡されて来ます。
当然メモリ未実装エリアのアドレスなので転送しようにも
出来ない訳でSCSIカードが転送しようとしてエラーとなり
ます。
pci_set_dma_msakに指定している値は、SCSIカードがサ
ポートしてるアドレス範囲の40bitを指定しています。
これを32bitマスクにすると4GBを超えるアドレスは来な
くなるんですけど、もしかしてpci_set_dma_msakて実装メ
モリ量も気にしなければいけないんでしょうか?
馬本見てもそんな事書いてないし。たんにハードウェアの
アドレス範囲を宣言するだけと認識してるんですけど。
何方かご存知の方居られたらご教授願います。
2006/03/31(金) 11:41:12ID:zMWwd0XE
適当に書いてみる。
他のドライバ見たらわかるけど、実装メモリは気にしない。
pci_dma_syncなんたらが失敗するの?
他のドライバ見たらわかるけど、実装メモリは気にしない。
pci_dma_syncなんたらが失敗するの?
507login:Penguin
2006/03/31(金) 21:18:57ID:OpI/WZIP おお見てる人がw
実装メモリはカーネルが握ってるから本来気にする必要が無いのは
分かってるんですが、そのカーネルから来るアドレスが実装容量を超
えたアドレスを通知してくるので悩んで降ります。
pci_dma_syncでなくpci_map_sgで作られたスキャッタ/ギャザーリスト
の中の物理アドレスが未実装領域のアドレスを指してる感じですね。
pci_set_dma_maskで32bitマスク(0xffffffff)してやればpci_map_sgで
作られたスキャッタ/ギャザーリスト内のアドレスは4GB未満のアドレ
ス範囲で収まる感じです。(当然といえば当然)
それを40bitマスク(0xffffffffff)にすると、実メモリ4GBしか無いにも
関わらず32bit以上、40bit未満のアドレスがスキャッタ/ギャザーリス
トに含まれてしまいます。
カーネルのバグを疑い出して、カーネルソース追い始めた所でなの
で実際にアドレス作り出す所まではまだ追いきれて無い状態です。
ご指摘の通り他のSCSI系ドライバのソースも参考にしてますが、実
装メモリなんて気にして無いしなんとも不可解…。
元々Solarisのドライバ作ってたんだけど、Linuxは今回初でかなり困っ
てる状態ですorz
実装メモリはカーネルが握ってるから本来気にする必要が無いのは
分かってるんですが、そのカーネルから来るアドレスが実装容量を超
えたアドレスを通知してくるので悩んで降ります。
pci_dma_syncでなくpci_map_sgで作られたスキャッタ/ギャザーリスト
の中の物理アドレスが未実装領域のアドレスを指してる感じですね。
pci_set_dma_maskで32bitマスク(0xffffffff)してやればpci_map_sgで
作られたスキャッタ/ギャザーリスト内のアドレスは4GB未満のアドレ
ス範囲で収まる感じです。(当然といえば当然)
それを40bitマスク(0xffffffffff)にすると、実メモリ4GBしか無いにも
関わらず32bit以上、40bit未満のアドレスがスキャッタ/ギャザーリス
トに含まれてしまいます。
カーネルのバグを疑い出して、カーネルソース追い始めた所でなの
で実際にアドレス作り出す所まではまだ追いきれて無い状態です。
ご指摘の通り他のSCSI系ドライバのソースも参考にしてますが、実
装メモリなんて気にして無いしなんとも不可解…。
元々Solarisのドライバ作ってたんだけど、Linuxは今回初でかなり困っ
てる状態ですorz
2006/03/32(土) 02:19:11ID:9G03KeUN
また別の人が適当に書いてみる。
hugemem使ってみては?
hugemem使ってみては?
2006/03/32(土) 10:42:43ID:afhcBPMx
hugememってi386じゃなかったっけ?
x86_64で4G載ってるって事は、IOMMUとか関係あるのかな。
結局virt_to_bus(pci-nommu.c)かvirt_to_phys(pci-gart.c)呼んでるから、
scatterlistのpageが期待しない値なんでしょうけど、そこら辺調べたらいいのかな。
ドライバいじったことはあるけど、書いたこと無いので適当です。
x86_64で4G載ってるって事は、IOMMUとか関係あるのかな。
結局virt_to_bus(pci-nommu.c)かvirt_to_phys(pci-gart.c)呼んでるから、
scatterlistのpageが期待しない値なんでしょうけど、そこら辺調べたらいいのかな。
ドライバいじったことはあるけど、書いたこと無いので適当です。
2006/03/32(土) 10:47:55ID:shKEnT0S
似たようなドライバの中身を調べてみればすぐわかりそうなものだが
2006/03/32(土) 15:12:47ID:afhcBPMx
>>510
俺もそう思って、見たけどわからなかったw
SCSI側からと、PCI側から見たら、よくわからなくなった。。
bioがよくわからん。
pci_set_dma_maskって要するにbounceするかどうかなのか?
あとは、ページ確保するときのDMA/DMA32の切り分け。
俺もそう思って、見たけどわからなかったw
SCSI側からと、PCI側から見たら、よくわからなくなった。。
bioがよくわからん。
pci_set_dma_maskって要するにbounceするかどうかなのか?
あとは、ページ確保するときのDMA/DMA32の切り分け。
512login:Penguin
2006/03/32(土) 16:46:33ID:p6EHT8/a うぉレスが増えてる。
>>508
hugemem は、>>509 が指摘の通り、x86_64では無いですね。
ただこのドライバは、一つのソースでRedhat ES4の 32bit Uni-processer/
SMP/hugemem kernelとx86-64 kernelの4種類サポートでして、実装メモリ
12GBのマシンでhugememカーネル使ってる分にはアドレスは正常な値が
返って来てます。
hugemem kernelとx86-64 kernelではDMAアドレスは64bit幅で来るのでこ
の二つのカーネルの時は処理(アドレス計算とか)は共通にしてます。
>>509
正にそうです。scatterlistに入ってるpageが明後日の所を指し示してるので、
そのままSCSIカードに送るとカード上のIOPのファームがアクセスに行くとメ
モリが無いのでメモリアクセスエラーを検出します。
>>510
SCSIカードと言うか実はRAIDコントローラでして、カード上にPCI-PCIブリッ
ジが乗っかっててIOPとSCSIコントローラが載ってるカードです。
カード−ドライバ間はI2Oで通信してて、近い奴としてはmagariadとかqla1280
当たりなんですよね。他にも色々見てるんですが違いはそうは無い感じ。
>>511
bioはいまいち良く分からないですね。
ページ確保の時のDMA/DMA32て、GFP_DMA/GFP_DMA32フラグの事でし
ょうか?
今使ってるカーネルをみるとGFP_DMA32が未定義でして、kernl-2.6.14とか
2.6.15とか見ると定義されてるんですよね。
なんかその辺も絡んでるのかなと気にはなってはいました。
皆さんアドバイスありがとうです。
もう少しカーネルソース見て来ます。
>>508
hugemem は、>>509 が指摘の通り、x86_64では無いですね。
ただこのドライバは、一つのソースでRedhat ES4の 32bit Uni-processer/
SMP/hugemem kernelとx86-64 kernelの4種類サポートでして、実装メモリ
12GBのマシンでhugememカーネル使ってる分にはアドレスは正常な値が
返って来てます。
hugemem kernelとx86-64 kernelではDMAアドレスは64bit幅で来るのでこ
の二つのカーネルの時は処理(アドレス計算とか)は共通にしてます。
>>509
正にそうです。scatterlistに入ってるpageが明後日の所を指し示してるので、
そのままSCSIカードに送るとカード上のIOPのファームがアクセスに行くとメ
モリが無いのでメモリアクセスエラーを検出します。
>>510
SCSIカードと言うか実はRAIDコントローラでして、カード上にPCI-PCIブリッ
ジが乗っかっててIOPとSCSIコントローラが載ってるカードです。
カード−ドライバ間はI2Oで通信してて、近い奴としてはmagariadとかqla1280
当たりなんですよね。他にも色々見てるんですが違いはそうは無い感じ。
>>511
bioはいまいち良く分からないですね。
ページ確保の時のDMA/DMA32て、GFP_DMA/GFP_DMA32フラグの事でし
ょうか?
今使ってるカーネルをみるとGFP_DMA32が未定義でして、kernl-2.6.14とか
2.6.15とか見ると定義されてるんですよね。
なんかその辺も絡んでるのかなと気にはなってはいました。
皆さんアドバイスありがとうです。
もう少しカーネルソース見て来ます。
2006/04/04(火) 08:20:23ID:0xn4pI8o
気になるから、どうなったか知りたいです。
2006/04/04(火) 13:11:55ID:p7vmOtaT
2006/04/06(木) 22:28:49ID:Mnqgo3eJ
>>513
まだ色々と追っかけてる途中です。
とりあえずPCIドライバ周りから追っかけ中です。
PCIドライバを見た限りでは、pci_map_sgすると中でdma_map_sg
呼び出しててその中見てもあんまり大したことしてなさそうですね。
やはりbio周りも見ないと駄目なのかも。
もうちとかかりそうですが、わかり次第、結果をお知らせします。
まだ色々と追っかけてる途中です。
とりあえずPCIドライバ周りから追っかけ中です。
PCIドライバを見た限りでは、pci_map_sgすると中でdma_map_sg
呼び出しててその中見てもあんまり大したことしてなさそうですね。
やはりbio周りも見ないと駄目なのかも。
もうちとかかりそうですが、わかり次第、結果をお知らせします。
516505
2006/04/08(土) 14:24:03ID:+mDmSXuo 原因わかりました。
結論から言うと、pci_map_sg()で作られるSGリストのアドレスは正常でした。
問題なのはpci_map_single()で出てくるアドレスが、低位メモリだとカーネル
論理アドレスを返し、高位メモリだとカーネル仮想アドレスを返してるのが、
原因でした。
高位メモリだとページをダイナミックに確保されるため、物理アドレスとペー
ジが1:1でマッピングされないので、pci_map_single()だとvirt_to_physしてる
だけなので使えませんね。
なのでpci_map_pageで確保してやれば問題は消えました。
SGリストに変なアドレスが入ると言ってましたが、カードのファーム側で受
け取ったリストを見てたのですが、カード内でドライバから受けた転送アドレ
スをカード内部のバッファに結びつける為にファームが独自にSGリストを
再構成しており、そのリストがpci_map_sg()で作られた物と勘違いしてまし
た。OTL
色々アドバイスありがとうございました。
結論から言うと、pci_map_sg()で作られるSGリストのアドレスは正常でした。
問題なのはpci_map_single()で出てくるアドレスが、低位メモリだとカーネル
論理アドレスを返し、高位メモリだとカーネル仮想アドレスを返してるのが、
原因でした。
高位メモリだとページをダイナミックに確保されるため、物理アドレスとペー
ジが1:1でマッピングされないので、pci_map_single()だとvirt_to_physしてる
だけなので使えませんね。
なのでpci_map_pageで確保してやれば問題は消えました。
SGリストに変なアドレスが入ると言ってましたが、カードのファーム側で受
け取ったリストを見てたのですが、カード内でドライバから受けた転送アドレ
スをカード内部のバッファに結びつける為にファームが独自にSGリストを
再構成しており、そのリストがpci_map_sg()で作られた物と勘違いしてまし
た。OTL
色々アドバイスありがとうございました。
2006/04/08(土) 16:09:33ID:MBAxFSYD
2006/04/10(月) 22:36:55ID:C69QC/MM
519505
2006/04/10(月) 23:00:56ID:9eFrvNz62006/04/10(月) 23:42:28ID:Cs5Rh9+Y
>>519
> Linuxでの開発はカーネルや他のドライバソース読まなけば
> 資料が少ない所がキツイですね。
ちょっと教えてください。
Linuxより資料が多いOSってなんのことを指してますか?
自分は主にLinuxの開発に携わってますが、いつもオープンソースのありがたみを
感じながらやっているので、Linuxが資料が少ない、というのは意外です。
> Linuxでの開発はカーネルや他のドライバソース読まなけば
> 資料が少ない所がキツイですね。
ちょっと教えてください。
Linuxより資料が多いOSってなんのことを指してますか?
自分は主にLinuxの開発に携わってますが、いつもオープンソースのありがたみを
感じながらやっているので、Linuxが資料が少ない、というのは意外です。
2006/04/11(火) 00:42:17ID:KjDgNH9L
OSによっては中身がさっぱりわからないままドライバ開発しなきゃいけない事もあるしな。
つーか、そっちのほうが多そう。
つーか、そっちのほうが多そう。
2006/04/11(火) 00:47:03ID:rZUiZ4e7
2006/04/11(火) 00:57:41ID:9nKANwAS
そこでmain treeにマージですよ。
main tree内の変更はたいていは面倒をみてくれる。
main tree内の変更はたいていは面倒をみてくれる。
524login:Penguin
2006/05/11(木) 18:07:51ID:PmwpTb/Y ある内蔵デバイスのドライバでPCの機種毎に処理を変えなければいけない部分が
あり、ユーザ負担を減らすためにドライバ側で自動判別したいと思っています。
機種は違うのにSubvendorIDやSubdeviceIDまで何故か一致しているので、SMBIOS
のDMI情報を参照して機種を判別したいのですが、これって可能なんでしょうか?
そんなやり方は行儀が悪いとか、他にもっとまともなやり方があるとか何でも
構いませんので、どうかご教示をよろしくお願いします。m(__)m
あり、ユーザ負担を減らすためにドライバ側で自動判別したいと思っています。
機種は違うのにSubvendorIDやSubdeviceIDまで何故か一致しているので、SMBIOS
のDMI情報を参照して機種を判別したいのですが、これって可能なんでしょうか?
そんなやり方は行儀が悪いとか、他にもっとまともなやり方があるとか何でも
構いませんので、どうかご教示をよろしくお願いします。m(__)m
525好色少年のススメ
2006/05/11(木) 23:43:06ID:Uu/mTCgT 確かに行儀はよくないかも
新しいハードが出るたびにパッチ提供とか考えたら面倒だし
たとえそれが自社ハードだとしてもバージョンアップあるだろうし
判別はユーザランドで行う方が気分も楽だし処理も楽だしバグも少ない
新しいハードが出るたびにパッチ提供とか考えたら面倒だし
たとえそれが自社ハードだとしてもバージョンアップあるだろうし
判別はユーザランドで行う方が気分も楽だし処理も楽だしバグも少ない
2006/05/26(金) 20:11:11ID:YiUMorw/
ttp://lkml.org/lkml/2006/5/24/238
527login:Penguin
2006/08/20(日) 01:06:14ID:BobpEKad カーネル層のモジュールのテストプログラム
を作ってるんですが、カーネル層でinit_moduleや
ioctlからスレッドを起こして daemonのように
動作させることってできるんでしょうか?
Linuxデバイスドライバを読んでもスレッドを
起こすような処理は載っていないようなので
参考書籍だけでも教えていただけるとありがたいです。
を作ってるんですが、カーネル層でinit_moduleや
ioctlからスレッドを起こして daemonのように
動作させることってできるんでしょうか?
Linuxデバイスドライバを読んでもスレッドを
起こすような処理は載っていないようなので
参考書籍だけでも教えていただけるとありがたいです。
2006/08/20(日) 11:29:13ID:EWXtKjUy
2006/08/20(日) 20:55:18ID:bg2sTV9e
というか、普通に載ってるよね
530login:Penguin
2006/08/24(木) 12:55:11ID:6WITQjoc そいや、最近のノートPCには指紋センサーがあるけど
あれはハックできるものなの?
あれはハックできるものなの?
2006/08/24(木) 13:34:05ID:wKY4BjAS
2006/08/25(金) 00:34:04ID:CPHGcnDi
>>531 せんきゅー!
2006/08/26(土) 07:37:08ID:F4NpQAPn
2006/10/04(水) 21:49:48ID:EGTQjLn1
すみません、どなたかわかる方教えてください。
現在、XFree86でグラフィックドライバを作ってます。チップは独自のものです。
バス等に接続されておらず、メモリマップドI/Oでアクセスします。
一応画面は出たのですが、1024*768だと縦が半分しか表示されず、
(縦に圧縮される感じ。マウスカーソルが縦につぶれている)
1280*1024だと画面が横に5個くらい表示されてしまいます。
使用しているチップは1ライン4096byte固定なので、解像度に応じて次のラインを
描画するアドレスを更新しなくてはなりません。
カーネルのFBドライバだとline_lengthとかの変数に設定してあげればうまいこと
描画してくれるのですが、XFree86の構造体にはそういった変数が見当たりません。
カーネルFBドライバのline_lengthとかに相当するものはどれでしょうか?
縦に圧縮されるのと画面が5個くらい表示されるのは、別問題な気がしてます。
今、手元にソースがないんですが、InitをするときにvirtualYを*2してやると縦が一見
正常っぽく表示されました。カーソルとかが縦につぶれたままなので、根本対策には
なっていません。
現在、XFree86でグラフィックドライバを作ってます。チップは独自のものです。
バス等に接続されておらず、メモリマップドI/Oでアクセスします。
一応画面は出たのですが、1024*768だと縦が半分しか表示されず、
(縦に圧縮される感じ。マウスカーソルが縦につぶれている)
1280*1024だと画面が横に5個くらい表示されてしまいます。
使用しているチップは1ライン4096byte固定なので、解像度に応じて次のラインを
描画するアドレスを更新しなくてはなりません。
カーネルのFBドライバだとline_lengthとかの変数に設定してあげればうまいこと
描画してくれるのですが、XFree86の構造体にはそういった変数が見当たりません。
カーネルFBドライバのline_lengthとかに相当するものはどれでしょうか?
縦に圧縮されるのと画面が5個くらい表示されるのは、別問題な気がしてます。
今、手元にソースがないんですが、InitをするときにvirtualYを*2してやると縦が一見
正常っぽく表示されました。カーソルとかが縦につぶれたままなので、根本対策には
なっていません。
535Mr.名無しさん
2006/10/09(月) 16:36:24ID:OGKR436u ■■■■■■■■■■■■■■■■
■ ■ 違う板にコピペすると、四角の枠の中に
■ ■ メッセージとURLが現れる不思議な絵。
■ ■
■ ■ (その仕組みがリンク先に書いてある)
■ ■
■ ■ この原理を応用すると、まったく新しい
■ ■ コピペが作れる予感。
■■■■■■■■■■■■■■■■
■ ■ 違う板にコピペすると、四角の枠の中に
■ ■ メッセージとURLが現れる不思議な絵。
■ ■
■ ■ (その仕組みがリンク先に書いてある)
■ ■
■ ■ この原理を応用すると、まったく新しい
■ ■ コピペが作れる予感。
■■■■■■■■■■■■■■■■
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市総理「日米は非常に強い絆で結ばれた同盟国」 トランプ大統領の“中国は同盟国だった”発言受け [首都圏の虎★]
- 「暗い未来に子供を産みたくない…」それでも左派よりも右派の方が「たくさん子供を産む」のはなぜか【米研究】 [首都圏の虎★]
- パナソニックが市販カーナビ生産終了へ 30年以上の歴史に幕、スマホナビの普及など受け [少考さん★]
- 【野球】広島東洋カープの矢野雅哉・前川誠太選手を書類送検 ゾンビたばこを巡る容疑 広島県警 [Ailuropoda melanoleuca★]
- 【速報】 高市首相 「円の過小評価は問題だ」 ★4 [お断り★]
- 【東京】ウズベキスタン国籍のフードデリバリー配達員を逮捕 配達先の女子小学生にキスや体を触るなどわいせつ行為か ★2 [煮卵★]
- 新着スレ監視して一生懸命に否定レス
- 【高市悲報】東京、今日で32日連続の雨、安倍の呪いか [383063292]
- お前らが嫁もウッドデッキも手に入れられ部底辺独身アパートおじさんに成り果てた理由
- 結婚するんだが相手が金属アレルギーで指輪付けられない
- SNSによくいるインプ稼ぎの良い話系は会話が詳細過ぎる謎がある
- なんか勘違いしたのかsageでレスしてる新参のガイジおるね