MSI Optix MAG245R 23.8"モニターがあります。USB接続があります。
Debian ベースのコンピュータ (BunsenLabs) を起動すると、次の警告が表示されます。
May 4 19:41:51 localname kernel: [ 240.573980] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=4060, sector_sz=512)
May 4 19:41:51 localname kernel: [ 240.573986] sd 9:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
May 4 19:41:51 localname kernel: [ 240.573988] sd 9:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
May 4 19:41:51 localname kernel: [ 240.573990] print_req_error: I/O error, dev sdc, sector 0
May 4 19:41:51 localname kernel: [ 240.673838] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:51 localname kernel: [ 240.673846] sd 9:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
May 4 19:41:51 localname kernel: [ 240.673850] sd 9:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 04 00
May 4 19:41:51 localname kernel: [ 240.673852] print_req_error: I/O error, dev sdc, sector 0
May 4 19:41:51 localname kernel: [ 240.673859] Buffer I/O error on dev sdc, logical block 0, async page read
May 4 19:41:51 localname kernel: [ 240.860367] Buffer I/O error on dev sdc, logical block 1, async page read
May 4 19:41:52 localname kernel: [ 241.500663] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=4060, sector_sz=512)
May 4 19:41:52 localname kernel: [ 241.612517] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=4060, sector_sz=512)
May 4 19:41:52 localname kernel: [ 241.697840] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:52 localname kernel: [ 241.785872] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:52 localname kernel: [ 241.818899] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=16348, sector_sz=512)
May 4 19:41:52 localname kernel: [ 241.909838] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:52 localname kernel: [ 241.993839] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:55 localname kernel: [ 244.842973] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=16348, sector_sz=512)
May 4 19:41:55 localname kernel: [ 244.942219] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:55 localname kernel: [ 245.034140] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:56 localname kernel: [ 245.473992] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:56 localname kernel: [ 245.557874] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:57 localname kernel: [ 246.425872] sd 9:0:0:0: [sdc] Unaligned partial completion (resid=2012, sector_sz=512)
May 4 19:41:57 localname kernel: [ 246.425881] sd 9:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
May 4 19:41:57 localname kernel: [ 246.425884] sd 9:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 04 00
次にGPartedを起動してストレージボリュームを確認します。私は何であり、/dev/sda
何であるか/dev/sdb
を知っています。これが私が期待するものです。したがって、なぜaが/dev/sdc
検出されるのか驚きました。
そこで、デバイス情報はMSI Optixドライバであることを示しています。モニターのUSB接続(キーボード接続、ドングルなどなし)だけを外してみました/dev/sdc
。
これらのエラーを取り除くにはどうすればよいですか?専門家ではない私の考えは、UUID0123456789を含むこのデバイスがストレージデバイスではないことを私のコンピュータに知らせる方法を見つけて、1つとしてテストしないことです。どうすればいいですか?
それとも別の方法がありますか?
答え1
モニターはデュアルモードデバイスであるように見え、デフォルトモードはデバイス用のWindowsおよび/またはMacドライバを含むストレージデバイスです。最近では、ドライバが必要なUSBデバイスがますます増えています。
実行すると、ls -l /sys/block/sdc
次のパスを指すシンボリックリンクが表示されます。
../devices/<PCI device path for the USB controller>/usb#/<USB device path>/host#/target#:#:#/#:#:#:#/block/sdc
...ここで#は、正確なハードウェア構成に応じて、ここでは重要ではない数字です。
host#
このセクションの前のディレクトリに移動する必要があります。
cd /sys/devices/<PCI device path for the USB controller>/usb#/<USB device path>/
...ディレクトリにおよびbNumConfigurations
というファイルが含まれていることを確認してくださいbConfigurationValue
。そうでない場合は、1ステップ上に移動(cd ..
)してもう一度確認してください。
正しいディレクトリを見つけたら、cat bNumConfigurations
USBデバイスに可能な設定(モード)がいくつあるかを知らせます。独自のドライバを提供するUSBデバイスには少なくとも2つのモードがある可能性が高いため、このコマンドは2
。
cat bConfigurationValue
現在の構成の番号を通知します。ストレージデバイスの設定が最初の設定である可能性が高いです1
。
USBデバイスを2番目の設定に切り替えるには、次の手順を実行します。
echo 2 | sudo tee bConfigurationValue
(または root で実行している場合は . とecho 2 > bConfigurationValue
の間のスペースは多くのシェルに特別な意味がありますので注意してください。)2
>
2>
これにより、「USBストレージデバイス」が消え、問題のUSBデバイスの実際の機能に置き換えられます。
このプロセスを自動化するために、ほとんどの最新のディストリビューションにはusb-modeswitch
コンポーネント/ユーティリティがあります。まだデバイスを切り替えていないということは、デバイスに関する情報を設定に追加する必要があることを意味します。必要な構成番号がわかったら、/etc/usb_modeswitch.d/XXXX:YYYY
XXXX:YYYYを切り替える必要があるUSBデバイスのベンダー:製品IDであるテキストファイルを生成できます。ファイルの内容は、必要な構成を識別するために減らす必要があります。たとえば、構成 2 がデバイスの実際の機能を提供する場合、次のような行を作成できます。
Configuration=2
それはすべてです。 (実際にUSBモードスイッチ開発者にファイルのコピーを送信して、将来のバージョンのユーティリティに情報を追加することができます。)
一部のデバイスでは、特定するのが難しい他の切り替え方法を使用することがあります。 sysfsファイルにbNumConfigurations
問題のUSBデバイスに構成が1つしかないと表示されている場合は、Windows VMをビルドし、USBデバイスを提供し、デバイスが提供するドライバをインストールしてから、VMの起動中にキャプチャする必要があります。 Windowsドライバがデバイスに送信するUSBメッセージ。これらのメッセージを自動的に送信するようにユーティリティをusb-modeswitch
設定でき、そのデータファイルにはそのような状況の多くの既存の例が含まれています。
通常、Windowsモニタ「ドライバ」には、*.icc
Linuxでも利用可能な色補正プロファイルのみを含めることができます。モニターが高リフレッシュレート(=ゲームモニター)用に最適化されている場合、または他の理由で奇妙な色再現特性がある場合は、Windowsドライバパッケージで色補正プロファイルを見つけて、デスクトップ環境で使用される情報を知らせ、モニターの色再現を改善することができます。モニターにしてみてください。
答え2
ヒントをくれた@telcoMに感謝します。この問題を解決しました。
長すぎます。
ルールを使用して問題のUSBデバイスを承認解除しますudev
。
それをする方法
- フォローモードで実行
dmesg
:
$ dmesg -w
- モニターのUSBケーブルを外し、再接続します。
- の出力で
dmesg
無効にしたいデバイスのバス番号を書き留めます(黄色で重なっています)。
dmesg
終了するにはCtrl + Cを使用してください。- 次に、次のコマンドを実行してデバイス属性を取得します。
xxxusbxxx
受信したバス番号と交換してくださいdmesg
$ udevadm info -a -p /sys/bus/usb/devices/xxxusbxxx
- これは出力の最初の部分であり、興味のある部分です。次のプロパティと赤いボックスに表示されるパスを参照してください。
DRIVER=="usb-storage"
ATTR{bInterfaceClass}=="aa"
ATTR{bInterfaceNumber}=="bb"
ATTR{bInterfaceProtocol}=="cc"
ATTR{bInterfaceSubClass}=="dd"
- これで新しいファイルを作成します
/etc/udev/rules.d/10-disable-MSI-optix-storage.rules
。この数字は、10
そのルールがより高い数字を持つ他のルールの前に実行されることを意味します。.rules
拡張子を維持してください。ファイル名の残りの部分は重要ではありません。これはファイルの内容でなければなりません。これに応じて文字列を置き換えます。
- コンピュータを再起動すると、読み取りエラーメッセージが表示されなくなったことがわかります。
これが実際に何をするのか
udev
ルールファイルで指定された属性と一致するUSBデバイスが検出された場合、そのauthorized
フラグはすぐに設定され、0
使用できなくなります。