[Sensor] How to fix the COM port number of a USB to Serial adapter
Interactive Korea2022.11.17Views 4,618
This article is available in Korean only. If you have questions, send them through the contact form and we will reply.
USB로 연결하는 센서는 PC에서 COM 포트로 잡힙니다. 센서 설정 툴은 그 COM 번호로 센서를 찾기 때문에, 번호가 바뀌면 센서가 연결되지 않은 것처럼 보입니다. 아래 방법으로 번호를 고정해 두면 센서를 교체해도 설정을 다시 하지 않아도 됩니다. Windows 10 이상 기준입니다.
번호가 바뀌는 이유
Windows는 USB 장치를 제조사 번호(VID), 제품 번호(PID), 일련번호 세 가지로 구분합니다. 셋 중 하나라도 다르면 새 장치로 보고 새 COM 번호를 줍니다.
그래서 이런 때 번호가 바뀝니다.
- 고장 난 센서나 변환 어댑터를 같은 모델의 다른 제품으로 바꿨을 때 (일련번호가 다릅니다)
- 센서를 다른 USB 포트에 꽂았을 때
- 설정을 마친 디스크를 다른 PC에 옮겨 달았을 때
먼저 해 볼 것: 번호 직접 지정
센서를 교체할 일이 드물다면 COM 번호만 직접 정해 두어도 됩니다.
- 장치 관리자를 열고 "포트(COM & LPT)"에서 센서를 찾습니다.
- 더블클릭해 속성을 열고 "포트 설정" 탭의 "고급"을 누릅니다.
- "COM 포트 번호"에서 쓸 번호를 고르고 확인을 누릅니다.
교체해도 번호가 유지되게 하기
Windows가 일련번호를 보지 않게 하면, 같은 모델의 장치는 같은 USB 포트에 꽂는 한 같은 COM 번호를 받습니다. 레지스트리에 값 하나를 추가합니다.
- 장치 관리자에서 센서의 속성을 열고 "자세히" 탭에서 속성을 "하드웨어 ID"로 바꿉니다.
USB\VID_10C4&PID_EA60&REV_0100같은 값에서 VID, PID, REV 뒤의 네 자리를 각각 적어 둡니다. 이 예에서는 10C4, EA60, 0100입니다.- Win + R을 누르고
regedit을 실행합니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags로 이동합니다.- 그 아래에 VID, PID, REV를 이어 붙인 12자리 이름의 키를 만듭니다. 예를 들면
10C4EA600100입니다. 이미 있으면 그 키를 씁니다. - 그 키 안에 이진 값(REG_BINARY)을 새로 만들고 이름을
IgnoreHWSerNum, 데이터를01로 넣습니다. - 센서를 뽑았다가 다시 꽂거나 PC를 다시 시작합니다.
- 위의 "번호 직접 지정" 순서로 COM 번호를 원하는 번호로 맞춥니다.
관리자 권한 명령 프롬프트에서는 5·6번을 한 줄로 할 수 있습니다. 키 이름은 자기 장치의 값으로 바꾸세요.
reg add "HKLM\SYSTEM\CurrentControlSet\Control\usbflags\10C4EA600100" /v IgnoreHWSerNum /t REG_BINARY /d 01 /f
알아 둘 점
- 이 설정을 하면 Windows가 일련번호 대신 꽂힌 USB 포트 자리로 장치를 구분합니다. 센서를 꽂는 포트를 정해 두고 바꾸지 마세요.
- 같은 모델의 센서를 여러 대 쓰는 PC라면 센서마다 꽂을 포트를 정해 표시해 두세요.
- 레지스트리를 고치기 전에 파일 메뉴의 "내보내기"로 백업해 두세요.
- 예전 Windows 문서에는 usbflags 바로 아래에
IgnoreHWSerNum10C4EA60처럼 VID와 PID를 붙인 이름으로 값을 만드는 방식도 나옵니다. 위 방법이 적용되지 않으면 이 방식을 써 보세요.
참고한 글
- Microsoft Learn, USB device-specific registry settings
- Microsoft 개발자 블로그, To ignore a device's serial number
- Espressif 문서, Prevent Windows from incrementing COM numbers
- 2022년에 소개했던 블로그 글을 계기로 새로 정리했습니다.
RELATED PRODUCT
Monster Sensor
Turn walls, floors and tables into touch screens. Setup tools and SDK for LiDAR, depth and camera sensors.