OpenMacroBoard / StreamDeckSharp

A simple .NET wrapper for Stream Deck
MIT License
351 stars 47 forks source link

StreamDeck Mini #49

Closed flat-eric147 closed 11 months ago

flat-eric147 commented 1 year ago

Hi, have you ever tested the StreamDeck Mini? It seems it's not recognized when using StreamDeck.EnumerateDevices(null).

wischi-chr commented 1 year ago

Hi.

Yes I own a lot of Stream Decks.

There is also a Stream Deck Rev 2 (similar to classic, but slightly different hardware) which I don't own so it might be possible that there is now a Stream Deck Mini Rev 2.

I just tested it again and my Stream Deck Mini is listed when using StreamDeck.EnumerateDevices(null).

To find out if there is a new hardware I need you help. Download the nirsoft UsbDevView tool, you can find that here: https://www.nirsoft.net/utils/usb_devices_view.html

Download Link is at the bottom of the page: image

Open the tool and it will list your USB devices. Now select the device StreamDeckSharp doesn't find, rightclick, "copy selected items" and paste it here. Make sure to read through the pasted content, because one of the fields is the name of your computer so so probably want to remove that field.

Stream Deck Mini    USB Input Device    HID (Human Interface Device)    Yes Yes No  No      BL19H1A04724    16.09.2022 11:42:45 16.09.2022 11:42:45 0fd9    0063    1.00        03  00  00      DESKTOP-0FSLL0B         8&54bd4ba&0 HidUsb  @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys      (Standard system devices)       300 mA  2.00    USB Input Device    10.0.22000.1    HID_Inst.NT input.inf   USB\VID_0FD9&PID_0063\BL19H1A04724  Removable, UniqueID, SurpriseRemovalOK                  
flat-eric147 commented 1 year ago

The std SD looks like this and works fine:

Stream Deck USB Input Device HID (Human Interface Device) Yes Yes No No AL07I1C02237 9/19/2022 6:33:55 PM 9/13/2022 3:54:04 PM 0fd9 0060 1.00 03 00 00 FLATDELL 8&264963c6&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) 400 mA 2.00 USB Input Device 10.0.22000.1 HID_Inst.NT input.inf USB\VID_0FD9&PID_0060\AL07I1C02237 Removable, UniqueID, SurpriseRemovalOK

The (non working) new SD Mini looks like this:

Stream Deck Mini USB Input Device HID (Human Interface Device) Yes Yes No No BL22L2B08794 9/19/2022 6:33:59 PM 9/15/2022 12:38:39 PM 0fd9 0090 1.10 03 00 00 FLATDELL 8&1ec6d3a9&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) 500 mA 2.00 USB Input Device 10.0.22000.1 HID_Inst.NT input.inf USB\VID_0FD9&PID_0090\BL22L2B08794 Removable, UniqueID, SurpriseRemovalOK

Sorry for the terrible formatting!

flat-eric147 commented 1 year ago

So looking at

https://github.com/OpenMacroBoard/StreamDeckSharp/blob/master/src/StreamDeckSharp/UsbConstants.cs

internal static class ProductIds { public const int StreamDeck = 0x0060; public const int StreamDeckRev2 = 0x006d; public const int StreamDeckMK2 = 0x0080; public const int StreamDeckXL = 0x006c; public const int StreamDeckMini = 0x0063; }

it expects 0x0063 but what I see is 0x0090

The device is brand new, so perhaps elgato changed the ProductID for those?

Edit: See also: https://github.com/muesli/streamdeck/commit/0ff3f3102dabec35265e0baa961b5d8c5be4cf50

wischi-chr commented 1 year ago

The device is brand new, so perhaps elgato changed the ProductID for those?

Yes, looks like a new revision. I just checked the USB ID database (https://usb-ids.gowdy.us/read/UD/0fd9) I'm a bit busy this week but hopefully find the time to add it next week. According to the link you've posted it looks like they havn't changed the communication protocol.

CA-TimoRitter commented 1 year ago

Hello @all Is there any new Status for this issue? I have also new Steam Deck Mini and I also cant connect to it with StreamDeckSharp

Here my USBDevice Infos: Stream Deck Mini USB Input Device HID (Human Interface Device) Yes Yes No No BL23L2B41506 17.11.2022 13:35:03 17.11.2022 13:04:10 0fd9 0090 1.10 03 00 00 FRYBOOK 6&f5d9e18&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) 500 mA 2.00 USB Input Device 10.0.19041.2251 HID_Inst.NT input.inf USB\VID_0FD9&PID_0090\BL23L2B41506 Removable, UniqueID, SurpriseRemovalOK

wischi-chr commented 1 year ago

Hi guys. Sorry it took so long, was pretty busy the last few weeks. I currently don't have a Stream Deck Mini Rev2, so the changes I just made are basically untested. It would be great if you could try the new version (v4.1.0-preview) and let me know if everything works as expected.

If would be nice if you could check a few things:

Expected button ID layout:

+---+---+---+
| 0 | 1 | 2 |
+---+---+---+
| 3 | 4 | 5 |
+---+---+---+
flat-eric147 commented 1 year ago

