# Windows 11 설정 ## 연결 시 Access denied (Interface 5) ``` USB interface 5 점유 실패: [Errno 13] Access denied ``` → 케이블은 보이지만 Interface 5가 WinUSB가 아닙니다. 자세한 단계: [`WINDOWS-ACCESS-DENIED.md`](WINDOWS-ACCESS-DENIED.md) 요약: GUI **Wormhole 종료** → Zadig → **List All Devices** → **Smart Data Link (Interface 5) / MI_05** → **WinUSB** → Replace Driver → 케이블 재연결. ## 소스에서 실행 (오프라인 wheel 포함) 저장소의 `vendor/wheels/pyusb-1.2.1-py3-none-any.whl` 을 사용합니다. PyPI 접속이 없어도 됩니다. ```powershell cd juc500 py -3 -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install --no-index --find-links=vendor\wheels -r requirements.txt pip install -e . python -m juc500_xfer gui ``` 또는 `scripts\setup_windows.bat` 설치 후 실행 (Git Bash): ```bash ./start.sh ``` CMD/탐색기에서는 `start.bat` 을 사용해도 됩니다. ## 설치파일 사용 (권장) 1. `JUC500-Setup-win64.exe` 실행해 설치 또는 `JUC500-portable.exe` / zip 포터블 사용 2. 아래 **Zadig WinUSB** 설정 3. `JUC500` 실행 → 브라우저 GUI → **연결** Mac에서 빌드 산출물 받기: ```bash ./build-installer-windows.sh --ci ``` ## 1. Zadig로 WinUSB 바인딩 1. [Zadig](https://zadig.akeo.ie/) 실행 (관리자) 2. Options → **List All Devices** 3. `Smart Data Link` / `SmartKMLink` 선택 4. 하단에서 **Interface 5** 선택 → Driver: **WinUSB** → Replace Driver 5. 마찬가지로 **Interface 1** (CDC Data) 권장 6. Interface 2(Mass Storage), 3·4(HID) 는 그대로 두세요. 공식 Wormhole가 설치돼 있으면 GUI의 **Wormhole 종료** 또는 `python -m juc500_xfer kill-wormhole` 후 Zadig를 실행하세요. ### SmartKMLink가 목록에 하나만 보이고 MI_05가 없을 때 OEM 드라이버가 **복합 장치 전체**를 한 덩어리로 붙잡고 있으면 Zadig에 `MI_00`…`MI_05` 하위 항목이 안 나옵니다. 아래 순서로 인터페이스를 분리하세요. **A. Zadig 옵션 확인** 1. 관리자 실행 2. Options → **List All Devices** 체크 3. Options → **Ignore Hubs or Composite Parents** 체크 해제 후 목록을 다시 연다 4. 같은 이름이라도 USB ID가 `0EA0:7301` / `0EA0:7301 (MI_05)` 처럼 다른 항목이 있는지 확인 5. 장치 선택 후 창 하단 **Interface** 숫자(0~5)를 **5**로 바꿀 수 있으면 → WinUSB → Replace Driver **B. 장치 관리자로 OEM 드라이버 제거 (권장, MI_xx 분리)** 1. JUC500 / Wormhole 종료 2. `devmgmt.msc` → 보기 → **장치(연결)별** / **숨김 장치 표시** 3. **범용 직렬 버스 장치** · **휴대용 장치** · **디스크 드라이브** 등에서 `SmartKMLink` / `WORMHOLE` / `j5create` / `0EA0` 관련 항목을 모두 찾는다 4. 각 항목 → 제거 → **이 장치의 드라이버 소프트웨어 삭제** 체크 5. 케이블 분리 → 5초 대기 → 다시 연결 6. Windows가 **USB 복합 장치(usbccgp)** + 자식 `MI_00`…`MI_05` 로 다시 잡히면 Zadig List All Devices 에 Interface/MI_05 가 나타난다 7. **MI_05 (Interface 5)** 만 WinUSB 설치 (저장장치·HID MI는 건드리지 않음) **C. 그래도 MI_05가 없을 때 (최후 수단)** 복합 부모(`USB Composite Device` / usbccgp, USB ID `0EA0:7301` 에 MI 없음)에 WinUSB를 씌우면 libusb로 IF5에 접근 가능해질 수 있다. 단, 같은 케이블의 CD롬/HID/가상 시리얼이 Windows에서 안 보일 수 있다. 파일 전송만 필요하면 이 방법으로 진행한 뒤 `start.bat` 로 연결을 확인한다. 복구: 장치 관리자에서 해당 WinUSB 장치 제거(+드라이버 삭제) 후 케이블 재연결. ## 2. libusb DLL [libusb releases](https://github.com/libusb/libusb/releases) 에서 MS64/dll을 받아: ``` juc500/vendor/libusb-1.0.dll ``` 에 두거나 PATH에 추가합니다. ## 3. 실행 ```powershell py -3 -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt python -m juc500_xfer info python -m juc500_xfer recv --dest $env:USERPROFILE\Downloads -y ``` Mac 쪽에서 `send` 하면 전송이 시작됩니다.