Specs for Microsoft Xinput USB devices (Xbox controllers)? - usb

Has anybody found the specifications for the USB protocol used by the Xbox controllers? All I can find is the API documentation of Microsoft's implementation (Xinput). I'm trying to write a driver for OS X so Xinput controllers will appear as normal HID devices. Without the specs I'm pretty at a loss...

There is a linux driver here https://github.com/Grumbel/xboxdrv for the XBox that should get you a long way to getting it working on Mac. I don't think the spec is available legally without signing an NDA and paying Microsoft money.

Related

How to use a custom USB device (WinUSB) on Microsoft HoloLens 2?

I made a custom USB sensor device that runs on a Windows 8.1 / 10 desktop computer using the WinUSB driver (I implemented Microsoft extended USB descriptors in device firmware to automatically install the driver when the device connected).
Can I use a WinUSB device on HoloLens2? Or, if there is no WinUSB support on HoloLens2, how can I use my USB device with a “custom USB device class”?
At the moment, I do not have a hololens2, but I need to understand how the USB works on it.
Edit: I found this link: https://learn.microsoft.com/en-us/hololens/hololens-connect-devices#hololens-2-connect-usb-c-devices
It says that hololens2 supports the following device classes:
Mass storage devices (such as thumb drives)
Ethernet adapters (including ethernet plus charging)
USB-C-to-3.5mm digital audio adapters
USB-C digital audio headsets (including headset adapters plus charging)
Wired mouse
Wired keyboard
Combination PD hubs (USB A plus PD charging)
My device does not implement any of these classes (custom class). Is there a chance to make it work on hololens2?
I finally tested my code and USB device on real Hololens 2. The USB device works great there because Hololens2 supports WinUSB! The WinUSB driver was installed automatically (my device has WinUSB descriptors).
According to the documentation you referred, all classes HoloLens2 supports have been listed, and unlisted classes are not supported.
Could you provide more information about your business request and submit a feature request via feedback hub on new feature request to be considered in future releases of HoloLens OS and devices?
If it’s a hot impacted feature, it will be possible to be given priority to jump in the development schedule. Actually, the existing classed on HoloLens 2 are also based on user’s feedback in such way.
For how to post feedback request, you can follow this doc: Send feedback to Microsoft with the Feedback Hub app.

Zigbee sniffer to Penetrate Testing Zigbee network at home

I have installed Smart home temperature sensors with Zigbee network. I am trying to do a Penetrate Testing. I have installed WirelessShark. I purchased a CEL ME357 USB stick. But
I could not find driver for it. To proceed the test, can anyone suggest a working solution for me ?
It's a little hard to know exactly what you are trying to acheive, or what OS you are using etc, but hopefully the following helps answer your question.
I purchased a CEL ME357 USB stick. But I could not find driver for it.
Drivers for the CEL MeshConnect sticks are available on their website for both Windows and Mac -:
http://www.cel.com/parts.do?command=load&idRootPart=2707
Scroll down to the bottom of the page and there are downloads.
I have installed WirelessShark
There is sniffer software available that will work with standard Silabs software and runs on Java (so is portable across most operating systems). You can find the Java sniffer software which will work with Wireshark here -:
https://github.com/zsmartsystems/com.zsmartsystems.zigbee.sniffer
Note though that you will need to program firmware into the CEL stick as it does not come pre-installed. This normally requires that you purchase a developers kit from Silicon Labs in order to a) get the hardware, and b) get access to the firmware.
One of the easyest way is to use Zboss sniffer with Wireshark and one of the supported USB 802.15.4 dongle. For example TI CC2531EMK. It will need to be flashed with a specific firmware so you will also need a CC-debugger to perform programming.
An other solution is to use the Ubisys sniffer dongle directly with Wireshark but it is not same price.
I suppose there are lots of other sniffers but I personally used these and the first one is especially easy to setup.

Using CoreBluetooth to connect to Windows10 with iOS devices

Question1.
IOBluetooth can support connection both ways via LE or classic. However it only supports macOs. CoreBluetooth supports only up to LE along with IOS.
As far as I know, in order for me to connect my bluetooth connection within IOs device, I must use CoreBluetooth frameworks. Am I correct?
Question2.
CoreBluetooth frameworks can connect Windows10 labtop with bluetooth connection?
Your question is a bit vague. I assume you just want to have a way to exchange some data between an iOS app and your Windows 10 desktop.
Yes, you are correct. Usage of Bluetooth Classic in any of your iOS apps requires Apple MFI Membership and only makes sense if you have your own product. If you are not a member of the MFI program then you are left with CoreBluetooth (BLE). Please note, that BLE is significantly slower than Bluetooth Classic so it only makes sense for applications that require transmission of small data packets (expect around 4kB/s max).
Yes, as long as your Windows 10 device supports BLE. If you want to use any of the SIG adopted Profiles such as HID over Gatt you should be able to connect without any additional software. Otherwise you need to implement your own profile. If you want to know more about your options, I suggest you have a look at the CoreBluetooth documentation and/or get a copy of Getting Started with Bluetooth Low Energy which is a comprehensive read on the topic.

Can Firefox OS apps read out USB pins?

I'm wondering if Firefox OS handsets could be useful as a platform for DIY hardware projects. Hence my question: Can Firefox OS apps read out USB pins?
Compared with Arduino it would be obviously be overpowered, but the handsets have decent battery life and all connection stuff like wifi already built in.
Not right now, but we are working on USB support as part of the WebAPI work. The bug to monitor is here: https://bugzilla.mozilla.org/show_bug.cgi?id=737153

Devices supported by Windows Portable Devices (WPD)

I'd like to use digital cameras in my application (running on Windows, written in C++) and I came across two libraries that did that - WIA (Windows Image Acquisition) and WPD (Windows Portable Devices). WIA supports digital cameras only for versions of Windows up to XP and for Vista and 7 one should use WPD. The problem is that I ran WPD's sample project from Windows SDK which failed to recognize all devices I tried (But WIA did on a Win XP machine) apart from a flash memory and an mp3 player. I don't think the other devices were too old to have a WPD driver, so my question is: What devices does WPD support? Am I mistaken or WPD does not work with a broad range of devices? Or maybe there is another library I could use for taking pictures (maybe a video, but that's not as important)?
I hope someone can clear things up. Thanks in advance!
You will need to use DirectShow to work with your webcams on Vista/Win 7. Logitech and the like don't supply WPD drivers. Perhaps they will for Windows 8.
You can also use the MCI interface if you want to go old school, which nowadays is just a compatibility layer on top of DirectShow. Google for "WM_CAP_START" or "WM_CAP_GRAB_FRAME" for some examples.
Don't have a list for WPD, but here's a:
List of Supported Windows Image Acquisition (WIA) Scanners and Cameras
http://support.microsoft.com/kb/264598