메뉴 건너뛰기

새로운 댓글을 작성합니다.

에프닷

2025.08.20 22:53

정리해 드릴게요 ????

처음에 /dev/ttySC* 가 안 보였던 이유는 overlay 설정과 SPI 채널 충돌 때문이었습니다.


???? 문제의 원인

  1. config.txt 위치

    • 최신 Raspberry Pi OS (Bookworm, 64bit)는 /boot/config.txt 가 아니라
      /boot/firmware/config.txt / usercfg.txt 를 실제로 사용합니다.

    • 그래서 처음에 /boot/config.txt 만 고치셨을 땐 커널이 overlay 설정을 무시했어요.

  2. overlay 옵션(cs=1)

    • sc16is752-spi0.dtbo overlay 는 cs 파라미터를 지원하지 않는데 계속 cs=1 옵션을 넣어서 실패.

    • 지원하는 건 int_pinxtal 뿐이었어요.

  3. SPI0 CE0( spidev0.0 ) 비활성화

    • ls /dev/spidev* 했을 때 /dev/spidev0.1 만 있었죠.

    • 즉 CE0이 비활성화 상태라서 sc16is752-spi0 overlay 로딩이 계속 실패했던 겁니다.

    • 이후 CE0 또는 CE1 매칭을 제대로 맞추면서 overlay가 정상 적용됨.


✅ 최종 해결책

  • /boot/firmware/usercfg.txt 안에:

     
     
    dtoverlay=sc16is752-spi0,int_pin=24 dtparam=spi=on
  • 불필요한 cs= 제거

  • SPI0 CE0/CE1 충돌 해소

→ 그 결과 커널이 sc16is7xx 드라이버를 불러서 /dev/ttySC0, /dev/ttySC1 생성 성공.


???? 결론

문제의 핵심은 “잘못된 config.txt 경로 + 잘못된 overlay 옵션(cs) + SPI CE 충돌” 이 세 가지가 겹쳤던 겁니다.


 

???? 혹시 제가 CE0/CE1 중 어디에 지금 실제 HAT이 붙어 있는지도 같이 확인해 드릴까요? (dmesg | grep ttySC 실행하면 포트 등록 로그가 나와요)

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
돌아가기