Files
juc500/dist-offline/juc500-offline-update-20260721-134751/docs/WINDOWS.md
T
2026-07-21 21:11:19 +09:00

4.1 KiB

Windows 11 설정

연결 시 Access denied (Interface 5)

USB interface 5 점유 실패: [Errno 13] Access denied

→ 케이블은 보이지만 Interface 5가 WinUSB가 아닙니다.
자세한 단계: 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 접속이 없어도 됩니다.

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):

./start.sh

CMD/탐색기에서는 start.bat 을 사용해도 됩니다.

설치파일 사용 (권장)

  1. JUC500-Setup-win64.exe 실행해 설치
    또는 JUC500-portable.exe / zip 포터블 사용
  2. 아래 Zadig WinUSB 설정
  3. JUC500 실행 → 브라우저 GUI → 연결

Mac에서 빌드 산출물 받기:

./build-installer-windows.sh --ci

1. Zadig로 WinUSB 바인딩

  1. Zadig 실행 (관리자)
  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 에서 MS64/dll을 받아:

juc500/vendor/libusb-1.0.dll

에 두거나 PATH에 추가합니다.

3. 실행

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 하면 전송이 시작됩니다.