2007년 7월 25일 수요일

[TIP]USB 2.0 장치 인식 실패

. 증상
  . USB 인식 실패 오류가 가끔 난다.
  . USB 2.0 장치를 USB 1.1로 인식한다.

  . USB 1.1로 인식했을 때
   . HI-SPEED 장치가 비HI-SPEED 장치에 설치되었다고 나온다.
   . '이 장치의 성능이 향상되었습니다.'라고 나온다.
   . 인식에 실패하거나 알 수 없는 장치 등으로 인식한다.
   . 인식 속도가 느림
   . 파일 복사시 초당 1MB 이상 속도를 내지 못한다.

  . USB 2.0으로 인식했을 때
   . 정확히 device driver들을 찾아서 장치를 인식한다.
   . 인식 속도가 빠름(연결 5초만에 인식하기도 함.)
   . 파일 복사시 초당 4MB 이상 속도가 나올 수 있다.


. 해결책
  1. 장치 이상 - A/S

  2. USB 2.0 지원 메인보드인지 확인

  3. 컴퓨터 앞에 달린 USB 구멍은 1.1만 지원하고 뒤에 달린 구멍은 2.0일 수 있음

  4. mp3, pmp 등 해당 제품의 USB driver를 설치

  5. 시작 -> 설정 -> 제어판 -> 시스템 -> 하드웨어 -> 장치관리자 ->
   범용 직렬 버스 컨트롤러->표준 확장(Enhanced) PCI - to - USB 호스트 컨트롤러를 사용안함으로 설정.

  6. 컴퓨터를 끄고, 전원케이블, USB 케이블 등 모든 케이블을 뽑는 다.
   잠시 그대로 둔 후 다시 켜본다.

  7. 전원공급부족일 수 있으니 더 큰 전력을 공급하는 파워로 바꾼다.
   . 파워써플라이 용량 계산 : http://www.spikorea.co.kr/
     -> 고객지원 -> 파워전력 측정

  8. Windows XP service pack 2 이상을 설치해야 USB patch가 설치된다.

  9. USB 허브에 전원 adapter를 꼽는다.

  10. Windows XP와 초기에 나온 NEC chipset의 충돌일 수 있다.
   . 전원관리기능(ACPI) 기능의 문제
   . 윈도우 설치시 표준피씨로 설정하여 설치한다.
   . 대신 자동종료가 안되고, 배터리 사용량이 줄어든다. 최대절전모드도 사용할 수 없게 된다. (사용하면 오류가 난다.)
   . 참고) http://blog.naver.com/dicer2k/5616751

. USB 2.0카드
  . 가격 : 5,000원

. USB 2.0 지원여부 확인 프로그램
  . usbcheck.exe - 메가패스 개발
   . http://www.nespot.com
   . http://www.iopsplay.com/home/iops_tip_read.html?CategoryInfo=&no=32355&Lstart=300&Lpage=3&keyword=&fld_gubun=

. USB 1.1 : Full Speed(12Mbps), Low Speed(최대1.5Mbps)
. USB 2.0 : Hi-Speed(480Mbps)

. 펌)  USB 에 대한 기초 이해와 개요
http://www.kmd.co.kr/include/upload/USB%BF%A1%20%B4%EB%C7%D1%20%B1%E2%C3%CA%20%C0%CC%C7%D8%BF%CD%20%B0%B3%BF%E4.pdf

USB 개요
USB(Universal Serial Bus)는 공통의 Connector 로 다양한 주변기기를 접속 가능하게 하

는 Interface 규격 입니다.  Hub 를 추가함으로써 최대 127 개의 기기를 접속 가능하며,USB

Interface 주변기기는 전원이 들어가있는 상태로 Install 이 가능한 “Plug & Play” 을 지원합
니다. USB 기기는 Cable 에 의한 USB 기기로 전원을 공급합니다.
이로 인해 새로운 전원 케이블을 접속하지 않고 동작하는 것이 가능하게 됩니다.단 공급 가
능한 전원은 “500mA 까지”로 정해져 있습니다.

USB 특징

1)고속 Serial 전송:
USB 는 4 개의 선을 이용하여 그 중에 2 개를 Data 전송용으로서 사용합니다.
일반적으로는 Parallel 전송이 Data 전송은 빠르다고 일컬어지고 있습니다만 “Parallel Cable 실드의 Cost 와 복수 선에 의한 노이즈 대책에 소요되는 Cost 문제로 최근에는 Serial 전송이 우위를 점하고 있습니다.


