EN JA
USB_QUIRK(4)
USB_QUIRK(4) FreeBSD Kernel Interfaces Manual USB_QUIRK(4)

名称

usb_quirkUSB quirk モジュール

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device usb

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

usb_quirk_load="YES"

解説

usb_quirk モジュールは、 usbconfig(8) で USB デバイスのための quirk の動的な追加と削除のサポートを行います。

一般的な quirk:

UQ_AUDIO_SWAP_LR
左右のチャネルをスワップします。
UQ_AU_INP_ASYNC
入力は、適応できる主張 (claim) にもかかわらず async です
UQ_AU_NO_FRAC
断片的なサンプルのために調整しません
UQ_AU_NO_XU
オーディオデバイスには、壊れている増設ユニットがあります
UQ_BAD_ADC
悪いオーディオ仕様バージョン番号
UQ_BAD_AUDIO
デバイスは、オーディオのクラスを要求しますが、ありません
UQ_BROKEN_BIDIR
プリンタには、壊れている bidir モードがあります
UQ_BUS_POWERED
デバイスは、主張 (claim) にもかかわらず、電源付きバスです
UQ_HID_IGNORE
デバイスは、hid クラスによって無視されるべきです
UQ_KBD_IGNORE
デバイスは、kbd クラスによって無視されるべきです
UQ_KBD_BOOTPROTO
デバイスは、ブートプロトコルを設定するべきです
UQ_UMS_IGNORE
デバイスは、ums クラスによって無視されるべきです。
UQ_MS_BAD_CLASS
適切に識別しません
UQ_MS_LEADING_BYTE
マウスは、未知の先導するバイトを送ります
UQ_MS_REVZ
マウスには、逆にされた Z-軸があります
UQ_NO_STRINGS
文字列記述子は、壊れています
UQ_POWER_CLAIM
ハブは、電源状態について嘘をつく
UQ_SPUR_BUT_UP
偽のマウスボタンを放したイベント
UQ_SWAP_UNICODE
交換されたいくつかのユニコード文字列がある
UQ_CFG_INDEX_1
デフォルトで設定インデックス 1 を選択する
UQ_CFG_INDEX_2
デフォルトで設定インデックス 2 を選択する
UQ_CFG_INDEX_3
デフォルトで設定インデックス 3 を選択する
UQ_CFG_INDEX_4
デフォルトで設定インデックス 4 を選択する
UQ_CFG_INDEX_0
デフォルトで設定インデックス 0 を選択する
UQ_ASSUME_CM_OVER_DATA
cm オーバデータ機能を仮定する

USB マスストレージ quirks:

UQ_MSC_NO_TEST_UNIT_READY
TUR の代わりに start/stop を送信する
UQ_MSC_NO_RS_CLEAR_UA
Unit Att をリセットしません
UQ_MSC_NO_START_STOP
start/stop をサポートしません
UQ_MSC_NO_GETMAXLUN
最大 LUN の取得をサポートしません
UQ_MSC_NO_INQUIRY
偽の一般的な inq 応答
UQ_MSC_NO_INQUIRY_EVPD
inq EVPD をサポートしません
UQ_MSC_NO_SYNC_CACHE
sync キャッシュをサポートしません
UQ_MSC_SHUTTLE_INIT
Shuttle init シーケンスを要求する
UQ_MSC_ALT_IFACE_1
代替インタフェース 1 に切り替える
UQ_MSC_FLOPPY_SPEED
フロッピディスク速度 (20kb/s) にする
UQ_MSC_IGNORE_RESIDUE
残留 (residue) を間違える
UQ_MSC_WRONG_CSWSIG
間違った CSW 署名を使用する
UQ_MSC_RBC_PAD_TO_12
pad RBC 要求を 12 バイトにする
UQ_MSC_READ_CAP_OFFBY1
最大秒ではなく、セクタカウントをレポートする
UQ_MSC_FORCE_SHORT_INQ
full inq をサポートしません
UQ_MSC_FORCE_WIRE_BBB
BBB 配線プロトコルを強制する
UQ_MSC_FORCE_WIRE_CBI
CBI 配線プロトコルを強制する
UQ_MSC_FORCE_WIRE_CBI_I
int. 配線プロトコルで CBI を強制する
UQ_MSC_FORCE_PROTO_SCSI
SCSI コマンドプロトコルを強制する
UQ_MSC_FORCE_PROTO_ATAPI
ATAPI コマンドプロトコルを強制する
UQ_MSC_FORCE_PROTO_UFI
UFI コマンドプロトコルを強制する
UQ_MSC_FORCE_PROTO_RBC
RBC コマンドプロトコルを強制する

3G Datacard (u3g) quirks:

UQ_MSC_EJECT_HUAWEI
Huawei USB コマンドの後にイジェクトする
UQ_MSC_EJECT_SIERRA
Sierra USB コマンドの後にイジェクトする
UQ_MSC_EJECT_SCSIEJECT
SCSI イジェクトコマンド 0x1b0000000200 の後にイジェクトする
UQ_MSC_EJECT_REZERO
SCSI rezero コマンド 0x010000000000 の後にイジェクトする
UQ_MSC_EJECT_ZTESTOR
ZTE SCSI コマンド 0x850101011801010101010000 の後にイジェクトする
UQ_MSC_EJECT_CMOTECH
C-motech SCSI コマンド 0xff52444556434847 の後にイジェクトする
UQ_MSC_EJECT_WAIT
イジェクトするデバイスをウェートする
UQ_MSC_EJECT_SAEL_M460
Sael USB コマンドの後にイジェクトする
UQ_MSC_EJECT_HUAWEISCSI
Huawei SCSI コマンド 0x11060000000000000000000000000000 の後にイジェクトする
UQ_MSC_EJECT_TCT
TCT SCSI コマンド 0x06f504025270 の後にイジェクトする
サポートされた quirk の完全なリストについては、 /sys/dev/usb/quirk/usb_quirk.h を参照してください。

使用例

ugen0.3 で USB デバイスとして現れる u3g デバイスをアタッチした後に:

usbconfig -d ugen0.3 add_quirk UQ_MSC_EJECT_WAIT

関連項目

usbconfig(8)

歴史

usb_quirk モジュールは、 FreeBSD 8.0 で登場し、 Hans Petter Selasky <hselasky@FreeBSD.org>によって書かれました。このマニュアルページは、 Nick Hibma <n_hibma@FreeBSD.org>によって書かれました。
April 21, 2013 FreeBSD