2011년 10월 24일 월요일

Mac OS X Lion(10.7)에서 USB-to-Serial 사용

맥 OS가 라이언으로 올라오면서 가장 크게 바뀐 부분이 커널이 64비트로 가면서 Snow Leopard까지 문제없이 동작하던 드라이버들이 호환이 되지 않는 것들이 생긴 것이다.

대부분의 문제는 32-bit용 드라이버라 64-bit 커널에 로드가 되지 않아서 문제가 발생한다.
Arduino 역시 보드에 FTDI 칩을 사용하고 있어 아뒤노가 인식되지 않는다.

USB-to-Serial 컨버터를 맥에 연결하면 System Information에서 디바이스가 연결된 걸 확인할 수 있다.

디바이스 드라이버가 정상적으로 로드되었으면 /dev 디렉토리에 그에 해당하는 디바이스파일이 생성된다.

만일 System Information에서 장치가 연결된 건 확인되었는데 /dev 디렉토리에 디바이스파일이 생성되지 않았다면 드라이버가 제대로 로드되지 않은 것이다.

현재 대부분의 쉽고 저렴하게 구할 수 있는 USB-to-Serial 컨버터는 FTDI의 FT232x 또는 Prolific의 PL-2303를 사용하고 있다.

이 둘 다 라이언으로 올라가면 드라이버가 로드되지 않기 때문에 디바이스를 억세스 할 수가 없다.

다행히 FTDI는 올 2월에 나온 드라이버 팩에 64비트 드라이버(http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_16.dmg)를 가지고 있다. 다운 받아보면 10.3용과 10.4~10.6용 드라이버가 있는데 이 중 10.4~10.6용 64-bit 드라이버를 설치해주면 라이언에서도 아무 문제 없이 동작한다.

Prolific의 경우는 공식적으로 나온 드라이버는 없고 failberg가 만든 드라이버(https://github.com/failberg/osx-pl2303)를 설치해주면 된다. 비공식 드라이버이긴 해도 설치해 본 결과 아무 문제 없이 사용할 수 있었다.