タグ付けされた質問 「drivers」

デバイスドライバーまたはソフトウェアドライバーは、上位レベルのコンピュータープログラムがハードウェアデバイスとやり取りできるようにするコンピュータープログラムです。

1
LinuxでNCQを(本当に)無効にする方法
VHDLで独自のSerial-ATA Host-Bus-Adapter(HBA)を実装し、FPGAにプログラムしました。FPGAは、任意のデジタル回路でプログラム可能なチップです。また、SATAまたはPCIe用の高速信号を生成するシリアルトランシーバーも装備しています。 このSATAコントローラーは、SATA 6 Gb / sラインレートをサポートし、ATA-8 DMA-IN / OUTコマンドを使用して、デバイスとの間で最大32 MiBのチャンクでデータを転送します。この設計は、最高速度で動作することが実証されています(例:Samsung SSD 840 Pro-> 550 MiB / s以上)。 複数のSSDおよびHDDデバイスを使用したいくつかのテストの後、新しいSeagate 6 TB Archive HDD(ST6000AS0002)を購入しました。このHDDは最大190 MiB / sの読み取りパフォーマンスに達しますが、書き込みパフォーマンスは30〜40 MiB / sに過ぎません。 そこで、より深く掘り下げて、送信されたフレームを測定しました(FPGAデザインで可能です)。私の知る限り、Seagate HDDは転送の最初の32 MiBを1枚で受け取る準備ができています。この転送は、580 MiB / sの最大回線速度で発生します。その後、HDDは残りのバイトを800ミリ秒以上ストールします!その後、HDDは次の32 MiBを受信する準備ができ、800ミリ秒間再び停止します。全体で1 GiBの転送には30秒以上必要です。これは約35 MiB / sに相当します。 このHDDには32 MiBの書き込みキャッシュがあり、バーストサイクルの間にフラッシュされると想定しています。32 MiB未満のデータ転送では、この動作は示されません。 私のコントローラーは、DMA-INおよびDMA-OUTコマンドを使用してデータを転送します。NCQ対応AHCIコントローラーで使用されるQUEUED-DMA-INおよびQUEUED-DMA-OUTコマンドを使用していません。FPGAプラットフォームでのAHCIとNCQの実装は非常に複雑であり、アプリケーション層では必要ありません。 Linux PCでこのシナリオを再現したいのですが、Linux AHCIドライバーではデフォルトでNCQが有効になっています。NCQを無効にする必要があるため、このWebサイトでNCQを無効にする方法を説明していますが、機能しません。 Linux PCはまだ190 MiB …
13 linux  kernel  drivers  sata 

3
マイク-Linuxの静的バックグラウンドノイズ抑制
サウンドカードはRealtek ALC 892です。Windows7では公式のRealtekドライバーを使用し、LinuxではPulseAudio(Ubuntu 13.10)を使用します。WindowsとLinuxの両方で、マイクブースト+ 30dbを有効にすると(マイクが静かなので必要です)、非常に迷惑で大きなバックグラウンドノイズが発生します(両方のシステムのAudacityでバックグラウンドノイズも確認しました)。 ただし、Windows Realtekドライバーには動作するノイズ抑制オプションがあります(有効にすると、Audacityはバックグラウンドノイズを表示せず、耳もバックグラウンドノイズがないことを確認します)。 私の質問は、ALSA / PulseAudioでバックグラウンドノイズ抑制を有効にするにはどうすればよいですか?インストールできるモジュールはありますか、それとも設定ファイルで有効にできる設定がありますか? 私はそれに対する解決策を見つけることができませんし、これは私がLinuxに完全に切り替えることを妨げる唯一のことです-私は多くのマイクを使用して話し、WindowsではRealtekソフトウェアがバックグラウンドノイズを完全に削除し、PulseAudioはそれを削除しませんLinuxで録音された音声が非常に悪いことを意味します。 私はより良いサウンドカードとマイクを購入できることを知っていますが、私が言ったように、Windows Realtekドライバーはソフトウェアレベルのノイズをリアルタイムで削除します(つまり、TeamSpeak3 / Steam /何でもvoipプログラムで話しているときにノイズがありません) Linuxでも同様です。 これはAsk Ubuntuにもクロスポストされており、Ubuntuはすでにここで回答されています。


1
xサーバーとLinuxカーネルの両方にドライバーが必要なのはなぜですか?
Linuxカーネル用とX用の2つのドライバーセットが必要な理由を誰かが説明できますか? デバイスドライバーはカーネル内にあることを理解していますが、xserver内のデバイスドライバーの役割は何ですか? waylandでは、このようなドライバーを実行する必要がありますか?