Appreciate the effort. I just tested this and unfortunately the SD Mini rev2 is still not recognized. I'll try to download the source and dig into the issue with a debugger perhaps.

wischi-chr commented 1 year ago

Oh shoot, I missed something. New version available here: (4.2.0-preview)

If it still doesn't work and you want to checkout the source, the simplest way would be to clone the Meta Project in git (including submodules!)

c0nnex commented 1 year ago

Not direcly related, but maybe you want to add the new XL Rev2 as well. ProductID 008F Settings identical to normal Streamdeck XL

flat-eric147 commented 1 year ago

Oh shoot, I missed something. New version available here: (4.2.0-preview)

If it still doesn't work and you want to checkout the source, the simplest way would be to clone the Meta Project in git (including submodules!)

Just tried and it seems to work perfectly fine at a first look. Will make more tests and will come back to you! Thank you very much :)

flat-eric147 commented 1 year ago

Tested with 4.2.0-preview:

All passed for me. Thank you!

wischi-chr commented 1 year ago

Not direcly related, but maybe you want to add the new XL Rev2 as well. ProductID 008F Settings identical to normal Streamdeck XL

@c0nnex Thanks for letting me know. Do you own a new Stream Deck XL 0x008F, if so could you please post USB details about it (like name, etc., see my first comment for details). Thanks in advance.

wischi-chr commented 1 year ago

@flat-eric147 Thank you for testing it.

c0nnex commented 1 year ago

Don't own it myself (but getting my Streamdeck Plus tomorrow ;) )

Here's what my software is logging about the Streamdeck XL Rev2. (It works fine with duplicating the XL Hardwareinfo)

2022-11-13 11:47:41.0927|INFO|1|MainWindow|Device: \?\hid#vid_0fd9&pid_008f#a&56c6af7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} 2022-11-13 11:47:41.0927|INFO|1|MainWindow|ProductId: 0x008F 143 2022-11-13 11:47:41.0927|INFO|1|MainWindow|Version: 304 2022-11-13 11:47:41.0927|INFO|1|MainWindow|Description: Stream Deck XL 2022-11-13 11:47:41.0927|INFO|1|MainWindow|Serial: CL26L3A00447 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|Stream Deck XL VendorID=0x0FD9, ProductID=0x008F, Version=304, DevicePath=\?\hid#vid_0fd9&pid_008f#a&56c6af7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, Instance=00000000-0000-0000-0000-000000000000 , Index=0, SystemIndex 0 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: Usage = 1 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: UsagePage = 12 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: InputReportByteLength = 512 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: OutputReportByteLength = 1024 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: FeatureReportByteLength = 32 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberLinkCollectionNodes = 1 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberInputButtonCaps = 0 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberInputValueCaps = 1 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberInputDataIndices = 1 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberOutputButtonCaps = 0 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberOutputValueCaps = 1 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberOutputDataIndices = 1 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberFeatureButtonCaps = 10 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberFeatureValueCaps = 0 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: NumberFeatureDataIndices = 10 2022-11-13 11:47:41.1027|INFO|1|PanelDevice.0x0FD9.0x008F|0x008F: DeviceAttached

CA-TimoRitter commented 1 year ago

OK now I i have tested Ver. 4.2.0-preview with my StreamDeck Mini. And i have to say I catch an "Stream Deck not found." Exception after executing StreamDeck.OpenDevice()

wischi-chr commented 1 year ago

@CA-TimoRitter Do you see the device with UsbDevView, if so could you please post a report as described in the second comment.

CA-TimoRitter commented 1 year ago

I have postes the USBDevice Infos in my first post. Here are the Infos from my secons PC, the first one was from my Laptop Stream Deck Mini USB Input Device HID (Human Interface Device) Yes Yes No No BL23L2B41506 24.11.2022 15:28:30 17.11.2022 13:20:59 0fd9 0090 1.10 03 00 00 CA-VBOX07 6&f5d9e18&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) 500 mA 2.00 USB Input Device 10.0.19041.868 HID_Inst.NT input.inf USB\VID_0FD9&PID_0090\BL23L2B41506 Removable, UniqueID, SurpriseRemovalOK

CA-TimoRitter commented 1 year ago

@wischi-chr is there something else I can help you to finde the Bug?

flat-eric147 commented 1 year ago

Concerning the StreamDeck XL Rev2, here's my USBDevice dump, it confirms the product id 008f:

Stream Deck XL USB Input Device HID (Human Interface Device) Yes Yes No No CL01M3A02519 14/04/2023 10:09:14 13/04/2023 18:12:58 0fd9 008f 1.30 03 00 00 CSS2GRAFDEV001 7&196e920&0 HidUsb @input.inf,%HID.SvcDesc%;Microsoft HID Class Driver hidusb.sys (Standard system devices) 500 mA 2.00 USB Input Device 10.0.19041.868 HID_Inst.NT input.inf USB\VID_0FD9&PID_008F\CL01M3A02519 Removable, UniqueID, SurpriseRemovalOK

wischi-chr commented 11 months ago

StreamDeck XL Rev2 and Mini Rev2 work in v5.0.0 (via nuget).

I'm closing this issue - feel free to reopen a new ticket if something doesn't work as expected.