함께 만드는 별빛 세상, 천문노트 · Since 2001

중국산 저가 아두이노 동작 안됨 원인 - 최신 FTDI 드라이버가 중국산 가짜 FTDI 칩을 파괴합니다.

이형철 2014-12-24 (수) 16:00 9298
목록
이전글 다음글

웹 아카이브(2020-10-23 기록)에서 복원한 글입니다. 일부 이미지나 첨부파일이 빠져 있을 수 있습니다.



중국산 저가 아두이노...

20달러에 10개라는 말도 안되는 가격에 (배송비 무료) 기능도 잘 동작하여 지금까지 많은 프로젝트들에서 사용했었습니다.

그러나 최근들어 구입한 제품들이 모두 첫 번 째 연결 시 잘 동작하다가 두 번 째 꽂으면 인식 불가가 되는 문제가 발생하더라구요..

그 원인을 알아냈습니다.

일단 10달러 이하의 아두이노는 대부분 fake FTDI 칩입니다. 중국에서 만든 이 칩은 칩 표면에 FTDI 라고 찍혀있고 동작도 정상적으로 하는 칩인데요. 사악한건 FTDI 쪽이었습니다. FTDI driver 2.10 이상에서는 fake FTDI 칩이 꽂히면 칩을 망가트리도록 되어있습니다.
 
구체적으로 USB 통신 칩에는 vendor id, product id, product name을 저장할 수 있는 공간이 있는데요. 그래야 같은 FTDI 칩을 쓰는 장치들이 칩을 쓰는 여러 장치들이 Logitech Mouse, DI-149 이런 식으로 다른 이름으로 인식 될 수 있으니까요. 이 저장 공간은 칩과의 통신으로 썼다 지웠다 할 수 있게 되어있습니다.
 
그런데 FTDI driver 2.10 이상에서는 fake FTDI라고 판단되면 이 중 product id 값을 6001에서 0으로 변경합니다. 그래서 두 번째 꽂을 때는 장치 이름은 FTDI USB Serial 이라고 나오지만 드라이버를 찾을 수 없는 상태가 되버립니다. 드라이버를 수동으로 잡아줘도 동작은 안하더라구요...
 
윈도우에서는 vendor id, product id를 갖고 자동으로 최신 드라이버를 검색하기 때문에 사용자는 자동으로 최신 드라이버를 깔게 되고 fake FTDI 칩을 쓴 장비는 드라이버에 의해 꽂자마자 파괴되게 되는 것입니다.
 
따라서 기존에 사둔 저가 아두이노들은 낮은 버전 드라이버를 설치한 컴퓨터에만 꽂아서 써야 합니다. 또한 아두이노 가격 하락의 일등공신이었던 fake FTDI를 쓸 수 없게 되었으므로 아두이노는 가격 경쟁력에서 밀릴게 뻔합니다. (다른 USB 칩을 쓰도록 디자인을 수정하지 않는다면요)
 
앞으로 아두이노 구입하실 일이 있으시면 참고하시길...

일단 아두이노는 무조건 공식 distributor에서 정품으로 사시고 이 문제가 해결되기 전에는 아두이노는 가격적 측면에서 우선 순위가 밀릴듯 합니다.

저도 중국산 beetle 로 갈아탔습니다.

beetle은 마이크로프로세서 자체에서 USB 통신을 지원하기 때문에 FTDI 칩을 사용하지 않습니다.

댓글 0

로그인하면 댓글을 쓸 수 있습니다.

자작 게시판

총 111건
글쓰기