2
使用しているX11ドライバーシステムを確認する方法
使用しているX11ドライバーシステムを確認する方法 私のチップopenchromeは最高のドライバーですが、システムがそれを使用していないと思われます。少なくとも2Dの加速が必要です。 どうすれば確認できますか? ここに私が見つけたものがありますcat /var/log/Xorg.7.log | grep driver: [ 54.147] X.Org XInput driver : 12.3 [ 55.167] (==) Matched openchrome as autoconfigured driver 0 [ 55.167] (==) Matched vesa as autoconfigured driver 1 [ 55.167] (==) Matched fbdev as autoconfigured driver 2 [ 55.167] (==) Assigned the driver to the …
12 ubuntu  drivers  x11  graphics 

1
ドライバーr8169とr8168の違いは何ですか?
Realtekは、ソースが信じられる場合、カーネルツリーのr8169ドライバーに基づいたr8168ドライバーのソースコードを提供します。 /* * This driver is modified from r8169.c in Linux kernel 2.6.18 */ どちらもGPLライセンスであるため、法的な問題なしにソースコードを交換できます。そのため、Realtekが変更ログやドキュメントのない個別のドライバーを管理しているのはかなり奇妙です。 エンドユーザーにとっての違いは何ですか?どのドライバーが推奨されますか?

2
Linuxで多数のモニター(4+)を使用する
私は4つ以上のモニター(おそらく6つ)を実行できるようにしたいのですが、これから出てくるDisplayportカードと互換性のあるものが非常に紛らわしいです。現在、HDMI出力が2つしかないATIカードがあります。私が見た問題は、ATIドライバーが4つ以上のモニターをサポートしないと言っていることです。だから、彼らのeyefinityカードはおそらくそれが価値があるよりも手間がかかるようです。 とにかくnvidiaを好む、彼らは常に本当に良いlinuxドライバーを持っているようだ。しかし、4つ以上のポートを備えたカードを提供していることはわかりません。私が見たハイエンドカードのほとんどには、2つのhdmi、1つのdvi、1つのディスプレイポートがあります。それらのカードが4台のモニターに制限されていると勘違いしていますか? そして、ドライバーはどうですか?デュアルnvidiaカードを入手し、2つのHDMIポート+各カードのDVIポートを接続すると、xorg / nvidiaドライバーはうまく動作しますか?異なる解像度でモニターをセットアップできますか?(現在、2つの1920x1080と1920x1200の画面があります)? xウィンドウはどうですか?xineramaを6画面に設定できますか?または、xウィンドウをドラッグできるようにしますか? 更新:atiドライバーは最近大きな進歩を遂げており、Linuxの公式のeyefinityサポートがあるようです。私はATI 5870を手に入れて、どこでそれをいじることができるかを確認しようとしていると思います。 Update2: 5870を注文しましたが、どうなるか教えてあげます。ただし、現時点で使用できるモニターは数台しかありません。
12 xorg  drivers  monitors 

1
なぜ特権分離ではなくカーネルモード設定なのか?
カーネルのモード設定は、最初はLinuxに乗るのがちょっと大変でしたが、今ではとても素晴らしいです。つまり、Xはrootとして実行する必要はありませんか?高解像度ハードウェアアクセラレータコンソール?クール。 問題は、多くのUNIXプラットフォームにモード設定カーネルドライバーがないことです。したがって、KMSに依存するハードウェアは、現在Linuxに限定されています。 私の質問:なぜこれを実際にカーネルに実装するのですか? 画面解像度を設定するためにハードウェアアクセスが必要な場合は、別の特権デーモンまたは小さなsetuidバイナリを使用しないのはなぜですか。これにより、特権コードを分離し、表示サーバーを制限付きユーザーとして実行できるという利点が維持されます。特別なドライバ要件を取り除き、クロスUNIXサポートをより簡単にします。正しい?または私はここで重要な何かを見逃していますか?
12 kernel  xorg  drivers 

3
mptscsih:ioc0:タスクの中止:成功(rv = 2002)により30秒間フリーズする
ソフトウェアRAID6へのI / Oは、約30秒間フリーズすることが多く、その後すべてが正常に戻ります。 凍結が終わった後、これはsyslogに入れられます: Mar 14 18:43:57 server kernel: [35649.816060] sd 5:0:23:0: [sdy] CDB: Read(10): 28 00 6c 52 68 58 00 04 00 00 Mar 14 18:43:58 server kernel: [35651.149020] mptbase: ioc0: LogInfo(0x31140000): Originator={PL}, Code={IO Executed}, SubCode(0x0000) cb_idx mptscsih_io_done Mar 14 18:43:58 server kernel: [35651.151962] mptscsih: ioc0: task abort: …

