2016년 11월 21일 월요일
macOS Sierra에서 CH340/CH341 사용하기
맥에 Sierra (Mac OS 10.12)를 설치한 후 CH340/CH341 칩을 사용한 디바이스(알리에서 판매하는 대부분의 저가 아두이노 보드, ESP8266 기반 보드들이 여기에 들어감)를 연결하면 바로 커널 패닉이 발생해 버린다.
일단 커널 패닉이 발생하면 패닉을 발생시키는 원인이 되는 kext/드라이버를 제거해 줘야 한다. 어떤 kext가 문제를 발생시켰는가는 /Library/Logs/DiagnosticReports 안의 .panic 확장자를 가진 로그 파일에서 확인할 수 있다.
CH340인 경우 보통 wch.usb.usb 가 원인이 된다.
이 kext를 제거하려면 어느 디렉토리에 들어있는가 확인해 줄 필요가 있다. 이 경우 /Sysyem/Library/Extensions 디렉토리 내에 usb.kext라는 이름이지만 불행하게도 이름과 위치가 다를 수도 있다. 이게 찾는 드라이버가 맞는지 확인하고 싶으면 다음의 명령을 사용하면 된다.
$ cat usb.kext/Contents/Info.plists | grep wch.usb.usb
위의 명령을 실행해 무언가 내용이 출력된다면 찾는 파일이 맞다는 것이다. 이제 저 파일을 삭제하고 나면 디바이스를 연결해도 커널 패닉이 발생하지 않는다. (물론 드라이버가 없으니 장치가 인식되지 않는다)
-----------------------------------------------------------------------------------------------
Mac Sierra에서 사용할 수 있는 CH340/CH341 드라이버가 만들어졌다. 아래 링크에서 다운받아 설치해 주면 된다.
Winchiphead signed drivers for CH340-CH341, OS X 10.9 to macOS 10.12
The credit goes to the blog 'Playing with bits and bytes'
Labels:
arduino driver,
ch340,
ch340 driver,
ch341,
kernel panic,
kext,
Mac,
MAC OS,
mac os sierra,
macos 10.12
2016년 10월 10일 월요일
Mac OS Sierra와 RNDIS (RNDIS in Mac OS Sierra)
Mac OS X를 사용하는 사람들에게 OS X 10.11 El Capitan은 몇가지 문제가 있었다. 그 중 가장 큰 문제가 RNDIS를 사용할 수 없다는 것이었다. 그 이전 버젼까지는 HORNDIS를 사용하면 되었는데 El Capitan으로 가면서 호환성에 문제가 생겨 horndis를 사용할 수 없게 되어 버렸다.
HORNDIS 개발자가 시간이 없어 변경된 부분을 수정해 주지 않아 다른 사람들이 몇가지 work around를 제시하긴 했지만 어느것도 안정적으로 사용하기에는 무리였다.
그런데 Mac OS 10.12인 Sierra로 오면서 OS내에 RNDIS 드라이버가 기본으로 들어있게 되어 이제는 horndis를 따로 설치하지 않아도 out-of-box로 바로 사용할 수 있게 되었다.
특히 Raspberry pi zero의 경우 별도의 이더넷 커넥터가 없어 따로 USB-to-serial 아답터를 사용해 콘솔을 연결해 주지 않으면, USB케이블로 맥과 연결해 rndis를 통해 USB/Ethernet gadget으로 사용해야 하는데 이제는 맥에 USB케이블로 연결만 하면 바로 USB/Ethernet gadget으로 잡히게 된다.
(처음 연결하면 IPv4 구성은 DHCP로 되어 있고 IP주소는 169.x.x.x로 나오는데 위와 같이 구성은 '수동', IP주소는 자신이 사용하고자 하는걸로 변경해 주면 된다.)
상세한 설정 방법은 이전 포스트(라즈베리 파이 제로를 USB 케이블 하나로 사용하기)를 참고하면 된다.
HORNDIS 개발자가 시간이 없어 변경된 부분을 수정해 주지 않아 다른 사람들이 몇가지 work around를 제시하긴 했지만 어느것도 안정적으로 사용하기에는 무리였다.
그런데 Mac OS 10.12인 Sierra로 오면서 OS내에 RNDIS 드라이버가 기본으로 들어있게 되어 이제는 horndis를 따로 설치하지 않아도 out-of-box로 바로 사용할 수 있게 되었다.
특히 Raspberry pi zero의 경우 별도의 이더넷 커넥터가 없어 따로 USB-to-serial 아답터를 사용해 콘솔을 연결해 주지 않으면, USB케이블로 맥과 연결해 rndis를 통해 USB/Ethernet gadget으로 사용해야 하는데 이제는 맥에 USB케이블로 연결만 하면 바로 USB/Ethernet gadget으로 잡히게 된다.
(처음 연결하면 IPv4 구성은 DHCP로 되어 있고 IP주소는 169.x.x.x로 나오는데 위와 같이 구성은 '수동', IP주소는 자신이 사용하고자 하는걸로 변경해 주면 된다.)
상세한 설정 방법은 이전 포스트(라즈베리 파이 제로를 USB 케이블 하나로 사용하기)를 참고하면 된다.
피드 구독하기:
덧글 (Atom)



