USB analysis and revised protocol for devices with firmware v4.0.2
-
-
Save jonasmalacofilho/036728eade8da639812ebf9f5dfafd78 to your computer and use it in GitHub Desktop.
Fan: performance mode
Pump: performance mode
Firmware: v4.0.2
CAM: v3.6.5 (before that: v3.5.80)
set fan speed to 50%
001417: Bulk or Interrupt Transfer (DOWN), 2018-07-23 10:53:09.4472158 +0.8386039 (1. Device: NZXT USB Device)
Pipe Handle: 0x7c301d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4D 00 00 32 00 00 00 00 00 00 00 00 00 00 00 .M..2...........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
001419: Bulk or Interrupt Transfer (UP), 2018-07-23 10:53:09.4643287 +0.0000083. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1A 01 02 C5 08 E5 00 00 00 78 04 00 00 02 1E ....Å.å...x.....
00 00 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 ...=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
set pump speed to 70%
001421: Bulk or Interrupt Transfer (DOWN), 2018-07-23 10:53:09.4643481 +0.0000139 (1. Device: NZXT USB Device)
Pipe Handle: 0x7c301d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4D 40 00 46 00 00 00 00 00 00 00 00 00 00 00 .M@.F...........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
001423: Bulk or Interrupt Transfer (UP), 2018-07-23 10:53:09.4812748 +0.0000053. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1A 01 02 C5 08 E5 00 00 00 78 04 00 00 02 1E ....Å.å...x.....
00 00 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 ...=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
001425: Bulk or Interrupt Transfer (UP), 2018-07-23 10:53:09.7293620 +0.2480844. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1A 01 02 C5 08 D5 00 00 00 78 04 00 00 02 1E ....Å.Õ...x.....
00 A0 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 . .=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
001427: Bulk or Interrupt Transfer (UP), 2018-07-23 10:53:10.8173441 +1.0879583. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1A 01 02 C6 08 E5 00 00 00 78 04 00 00 02 1E ....Æ.å...x.....
00 00 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 ...=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
001429: Bulk or Interrupt Transfer (UP), 2018-07-23 10:53:11.9043535 +1.0869994. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1A 01 02 C6 08 E5 00 00 00 78 04 00 00 02 1E ....Æ.å...x.....
00 00 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 ...=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
001431: Bulk or Interrupt Transfer (UP), 2018-07-23 10:53:12.9923128 +1.0879311. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1A 01 02 C6 08 E5 00 00 00 78 04 00 00 02 1E ....Æ.å...x.....
00 00 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 ...=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
001433: Bulk or Interrupt Transfer (UP), 2018-07-23 10:53:14.0814666 +1.0891366. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1A 01 02 C6 08 D5 00 00 00 78 04 00 00 02 1E ....Æ.Õ...x.....
00 00 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 ...=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
001435: Bulk or Interrupt Transfer (UP), 2018-07-23 10:53:15.1693532 +1.0878794. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1A 01 02 C7 08 D5 00 00 00 78 04 00 00 02 1E ....Ç.Õ...x.....
00 00 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 ...=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
after setting fan and pump profiles to silent
010085: Bulk or Interrupt Transfer (UP), 2018-07-23 11:38:11.5178498 +1.1019490. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x7c3aed10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 1B 03 01 8D 08 4C 00 00 00 78 04 00 00 02 1E ....�.L...x.....
00 00 2E 3D F9 AA 86 9B 59 53 91 05 4C C7 AA 80 ...=ùª†›YS‘.LǪ€
A6 8D A0 82 C6 4D BD 55 0A 83 3A A8 F7 D5 C9 49 ¦� ‚ÆM½U.ƒ:¨÷ÕÉI
4D 84 5D D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„]Ø@ˆr©ÐCIß°ÒÊ’
Messages to the device: set fan and pump speeds; 65 bytes long; sent every 5 seconds.
Note: CAM v3.6.5 only regularly sends fan speed updates; this must have to do with the behavior observed on linux that setting either pump or fan manual speed restores previously set manual speed for the other channel.
| Byte | Range | Example | Description |
|---|---|---|---|
| 0x00 | 0x02 | 0x02 | ?? |
| 0x01 | 0x4d | 0x4d | ?? |
| 0x02 | 0x00 or 0x40 | 0x40 | Channel: fan (0x00) or pump (x040) |
| 0x03 | 0x00 | 0x00 | ?? |
| 0x04 | 0x19-0x64 or 0x3c-0x64 | 0x46 | Speed/maximum (fan: 25%,100%; pump: 60%,100%) |
| 0x05-0x40 | 0x00 | 0x00 | padding (optional?) |
(in this example, set: pump speed to 70%)
Messages from the device: check liquid temperature and fan/pump speeds; 64 bytes long; read every second.
| Byte | Range | Example | Description |
|---|---|---|---|
| 0x00 | 0x04 | 0x04 | ?? |
| 0x01 | - | 0x1a | Liquid temperature in C: integer part |
| 0x02 | 0x00-0x09 | 0x01 | Liquid temperature in C: decimal part |
| 0x03 0x04 | - | 0x02c5 | Fan speed in rpm |
| 0x05 0x06 | - | 0x08e5 | Pump speed in rpm |
| 0x07-0x09 | 0x00 | 0x00 | ?? |
| 0x0a | 0x78 | 0x78 | ?? |
| 0x0b | - | 0x04 | Firmware version: major |
| 0x0c 0x0d | - | 0x0000 | Firmware version: minor |
| 0x0e | - | 0x02 | Firmware version: patch |
| 0x0f-0x3f | ?? | ?? | ?? |
(in this example, read: 26.1 C liquid temperature, 709 rpm fan speed, 2277 rpm pump speed, firmware v4.0.2)
Fan: performance mode
Pump: performance mode
Firmware: v4.0.2
CAM: v3.6.5 (before that: v3.5.80)
Logo LED/text: fixed, breathing, fading, pulse and spectrum wave
Ring LED: fixed, breathing, fading, marquee, covering marquee, pulse, spectrum wave, alternating, wings, tai chi, water cooler and loading
Super (separate ring LEDs): fixed, breathing and wave
sync both channels
001775: Bulk or Interrupt Transfer (DOWN), 2018-07-24 14:31:09.5999260 +0.2922872 (1. Device: NZXT USB Device)
Pipe Handle: 0xed227d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 00 00 02 99 00 FF 00 99 FF 00 99 FF 00 99 .L...™.ÿ.™ÿ.™ÿ.™
FF 00 99 FF 00 99 FF 00 99 FF 00 99 FF 00 99 FF ÿ.™ÿ.™ÿ.™ÿ.™ÿ.™ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
independent channels
001191: Bulk or Interrupt Transfer (DOWN), 2018-07-24 14:28:27.3876275 +0.7419863 (1. Device: NZXT USB Device)
Pipe Handle: 0xed227d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 01 00 02 FF FF FF FF FF FF FF FF FF FF FF .L...ÿÿÿÿÿÿÿÿÿÿÿ
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
001193: Bulk or Interrupt Transfer (DOWN), 2018-07-24 14:28:27.3896065 +0.0000161 (1. Device: NZXT USB Device)
Pipe Handle: 0xed227d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 00 02 00 99 FF 99 00 FF 99 00 FF 99 00 .L....™ÿ™.ÿ™.ÿ™.
FF 99 00 FF 99 00 FF 99 00 FF 99 00 FF 99 00 FF ÿ™.ÿ™.ÿ™.ÿ™.ÿ™.ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
single color setting
000249: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:25:43.8502614 +0.0000108 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 06 02 CC FF 00 FF CC 00 FF CC 00 FF CC .L...Ìÿ.ÿÌ.ÿÌ.ÿÌ
00 FF CC 00 FF CC 00 FF CC 00 FF CC 00 FF CC 00 .ÿÌ.ÿÌ.ÿÌ.ÿÌ.ÿÌ.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
[...]
001273: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:39:27.5815690 +0.0000080 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 06 E2 26 FF 08 FF 26 08 FF 26 08 FF 26 .L..â&ÿ.ÿ&.ÿ&.ÿ&
08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 .ÿ&.ÿ&.ÿ&.ÿ&.ÿ&.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
interval: 5 levels, slowest to fastest, encoded like in fading
color cycle: from 1 to 8 colors, encoded like in fading
sync text and ring, fading, normal, rgb0 0x350017, rgb1 0xFF2608, rgb2 0x0000FF
000235: Bulk or Interrupt Transfer (DOWN), 2018-07-24 18:16:07.8601258 +0.9298588 (1. Device: NZXT USB Device)
Pipe Handle: 0xdc3c3250 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 00 01 02 00 35 17 35 00 17 35 00 17 35 00 .L....5.5..5..5.
17 35 00 17 35 00 17 35 00 17 35 00 17 35 00 17 .5..5..5..5..5..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
000237: Bulk or Interrupt Transfer (DOWN), 2018-07-24 18:16:07.8621946 +0.0000106 (1. Device: NZXT USB Device)
Pipe Handle: 0xdc3c3250 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 00 01 22 26 FF 08 FF 26 08 FF 26 08 FF 26 .L.."&ÿ.ÿ&.ÿ&.ÿ&
08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 .ÿ&.ÿ&.ÿ&.ÿ&.ÿ&.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
001031: Bulk or Interrupt Transfer (DOWN), 2018-07-24 18:20:09.5999207 +0.0000070 (1. Device: NZXT USB Device)
Pipe Handle: 0xdc3c3250 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 00 01 42 00 00 FF 00 00 FF 00 00 FF 00 00 .L..B..ÿ..ÿ..ÿ..
FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF ÿ..ÿ..ÿ..ÿ..ÿ..ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
001535: Bulk or Interrupt Transfer (DOWN), 2018-07-26 22:58:36.1964498 +0.0000061 (1. Device: NZXT USB Device)
Pipe Handle: 0xeadf65b0 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 01 62 00 FF 33 FF 00 33 FF 00 33 FF 00 .L..b.ÿ3ÿ.3ÿ.3ÿ.
33 FF 00 33 FF 00 33 FF 00 33 FF 00 33 FF 00 33 3ÿ.3ÿ.3ÿ.3ÿ.3ÿ.3
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
[...]
001551: Bulk or Interrupt Transfer (DOWN), 2018-07-26 22:58:36.2044520 +0.0000070 (1. Device: NZXT USB Device)
Pipe Handle: 0xeadf65b0 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 01 E2 00 99 FF 99 00 FF 99 00 FF 99 00 .L..â.™ÿ™.ÿ™.ÿ™.
FF 99 00 FF 99 00 FF 99 00 FF 99 00 FF 99 00 FF ÿ™.ÿ™.ÿ™.ÿ™.ÿ™.ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
| byte0 | byte1 | byte2 | byte3 | byte4 | interval | sequence | notes |
|---|---|---|---|---|---|---|---|
| 02 | 4c | 00 | 01 | 00 | slowest | 0 | |
| 02 | 4c | 00 | 01 | 02 | normal | 0 | |
| 02 | 4c | 00 | 01 | 04 | fastest | 0 | |
| 02 | 4c | 00 | 01 | 22 | normal | 1 | |
| 02 | 4c | 00 | 01 | 42 | normal | 2 | |
| 02 | 4c | 00 | 01 | 62 | normal | 3 | |
| 02 | 4c | 00 | 01 | e2 | normal | 8 | |
| 02 | 4c | 02 | 01 | 02 | normal | 0 | ring channel only (text color sent... but ignored?) |
interval: 5 levels, slowest to fastest
color cycle: from 2 (actually 1, but that doesn't make sense) to 8 colors
normal, forward, 3, RGB 0xabcdef
002631: Bulk or Interrupt Transfer (DOWN), 2018-07-24 14:35:12.9976120 +0.0000185 (1. Device: NZXT USB Device)
Pipe Handle: 0xed227d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 03 02 CD AB EF AB CD EF AB CD EF AB CD .L...Í«ï«Íï«Íï«Í
EF AB CD EF AB CD EF AB CD EF AB CD EF AB CD EF ï«Íï«Íï«Íï«Íï«Íï
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
| byte0 | byte1 | byte2 | byte3 | byte4 | interval | direction | group size |
|---|---|---|---|---|---|---|---|
| 02 | 4c | 02 | 03 | 00 | slowest | forward | 3 |
| 02 | 4c | 02 | 03 | 01 | slower | forward | 3 |
| 02 | 4c | 02 | 03 | 02 | normal | forward | 3 |
| 02 | 4c | 02 | 03 | 03 | faster | forward | 3 |
| 02 | 4c | 02 | 03 | 04 | fastest | forward | 3 |
| 02 | 4c | 02 | 03 | 08 | slowest | forward | 4 |
| 02 | 4c | 02 | 03 | 0a | normal | forward | 4 |
| 02 | 4c | 02 | 03 | 0c | fastest | forward | 4 |
| 02 | 4c | 02 | 03 | 10 | slowest | forward | 5 |
| 02 | 4c | 02 | 03 | 12 | normal | forward | 5 |
| 02 | 4c | 02 | 03 | 14 | fastest | forward | 5 |
| 02 | 4c | 02 | 03 | 18 | slowest | forward | 6 |
| 02 | 4c | 02 | 03 | 1a | normal | forward | 6 |
| 02 | 4c | 02 | 03 | 1c | fastest | forward | 6 |
| 02 | 4c | 12 | 03 | 02 | normal | backward | 3 |
interval: 5 levels, slowest to fastest, encoded like in fading
direction: forwards or backwards, encoded like in marquee
group size: from 3 to 6
single color setting
000709: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:36:48.6637085 +0.0000109 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 12 04 02 00 00 FF 00 00 FF 00 00 FF 00 00 .L.....ÿ..ÿ..ÿ..
FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF ÿ..ÿ..ÿ..ÿ..ÿ..ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
[...]
000737: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:36:48.6777009 +0.0000075 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 12 04 E2 31 46 52 46 31 52 46 31 52 46 31 .L..â1FRF1RF1RF1
52 46 31 52 46 31 52 46 31 52 46 31 52 46 31 52 RF1RF1RF1RF1RF1R
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
interval: 5 levels, slowest to fastest, encoded like in fading
direction: forwards or backwards, encoded like in marquee
color cycle: from 1 to 8 colors, encoded like in fading
001909: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:41:17.7824815 +0.0000091 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 07 02 00 35 17 35 00 17 35 00 17 35 00 .L....5.5..5..5.
17 35 00 17 35 00 17 35 00 17 35 00 17 35 00 17 .5..5..5..5..5..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
[...]
001937: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:41:17.7964751 +0.0000064 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 07 E2 26 FF 08 FF 26 08 FF 26 08 FF 26 .L..â&ÿ.ÿ&.ÿ&.ÿ&
08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 .ÿ&.ÿ&.ÿ&.ÿ&.ÿ&.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
interval: 5 levels, slowest to fastest, encoded like in fading
color cycle: from 1 to 8 colors, encoded like in fading
042195: Bulk or Interrupt Transfer (DOWN), 2018-07-28 01:46:36.9073797 +0.0000138 (1. Device: NZXT USB Device)
Pipe Handle: 0xc2fa6d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 02 02 00 00 FF 00 00 FF 00 00 FF 00 00 .L.....ÿ..ÿ..ÿ..
FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF ÿ..ÿ..ÿ..ÿ..ÿ..ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
| byte0 | byte1 | byte2 | byte3 | byte4 | interval | direction |
|---|---|---|---|---|---|---|
| 02 | 4c | 02 | 02 | 00 | slowest | forward |
| 02 | 4c | 02 | 02 | 02 | normal | forward |
| 02 | 4c | 02 | 02 | 04 | fastest | forward |
| 02 | 4c | 12 | 02 | 02 | normal | backward |
interval: 5 levels, slowest to fastest, encoded like in fading
direction: forwards or backwards, encoded like in marquee
no color setting, obviously
002509: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:43:42.6203630 +0.0000108 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 05 02 00 35 17 35 00 17 35 00 17 35 00 .L....5.5..5..5.
17 35 00 17 35 00 17 35 00 17 35 00 17 35 00 17 .5..5..5..5..5..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
002513: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:43:42.6223572 +0.0000080 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 05 22 26 FF 08 FF 26 08 FF 26 08 FF 26 .L.."&ÿ.ÿ&.ÿ&.ÿ&
08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 .ÿ&.ÿ&.ÿ&.ÿ&.ÿ&.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
interval: 5 levels, slowest to fastest, encoded like in fading
colors: exactly 2
modifier: moving, sets byte2 to 0xa instead of 0x2 (channel is 0x2/ring)
new after 3.5.9 (found it in 3.6.5)
001431: Bulk or Interrupt Transfer (DOWN), 2018-07-29 05:43:12.3894077 +0.0000213 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 0C 02 FF 84 00 84 FF 00 84 FF 00 84 FF .L...ÿ„.„ÿ.„ÿ.„ÿ
00 84 FF 00 84 FF 00 84 FF 00 84 FF 00 84 FF 00 .„ÿ.„ÿ.„ÿ.„ÿ.„ÿ.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
interval: 5 levels, slowest to fastest, encoded like in fading
single color setting
003509: Bulk or Interrupt Transfer (DOWN), 2018-07-26 23:08:15.1562977 +0.0000108 (1. Device: NZXT USB Device)
Pipe Handle: 0xeadf65b0 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 08 02 00 35 17 35 00 17 35 00 17 35 00 .L....5.5..5..5.
17 35 00 17 35 00 17 35 00 17 35 00 17 35 00 17 .5..5..5..5..5..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
003513: Bulk or Interrupt Transfer (DOWN), 2018-07-26 23:08:15.1582928 +0.0000080 (1. Device: NZXT USB Device)
Pipe Handle: 0xeadf65b0 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 08 22 26 FF 08 FF 26 08 FF 26 08 FF 26 .L.."&ÿ.ÿ&.ÿ&.ÿ&
08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 .ÿ&.ÿ&.ÿ&.ÿ&.ÿ&.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
| byte0 | byte1 | byte2 | byte3 | byte4 | interval | sequence |
|---|---|---|---|---|---|---|
| 02 | 4c | 02 | 08 | 00 | slowest | 1st color |
| 02 | 4c | 02 | 08 | 02 | normal | 1st color |
| 02 | 4c | 02 | 08 | 22 | normal | 2nd color |
| 02 | 4c | 02 | 08 | 24 | fastest | 2nd color |
interval: 5 levels, slowest to fastest, encoded like in fading
colors: exactly 2
003339: Bulk or Interrupt Transfer (DOWN), 2018-07-29 04:47:34.4281739 +0.0000127 (1. Device: NZXT USB Device)
Pipe Handle: 0x2c7f1d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 09 02 00 00 FF 00 00 FF 00 00 FF 00 00 .L.....ÿ..ÿ..ÿ..
FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF 00 00 FF ÿ..ÿ..ÿ..ÿ..ÿ..ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
interval: 5 levels, slowest to fastest, encoded like in fading
no color setting
renamed to loading after 3.5.9 (found it in 3.6.5)
043129: Bulk or Interrupt Transfer (DOWN), 2018-07-28 01:51:08.5034537 +0.0000116 (1. Device: NZXT USB Device)
Pipe Handle: 0xc2fa6d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 0A 02 CC FF 00 FF CC 00 FF CC 00 FF CC .L...Ìÿ.ÿÌ.ÿÌ.ÿÌ
00 FF CC 00 FF CC 00 FF CC 00 FF CC 00 FF CC 00 .ÿÌ.ÿÌ.ÿÌ.ÿÌ.ÿÌ.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
| byte0 | byte1 | byte2 | byte3 | byte4 |
|---|---|---|---|---|
| 02 | 4c | 02 | 0a | 02 |
single color setting
000291: Bulk or Interrupt Transfer (DOWN), 2018-09-02 06:08:07.2707246 +0.0000091 (1. Device: NZXT USB Device)
Pipe Handle: 0xcd793c60 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 00 02 00 00 00 00 00 FF FF 48 00 FF AE .L........ÿÿH.ÿ®
00 00 FF 00 00 00 FF 00 00 FF 00 00 FF C6 00 FF ..ÿ...ÿ..ÿ..ÿÆ.ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
ring or sync
individually set each ring LED
speed: from slowest to fastest
000011: Bulk or Interrupt Transfer (DOWN), 2018-09-02 06:06:14.1869205 +0.0000161 (1. Device: NZXT USB Device)
Pipe Handle: 0xcd793c60 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 06 02 00 00 00 00 00 FF FF 48 00 FF AE .L........ÿÿH.ÿ®
00 00 00 FF 00 00 FF 00 00 FF 00 00 FF C6 00 FF ...ÿ..ÿ..ÿ..ÿÆ.ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
ring or sync
individually set each ring LED
speed: from slowest to fastest
012099: Bulk or Interrupt Transfer (DOWN), 2018-09-02 06:03:02.8192498 +0.0000277 (1. Device: NZXT USB Device)
Pipe Handle: 0xcd793c60 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 0D 02 00 00 00 00 00 FF FF 48 00 FF AE .L........ÿÿH.ÿ®
00 00 00 FF 00 00 FF 00 00 FF 00 00 FF C6 00 FF ...ÿ..ÿ..ÿ..ÿÆ.ÿ
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
ring only
individually set each ring LED
speed: from slowest to fastest
The device does not appear to need to be initialized. CAM queries the serial number, the device description and then issues a single initialization message:
000051: Bulk or Interrupt Transfer (DOWN), 2018-08-30 04:13:15.4716498 +0.0200041 (1. Device: NZXT USB Device)
Pipe Handle: 0xfbdcf0e0 (Endpoint Address: 0x1)
Send 0x2 bytes to the device
01 59 .Y
In a single session...
Just after a hard reset:
000003: Bulk or Interrupt Transfer (UP), 2018-09-16 07:53:18.3448017 +1.2190042. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x63af4d10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 18 01 02 E8 08 73 00 00 00 78 04 00 00 02 1E ....è.s...x.....
00 9E 6E 1D F8 BE 96 9B 59 53 91 0D 4C C7 AE C0 .žn.ø¾–›YS‘.LÇ®À
A6 A9 A0 80 C6 4D BD 55 0A 83 3A A8 F7 55 C9 49 ¦© €ÆM½U.ƒ:¨÷UÉI
4D 84 DD D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„ÝØ@ˆr©ÐCIß°ÒÊ’
000007: Bulk or Interrupt Transfer (UP), 2018-09-16 07:53:20.7827826 +1.2189783. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x63af4d10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 18 01 02 E7 08 55 00 00 00 78 04 00 00 02 1E ....ç.U...x.....
00 91 6E 1D F8 BE 96 9B 59 53 91 0D 4C C7 AE C0 .‘n.ø¾–›YS‘.LÇ®À
A6 A9 A0 80 C6 4D BD 55 0A 83 3A A8 F7 55 C9 49 ¦© €ÆM½U.ƒ:¨÷UÉI
4D 84 DD D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„ÝØ@ˆr©ÐCIß°ÒÊ’
000017: Bulk or Interrupt Transfer (UP), 2018-09-16 07:53:26.8787794 +1.2199830. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x63af4d10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 18 01 02 E6 08 55 00 00 00 78 04 00 00 02 1E ....æ.U...x.....
00 00 6E 1D F8 BE 96 9B 59 53 91 0D 4C C7 AE C0 ..n.ø¾–›YS‘.LÇ®À
A6 A9 A0 80 C6 4D BD 55 0A 83 3A A8 F7 55 C9 49 ¦© €ÆM½U.ƒ:¨÷UÉI
4D 84 DD D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„ÝØ@ˆr©ÐCIß°ÒÊ’
CAM initialization:
000483: Bulk or Interrupt Transfer (UP), 2018-09-16 07:58:10.9406316 +1.2184689. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x63af4d10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 18 09 02 E2 08 74 00 00 00 78 04 00 00 02 1E ....â.t...x.....
00 9E 6E 1D F8 BE 96 9B 59 53 91 0D 4C C7 AE C0 .žn.ø¾–›YS‘.LÇ®À
A6 A9 A0 80 C6 4D BD 55 0A 83 3A A8 F7 55 C9 49 ¦© €ÆM½U.ƒ:¨÷UÉI
4D 84 DD D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„ÝØ@ˆr©ÐCIß°ÒÊ’
000485: Get Descriptor Request (DOWN), 2018-09-16 07:58:11.9775713 +1.0369222 (1. Device: NZXT USB Device)
Descriptor Type: String
Descriptor Index: 0x3
Transfer Buffer Size: 0x82 bytes
LanguageId: 0x409
000486: Control Transfer (UP), 2018-09-16 07:58:11.9779705 +0.0003992. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: Control Pipe
18 03 34 00 39 00 38 00 37 00 34 00 34 00 38 00 ..4.9.8.7.4.4.8.
31 00 33 00 33 00 33 00 1.3.3.3.
Setup Packet
80 06 03 03 09 04 82 00 €.....‚.
Recipient: Device
Request Type: Standard
Direction: Device->Host
Request: 0x6 (GET_DESCRIPTOR)
Value: 0x303
Index: 0x409
Length: 0x82
000487: Get Descriptor Request (DOWN), 2018-09-16 07:58:11.9779783 +0.0000078 (1. Device: NZXT USB Device)
Descriptor Type: String
Descriptor Index: 0x2
Transfer Buffer Size: 0x82 bytes
LanguageId: 0x409
000488: Control Transfer (UP), 2018-09-16 07:58:11.9781044 +0.0001261. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: Control Pipe
20 03 4E 00 5A 00 58 00 54 00 20 00 55 00 53 00 .N.Z.X.T. .U.S.
42 00 20 00 44 00 65 00 76 00 69 00 63 00 65 00 B. .D.e.v.i.c.e.
Setup Packet
80 06 02 03 09 04 82 00 €.....‚.
Recipient: Device
Request Type: Standard
Direction: Device->Host
Request: 0x6 (GET_DESCRIPTOR)
Value: 0x302
Index: 0x409
Length: 0x82
000489: Bulk or Interrupt Transfer (DOWN), 2018-09-16 07:58:11.9915297 +0.0134253 (1. Device: NZXT USB Device)
Pipe Handle: 0x63ba2d10 (Endpoint Address: 0x1)
Send 0x2 bytes to the device
01 59 .Y
000491: Bulk or Interrupt Transfer (UP), 2018-09-16 07:58:11.9936162 +0.0010393. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x63af4d10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 18 09 02 E3 08 46 00 00 00 78 04 00 00 02 1E ....ã.F...x.....
00 00 6E 1D F8 BE 96 9B 59 53 91 0D 4C C7 AE C0 ..n.ø¾–›YS‘.LÇ®À
A6 A9 A0 80 C6 4D BD 55 0A 83 3A A8 F7 55 C9 49 ¦© €ÆM½U.ƒ:¨÷UÉI
4D 84 DD D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„ÝØ@ˆr©ÐCIß°ÒÊ’
000767: Bulk or Interrupt Transfer (UP), 2018-09-16 07:58:45.6876207 +0.8939742. (1. Device: NZXT USB Device) Status: 0x00000000
Pipe Handle: 0x63af4d10 (Endpoint Address: 0x81)
Get 0x40 bytes from the device
04 19 00 01 30 08 50 00 00 00 78 04 00 00 02 1E ....0.P...x.....
00 00 6E 1D F8 BE 96 9B 59 53 91 0D 4C C7 AE C0 ..n.ø¾–›YS‘.LÇ®À
A6 A9 A0 80 C6 4D BD 55 0A 83 3A A8 F7 55 C9 49 ¦© €ÆM½U.ƒ:¨÷UÉI
4D 84 DD D8 40 88 72 A9 D0 43 49 DF B0 D2 CA 92 M„ÝØ@ˆr©ÐCIß°ÒÊ’
000441: Bulk or Interrupt Transfer (DOWN), 2018-09-16 08:27:09.4645752 +0.1873537 (1. Device: NZXT USB Device)
Pipe Handle: 0x63ba2d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 01 00 02 5A AF 2F AF 5A 2F AF 5A 2F AF 5A .L...Z¯/¯Z/¯Z/¯Z
2F AF 5A 2F AF 5A 2F AF 5A 2F AF 5A 2F AF 5A 2F /¯Z/¯Z/¯Z/¯Z/¯Z/
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
000443: Bulk or Interrupt Transfer (DOWN), 2018-09-16 08:27:09.4661893 +0.0000169 (1. Device: NZXT USB Device)
Pipe Handle: 0x63ba2d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 08 00 26 FF 08 FF 26 08 FF 26 08 FF 26 .L...&ÿ.ÿ&.ÿ&.ÿ&
08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 FF 26 08 .ÿ&.ÿ&.ÿ&.ÿ&.ÿ&.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .
000447: Bulk or Interrupt Transfer (DOWN), 2018-09-16 08:27:09.4681778 +0.0000078 (1. Device: NZXT USB Device)
Pipe Handle: 0x63ba2d10 (Endpoint Address: 0x1)
Send 0x41 bytes to the device
02 4C 02 08 20 00 35 17 35 00 17 35 00 17 35 00 .L.. .5.5..5..5.
17 35 00 17 35 00 17 35 00 17 35 00 17 35 00 17 .5..5..5..5..5..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 .