5
USB外付けハードドライブがスリープしないようにする
非アクティブな期間の後にスピンダウンしないように外付けUSBドライブに指示するエレガントな方法があるかどうか誰かが知っていますか?私は、毎分ファイルを書き込むcronベースのソリューションを見てきましたが、素晴らしいunixeyの優雅さの香りはありません。スリープしないように指示するためにドライブに発行できるhdparmまたはscsiコマンドが必要です(USBドライブはOpenBSDのsdドライバーを介してアクセスされます)。これはおそらくエンクロージャ内のコントローラに組み込まれている機能であるため、ドライブをエンクロージャから取り外して直接マシンに配置することを除いて、それほど変更することはできないと思いますが、私は尋ねると思いました、オフチャンス。 理想的には、私はOpenBSDソリューションを探していますが、同じ問題を抱えている他の人がいることを知っているので、すべてのソリューションが回答として考慮されます。

3
Linuxドライバーはどのように機能し、どこにありますか?(特にNICドライバー)
Linuxでドライバーがどのように機能するのか疑問に思っています。ドライバーは編集可能な単一のファイルですか?現在使用中のドライバーのリストはありますか、またはデバイスごとにそれらを見つけるための別の場所はありますか? 特にネットワークアダプターのドライバーについて知りたいです。 良いドキュメントがどこにあるか知っているなら、私もそれを読んでみたいです。

2
ウェブカメラのLinuxデバイスドライバーについて
私の知る限り、デバイスドライバーは、コンピューターに接続されている特定の種類のデバイスと通信できるSWの一部です。 USB Webカメラの場合、責任のあるドライバーは、UVC準拠のデバイスをサポートするUVCです。これは、使用されているハードウェアの詳細を正確に知る必要なく、OSまたは他のコンピュータープログラムがハードウェア機能にアクセスできるようにすることを意味します。 このため、次のコマンドを実行してUVC Linuxデバイスドライバーをインストールしました。 opkg install kernel-module-uvcvideo ウェブカメラはLinuxカーネルで認識されています:dev/video0。ただし、V4L2 APIがないため、FFmpegでビデオストリーミングを実行できませんでした。カーネルを設定してV4L2をインストールしました。 私の質問は: UVCドライバーとV4L2はどのようにリンクされていますか? V4L2 APIの目的は何ですか? 最初にUVCをインストールしていない場合、V4L2と共にインストールされますか? LinuxTVの言及:uvcvideoドライバーの実装は、V4L2 APIのみに準拠しています。これは、UVCがV4L2 APIの一部であることを意味しますか?
11 linux  drivers  camera  v4l 

3
libusbはカーネルにどのようにアクセスしますか?
私が理解していることから: 一般的に言えば、ドライバーはカーネル空間で実行され、ユーザー空間から呼び出すことができます。 カーネル空間内のコードのみが、USB低レベルのものを呼び出すことができます/ ioctl libusb ライブラリなので、ユーザー空間でコンパイルして実行します では、どのようにしてlibusb低レベルUSBを実現するのでしょうか?
10 usb  drivers 

2
イベントデバイスからのキー入力のキャプチャとマッピング(Toggle TouchPadキーはマップされていません)
Ubuntu 13.10がインストールされたLenovo IdeaPad Yoga 13を持っています。デバイスのキーボードに「Toggle TouchPad」ボタンがあります(F5)。キーボードのF*ボタンが逆になっています(そのためにはF5、Fn+ を押す必要がありF5、F5実際にはトグルキーです)。 ボタンは実際には(特定のデバイスのようなタッチパッドではなく)キーボードによって読み取られることがわかりました/dev/input/event3。したがってsudo input-events 3、ボタンを使用してスキャンコード190を送信することがわかりました。 の出力sudo lsinput: /dev/input/event3 bustype : BUS_I8042 vendor : 0x1 product : 0x1 version : 43907 name : "AT Translated Set 2 keyboard" phys : "isa0060/serio0/input0" bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP の出力sudo input-events 3: 23:13:03.849392: EV_MSC MSC_SCAN 190 …
10 kernel  drivers  input  events 

1
特定のデバイスファイルの背後にあるドライバーは何ですか?
たとえば/dev/sdb、デバイスファイルが与えられた場合、その背後にあるドライバーを特定することはできますか? 具体的には、ストレージデバイスが使用しているドライバーを特定したいと考えています。fdisk -lは2つのデバイスをリストします:/dev/sdaおよび/dev/sdb。1つはSATAハードドライブで、もう1つはUSB大容量ストレージデバイスです-実際にはSDカードです。 プログラムでどちらを決定するのですか? 私はソフトウェアを書いています。初心者がハードドライブを消去するのを防ぎながら、SDカードを消去できるようにしたいと思っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.