This is an old revision of the document!
# Junsi iCharger 4010Duo - Linux Setup Guide (Debian/LMDE)
Diese Anleitung beschreibt die Einrichtung des Systems für den Zugriff auf Junsi iCharger Hardware via USB. Aufgrund der Composite-Bauweise (HID & Massenspeicher) wird der Zugriff über PyUSB anstelle von hidraw/hidapi durchgeführt.
## 1. Systemvoraussetzungen (Root)
Zuerst müssen die notwendigen System-Bibliotheken für die USB-Kommunikation installiert werden:
sudo apt update sudo apt install libusb-1.0-0 libusb-1.0-0-dev python3-venv
## 2. udev-Regeln konfigurieren
Die udev-Regel erfüllt zwei Zwecke:
- Gewährung von Schreibrechten für den User (via Gruppe plugdev).
- Zuweisung des uaccess-Tags für die aktuelle Session.
Erstellen Sie die Datei /etc/udev/rules.d/99-junsi.rules:
# Junsi iCharger 4010Duo - VID:0483 PID:5751
# Erlaubt Zugriff auf USB-Ebene und delegiert Rechte an den User
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="5751", MODE="0666", GROUP="plugdev", TAG+="uaccess"
Aktivieren Sie die Regeln ohne Neustart:
sudo udevadm control --reload-rules sudo udevadm trigger
Hinweis: Das Gerät danach einmal physisch aus- und wieder einstecken.
## 3. Diagnose-Checkliste
Führen Sie diese Befehle aus, um den Status der Verbindung zu prüfen:
| Prüfung | Befehl | Erwartetes Ergebnis |
|---|---|---|
| Kernel-Treiber | lsusb -t | Port für If 0 sollte Driver=[none] oder Driver=usbhid zeigen. |
| User-Berechtigung | ls -l /dev/bus/usb/xxx/yyy | crw-rw-rw- oder crw-rw—-+ (Gruppe plugdev). |
| ACL Status | getfacl /dev/bus/usb/xxx/yyy | Zeile user:DEINNAME:rw- muss vorhanden sein. |
## 4. Python Framework Setup
Innerhalb der virtuellen Umgebung (venv) des Projekts muss PyUSB installiert sein:
pip install pyusb
Der Transport in hardware/transports/hid_modbus.py muss zwingend detach_kernel_driver nutzen, um Interface 0 (HID) exklusiv zu beanspruchen.
## 5. Bekannte Probleme
- Massenspeicher-Blockade: Interface 1 (SD-Karte) wird oft vom Kernel als Laufwerk gebunden. Der PyUSB-Transport löst dies automatisch beim Verbindungsaufbau.
- SyntaxError bei Import: Achten Sie darauf, dass keine Citations oder Metadaten-Tags im Python-Code von
hid_modbus.pyenthalten sind.
