본문 바로가기

Electronics

Mac El Capitan 에서 인민두이노 연결하기


초기엔 상표까지 대 놓고 베꼈지만 이젠 저렴한 부품으로 시리얼 컨버터도 바꾸는 등 

독자적인 모델로 나온 인민두이노(Chinaduino) Mega2560



워크샵 주최측에서 워크샵 재료비를 적게 쓰길 원해서 싼 걸 찾다가 알리익스프레스에서  Mega2560이라는 아두이노 메가 클론보드를 사게되는 바람에 이 모든 일(?)이 벌어지게 되었다. 그러나 어차피 한번은 겪어야 할 일이었다고 본다.


애플에서 엘 캐피탄으로 업그레이드를 하면서 중요한 변화가 생긴 것이 하나 있는데 루트리스 모드가 그것이다. 사실 퍼미션 복구라는 항목이 있는 걸 보고 시스템 관련 화일의 퍼미션이 왜 바뀌지? 못 바꾸게 하면 안되나? 하는 의문이 있었는데, 보통 관리자 아이디로 작업을 하고 그렇다면 당근 시스템 화일도 바꿀 수 있는 거였다.


그런 내 의문을 해결해 주고 퍼미션 복구를 안해도 되며 시스템에 침투하는 각종 악성 프로그램들을 막으려면 필요한 기능이긴 한데... 시스템 디렉토리에 설치되는 주변장치 드라이버를 깔아야 하는 아두이노 같은 하드웨어 관련 작업을 하는 사람들에게는 의도하지 않은 삽질을 하도록 만드는 부작용도 있다. 난 애플의 정책을 옹호하는 편이긴 한데 내가 삽질의 당사자가 되니 기분이 쪼옴 그렇다.


애초에 이야기는 저렴함을 최우선 목표로 중국에서 만들어진 아두이노 클론들이 값비싼 ATMEL의 칩 대신 자국에서 개발된 저렴한 USB시리얼 통신칩인 CH340x 계열 칩들을 쓰면서 시작되었다. CH340의 드라이버는 맥에서 쓰기가 전에도 쉽지 않아서 누가 요청해서 그나마 쓰기 쉽게 바꿔 놓긴 했는데, 이번엔 엘 캐피탄 때문에 직격탄을 맞게 된 것이다. 그러나 복구 모드로 들어가서 루트리스로 막아 놓은 것의 일부를 풀어 주면 되는 나름 어렵지 않은 해결책이 있다.


링크에 가면 자세히 설명이 되어 있다. CMD-R을 부팅 때 눌러서 안전모드로 들어가서(누르는 타이밍을 몰라서 두어번 부팅 하게 될 것임) 상단 메뉴에 어딘가에서 터미널을 열어


  csrutil enable --without kext


위와 같이 쳐주고 리부팅 한 후에 ch340x 드라이버를 다운 받아 깔아 주면 된다.


그러나 나는 codebender.cc라는 웹브라우저 기반의 아두이노 개발환경에서는 어떤 운영체제에서도 드라이버 문제가 없다라는 이야기를 들은게 기억나서 코드벤더에 들어 갔다가 일이 꼬이기 시작했다.


코드벤더에서는 FTDI와 CH340 칩을 모두 지원하는 드라이버를 제공하고 심지어 아두이노IDE에서도 설치된 포트가 보이기까지 한다는 점이다. 그리고 그 포트가 엘 캐피탄 이전엔 잘 돌아갔었나보다. 그래서 난 그 상태에서 중국 인민을 믿지 못하고 쓸데없이 부트로더를 다시 깔아보기도 하고 USBTinyISP니 ArduinoISP니 하는 걸로 블링크 예제나 멀린 코드를 올려보는 등 삽질을 몇 시간 해대고 말았다. 


그러다 예전에 쓰던 화이트맥북에 아직 요세미티가 깔린게 떠올라, 거기서 CH340 드라이버 깔고 해보니 너무 잘 되는 거다. --;; 보드는 멀쩡한것이 었고, 코드벤더의 드라이버는 깔리긴 했고 보이기도 했지만 정상 작동은 하지 않는 왕짱 재수 없는 놈인 것이었다. 


그런데 어제 그렇게 삽질을 해서 잘 되던 녀석이 오늘 해보니 안되네? 코드벤더의 드라이버랑 충돌이 일어 나는게 아닌가 해서 코드벤더의 드라이버 지우는 법을 찾아보고, 두 가지 드라이버를 다 다시 깔아보고 등등 삽질을 하다가 문득 케이블 문제가 아닐까 하는 생각이 들었다. 왠걸 같이 배송되어온 짧은 USB케이블로 연결하니까 잘된다. 그러나 Repetier와 연결은 여전히 안된다. 어디서 보니까 연결속도가 250000은 안되고 115200으로는 된다는 말을 본 것 같다. 그래서 Marlin 코드에서 시리얼 연결 속도를 115200바꿨더니 Repetier와 연결이 잘된다. 휴 --;;