juc500 정상동작

This commit is contained in:
Macbook
2026-07-21 21:04:25 +09:00
parent a423db0556
commit bb9874b931
2917 changed files with 708025 additions and 668 deletions
+41 -19
View File
@@ -1,6 +1,17 @@
# JUC500 File Transfer (Apple Silicon ↔ Windows 11)
# JUC500 / JUC700 File Transfer (Apple Silicon ↔ Windows 11)
j5create **JUC500** USB 3.0 Wormhole 케이블로 **Apple Silicon Mac**과 **Windows 11** 사이 파일을 직접 전송하는 오픈 구현입니다.
j5create **JUC500** / **JUC700** USB 3.0 Wormhole 케이블로 **Apple Silicon Mac**과 **Windows 11** 사이 파일을 직접 전송하는 오픈 구현입니다.
## 지원 케이블
| 모델 | USB ID | 비고 |
|------|--------|------|
| **JUC500** | `0711:7500` | Mac ↔ Windows, Smart Data Link |
| **JUC700** | `0711:7000`–`700F` | Windows DSS(화면 공유) 포함, **데이터 링크는 동일 IF5** |
케이블 종류는 **USB로 자동 감지**됩니다. GUI 상단에 `JUC500` 또는 `JUC700`이 표시됩니다. 별도 선택 설정은 필요 없습니다.
> JUC700의 화면 미러/확장(DSS) 기능은 공식 Wormhole 앱 전용이며, 본 프로그램은 **파일 전송·입력공유**만 IF5 bulk 프로토콜로 제공합니다.
## 왜 공식 앱이 Silicon Mac에서 안 되나
@@ -8,7 +19,7 @@ j5create **JUC500** USB 3.0 Wormhole 케이블로 **Apple Silicon Mac**과 **Win
| 항목 | 내용 |
|------|------|
| USB ID | `0711:7500` / Product: **Smart Data Link** |
| USB ID | `0711:7500` (JUC500) · `0711:700x` (JUC700) / Product: **Smart Data Link** |
| 가상 CD | `WORMHOLE` (FAT12, 공식 설치본 포함) |
| 번들/공식 Mac 앱 (2024, v1.0.1463.47) | **x86_64 전용**, Apple Silicon 네이티브 **arm64 없음** |
| USB 스택 | deprecated `IOUSBDevice` API (`kIOUSBDeviceInterfaceID500`) |
@@ -47,26 +58,23 @@ python -m juc500_xfer info
### Windows 11
1. Python 3.10+ 설치
2. [libusb](https://libusb.info/) 또는 이 저장소 `vendor/libusb-1.0.dll` 을 PATH/`vendor/` 에 배치
**폐쇄망/오프라인:** `vendor/` 에 Python embeddable·wheel·libusb 가 포함되어 있습니다.
복사 후 `scripts\setup_windows.bat` → `.\start.bat` (자세한 절차: [`docs/OFFLINE-WINDOWS.md`](docs/OFFLINE-WINDOWS.md)).
1. (온라인 PC면) Python 3.10+ 선택 설치 — 없어도 `vendor\python-windows` 사용
2. 이 저장소 `vendor/libusb-1.0.dll` + `vendor/wheels` 사용 (PyPI 불필요)
3. **Zadig**로 `Smart Data Link` 복합 장치의
- **Interface 5** (Vendor Specific)
- **Interface 1** (CDC Data, 권장)
에 **WinUSB** 드라이버 설치
4. 공식 j5create Wormhole / 자동실행 소프트웨어는 **종료·제거** (같은 인터페이스를 점유함)
```powershell
```bat
cd juc500
py -3 -m venv .venv
.\.venv\Scripts\Activate.ps1
# vendor\wheels\pyusb-*.whl 사용 (PyPI 불필요)
python -m pip install --no-index --find-links=vendor\wheels -r requirements.txt
pip install -e .
python -m juc500_xfer info
scripts\setup_windows.bat
.\start.bat
```
또는 `scripts\setup_windows.bat` 실행.
**장치가 안 보이면:**
```powershell
@@ -83,6 +91,8 @@ GUI **Wormhole 종료** 버튼 또는 `python -m juc500_xfer kill-wormhole` 로
### GUI (권장)
**macOS**
```bash
# 최초 1회
./scripts/setup_macos.sh
@@ -91,21 +101,29 @@ GUI **Wormhole 종료** 버튼 또는 `python -m juc500_xfer kill-wormhole` 로
./start.sh
```
**Windows 10/11** (Git Bash)
```bash
# 최초 1회 (PowerShell/CMD)
scripts\setup_windows.bat
# 이후 (Git Bash)
./start.sh
```
인자를 넘기면 CLI로 동작합니다: `./start.sh doctor`, `./start.sh kill-wormhole` 등.
양쪽 PC에 케이블을 꽂고, **먼저 수신 쪽**, 이어서 송신 쪽을 실행합니다.
**Windows (수신 예)**
```powershell
python -m juc500_xfer recv --dest Downloads -y
```bash
./start.sh recv --dest "$USERPROFILE/Downloads" -y
```
**Mac (송신 예)**
```bash
python -m juc500_xfer send ~/Desktop/archive.zip
# 또는
./start.sh send ~/Desktop/archive.zip
```
@@ -145,7 +163,11 @@ python -m juc500_xfer gui
# → http://127.0.0.1:8765/
```
양쪽 PC에서 GUI를 실행한 뒤 **연결**을 누르세요. (입력공유는 미지원, UI만 동일 구조)
양쪽 PC에서 GUI를 실행한 뒤 **연결**을 누르세요.
**입력공유(가장자리 제어권):** 양쪽 모두 동일 소스 + `pynput` 설치 후 「입력공유 켜기」.
상대 PC를 오른쪽에 둔다고 가정합니다. 마우스 오른쪽 끝 → 상대 제어, 왼쪽 끝(또는 Ctrl+Shift+←) → 이 PC 복귀.
macOS는 **손쉬운 사용** 권한이 필요합니다.
Windows 설치본은 `JUC500.exe` / `JUC500-portable.exe` 더블클릭으로 동일 GUI가 열립니다.