-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Kinect for Xbox 360 Model 1473 #316
Comments
dunno.please! |
I have the same issue with Kinect for Xbox 360 Model 1473. |
Hi, |
The solution is somewhat technically complicated and we're still discussing the right way to approach it. For more information check the OpenKinect mailing list: https://groups.google.com/group/openkinect |
Is there any progress about that ? |
I found solution in this topic http://forum.openframeworks.cc/index.php?topic=11632.0 here is a very rough fix for it in the libfrenect files in this branch: |
Thanks for finding this. |
The link doesn't work for me either, is anyone working on it? |
I was able to build and run the openFrameworks example described in the previously mentioned post on my Xbox Kinect model 1473. I built the ofxKinect 'kinect-device-fix' branch in openFrameworks using Xcode on my MBPro. The video and point cloud seemed to be working, but I was unable to take that code and successfully build and run a standalone version of libfreenect. In my attempt with Theo Watson's kinect-device-fix branch, the glview test app finds a device, prints out some debug information in the terminal, opens a window, then hangs. At least it gets past the "Could not open device" error! Unfortunately I don't have any time (and maybe not the skills) to dig deeper. I'm very interested in a solution that gets libfreenect working with the 'new' Xbox Kinect model 1473. I'd hate to have to return it and go looking for an older model on eBay. I'm also considering trying to get one of the Prime Sense sensors, but they're $200 plus shipping from Israel and take 2-4 weeks to ship. I'd eventually like to get Processing talking to the Xbox Kinect model 1473 on OS X. The "previously mentioned post": http://forum.openframeworks.cc/index.php?topic=11632.0 Thanks! |
I'd like to use it with processing too. By the way, if you use openkinect in processing the IR in the kinect 1473 starts and it returns some results (I didn't get further). |
I've been messing around with this a bunch (I have a Kinect v 1473) and can get the demos sort of going by making one small change in freenect_fetch_zero_plane_info in src/cameras.c (note that this will break libfreenect with "old" Kinect versions): --- a/src/cameras.c
+++ b/src/cameras.c
@@ -899,14 +899,13 @@ static int freenect_fetch_reg_const_shift(freenect_device *dev)
static int freenect_fetch_zero_plane_info(freenect_device *dev)
{
freenect_context *ctx = dev->parent;
-
char reply[0x200];
uint16_t cmd[5] = {0}; // Offset is the only field in this command, and it's 0
int res;
- res = send_cmd(dev, 0x04, cmd, 10, reply, 322); //OPCODE_GET_FIXED_PARAMS = 4,
- if (res != 322) {
- FN_ERROR("freenect_fetch_zero_plane_info: send_cmd read %d bytes (expected 322)\n", res);
+ res = send_cmd(dev, 0x04, cmd, 10, reply, 334); //OPCODE_GET_FIXED_PARAMS = 4,
+ if (res != 334) {
+ FN_ERROR("freenect_fetch_zero_plane_info: send_cmd read %d bytes (expected 334)\n", res);
return -1;
} and then I remove attempts to use the motor: --- a/examples/glview.c
+++ b/examples/glview.c
@@ -412,7 +412,8 @@ int main(int argc, char **argv)
}
freenect_set_log_level(f_ctx, FREENECT_LOG_DEBUG);
- freenect_select_subdevices(f_ctx, (freenect_device_flags)(FREENECT_DEVICE_MOTOR | FREENECT_DEVICE_CAMERA));
+ //freenect_select_subdevices(f_ctx, (freenect_device_flags)(FREENECT_DEVICE_MOTOR | FREENECT_DEVICE_CAMERA | FREENECT_DEVICE_AUDIO));
+ freenect_select_subdevices(f_ctx, (freenect_device_flags)(FREENECT_DEVICE_CAMERA | FREENECT_DEVICE_AUDIO));
int nr_devices = freenect_num_devices (f_ctx);
printf ("Number of devices found: %d\n", nr_devices); I've read that there have been changes with the motor device in that it's somehow attached to the audio now? I'm not very experienced with libusb, but I would like to try to mess around and make it work if anybody has any ideas/suggestions. |
So I am brand new to github. Could you tell me how you compiled your changes after you put them in @dudefellah I tried to make in the build directory but it did not seem to put the changes in. I also removed the object files and even tried removing the whole build directory and redoing cmake. Nothing seemed to work. Any help would be great. |
I've forked my own copy here: https://github.com/dudefellah/libfreenect.git You can diff against your repo to see what's been changed (the changes are somewhat different from what I posted earlier... I'm still trying to figure this stuff out) When you compile, you'll need to build audio and I've added a flag for building for the kinect ver 1473, so you'll need at least something like I didn't commit the changes in glview since I've been messing around with a whole bunch of stuff, but I think you'll probably need remove the FREENECT_DEVICE_MOTOR flag from freenect_select_subdevices and may (I can't remember exactly) need to add FREENECT_DEVICE_AUDIO. The glview.c change should be the same as I posted earlier. Hope that helps a bit more. Does nobody else have more information on what's needed to get everything working again? |
Looks like my work so far is actually a dumber version of this: renewagner@06e48e5 . I'll probably end up using this code when I have time to play with libfreenect in the next week or so. |
Thanks that helps. I cannot find anything useful telling me why this thing will not rebuild properly. If I edit glview.c I can see my changes right away. But I cannot get anything to happen when I change cameras.c. make says it is compiling it but nothing I do changes the output. I have installed, uninstalled and deleted everything countless times nothing I do has changed the output at all. My most reason version of this is here:
When I run glview I get this:
I do not know how it is possible for it to print 322 at all I have it hard coded to 334. I have tried this a million times. Please help, how do I get the changes to go through? |
Ok so I tried to edit the file on my MacAir and it worked. But it is still not responding on my RaspberryPi with RaspbianOS. I am guessing there is some other old definition of that code that is getting called but I have no idea where it is. I tried to go through my /usr and /bin directories and I deleted everything with libfreenect in it then I reinstalled everything but still nothing. |
Thanks @dudefellah. |
I got the camera to work by combining renewagner's and ofTheo's code. I saved this here https://github.com/theoceanwalker/libfreenect |
Hey @Exomene I am trying to figure out why we are having this error. My theory is that there is some file that is linking to an old copy of the /src directory and our changes are actually getting compiled into another file. But to narrow down the symptoms of our problem can you tell me what hardware/OS you are on? Also I tried to get the OpenFrameworks fix working, which could be the source of the error, did you try to install it as well? Any other info you have should help. Thanks |
@zanemcca @Exomene odd issue but almost certainly has nothing to do with this library in particular, or what hardware you're on. The simplest explanations are
What are you actually doing to build? The output of |
Hi, |
Hi @theoceanwalker Thanks for the insight. But just for an FYI here are my outputs from making on my new install.
Thanks again. |
Hi @zanemcca, /etc/modprobe.d/blacklist-gspca-kinect.conf
/etc/udev/rules.d/51-kinect.rules
/lib/modules/3.2.0-32-generic/kernel/drivers/media/video/gspca/gspca_kinect.ko
/lib/modules/3.5.0-18-generic/kernel/drivers/media/video/gspca/gspca_kinect.ko
/lib/modules/3.5.0-19-generic/kernel/drivers/media/video/gspca/gspca_kinect.ko
/lib/modules/3.5.0-21-generic/kernel/drivers/media/video/gspca/gspca_kinect.ko
/lib/modules/3.5.0-22-generic/kernel/drivers/media/video/gspca/gspca_kinect.ko
/lib/modules/3.5.0-23-generic/kernel/drivers/media/video/gspca/gspca_kinect.ko
/lib/modules/3.5.0-25-generic/kernel/drivers/media/video/gspca/gspca_kinect.ko
/lib/modules/3.5.0-26-generic/kernel/drivers/media/video/gspca/gspca_kinect.ko
/usr/share/doc/opencv-doc/examples/cpp/kinect_maps.cpp.gz
/usr/share/pulseaudio/alsa-mixer/profile-sets/kinect-audio.conf
/usr/src/linux-headers-3.5.0-19-generic/include/config/usb/gspca/kinect.h
/usr/src/linux-headers-3.5.0-21-generic/include/config/usb/gspca/kinect.h
/usr/src/linux-headers-3.5.0-22-generic/include/config/usb/gspca/kinect.h
/usr/src/linux-headers-3.5.0-23-generic/include/config/usb/gspca/kinect.h
/usr/src/linux-headers-3.5.0-25-generic/include/config/usb/gspca/kinect.h
/usr/src/linux-headers-3.5.0-26-generic/include/config/usb/gspca/kinect.h Is there still thing I should remove? Regarding the result of cmake, here they are -- The C compiler identification is GNU 4.7.2
-- The CXX compiler identification is GNU 4.7.2
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Operating system is Linux
-- Got System Processor x86_64
-- Linux x86_64 Detected
-- libfreenect will be installed to /usr/local
-- Headers will be installed to /usr/local/include/libfreenect
-- Libraries will be installed to /usr/local/lib64
-- Found libusb-1.0:
-- - Includes: /usr/include/libusb-1.0
-- - Libraries: /usr/lib/x86_64-linux-gnu/libusb-1.0.so
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found GLUT: /usr/lib/x86_64-linux-gnu/libglut.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/exomene/libfreenect-master/build And the results of make Scanning dependencies of target freenect
[ 4%] Building C object src/CMakeFiles/freenect.dir/core.c.o
[ 9%] Building C object src/CMakeFiles/freenect.dir/tilt.c.o
[ 14%] Building C object src/CMakeFiles/freenect.dir/cameras.c.o
/home/exomene/libfreenect-master/src/cameras.c:749:17: attention : ‘read_register’ defined but not used [-Wunused-function]
/home/exomene/libfreenect-master/src/cameras.c: In function ‘freenect_set_smoothing_mode’:
/home/exomene/libfreenect-master/src/cameras.c:1338:1: attention : contrôle a atteint la fin non void de la fonction [-Wreturn-type]
[ 19%] Building C object src/CMakeFiles/freenect.dir/usb_libusb10.c.o
/home/exomene/libfreenect-master/src/usb_libusb10.c: In function ‘fnusb_open_subdevices’:
/home/exomene/libfreenect-master/src/usb_libusb10.c:382:1: attention : format ‘%i’ expects argument of type ‘int’, but argument 2 has type ‘struct libusb_device_handle *’ [-Wformat]
/home/exomene/libfreenect-master/src/usb_libusb10.c:385:1: attention : format ‘%i’ expects argument of type ‘int’, but argument 2 has type ‘struct libusb_device_handle *’ [-Wformat]
/home/exomene/libfreenect-master/src/usb_libusb10.c:178:25: attention : unused variable ‘nr_mot’ [-Wunused-variable]
[ 23%] Building C object src/CMakeFiles/freenect.dir/registration.c.o
Linking C shared library ../lib/libfreenect.so
[ 23%] Built target freenect
Scanning dependencies of target freenectstatic
[ 28%] Building C object src/CMakeFiles/freenectstatic.dir/core.c.o
[ 33%] Building C object src/CMakeFiles/freenectstatic.dir/tilt.c.o
[ 38%] Building C object src/CMakeFiles/freenectstatic.dir/cameras.c.o
/home/exomene/libfreenect-master/src/cameras.c:749:17: attention : ‘read_register’ defined but not used [-Wunused-function]
/home/exomene/libfreenect-master/src/cameras.c: In function ‘freenect_set_smoothing_mode’:
/home/exomene/libfreenect-master/src/cameras.c:1338:1: attention : contrôle a atteint la fin non void de la fonction [-Wreturn-type]
[ 42%] Building C object src/CMakeFiles/freenectstatic.dir/usb_libusb10.c.o
/home/exomene/libfreenect-master/src/usb_libusb10.c: In function ‘fnusb_open_subdevices’:
/home/exomene/libfreenect-master/src/usb_libusb10.c:382:1: attention : format ‘%i’ expects argument of type ‘int’, but argument 2 has type ‘struct libusb_device_handle *’ [-Wformat]
/home/exomene/libfreenect-master/src/usb_libusb10.c:385:1: attention : format ‘%i’ expects argument of type ‘int’, but argument 2 has type ‘struct libusb_device_handle *’ [-Wformat]
/home/exomene/libfreenect-master/src/usb_libusb10.c:178:25: attention : unused variable ‘nr_mot’ [-Wunused-variable]
[ 47%] Building C object src/CMakeFiles/freenectstatic.dir/registration.c.o
Linking C static library ../lib/libfreenect.a
[ 47%] Built target freenectstatic
Scanning dependencies of target freenect_sync
[ 52%] Building C object wrappers/c_sync/CMakeFiles/freenect_sync.dir/libfreenect_sync.c.o
Linking C shared library ../../lib/libfreenect_sync.so
[ 52%] Built target freenect_sync
Scanning dependencies of target glpclview
[ 57%] Building C object examples/CMakeFiles/glpclview.dir/glpclview.c.o
Linking C executable ../bin/glpclview
[ 57%] Built target glpclview
Scanning dependencies of target glview
[ 61%] Building C object examples/CMakeFiles/glview.dir/glview.c.o
Linking C executable ../bin/glview
[ 61%] Built target glview
Scanning dependencies of target hiview
[ 66%] Building C object examples/CMakeFiles/hiview.dir/hiview.c.o
Linking C executable ../bin/hiview
[ 66%] Built target hiview
Scanning dependencies of target regtest
[ 71%] Building C object examples/CMakeFiles/regtest.dir/regtest.c.o
Linking C executable ../bin/regtest
[ 71%] Built target regtest
Scanning dependencies of target regview
[ 76%] Building C object examples/CMakeFiles/regview.dir/regview.c.o
Linking C executable ../bin/regview
[ 76%] Built target regview
Scanning dependencies of target tiltdemo
[ 80%] Building C object examples/CMakeFiles/tiltdemo.dir/tiltdemo.c.o
Linking C executable ../bin/tiltdemo
[ 80%] Built target tiltdemo
Scanning dependencies of target fakenect
[ 85%] Building C object fakenect/CMakeFiles/fakenect.dir/fakenect.c.o
Linking C shared library ../lib/fakenect/libfreenect.so
[ 85%] Built target fakenect
Scanning dependencies of target record
[ 90%] Building C object fakenect/CMakeFiles/record.dir/record.c.o
Linking C executable ../bin/record
[ 90%] Built target record
Scanning dependencies of target freenect_sync_static
[ 95%] Building C object wrappers/c_sync/CMakeFiles/freenect_sync_static.dir/libfreenect_sync.c.o
Linking C static library ../../lib/libfreenect_sync.a
[ 95%] Built target freenect_sync_static
Scanning dependencies of target cppview
[100%] Building CXX object wrappers/cpp/CMakeFiles/cppview.dir/cppview.cpp.o
Linking CXX executable ../../bin/cppview
[100%] Built target cppview Last question, I am supposed to do a make install after cmake and make? Thank you all for your help, Exomène |
@Exomene Yes. If you don't run |
Is there any news on the implementation of support of model 1473? Has anyone been able to run openKinect with 1473 using any variant? |
yes, @dudefellah version works for me on 1473, not the glview and i have to re-plug the kinect after each try. |
Maybe it's because the device's sensors are not properly closed after you try. I noticed that, too. Anyone has any news on wether any fix will be implemented or if any effort is made by the official OpenKinect? So far it seems OpenNI is the only viable option, and even then, the newest 2.0 version needs the Kinect SDK ( = does not support Linux and OS X ) |
I also got it working like dudefellah by editing cameras.c, but I removed attempt to use the motor differently. Here are my 2 small changes:
|
Yeah there's a number of ways to achieve the same ends. I still think renewagner@06e48e5 is a better option right now. There's still some stuff missing, of course. The stream seems to go out of sync quite easily. I'm guessing there's slight variations on what's being sent back and forth but I haven't had a whole lot of time lately, so I haven't really tried to figure it out. Whatever's changed in the data stream is causing glview to be a little jerky as the video stream is resynced. I saw a thread a little while ago in my email (I can't seem to find it on github) referring to these: http://answers.ros.org/question/12876/kinect-for-windows/ |
Hi!
Therefore I simply changed the code of camera.c like this
And it works. BTW, with OpenNI-1.5. I have no problems to run model 1473. |
@xxorde @killkrt I suspect the problem lies in the absence of the motor device in the newer kinects. I haven't modified the examples to take that into account. As it's orthodox easter here and I'm pretty far from home right now, I won't be able to inspect that for a couple of days more. When I get back to my main box, I'd be grateful if either of you could spare some time for a hangout or skype session so we can close this one for good. Msg me at wizgrav@gmail.com if you're interested |
Wizgrav, me too, I build against your changes, and still no success. I get the usual "no devices found" error. |
At the risk of simply restating everyone else's problem: I just got a 1473 from Costco in Canada, and when I clone the libfreenect repo, compile and try to run any of the bins, they "Could not open device" or "Cannot get device", although "Number of devices found" is 1. Using up-to-date Mint 15. Is there a word on when this might be fixed? I'm quite happy to help if my meagre programming skill might help, but I doubt it. |
Support for this model has been completed by wizgrav in #325 and is currently in unstable pending the next release. |
@timtro try cloning the unstable branch ( git clone -b unstable https://github.com/OpenKinect/libfreenect.git ) |
just tested unstable branch and cannot confirm the fix. still get same errors (on all examples). |
-3 is libusb error LIBUSB_ERROR_ACCESS. This probably means you don't have rights to access the device. Try running as root or install the udev rules |
Ah .. forgot this as i moved to a new system, now everything is working! |
That worked brilliantly. Thanks! Best regards, On Tue, Jul 23, 2013 at 6:10 PM, Yannis Gravezas
|
…up. This seems to fix a known issue for OS X users where the device renumerates within a small time period and causes a freeze. Closes OpenKinect#340 and addresses OpenKinect#316. Signed-off-by: Theodore Watson <theo@openframeworks.cc> (ofTheo)
Hello! I have stumbled upon the same error and ended up at this site. I have tried @wizgrav 's proposed solution and it worked for me as I can now run the glview command. However I can't find any audio recording application as this is what I was searching for. Is this supported for the KINECT 1473 model or am I troubling for nothing? I know that the thread is old but still hoping for a response. Thanks in advance! |
@MihaiDogariu For audio support you'll need device-specific firmware. |
@piedar What I have tried is written in the following link: http://www.keyboardmods.com/2011/10/kinect-speech-recognition-in-linux.html under the "Integrating the kinect" section. It is similar to what you have pointed out and it worked for me. It now recognizes the kinect device as an audio input device and I can record audio from it using Linux's default microphone recorder or Audacity, for a greater degree of customization as I can choose on how many channels I want to record the sound. Thank you for your quick response! |
I tried to pull the unstable branch and got the error fatal: Remote branch unstable not found in upstream origin Have the changes from the unstable branch been rolled into the master branch? |
@dansupergameprogrammer |
Yes, awesome, thanks! I was able to pull the build down with Homebrew using the --HEAD command and it works, the only driver I've found which does. Now to write a Unity wrapper... |
libfreenect v0.4.0 Oracle * tag 'v0.4.0': Update for v0.4.0 All headers (including libfreenect.hpp) are installed to `$PREFIX/include/libfreenect/`. All libfreenect files have `#include "libfreenect.h"` rather than `#include <libfreenect.h>`. This works during build and after installation all include files are in the same directory. Rename libfreenect-audio.h -> libfreenect_audio.h and libfreenect-registration.h -> libfreenect_registration.h. This makes them consistent with other libraries. wrappers/cpp: Call freenect_process_events_timeout in loop to prevent freezes - fixes OpenKinect#223 OpenNI2-FreenectDriver: Fix silly silly string bugs; improve logging Fix ebuild for filename change OpenNI2-FreenectDriver: Convert all printf and cout statements to log messages Invoke fwfetcher.py with python2 - fixes OpenKinect#370 Refine README.md Remove C99 syntax - fixes OpenKinect#369 Shiny new README.md Beautify ebuild and add audio USE flag Read int from fgetc for EOF comparison - fixes OpenKinect#365 Replaced missing variable - fixes OpenKinect#366 Post-merge cleanup small changes to allow compile on windows / visual studio Removed memset() after free() causing sporadic crashes when unplugging devices Fix ebuild Supports loading audio fw from memory as well as disk. Supports tilt,accel and led for K4W and 1473 device. Adds keep alive for K4W and 1473. Signed-off-by: Theodore Watson theo@openframeworks.cc (ofTheo) This code sets the LED of a 1473 Kinect or K4W Kinect to red on startup. This seems to fix a known issue for OS X users where the device renumerates within a small time period and causes a freeze. Closes OpenKinect#340 and addresses OpenKinect#316. Signed-off-by: Theodore Watson <theo@openframeworks.cc> (ofTheo) Remove outdated ebuild Add manpages for fakenect and fakenect-record Prefix freenect- to the name of the installed demos Rename record binary of fakenect as fakenect-record
Hello, I'm trying to use a Kinect device 1473 on a CubieTruck board (OS Linaro 12.04), I got the same problem with the official https://github.com/OpenKinect/libfreenect repository of: "Could not open device". Would you like to know the final solution of this topic to solve the problem? |
I have the same problem on Ubuntu 16.04 with Kinect v1 1473. Any news upon solving this problem? |
Wow this thread is still alive, that was a good flashback. Without further info from the console I think the first thing to try is checking if permissions are set ok. Try running the app as root. I have recently used the kinect on a raspberry 3 and can confirm that it works ok |
@wizgrav did you use the 1473 version? |
@josuerocha I'm not sure to be honest and can't actually check right now, my kinect is in malta and I'm currently in greece for the holidays. It should work though I setup several gigs with kinects and raspberries on my previous employer and I believe at least one of them would be 1473. Have you tried running as root and it didn't work? I have used 1473 in the past on several devices with success |
Yes. I ran it as root and the same errors persist: jr@JR-MOBILE:~$ sudo freenect-glview |
Has there been any update on this? I pulled from the master branch and am still getting the same error @josuerocha pasted above. Using a 1473; I've already corrected permissions and such. |
@har96 I don't think so. I bought a Kinect 1414 and gave up on 1473 in order to save some project time. |
Mine is actually started working. I uploaded the audio.bin firmware and I'm getting the video stream now. |
Hello,
I write to open an issue on the missing support for this device.
The 1473 model does not work with libfreenect: I always get a "Could not open device" when trying to launch demos using the camera or the tilt motor.
Also, the Xbox NUI Motor doesn't show up when checking with lsusb (testing on Ubuntu 12.10, 32bit):
Bus 001 Device 086: ID 045e:02c2 Microsoft Corp.
Bus 001 Device 087: ID 045e:02ad Microsoft Corp. Xbox NUI Audio
Bus 001 Device 088: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
If needed, I can provide more verbose lsusb logs.
The text was updated successfully, but these errors were encountered: