USBD.CONF(5)

명칭
usbd.conf - usbd(8) 의 설정 파일

해설
usbd.conf 파일은, usbd(8) demon용의 설정 파일입니다. 커널의 usb(4) 하부조직이 보고한 이벤트에 대응하는 유저 랜드 명령을 실행 가능과 하기 위해서, 정보를 제공합니다. 현재로서는, 이벤트는 디바이스의 접속과 분리만입니다만, 장래적으로는 전원 제어 기능도 포함해 확장 가능합니다.

설정 파일은, 정렬 된 엔트리 리스트로부터 완성됩니다. 각 엔트리는, 사상 명령의 집합을 기술합니다. 이벤트 발생시에는, 사상이 체크되어 합치하면(자), 이 이벤트에 대응하는 명령이 쉘을 통해서 실행됩니다. 리스트는, 정렬 되어, 선두로부터 말미까지 주사 됩니다. 최초로 매치 한 엔트리가, 이벤트에 대해서 사용됩니다.

각 엔트리는 몇개의 필드로부터 완성됩니다. 필드에는 3 종류 있어, 기술 필드와 선택 사상과 이벤트 발생시에 실행하는 명령입니다. 필드명에는 대문자 소문자의 구별이 있어, 모두 소문자여야 합니다. 각 필드는 1 개 이상의 인수를 취할 수 있습니다.

다음의 필드를 사용 가능합니다:

device string
    신규 엔트리를 개시합니다. string (은)는 임의의 캐릭터 라인이며, 깨끗이 표시하기 위해서 사용됩니다.

product id
    프로덕트 Id.

vendor id
    vender Id.

release id
    릴리스 Id. 리버젼 Id 로 불리는 일도 있습니다.

class id
    디바이스 클래스.

subclass id
    디바이스 서브 클래스.

protocol id
    디바이스 프로토콜.

devname string
    디바이스명이며, 예를 들면 umass2 나 ums0 입니다. 이러한 디바이스명에는, 정규 표현을 포함할 수 있습니다. regex(3) (와)과 re_format(7) (을)를 참조해 주세요. 매치 한 디바이스명은,${DEVNAME} 를 캐릭터 라인중의 어디엔가 추가하는 것으로, 후술의 명령에 대해 사용 가능합니다.

캐릭터 라인 인수는 괄일이 생깁니다. 캐릭터 라인 인수에 공백이나 탭 캐릭터를 포함한 경우에는, 캐릭터 라인 인수를 싱글 쿼트 또는 더블 쿼트로 괄필요가 있습니다. 인수에 싱글 쿼트 또는 더블 쿼트를 포함한 경우, 각각 더블 쿼트 또는 싱글 쿼트로 괄필요가 있습니다. 후술의 사용예를 참조해 주세요.

수치 인수는, 10 진수 (42), 8 진수 (052), 16 진수 (0x2a)의 머지않아에서도 지정 가능합니다.

필드 product, vendor, release, class, subclass, protocol 에 대한 값은, usbd demon를 죽이고 나서 -d (와)과 -v 의 플래그를 붙여 기동하는 것으로써 취득 가능합니다.

액션이 매치 했을 경우에 실행하는 명령:

attach string
    디바이스가 접속되었을 때에 실행되는 쉘 명령.

detach string
    디바이스가 떼어내졌을 때에 실행되는 쉘 명령.

사용예
Iomega USB Zip Drive 의 접속에 즈음하여, SCSI 버스를 재스캔 하는 샘플 엔트리:

       device "USB Zip drive"
          product 0x0001
          vendor  0x059b
          release 0x0100
          attach "/usr/bin/camcontrol rescan bus 0"

신규에 접속된 마우스에 대해서 moused 를 기동하려면:

       device "Mouse"
          devname "ums[0-9]+"
          attach "/usr/sbin/moused -p /dev/${DEVNAME} -I /var/run/moused. ${DEVNAME}.pid"

관련 파일
/etc/usbd.conf
    usbd 의 설정 파일

관련 항목
usb(4), usbd(8), usbdevs(8)

버그
현재로서는, 선택 항목을 여러 차례 사용할 수 없습니다. 예를 들면, 복수개의 vender ID 를 지정할 수 없습니다.

저자
usbd 의 설정 파일의 메뉴얼 페이지는 Nick Hibma <n_hibma@FreeBSD.org> 하지만 기술했습니다.