
새로운 커널 5.4.0-88 일반으로 업그레이드한 후 칩 CH340G(USB 직렬 변환기)를 사용하는 ESP266 개발 보드가 내 ubuntu 20.04 Dell 노트북의 Espressif 플래싱 도구 "esptool"과의 통신을 중지합니다. 이 도구는 Python으로 작성되었으며 명령줄에서 실행되도록 설계되었습니다. 5.4.0-86에서 부팅하도록 grub을 변경하여 문제를 일시적으로 해결했지만, 다음 커널 업그레이드에서도 이 오류가 계속되면 문제가 될 것입니다. 간단한 직렬 터미널(모시리얼)을 사용하여 USB/직렬 직접 통신을 테스트하기 위한 간단한 코드를 작성했는데 이 경우 CH340G 칩이 양방향으로 올바르게 작동하는 것 같아서 Python이 칩 드라이버에 액세스하는 데 문제가 있는 것 같습니다. 새로운 커널에서. 커널 문제를 어디에 보고해야 할지 모르기 때문에 이 포럼에서 문제를 언급하기로 결정했습니다. 만약 이곳이 적절한 장소가 아니라면 적절한 채널에 신고할 수 있는 가장 좋은 방법이 무엇인지 알려주시면 감사하겠습니다.
답변1
동일한 커널과 동일한 문제가 있습니다.
듀얼 부팅 휴대용 장치에서 Windows를 사용하여 칩을 프로그래밍할 수 있으며 Ubuntu 19.04에서 프로그래밍할 수 있었습니다.
업데이트 후에는 프로그래밍할 방법이 없습니다. 칩이 인식되고 직렬 인터페이스와 통신할 수 있지만 프로그램 모드로 들어갈 수는 없습니다.
CH341 모듈을 커널 버전 5.4.0-86의 모듈로 되돌리는 것도 작동합니다.
간단히 모듈을 언로드하세요.
modprobe -r ch341
원본 이름 바꾸기:
mv /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko.ori
그리고 이전 커널에서 하나를 얻는 것보다 (아직도 그것을 가지고 있기를 바랍니다)
cp /lib/modules/5.4.0-86-generic/kernel/drivers/usb/serial/ch341.ko /lib/modules/5.4.0-88-generic/kernel/drivers/usb/serial/ch341.ko
그리고 마지막으로:
modprobe ch341
이제 칩을 플래시할 수 있습니다.
답변2
감사해요! 앞서 언급했듯이 일시적으로 커널을 5.4.0-86으로 다운그레이드했으며 다음 버전에서 문제가 해결될 때까지 기다릴 것입니다. 하지만 부분적으로 귀하의 아주 좋은 제안을 받아들여 작동하는 CH341 드라이버를 /lib/modules/5.4에서 복사했습니다. 다음 커널에서 오류가 계속되는 경우를 대비해 0-86-generic/kernel/drivers/usb/serial을 홈으로 설정합니다.