🇺🇸 English Version | 🇹🇭 ภาษาไทย
Unofficial Linux driver for Robobloq SyncLight (and compatible devices). Since the manufacturer only provides Windows/macOS software, I reverse-engineered the USB HID protocol to make it work on Linux!
- Full RGB Color Control: Set any custom color.
- Rainbow/Cycle Modes: Built-in loop effects.
- Keep-Alive: Prevents the device from reverting to demo mode.
- Screen Sync (Ambilight): Real-time screen capture synchronization (Coming Soon).
- Python 3.x
hidapilibrary
- Install dependencies:
sudo apt install libhidapi-hidraw0 pip install hidapi
2. **Clone this repository:**
```bash
git clone [https://github.com/singto1597/syncLight-Robobloq-Linux.git](https://github.com/singto1597/syncLight-Robobloq-Linux.git)
cd syncLight-Robobloq-Linux
- Setup udev rules: To control the device without
sudo, create a rule file:
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="fe07", MODE="0666"' | sudo tee /etc/udev/rules.d/99-synclight.rules
Then reload:
sudo udevadm control --reload-rules && sudo udevadm trigger
Run the script directly:
python3 synclight.py
I analyzed the USB packets using Wireshark (with USBPcap) and replicated the HID protocol in Python.
- Vendor ID:
0x1a86(WCH) - Product ID:
0xfe07 - Protocol: 64-byte HID report with Checksum validation.
คือ ผมซื้อไฟ LED ของ Robobloq มา แต่ว่า ผมใช้ Linux ไงง แต่ทาง Robobloq เขาไม่ได้ทำมาเพื่อรองรับระบบ Linux ผมก็เลยลองใช้ Wireshark เพื่อดูว่ามันส่งข้อมูล คำสั่ง ไปให้กับตัวไฟของผมยังไง แล้วก็ลองแกะๆ สั่งๆคำสั่งมันไปดู ได้เฉยเว้ยเห้ยย! 🎉
ก็เลยทำโปรเจกต์นี้ขึ้นมาแจก เผื่อใครใช้ Linux แล้วเจอปัญหาเดียวกัน เอาไปใช้ได้เลยครับ!
- สั่งเปลี่ยนสี RGB ได้ตามใจชอบ
- มีโหมดรุ้ง (Rainbow) วนลูปสวยๆ
- แก้ปัญหาไฟตัด (Keep-Alive) คือถ้าไม่ส่งข้อมูลนานๆ ไฟมันจะดีดกลับไปโหมด Demo อันนี้แก้ให้แล้ว
- Screen Sync: เดี๋ยวจะทำเวอร์ชันดูดสีหน้าจอตามมาทีหลัง (เร็วๆ นี้)
- ลงของที่ต้องใช้ก่อน:
sudo apt install libhidapi-hidraw0
pip install hidapi
- ดึงโค้ดไปลงเครื่อง:
git clone [https://github.com/singto1597/syncLight-Robobloq-Linux.git](https://github.com/singto1597/syncLight-Robobloq-Linux.git)
cd syncLight-Robobloq-Linux
- ตั้งค่าให้มันมองเห็น USB (สำคัญมาก!):
ปกติ Linux มันจะบล็อคไม่ให้เรายุ่งกับ USB ตรงๆ ถ้าขี้เกียจพิมพ์
sudoทุกรอบ ให้ก๊อปคำสั่งนี้ไปรันทีเดียวจบ:
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="fe07", MODE="0666"' | sudo tee /etc/udev/rules.d/99-synclight.rules
เสร็จแล้วรีโหลดระบบ 1 ที:
sudo udevadm control --reload-rules && sudo udevadm trigger
รันไฟล์ Python ได้เลย:
python3 synclight.py
(ถ้าไฟติดแล้วเปลี่ยนสีได้ ก็คือจบงานครับ!)
Created by singto1597