I've been looking for a way to get this working with my Model I, and so far I've determined the following:
- the Model I has a different vendor ID (0x093A)
- the Model I also has a different interface. It wasn't being detected with 0x02, but 0x01 was detected, although it didn't work
- The Model I's product ID is 0x821D
I changed the src/glorious.rs file as such:
use strum_macros::EnumIter;
pub const VENDOR_ID: u16 = 0x093A;
pub const INTERFACE: i32 = 0x01;
#[derive(Debug, EnumIter)]
pub enum Device {
ModelO = 0x2011,
ModelD = 0x2012,
ModelOMinus = 0x2013,
ModelDMinus = 0x2025,
WiredModelO = 0x2022,
WiredModelD = 0x2023,
WiredModelOMinus = 0x2024,
ModelD2Pro = 0x2034,
ModelIWireless = 0x821D,
}
However, when I run report battery or report firmware, I get:
Error: hidapi error: ioctl (SFEATURE): Broken pipe
I also tried messing around with mow to get it to work before I found your fork; I changed the filter in src/main.rs to match the Model I but ended up with this:
thread 'main' panicked at src/report/battery.rs:12:40:
called `Result::unwrap()` on an `Err` value: HidApiError { message: "hid_error is not implemented yet" }
I've been looking for a way to get this working with my Model I, and so far I've determined the following:
I changed the
src/glorious.rsfile as such:However, when I run
report batteryorreport firmware, I get:I also tried messing around with mow to get it to work before I found your fork; I changed the filter in
src/main.rsto match the Model I but ended up with this: