JHB의 프로그래밍 삽질기

IHV 세미나(20100520) 요약 본문

PROGRAMMING/Driver

IHV 세미나(20100520) 요약

roter 2010.05.31 12:12
일시 : 2010년 5월 20일 목요일 오후 3시
장소 : 마이크로소프트 5층 Win Room
강사 : 이동석 수석 연구원, 윤석원 책임 연구원

개요 :
IHV(Independent Hardware Vender tool)
Windows7의 로고 프로그램에 대한 세미나

내용 요약:
Device Driver Logo인증 과정
1. VeriSign 발급
인터넷을 통해 발급 받을 수 있으며 계약서에 이것 저것 싸인해야한다.
VeriSign본사에서 직접 전화가 온다고 하는데 영어 대화가 가능해야 하며 어떤 회사인지 등에 대해 상세히 설명해야한다.

2. Winqual(http://winqual.microsoft.com)
Winqual 계정 만들고 Requirment 문서에 맞추어 Device 및 Driver를 제작한다.

3. WLK(Windows Logo Kit)
http://connect.microsoft.com에서 WLK를 다운 받는다. 혹은 http://www.microsoft.com/whdc(한글 사이트 오픈함) 에서 받을 수 있다.
Server(Windows Server 2003)와 Client를 구축 한 후 DTM을 각각에 Server용과 Client용으로 인스톨 한다.
DTM을 돌린다.

4. Submit
DTM을 돌린 후 나오는 CPK파일, CAB파일로 (모두 pass되어야 함 ※예외도 있음) Submit을 한다.
CAB파일 안에는 CPK파일과 드라이버 파일이 포함된다. Winqual의 Create a Logo Submit에서 CAB파일을 만든다.
CAB파일을 업로드하면 MS에서 직접 검사한다. 기간은 하루에서 삼일 정도 소요 된다.
이때 터치스크린 디바이스 드라이버의 경우 터치스크린 제품을 직접 대만에 있는 하드웨어 랩으로 송부해야한다.

5. 관리
WHQL테스트를 통과했으면 WHQL사이닝 된 catalog파일을 MS에서 받을 수 있다.
이후 winqual홈페이지를 통해 드라이버를 관리 할 수 있으며 통과된 후에 우리의 드라이버를 직접 업로드 하면 된다.(WHQL을 통과한 드라이버는 마이크로소프트 웹사이트를 통하여 다운로드 및 업데이트 가능하도록 지원함)

내용 상세:

DTM이전 준비
- VeriSign얻기 : 실제 존재하는 회사인지 확인하는 과정. 믿을 수 있는 회사인지 확인하는 과정.
- Billing 정책 :  WHQL Submit하는 경우 OS family별로 돈이 든다. (대략적으로 건당 $250으로 생각하면 됨.)
이제 중요한 것이 per OS가 아니라 per family인데, Windows XP와 Windows 7 드라이버를 각각 인증 받는 경우 $250 * 2 = $500의 비용이 들지만 Windows 7 x86, Windows 7 x64를 인증 받는 경우 $250만 든다. 물론 상호 호환 되도록 드라이버를 잘 짜야겠지만..
- Requirment는 Winqual의 LogoPoint에서 얻을 수 있다. 모두 영어로 돼있는데 실제 외국인들도 이 문서 읽는거 힘들어 한다고 한다. 팁을 주자면 잘 모르겠으면 그냥 만든 후에 DTM돌려서 에러 나는 부분을 수정해주는게 낫다고 한다.
- Winqual의 용어들 : 
  - Logo Policy : 정책에 관한것들. Billing Policy라던지.. 핸드폰의 경우 MP3도 되고 카메라도 되고 이동식 저장장치도 되고 이러는데 어떤 로고를 받아야 하는가.. 이런 정책들. 나와 관련있는 분야가 아니라서 대충 넘겨 들음.
  - Logo Requirment : 장치가 충족해야 하는 기준. Fundamental 항목은 정독하도록 하자.
  - If Implemented : 만약 If Implemented가 붙는 항목이 있다면 이 부분은 DTM에서 조건부로 pass해야 하는 항목이다. 특정 기능을 지원하는 경우 만족시켜야 하는 Requirment이다.
- Logo Point를 확인하는 것이 매우 힘든데, 여길 찾기보다는 Prepared Requirment Report가면 Device별로 분류가 다 되어있다.
- All Policy는 반드시 정독하도록 한다.

Packaging and Submission
- DTM test가 끝나면 cpk파일이 나온다. 이것과 드라이버를 묶어서 cab파일을 만든다. (Winqual의 Create a Logo Submission메뉴에서 만들 수 있다.) 업로드 하고 MsgBox뜰 때까지 기다린다.(업로드 시간이 좀 걸릴 때가 있다.) 메세지 박스 확인하면 창을 닫아도 된다.
- DTM기본 계정의 비밀번호는 Testpassworld,1 이다.

Artifact
- 통과된 우리 드라이버 업로드하고, 언제부터 다운로드를 가능하게 할지, 다운로드 중지 요청 등등을 관리한다.


DTM 돌리기 (진행 : 윤석원 책임 연구원)
WLK이해하고 DTM돌리고 CPK파일 생성까지.. 간략하게 해봄
MS에서 test할땐 DTM Server한대에 여러대의 Client를 물려서 테스트 한다고 한다. -> 시간 절약
DTMInstall의 KitSetup.exe로 Server와 Client에 각각 설치한다.

세미나에서 Demo는 이미 Logo Test가 통과된 제품인 Sony Walkman으로 시연하였다.
실제 DTM에서 쓰는 것은 Job Monitor와 Device Console 메뉴 뿐이다.
Job Monitor의 Default Pool가면 Client PC가 있다. 이제 새 Pool을 만들 어서 그 안으로 조작할 Client PC를 옮긴다음 마우스 우측 버튼을 눌러서 Client PC의 Status를 리셋한다. 이게 Ready로 바뀌면 Client의 Test 준비가 끝난 것이다. 이제 Test를 돌리기 위해 Device Console에 들어간다.
New Submission하여 예제에서는 mp3 test이고 그냥 나오는 글 읽어서 다음다음다음 누른다.
MS드라이버(자동 설치되는 녀석을 말하는 듯. 이동식 외장하드나 키보드, 마우스 등)는 I'm not Providing INF file에 체크한다.
Unclassfied는 무엇이냐면 디바이스가 규정되지 않은 녀석이다. 웬만해선 이거 체크할 일 없다.

사람들이 Stress Test 통과시키기가 너무 힘들다고 질문했는데 이건 경우의 수가 너무 많다고 CSS부서에 문의하라고 한다. CSS부서에 문의하는건 비용이 건당 20만~100만 정도 들어간다고 한다.

심각하지 않은 문제의 경우 Filter 시켜주면 된다.
시간이 없는 관계로 데모 시연에서는 두가지 테스트만 하였다.
USB-IF Test Certification ID Check와 USB Driver Level Re-Enumeration Test.

웃기게도 둘다 통과하지 못했다. 어째서?
USB-IF Test Certification ID Check의 에러 해결을 위해 Help의 USB-IF를 색인했다. Test ID를 넣으라고 돼있는데 이걸 어디서 구하느냐.. 이제 로고를 확인해보자. 그리고 Requirment를 찾아가보자. 그럼 해당 항목에 대하여 USB Compliance툴을 돌려서 TID를 받으라고 돼있다.
여기서 Errata와 Contingency 개념이 등장한다.
Errata는 DTM툴의 문제.. filter를 써서 fail을 pass로 바꿀 수 있다. Winqual 가면 오른쪽 상단에 바로 filter를 다운 받을 수 있도록 링크가 있다. 현재까지 확인된 Errata를 볼려면 https://winqual.microsoft.com/EC에 가서 확인한다. 에라타 대부분이 만료일이 있다. 참고로 USB-IF Test Certification ID Check의 만료일은 2011년 몇월까지더라..
위 사이트의 Filter Type에서 AutoTriage를 보면 Fail을 Pass로 바꾸는 법이 나온다. 어짜피 대부분이 filter받아서 설치해라.. 라고 돼있다고 한다.

필터 적용은, 우선 다운 받은 .cab파일의 압축을 풀어서 DTM Controller 폴더 가서 updatefilter.sql을 붙여넣고 UpdateFilters.exe를 cmd에서 실행한다. 이후 Device Console가서 Status 다시 누르면(Refresh) 필터가 적용 된다.(차라리 미리 적용해놓고 DTM을 돌리는게 낫지 않을까 -_-??)

이제 USB Driver Level Re-Enumeration Test를 보자. 이것도 fail나있다.
이제 등장하는 개념이 Preview Filter이다. 이걸 적용한다고 해서 fail이 pass로 바뀌진 않는다.
자, 위 항목의 오류 레포트(로그를 말하는 거겠죠?)를 보면 Preview Test ~~~ 라고 뭐라고 뜨는데.. 이건 'Fail이어도 통과 됨'이라는 뜻이다. 나중에 공식화 되면 반드시 통과돼야하는 항목이기 때문에 미리 대비하긴 해야한다. 여튼 한마디로 USB Driver Level Re-Enumeration Test는 지금은 통과할 필요 없다는 말씀..

이제 Device Console 왼쪽 창에서 최상위 폴더 누르고 Create CPK file... 해준다. 그럼 CPK파일이 생성된다.

필터 적용 했는데도 문제 발생하면 어떻게 할 것인가!?
1. DTM을 다시 돌린다. (절대 Rerun버튼 누르지 말고 다시 생성해서 하도록 한다.)
2. Filter는 매일 매일 업데이트 되기 때문에 계속해서 확인해 본다.
3. 에러난 항목의 Auto Triage를 본다.
4. 때에따라 BIOS Update가 필요하다. 특히 USB Test는 꼭 필요하다. (그러니까 메인보드도 반드시 Logo인증 된 제품 써야겠죠?)
5. QFE Update... 이건 DTM문제다. DTM을 업데이트 하자.
6. CSS팀에 문의한다. Siva라고 인도인인데.. 매우 친절하다.. 워낙 영어 못하는 사람 많이 받아봐서 그런지 어설픈 영어 써도 다 해주더라 -_ -ㅋㅋ 질문할땐 자세하게 스샷 찍어서 보내도록 한다.

터치스크린의 경우
Windows 7부터는 Touch Screen Driver를 지원한다.
Touch Screen Driver를 지원하기 위해 Device는 반드시 멀티 터치 기능이 제공되야 한다.
만약 멀티 터치가 없으면, 즉 싱글 터치만 지원하면 그건 Touch Screen이 아니라 Digitizer이기 때문에 Digitizer WHQL을 받으면 되겠다. 만약 회사에서 멀티 터치 스크린에 관련한 Logo인증이 필요한 경우 한국 MS에서 적극적, 전략적으로 기술 지원을 도와준다고 한다. (2010년 5월 현재)


Device Stage (진행 : 이동석 수석 연구원)
Win 7부터는 장치의 Device Stage를 지원한다. 현재 무슨 싱크 프로그램 무슨 싱크 프로그램 해서 특히 MP3나 핸드폰 같은거 컴퓨터랑 연결 할려면 이것 저것 귀찮다. 그 싱크 프로그램을 Win 7에서는 Device Stage라는 이름으로 직접 지원한다. (이게 좀 뽀대가 난다.)
만드는건 Firmware에서 Property하나만 만들면 되고 XML로 이루어진 메타태그만 수정해 주면 되기 때문에 하루밖에 걸리지 않는다고 한다. 하지만 지원하는 장치가 현재 매우 적다. 메모를 하지 않았는데 기억나는게 카메라, 프린터, MP3 이정도였던 것 같다. 2010년 5월 현재, 디바이스가 Device Stage를 지원 할 경우 MS에서 Logo 인증 부터 기술 지원을 무료로 해준다고 한다.


마지막으로 해당 세미나는 일회 성이 아닌 정기적으로 운영될 계획이라고 한다. 또 참여해야지!
저작자 표시 비영리 변경 금지
신고
0 Comments
댓글쓰기 폼