2)Host 를 필요로 하는 계층형
USB 에서는 Host 에 접속되어있는 USB Device(최대 127 대)의관리(PnP, 지역제어 등)를
행합니다.USB 에서는 반드시 Host 가 존재하고 Host 를 매개로 하여 제어를 행하지 않으면
통신 할 수 없습니다.최근 Embedded 기기 등에서도 Host 가 없는 USB 기기 통신에 대한 희망이 있어 이것을 해결하기위한 새로운 USB On-The-Go(OTG)라는 규격이 채용되고있습니다.


3) 다양한 데이터 전송속도
용도에 따라서 다양한 전송속도(Hi-Speed: 480Mbps),Full Speed(12Mbps),Low Speed(최대1.5Mbps) 를 선택 할 수 있습니다.
일반적으로는 Mouse/Keyboard 등의 비교적 저속의 기기는 Low-Speed,전송 속도가 필
요한 기기는 Full-Speed 가 사용되고 있습니다. USB1.1 의 사양에서는 Full Speed 에 의한 전송속도의 12Mbps 가 최대속도 입니다만 USB2.0 에서는 새롭게 Hi-Speed 에 의한 전송속도 480Mbps 가 최대속도가 됩니다.


. USB2.0 특징
Hi-Speed(480Mbps)의 지원
USB 2.0 은 USB1.1 을 고속화 한 Hi-Speed(480Mbps)를 구현한 규격입니다.
이에 의해 FS 에서는 부족했던 DATA 전송속도를 HS 에서 가능하게 되었습니다.
종래의 USB1.1 기기와의 혼용사용이 가능
Hi-Speed USB 기기와 USB1.1 기기가 혼재하는 환경에서도 Hi-Speed USB 의 속도를 잃지 않도록 설계되어 있습니다.


* Connector
USB2.0 에서는 USB1.1 의 A Connector, B Connector 외에 Mini-B Connector 를 표준화 하고 있습니다.Mini-B 는 주로 B Connector 를 채용하기 어려운 소형의 휴대기기를 위해 표준화 되었습니다.


* Cable
USB Cable 은 Full speed mode(주변기기 등)에서 최대 5m, Low Speed Mode 에서 (Key board, Mouse 등)에서 3m 까지 되어 있습니다. 20m 의 USB cable 등에서는 동작이 불안정하거나,주변기기가 정상적으로 동작하지 않는 경우가 있습니다.
-Vbus 전원 1 개(4.4~5.25V)
-GND 그라운드 1 개
-D+,D- 신호 2 개(0~3.6V)
-Full Speed Device/Hi-Speed Device: 실드선 필요, 최대 5M
-Low-Speed Device: 실드 선 불필요,최대 3M


* USB Host Controller
USB Host Controller(HCD)는 USB 의 제어를 행하는 Controller 입니다.현재 사용되고있는 것은 다음과 같은 것이 있습니다.


UHCI (Universal Host Controller Interface)
INTEL 이 주도하여 개발된 Interface 입니다. 주로 Intel/VIA 등의 Chipset 이 사용되고있습니다.


OHCI (Open Host Controller Interface)
Microsoft、Compaq、NS 등이 주도하여 개발한 Interface 입니다.NEC、SiS、Opti 등의 Chip에 사용되고 있습니다.


EHCI (Enhanced Host Controller Interface)
EHCI 는 Hi-Speed USB(HS) 전용의 Interface 입니다.Full Speed(FS)/Low
Speed(LS) 로 접속하는 경우에는 UHCI/OHCI 가 사용 됩니다.Hi-Speed USB 를
지원하는 OS 의 경우 통상 EHCI+UHCI,EHCI+OHCI」의 조합으로
동작합니다.


USB On-The-Go(OTG)
USB On-The-Go 는 USB Peer-to-Peer 에서 통신을 행하기 위한 구조로 짜넣은
Interface 입니다.Embedded 용 OS (Windows CE, Linux 등)에서 지원되고
있습니다.


