제공된 Beagle Bone Black Debian 이미지가 가젯 드라이버가 로드되지 않는 방식으로 구성되는 것을 방지하려면 어떻게 해야 합니까?

제공된 Beagle Bone Black Debian 이미지가 가젯 드라이버가 로드되지 않는 방식으로 구성되는 것을 방지하려면 어떻게 해야 합니까?

저는 BeagleBone Black에서 지정된 ArchLinux를 사용하고 있으며 일부 Wi-Fi 어댑터에 드라이버 문제가 있기 때문에 테스트 환경에서 가젯 드라이버(g_printer, g_serial)를 사용하고 있습니다. 이 드라이버는 Linux 4.19와 호환되지 않습니다.

몇 가지 문제를 겪은 후 Raspberry Pi 3+로 옮겼고 이 경우 제공된 데비안 이미지가 더 유용하다는 점이 맘에 들었습니다.

이제 다른 테스트에 이 이미지를 사용하려고 하는데 다음 메시지가 나타납니다.

sudo modprobe g_printer
dmesg | tail

[321.445928] udc-core: 사용 가능한 UDC가 없습니다. 보류 중인 드라이버 목록에 [프린터]를 추가하세요.

또한 모든 모듈을 제거해 보았습니다.

sudo modprobe -rf g_ether
sudo modprobe -rf usb_f_mass_storage

그러나 사용하기 쉬운 인터페이스를 제공하기 위해 데비안 이미지에서 사용되었습니다. 나는 그것들을 모두 제거하는 방법을 찾지 못했습니다.

시작 시 뭔가를 변경해야 합니다. 하지만 로드를 피하기 위해 스크립트를 어디서 어떻게 찾아 변경할 수 있습니까?

답변1

글쎄, 각 파일에서 재귀적으로 검색하여 USB0 인터페이스가 로드된 위치나 각 파일에 사용된 드라이버 검색을 시작할 수 있습니다.

sudo grep -r "usb0" /

입력을 따르고 충분히 느린 경우 /opt/scripts/boot/에 일부 스크립트가 표시됩니다. grep은 결국 충돌할 것입니다.

debian@beaglebone:~$ ls /opt/scripts/boot/
am335x_evm.sh           autoconfigure_usb1.sh  capemgr.sh  generic.sh          legacy           omap5_uevm.sh
autoconfigure_usb0.sh~  beagle_x15.sh          default     generic-startup.sh  omap3_beagle.sh
debian@beaglebone:~$

보시다시피 "~"를 추가하여 autoconfigure_usb0.sh가 로드되는 것을 방지하고 싶습니다. 그러나 이것은 도움이 되지 않습니다. 인터페이스가 생성되고 드라이버가 로드되었습니다.

그래서 configfs를 사용하여 g_multi 드라이버를 조작하여 드라이버를 병렬로 로드하기 위해 am335x_evm.sh를 편집하기로 했습니다.

다음 줄을 추가했습니다.

USB_NETWORK_DISABLED="yes"
USB_IMAGE_FILE_DISABLED="yes"

그러나 이것은 ifs 내부의 로딩을 피하지 않습니다. 실제로 이유를 이해하지 못하지만 환경 변수가 스크립트 시작 부분에서 해석되거나 다음 ifs를 트리거하기 위해 올바른 값을 설정하지 않은 것 같습니다.

if [ ! "x${USB_NETWORK_DISABLED}" = "xyes" ]; then

그래서 나는 다음을 사용하여 파일을 이동합니다.

mv /opt/scripts/boot/am335x_evm.sh /opt/scripts/boot/am335x_evm.sh~

그리고 시스템을 다시 시작하세요

sudo shutdown -r now

음, 가젯 드라이버 g_printer를 사용할 수 있습니다.

다음 링크가 도움이 되었습니다. 비글뼈 때문에 고민이 너무 많으신 분들은 비글대화방에서 최소한 몇시간은 투자해보세요비글 뼈 주변의 채팅 그룹

다시 말하면 /opt/scripts/boot/ 폴더와 여러 드라이버를 동적으로 로드하는 다양한 방법을 가리킵니다.드라이버가 여러 드라이버 인스턴스를 로드합니다.그리고 제공되는 인터페이스커널 USB 가젯 구성 인터페이스.

재귀적으로 grep하는 방법도움이되었습니다.

관련 정보