[앤프로2/Annepro2] 블루투스 연결 에러 해결 방법

2022. 3. 9. 20:0003. Resources/제품 리뷰

728x90
반응형

얼마전에 앤프로2라는 포커 배열의 키보드를 구입했다!

구입을 어떻게 하게 되었는지는 나중에 설명하기로하고!

 

먼저, 에러가 발생한 환경은 다음과 같다.

집에서 사용하는 노트북은 윈도우10 + 우분투 20.04 듀얼부팅이 되어있는 환경인데

둘 중 어느 한 곳에 블루투스 연결을 해두면 다른 한 쪽에서는 연결이 되지 않거나 붙었다 떨어졌다를 엄청나게 빨리 반복하는 현상이 있었다.

 

앤프로를 알게 해준 오픈채팅방에 이 이슈를 물어봤는데, 아니나 다를까 나랑 비슷한 현상을 겪으신 분이 계셨고, 늦은 저녁에 도움을 받아해결 할 수 있었다!

 

나도 컴퓨터 바꾸거나 뭐라도 하면 나중에 또 해야할 수도 있으니, 보기 좋게 정리해둬야겠다.


작업 환경

위에서도 언급했지만, 내가 에러를 마주한 환경은 아래와 같다.

SSD 2개를 이용한 듀얼부팅 환경

- Windows 10 (윈도우 10)

- Ubuntu 20.04 (우분투 20.04)

사용한 키보드

- 앤프로2 (Annepro2) 카일박스백축

 

준비물

- 여분의 키보드 -> 처음에 세팅할 때에는 키보드가 필요하다

 

에러 내용

맨 처음 맞이한 에러는 다음과 같다.

- 블루투스 2번에 Windows 10 페어링 후 블루투스 3번에 Ubuntu 20.04 페어링시도 -> 동작하지 않음

- 블루투스 2번을 Ubuntu 20.04로 페어링 다시 하고 블루투스 3번에 Windows 10 페어링시도 -> 동작하지 않음

 

해결 방법

도와주신 분이 알려주신 이 사이트를 따라해서 해결할 수 있었다.

영어로 되어있기도 하고 사실 읽기가 엄청 편하진 않았어서 알아보기 쉽게 정리를 해본다!

 

1. 블루투스 페어링 (윈도우 10)

먼저, 윈도우 10에서 앤프로2 키보드와 블루투스 페어링을 진행한다.

나는 역시 2번으로 페어링을 진행했다.

 

2. 레지스트리 파일 추출 (윈도우 10)

그리고나서 레지스트리 파일을 추출하기 위해 psexec.exe 파일을 준비해야한다.

해당 파일은 마이크로소프트에서 제공하고있다. 이 링크로 가서 다운로드를 받으면 된다.

 

이제 윈도우에서 명령프롬프트(cmd)를 관리자 권한으로 실행시킨 다음, psexec.exe가 있는 경로로 이동한다.

그리고나서 아래의 명령어를 실행시키면 레지스트리 파일이 C:\ 아래에 생긴다.

psexec.exe -s -i regedit /e C:\BTKeys.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys

 

파일을 열어보면 이런저런 것들이 많이 적혀있는데 필요한 항목은 아래에 적혀있는 것들이다. 

Windows Registry Editor Version 5.00
...

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys\e884a5355a83\fc45c37aedf9]
"LTK"=hex:11,3f,15,cf,e5,8c,f6,48,33,44,6f,94,2e,6d,4a,1e
"KeyLength"=dword:00000010
"ERand"=hex(b):2c,93,8a,1d,d8,25,89,1a
"EDIV"=dword:0000c4f5
...
"CSRK"=hex:08,e0,07,bb,65,6a,30,2d,c0,96,97,7a,ae,95,1a,44

e884a5355a83: 블루투스 어댑터의 맥어드레스

fc45c37aedf9: 내 키보드의 맥 어드레스

 

위 정보를 볼 수 있는 어딘가에 꼭 옮겨두고 우분투 20.04로 부팅한다.

 

3. 우분투 20.04 로 부팅

우분투로 들어가 터미널을 열고 블루투스 모듈을 관리하는 위치로 이동한다.

cd /var/lib/bluetooth/e8:84:a5:35:5a:83/

해당 폴더로 들어가서 리스트를 확인해보면, 내 키보드의 맥 어드레스랑 비슷한 숫자를 가진 폴더를 볼 수 있다. 원문 링크에서는 이름이 달랐기 때문에 바꿔줘야했다고 했는데, 나는 그렇진 않았어서 그냥 해당 폴더로 들어갔다.

cd fc:45:c3:7a:ed:f9/

해당 폴더에서 ls 커맨드를 이용해서 구성물을 본다면 아래와 같이 3개가 나온다.

> ls
attributes gatt info

4. 블루투스 모듈 정보 수정

여기서 관리자권한 (sudo 권한)으로 접근을 변경해서 info 파일을 수정해야한다.

해당 파일을 열어서 수정을 해보자.

총 다섯개의 부분을 수정해야하고 그 부분은 아래와 같다.

[LocalSignatureKey]
Key=

[LongTermKey]
Key=
...
EncSize=
EDiv=
Rand=

위의 값들은 이전에 추출한 레지스트리 파일에서 가져올 수 있다.

16진수를 10진수로 바꿀 일이 많으니 여기 계산기를 이용해보자

 

각 값들을 어떻게 변환하고 어디에 넣으면 되는지 아래 코드블럭에 설명을 같이 넣어뒀다.

"LTK"=hex:11,3f,15,cf,e5,8c,f6,48,33,44,6f,94,2e,6d,4a,1e
-> 콤마 지우고, 소문자 다 대문자로 변경
[LongTermKey]
Key=113F15CFE58CF64833446F942E6d4A1E

"KeyLength"=dword:00000010 (hex)
-> hex to dec
[LongTermKey]
EncSize=16

"ERand"=hex(b):2c,93,8a,1d,d8,25,89,1a
-> 1. 순서 역순으로 변경하고 콤마 지우기
1a8925d81d8a932c
-> 2. hex to dec
[LongTermKey]
Rand=1912101126934270764


"EDIV"=dword:0000c4f5 (hex)
-> hex to dec
[LongTermKey]
EDiv=50421

"CSRK"=hex:08,e0,07,bb,65,6a,30,2d,c0,96,97,7a,ae,95,1a,44
-> 콤마 지우고, 소문자 다 대문자로 변경
[LocalSignatureKey]
Key=08E007BB656A302DC096977AAE951A44

5. 키보드 테스트

이렇게 설정하고나서 키보드 연결을 확인해보면, 윈도우에서 페어링해둔 2번이 알아서 페어링되어서 동작하는 것을 확인할 수 있다!


오픈채팅방의 귀인 덕분에 감사히 문제를 해결할 수 있었다 ㅎㅎ

정리해뒀으니 다른 분들도 혹시 오류가 생기면 해결할 수 있으면 좋겠다.

반응형