Comments (28)
No, doesn't work on mac :(
from vita-udcd-uvc.
Thanks to @xfangfang for discovering the potential issue!
I've pushed new commits to master. Can you try if this version works on macOS? It works fine on Android.
udcd_uvc.zip
from vita-udcd-uvc.
@xerpi not sure if that's of any help but I have 2 UVC devices (a webcam and a capture card) which do work on Mac, I posted a lsusb of both here #4 (comment) . If you want to, I can also try dumping their traffic using this https://aud1os.wordpress.com/2017/10/22/usb-monitoring-with-wireshark/ (never used wireshark before tbh) and/or the Vita traffic
from vita-udcd-uvc.
Here's a version that works for MacOS, but there's a problem with it (two columns of pixels on the left of each frame appear on the right side of the screen)
Anyone interested in fixing this problem can see this pr: vita-udcd-uvc/pull/72
from vita-udcd-uvc.
My test with lsub on Mac (macOS Catalina):
Bus 020 Device 019: ID 054c:1337 Sony Corporation PSVita Serial: UDCD UVC
and lsub -vd:
PSVita:
Product ID: 0x1337
Vendor ID: 0x054c (Sony Corporation)
Version: 1.00
Serial Number: UDCD UVC
Speed: Up to 480 Mb/s
Manufacturer: SONY
Location ID: 0x14210000 / 19
Current Available (mA): 500
Current Required (mA): 500
Extra Operating Current (mA): 0
from vita-udcd-uvc.
And with dmesg:
PSVita@14210000 <class AppleUSBDevice, id 0x10000850c, registered, matched, active, busy 0 (1 ms), retain 15>
from vita-udcd-uvc.
Hi, I installed a macOS VM and tried to debug why it doesn't work on macOS but I didn't manage to find the cause :(
from vita-udcd-uvc.
First of all, thanks for your time.
It's a shame that your plugin doesn't work on MacOS. The truth is that it is a great plugin and many people in the scene expect it.
If I can review something from my Mac you just have to tell me.
Thanks xerpi!
from vita-udcd-uvc.
"Mac UVC driver is expecting some kind of info from 0x84(UVC_GET_RES)"
Do you remember that? https://www.reddit.com/r/vitahacks/comments/95256o/poc_v6_psvita_usb_streaming_uvc_usb_video_class/
Maybe this will help you
from vita-udcd-uvc.
I've forgotten about that! I'll try to implement that request, but I don't have a Mac so I need testers.
from vita-udcd-uvc.
I can help testing too, I have a mac and know how to compile stuff
from vita-udcd-uvc.
Xerpi, I have a MAC and I have the development environment ready to do git pull, compile and test ;)
from vita-udcd-uvc.
I'm a bit busy during workdays, so to debug do the following:
- Remove the plugin from the tai config (don't load it automatically)
- Compile this plugin with
make DEBUG=1
- Run
make DEBUG=1 send
to send via FTP the plugin toux0:data/tai/kplugin.skprx
- Install this kernel plugin-loader VPK
- It will open FTP on port 1337
- It listens for any data on port 1338, and if it receives a connection it loads the plugin. So from your PC you can run
nc -zv $PSVITAIP 1338
and it will load the plugin, located inux0:data/tai/kplugin.skprx
.
This way you don't have to exit the VPK to run a new compilation.
- The debug version of UDCD UVC prints debug info on the screen and also to a file if you uncomment this (do it)
If you have done that, open the video player on Mac and paste here the generated log found at ux0:dump/udcd_uvc_log.txt
.
from vita-udcd-uvc.
Ok, I'll try.
By the way, consider putting the PS VITA.
This would be the request:
make DEBUG=1 PSVITAIP=XXX.XXX.X.X send
from vita-udcd-uvc.
This is the log:
udcd_uvc by xerpi
uvc_driver_start
uvc_udcd_configure 1 3 0x0187d028 1
uvc_udcd_configure 2 3 0x0187e028 1
uvc_udcd_attach 2
usb_driver_process_request(recipient: 0, arg: ffffffff)
request: 8 type: 80 wValue: 0 wIndex: 0 wLength: 1
usb_driver_process_request(recipient: 0, arg: ffffffff)
request: 6 type: 80 wValue: 300 wIndex: 0 wLength: ff
usb_driver_process_request(recipient: 0, arg: ffffffff)
request: 8 type: 80 wValue: 0 wIndex: 0 wLength: 1
uvc_udcd_change 1 0
usb_driver_process_request(recipient: 1, arg: ffffffff)
request: b type: 1 wValue: 0 wIndex: 1 wLength: 0
uvc_udcd_change 1 0
usb_driver_process_request(recipient: 1, arg: ffffffff)
request: b type: 1 wValue: 0 wIndex: 1 wLength: 0
usb_driver_process_request(recipient: 1, arg: 1)
request: 1 type: 21 wValue: 100 wIndex: 1 wLength: 22
uvc_handle_video_streaming_req 100, 1
Probe SET_CUR, bFormatIndex: 1, bmFramingInfo: 0
usb_driver_process_request(recipient: 1, arg: 1)
request: 81 type: a1 wValue: 100 wIndex: 1 wLength: 22
uvc_handle_video_streaming_req 100, 81
Probe GET_CUR, bFormatIndex: 1, bmFramingInfo: 0
usb_driver_process_request(recipient: 1, arg: 1)
request: 1 type: 21 wValue: 200 wIndex: 1 wLength: 22
uvc_handle_video_streaming_req 200, 1
Commit SET_CUR, bFormatIndex: 1, bmFramingInfo: 0
usb_driver_process_request(recipient: 2, arg: ffffffff)
request: 1 type: 2 wValue: 0 wIndex: 81 wLength: 0
NV12 CSC: 2657us xfer: 17010us
NV12 CSC: 2640us xfer: 17005us
NV12 CSC: 2646us xfer: 16979us
NV12 CSC: 2646us xfer: 17022us
NV12 CSC: 2638us xfer: 17075us
NV12 CSC: 2626us xfer: 17026us
NV12 CSC: 2643us xfer: 16994us
NV12 CSC: 2633us xfer: 17061us
NV12 CSC: 2636us xfer: 17080us
NV12 CSC: 2616us xfer: 17083us
NV12 CSC: 2621us xfer: 17021us
NV12 CSC: 2638us xfer: 17076us
NV12 CSC: 2640us xfer: 17047us
NV12 CSC: 2623us xfer: 17038us
NV12 CSC: 2645us xfer: 17032us
NV12 CSC: 2637us xfer: 17039us
NV12 CSC: 2627us xfer: 17030us
NV12 CSC: 2651us xfer: 17049us
NV12 CSC: 2601us xfer: 17071us
NV12 CSC: 2642us xfer: 17087us
NV12 CSC: 2632us xfer: 17050us
NV12 CSC: 2647us xfer: 17012us
NV12 CSC: 2643us xfer: 17042us
NV12 CSC: 2633us xfer: 17063us
NV12 CSC: 2645us xfer: 17072us
NV12 CSC: 2638us xfer: 17016us
NV12 CSC: 2633us xfer: 17090us
NV12 CSC: 2631us xfer: 17083us
NV12 CSC: 2639us xfer: 17050us
etc.....
from vita-udcd-uvc.
That's interesting because I don't see why UVC_GET_RES
(0x84
) being sent.
Maybe the problem is that macOS doesn't support NV12 frames?
from vita-udcd-uvc.
I don’t think that’s a problem.
I am attaching the log file with one more test: udcd_uvc_log.txt
from vita-udcd-uvc.
The logs look good to me...
Can you try changing this line:https://github.com/xerpi/vita-udcd-uvc/blob/master/include/usb_descriptors.h#L116 to UVC_GUID_FORMAT_YUY2
?
from vita-udcd-uvc.
Done, but don't work.
New log file: udcd_uvc_log.txt
from vita-udcd-uvc.
Following this, would love to get this to work on my Mac, so I can offer testing from my end as well, just instruct me on what I need to provide to assist.
from vita-udcd-uvc.
Following this, would love to get this to work on my Mac, so I can offer testing from my end as well, just instruct me on what I need to provide to assist.
from vita-udcd-uvc.
If you need anything.
Here I'm to try.
Thanks!
from vita-udcd-uvc.
help hello good afternoon we are June 9, 2020 any solution to use udcd-uvc on mac?
from vita-udcd-uvc.
is there going to be a fix?
from vita-udcd-uvc.
For now you can use Parallels to run a small Linux distro on macOS...
from vita-udcd-uvc.
It works!
from vita-udcd-uvc.
works for me. thanks!
from vita-udcd-uvc.
Good job everyone!
from vita-udcd-uvc.
Related Issues (20)
- Conflict with Vitashell USB
- no output at all when i check from obs HOT 2
- What Hardware do I need other than the hacked psvita HOT 4
- Get crash if I tried to open any game. HOT 2
- .
- Audio Isn't Picked Up When USB Cable Is Plugged Into Laptop And Vita
- Screen Tearing Problem
- Output Video but Turn Off Screen HOT 1
- Connection to pc, then re-downlading not working HOT 1
- Best Settings For OBS?
- Bad Frame Pacing HOT 1
- Not working on MX10 Pro 4K Box running Android 9 HOT 3
- Breaks USB Functionality in PSM Dev and PSM Dev Unity
- Changing sharpscale config menu settings shows no difference when streaming PSVita screen
- When trying to connect via USB Cable to PC with QCMA, says "An error occurred (C0-7926-4)" HOT 1
- Vita error code c4-13901-4 when connect USB to PC/ Android Box HOT 6
- PS Vita FAT turns off when opening any game HOT 1
- No audio output for Macos HOT 2
- Can't get video to work on MacOS (Apple M1) HOT 1
- Audio delay over time
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vita-udcd-uvc.