
Ubuntu를 실행하는 Beagle Bone Black에서 NovAtel USB 셀 모뎀을 활성화하는 스크립트에서 다음 줄을 보았습니다.
/sbin/modprobe option
매뉴얼 페이지를 보았는데 modprobe
옵션(s 참고)에 대해서는 많이 나와 있지만 단일 option
인수에 대해서는 아무것도 나와 있지 않습니다. 라는 모듈이 있나요 option
?? 아니면 모뎀을 설정하기 위해 유도하는 다른 부작용이 있습니까?
답변1
당신 말이 맞습니다. 커널 구성 매개변수에 의해 제어되는 modprobe option
모듈을 로드하려고 시도합니다 .option
USB_SERIAL_OPTION
더 많은 정보는 커널 소스( drivers/usb/serial/Kconfig
) 에서 찾을 수 있습니다.
USB_SERIAL_OPTION 구성 tristate "GSM 및 CDMA 모뎀용 USB 드라이버" (...) 이 드라이버는 또한 여러 PCMCIA 카드를 지원합니다. 내장된 OHCI-USB 어댑터와 내부 연결된 GSM 모뎀. 이 카드의 USB 버스는 외부에서 액세스할 수 없습니다. 지원되는 장치에는 다음 제품이 포함됩니다. 옵션, Huawei, Audiovox, Novatel Wireless 또는 Anydata. (...) 이 드라이버가 장치를 인식하지 못하는 경우, FTDI_SIO 드라이버를 통해 액세스할 수 있습니다.
이를 추적하는 방법:
그러한 커널 모듈이 있는지 확인하십시오(커널 구성에서 활성화된 경우에만 작동합니다).
$ find /lib/modules -name option.ko /lib/modules/kernel/drivers/usb/serial/option.ko
또는 모듈이 로드되면 시도해 볼 수 있습니다.
# modprobe option # lsmod | grep option option 33128 0 usb_wwan 13044 1 option usbserial 23912 2 option,usb_wwan
이제 소스 파일을 찾아볼 수 있습니다. (이것은 모듈이 현재 커널 소스에 포함된 경우에만 작동합니다.)
$ find /usr/src/linux -name option.c /usr/src/linux/drivers/gpu/drm/nouveau/core/core/option.c /usr/src/linux/drivers/usb/serial/option.c
당신이 언급한 모듈에는 USB 모뎀과 관련이 있으므로 두 번째 일치가 유망해 보입니다.
커널 구성 매개변수도 찾을 수 있습니다.
$ find /usr/src/linux -name Makefile -exec grep -H option\.o '{}' \; /usr/src/linux/drivers/gpu/drm/nouveau/Makefile:nouveau-y += core/core/option.o /usr/src/linux/drivers/usb/serial/Makefile:obj-$(CONFIG_USB_SERIAL_OPTION) += option.o
/usr/src/linux/drivers/usb/serial/Kconfig
이제 처음에 인용한 설명을 보고 찾을 수 있습니다 .마지막으로 소스 자체를 살펴보고 (
.../drivers/usb/serial/option.c
)짜잔당신은 다른 것 중에서 발견작가의 이름 설명이 드라이버는 "일반" 직렬 드라이버가 GSM 모뎀에서 제대로 작동하지 않기 때문에 존재합니다. 문제:
- 데이터 손실 - 단일 수신 URB만으로는 충분하지 않습니다.
- 비표준 유량(옵션 장치) 제어
전송 속도를 제어하는 것은 의미가 없습니다
이 드라이버를 "옵션"이라고 부르는 이유는 이 드라이버에 사용되는 가장 일반적인 장치가 Option Inc.에서 만든
PC 카드(
GSM 인터페이스가 뒤에 있는 내부 OHCI-USB 인터페이스 포함)이기 때문입니다.일부 "단일 포트" 장치는 실제로 USB 버스에 여러 개의 USB 인스턴스를 나타냅니다. 이는 버그가 아니며 이러한 포트는 다양한 장치 기능에 사용됩니다.