뭉근 : 느긋하게 타는 불

렌즈 판매

카테고리 없음2019. 12. 29. 22:01

Evoluent Mouse 수리기

생활2016. 6. 22. 20:10

Evoluent Mouse 수리기는 원래 작성했던 내용인데...

내용을 추가하려는데 실수로 삭제해버렸다. ㅡㅡ...

댓글로 문의해주셨던 분들에게 미안하다.

그래서 다시 이렇게 쓴다. :)


일단 나는 이 에볼루언트 마우스를 2년 넘게 써왔다.

1년이 지나자 휠이 잘 작동을 안했는데 그러려니 하고 쓰다가

더 이상 안되겠다 싶어서 A/S 관련 문의를 했고

내 판단으로 배송비나 배송기간이 너무 오래 걸릴거 같아

자가 수리 방법을 물어보았다.

친절하게도 Evoluent 사에서는 아래와 같은 답변을 달아주었다.


Hello,
 
To get the bottom off of the mouse, there are 4 screws.  3 of them are under the feet, 1 at the front, and 1 on each side.  The feet are like stickers, and can be peeled off.  The should stick back on if you keep the sticky side clean.
 
Once the bottom is off, you have to remove the rear case (black area).  To do that it’s held on by 3-4 screw.  Once the screws are removed, you need to pry between the inner and outer case at the rear ne the Evoluent logo.  It should pop off.
 
You can then access the screw that hold the buttons on.  You should now have access to the wheel, and the board it’s mounted on.
 
Thank you, 

Bradley Maris

www.evoluent.com



자 마우스 수리를 시작해보자.

일단 마우스 아래의 스티커 4장을 떼면 아래와 같이 검은 나사 4개가 보인다.

다 풀어주도록 하자.



다 풀면 아래와 같이 아랫단?을 분리할 수 있다. 

여기서 몸체 안쪽 나사 3개를 분리한다.

사진이 없지만... 아래 사진의 아랫 부분 나사 말고 몸체쪽 나사이다.

몸체의 안쪽 나사가 위 뚜껑을 잡고 있기 때문에

분리해주어야한다.



위 뚜껑과 연결된 나사 3개를 풀고

아래와 같이 지렛대 원리를 이용해 뚜껑을 올려준다.

처음에는 빡빡한데 힘줘서 올리면 툭 하고 윗 뚜껑이 몸체와 분리된다.

간혹 툭 하고 분리가 일부만 안되는 경우가 있는데

뚜껑을 지렛대 원리를 이용해 더 올려주자.



아래는 더 가까이서 찍은 사진이다.





분리하면 아래와 같다.

쓰던 마우스를 분리한거라 때가 있다. 부끄럽다. ;;;

저 가운데 검은색 나사를 분리해주자.




분리하고 아래 처럼 지렛대 원리를 이용해 툭 올려주면

검은색 판이 분리된다.




그리고 마우스 버튼 판이 남아있는데

몸체 안쪽에서 들어올려주면 분리된다.

아래는 분리 완료 후 ~사진이다.




나중에 합칠 때는 역순으로 해주면 된다.

마우스를 손으로 잡는 시점에서 봤을 때 왼쪽 은색 판과 버튼 2개만 주의해서 조립해주면 된다.

맨 처음 분리한 윗 뚜껑을 먼저 눌러서 딸깍 소리가 나게 맞추고

버튼 2개를 딸깔 소리나게 눌러주고

은색 판을 눌러주면 된다.


나 같은 경우에는 한 2주마다 한번씩 분해해서 휠 부분에 공기를 쏴준다.(라고 말하지만 입으로 훅! 불어준다)

그러면 마우스 휠이 잘 동작한다. 휠과 센서 사이에 이물질이 너무 잘 들어가는 거 같다. ㅡㅡ...


ps. 휠이 휙휙 돌아가는거 같다면 마우스 옵션에서 휠 가속을 꺼주도록 하자. 윈도우 8.1에서 관련 드라이버가 이상하게 동작하는거 같았다.


2016.06.22 추가.

마우스 드라이버는 아래와 같이 구글의 캐시된 페이지(저장된 페이지)를 이용하여홈페이지에 접속하여 다운받으면 된다.

해당 홈페이지가 한국 IP에서 접속되는 걸 막아놓아서 안들어가진다.








'생활' 카테고리의 다른 글

비트레이얼 - 더글라스 케네디  (0) 2016.03.09
라플라스의 마녀 - 히가시노 게이고  (0) 2016.01.15
USB 3.0 허브 구입기 및 재구입기  (2) 2015.08.11
논문 영어 쓰기  (0) 2015.04.20
'배려'의 명언  (0) 2014.11.24

PsSetCreateProcessNotifyRoutineEx를 실행하면 아래와 같이 STATUS_ACCESS_DENIED(0xc0000022) 에러가 반환된다.

   

ObCallbackTest: DriverEntry: Driver loaded. Use ed nt!Kd_IHVDRIVER_Mask f (or 7) to enable more traces

ObCallbackTest: DriverEntry: PsSetCreateProcessNotifyRoutineEx(2) returned 0xc0000022

   

이상하게 MS측에서 제공하는 드라이버 샘플 파일은 접근 거부가 일어나지 않는데, 내가 직접 똑같은 소스코드를 사용하여 컴파일한 드라이버를 로드할 경우에는 저 에러가 떴다.

   

MS에 의하면 PsSetCreateProcessNotifyRoutineEx는 Highest Level 드라이버에서만 동작한다고 되어 있어서 드라이버도 권한이 있는건가 싶어서 계속 알아보았는데 아무것도 안나왔다. 따라서 소스코드 문제인가 싶어 WDM, KMDF 드라이버 등을 생성하여 여러 방면으로 함수 호출을 시도해보았지만 문제가 해결되지 않았다.

   

그러나 위의 에러 문구를 검색하니 정말 간단한 문제 해결 방법이 나왔다.

링커 옵션에 INTEGRITYCHECK 옵션을 넣어주면 되는 것이다.

   

다음과 같이 프로젝트 속성의 링커 옵션을 추가해주면 된다.

   

   

아래는 obcallback 샘플의 링커 옵션이다.

   

   

   

INTEGRITYCHECK 옵션이란 메모리 메니저가 PE Header의 플래그값을 확인하여 드라이버 이미지를 로드하기 위하여 디지털 시그너처를 검사하는 것이다. MS에 의하면 모든 드라이버들이 이 기능을 사용하길 추천한다고 명시되어 있다.

   

integritycheck를 검색해보니 이 기능을 사용하지 않을 경우 일부 API를 사용할 수 없다고 한다.

'프로그래밍' 카테고리의 다른 글

Rstudio 3.3.0 스케일링 문제  (0) 2016.05.06
드라이버 개발 삽질 #1  (0) 2015.03.12
ofstream 한글 출력 문제  (0) 2014.10.22
ifstream 64  (0) 2014.09.25
CPP 벡터 반복문 중 원소 지우기  (0) 2014.09.22