![셸에서 장치 드라이버를 사용하려고 하는데 해당 드라이버가 이미 커널에서 사용되고 있으면 어떻게 됩니까?](https://linux55.com/image/88706/%EC%85%B8%EC%97%90%EC%84%9C%20%EC%9E%A5%EC%B9%98%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%A0%A4%EA%B3%A0%20%ED%95%98%EB%8A%94%EB%8D%B0%20%ED%95%B4%EB%8B%B9%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EA%B0%80%20%EC%9D%B4%EB%AF%B8%20%EC%BB%A4%EB%84%90%EC%97%90%EC%84%9C%20%EC%82%AC%EC%9A%A9%EB%90%98%EA%B3%A0%20%EC%9E%88%EC%9C%BC%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%90%A9%EB%8B%88%EA%B9%8C%3F.png)
이것이 그 경우 다. 저는 임베디드 Linux를 처음 접했고 LED 드라이버 LP5521에 대한 몇 가지 명령을 테스트하려고 합니다. 내 마더보드에는 이 컨트롤러 IC가 포함된 RGB LED가 있으며 장치 트리에서 직접 "하트비트" 모드를 사용하여 초기화합니다. 따라서 보드가 부팅되자마자 LED가 깜박이기 시작합니다.
명령줄에서 컨트롤러의 플래시 모드를 변경하고 일반적으로 LP5521을 사용하여 익숙해지라는 요청을 받았습니다.
LP5521 드라이버 설명서에서 찾았습니다.https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/leds/leds-lp55xx.txt이 예:
For example, run blinking pattern in engine #1 of LP5521
echo 1 > /sys/bus/i2c/devices/xxxx/select_engine
echo 1 > /sys/class/firmware/lp5521/loading
echo "4000600040FF6000" > /sys/class/firmware/lp5521/data
echo 0 > /sys/class/firmware/lp5521/loading
echo 1 > /sys/bus/i2c/devices/xxxx/run_engine
문제는 첫 번째 줄을 시도할 때 오류가 발생한다는 것입니다.
오류 -2로 인해 lp5521에 대한 직접 펌웨어 로드가 실패합니다.
왜 이런 일이 일어나는지 전혀 모르겠습니다. 커널이 이미 하트비트 모드 드라이버를 사용하고 있기 때문에 쉘에서 아무 것도 보낼 수 없는 것 같지만 확실하지 않습니다.
감사해요! !