*Address 의 설정
USB 는 Host Controller Chip 이 모든 것을 결정하고 지배하고 있으며,모든 전송은 Host 에서 시작하여 주변기기는 전송요구를 할 수 없습니다.주변기기에 허락되어있는 Host 로의 Action은 System 이 Suspend 하고 있을 때 자각하는 시계와 같이 System 을 깨우는 Remote Wake Up 기능입니다.Host Controller 는 Bus 에 전송개시를 전하는 Token 이란 Packet 을 Broad Cast 로 발행합니다.USB 에 접속된 주변기기는 접속 시에 Address 를 할당되기 때문에 Token 에 포함되는 Address 가 자신을 나타내지 않는 한 자신과는 관계없는 전송으로서 행하여지는 전송을 무시합니다.유일하게 대응하는 Address 를 가진 Device 만이 응답합니다.  Address 의 할당은 Hub 의 Down Stream Port 가 Hub 로써 PC 에 정확하게 인식될 때 까지 무효로 되어있는 것을 이용하여 행합니다.Hub 를 포함한 모든 주변기기는 설정되고 고유의 Address 를 할당 받을 때 까지 Default Address”00h”에 반응하는 것이 정해집니다. 또한 PC 는 첫번째의 장치가 어떻게 있는가를 이해하고,주변장치의 Address 설정 등의 실행이나 대응할 Driver 의 Load 를 행합니다.이것을 USB 에서는 Enumeration 이라 부릅니다. PC 는 첫번째의 주변장치가 Hub 인 것을 인식하면 Hub 의 Down stream Port 를 순서대로 유효로 하고 접속되어있는 장치가 어떻게 있는가를 이해하고 주변장치의 Address 설정 등의 실행이나 대응하는 Driver 의 Load 를 반복하여 행합니다.


* USB 1.1 Data 전송방식(Control, Interrupt, Bulk, Isochronous)
USB 는 다양한 전송방식(Control, Interrupt, Bulk, Isochronous)이 준비되어 있습니다,
또 Isochronous 전송을 제외한 전송방식에서는 Data 의 정당성을 Check 하는 사양이 들어있습니다.Data Rate 로써 USB1.x 에서는 12MHz 의 Full-Speed 와 1.5MHz의 Low-Speed 종류를 지원하며, USB2.0 에서는 고속의 480MHz 의 High-Speed 를 지원합니다.


Control 전송: Configuration, Address 정보 등의 Setup 정보 송수신에 사용되며,USB 기기의 PnP Data 전송을 행하는 방식으로, 주변기기의 제어등에 필요한 정보를 주고받는데 사용되는 전송방식 입니다.
USB 환경 하 에서의 Address 설정,Device 설정등에 이용되기 때문에 어떠한 Device 라도 이 전송방식을 이용합니다.
High-Speed 480MHz : 64 byte/packet
Full-Speed 12MHz : 8,16,32,64 byte/packet
Low-Speed 1.5MHz : 8 byte/packet
적용제품 : 모든 디바이스


Bulk 전송 :
Interrupt 전송이나 Isochronous 전송이 쉬고 있을 때 비주기적으로 대량의 Data 를 효율적
으로 전송하는 방식으로,화상입력,글자,Storage 종류의 장치에서 요구되는 것은 대량의
Data 를 정확하게 전송하는 것 입니다.높은 Data 전송의 신뢰성을 구현 가능하지만,Bus
전체의 이용효율을 올리기 위해서 Data 전송에 대하여 시간적인 제약을 받지않는 Data 의
송수신을 행할 때 이용하는 것이 효율적 입니다.
High-Speed 480MHz : 512 byte/packet
Full-Speed 12MHz : 8,16,32,64 byte/packet
Low-Speed 1.5MHz : -
전송의 우선순위 : 우선순위가 낮게 설정되어 있습니다.
적용제품 : HDD,FDD,CD-ROM, Printer, Scanner, Digital still
Camera,유선 LAN,무선 LAN,
-대량의 Data 전송: USB 가 사용되고있는경우


Interrupt 전송
설정한 주기시간마다 소량의 Data 를 전송 하는 Band 폭이 낮은 Data 전송방식으로
USB 에서는 모든 Data 전송의 요구는 Host 에서 하게 되고, 일정주기마다 Host 가 Data
송신 또는 수신을 행하는 방식을 말합니다.
High-Speed 480MHz : 1-1024 byte/packet
Full-Speed 12MHz : 1-64 byte/packet
Low-Speed 1.5MHz : 1-8 byte/packet
적용제품 : Mouse, Keyboard 등


Isochronous 전송
Real time 성 이 요구되는 전송방식으로, 한 Frame 당 전송 데이터 용량을 보증하며, 소리
나 동화상을 취급하는 장치에서와 같이 시간의 개념을 정확히 반영하여,일정주기사이에 일
정량의 Data 를 전송하는 경우 시간을 Frame 단위로 나누어 일정량의 Data 를 정해진 주기
에 전송하는 것 입니다.
High-Speed 480MHz : 1-1024 byte/packet
Full-Speed 12MHz : 1-1023 byte/packet
Low-Speed 1.5MHz : -
적용제품 : Spea


댓글 1개: