저는 업스퀘어 컴퓨터를 사용하고 있습니다. HAT 커넥터의 i2c 포트를 통해 장치를 연결합니다. 사용할 때 i2cdetect
다른 포트에서 동일한 장치(주소로 식별)를 감지합니다. 재부팅 사이에 변경 사항이 발생합니다.
제가 아는 바로는 에 규칙을 설정하면 이 문제를 해결할 수 있을 것 같지만 etc/udev/rules.d
어떻게 해야 할지 잘 모르겠습니다. 특히 센서를 필터링하여 규칙을 만드는 방법을 잘 모르겠습니다. 내가 본 것은 kernel
이지만 i2c-2
다음 재부팅 시 이것이 변경될지 궁금합니다.
답변1
나는 Seed ODYSSEY 보드에서 당신과 같은 문제를 겪었습니다. 규칙 파일 71-i2c.rules를 /etc/udev/rules.d/에 추가하여 이 문제를 해결했습니다.
71 - i2c.rules의 상세 코드
SUBSYSTEM=="i2c-dev", KERNELS=="i2c_designware.1", SYMLINK+="i2c-10"
나는 이 코드를 사용하여 내가 원하는 특정 i2c에 대한 심볼릭 링크를 만듭니다. 그리고 /dev/i2c-10에서 작업하면 항상 올바른 데이터를 얻을 수 있습니다.
원하는 i2c 버스의 특정 데이터를 얻는 방법은 무엇입니까? 다음 명령을 사용하여 얻을 수 있습니다.
udevadm info -a /dev/i2c-1
이 명령의 출력에서 i2c 버스에 포함하려는 특정 데이터를 찾아야 합니다.
답변2
내가 아는 한 i2c 번호는 동적으로 할당되므로 변경될 수 있습니다. 따라서 정적으로 사용할 수는 없다고 생각합니다.