6 ms·
Interesting. The company I worked for and our competitor VMWare both had to create small kexts to enable on-the-fly capture of USB devices. We both accessed US
by CountSessine 7y ago
Interesting.
The company I worked for and our competitor VMWare both had to create small kexts to enable on-the-fly capture of USB devices. We both accessed USB devices from user-space, but we needed to put small kexts in the kernel to prevent class drivers from being automatically attached to general USB devices. There was really no race-free user-space way of doing this and Apple ignored our messages on their dev forums when we asked for assistance.
I wonder if they’ve added an interface for this? Or maybe promiscuous USB device control just isn’t going to be possible now?
- zZorgz 7y agoAs a side note, the forums aren't the best place for that; the post could just be unseen by the people that matter. The appropriate channels are through Feedback Assistant and/or a technical support report (https://developer.apple.com/support/technical/ https://developer.apple.com/support/technical/) which has bit more visibility.
- dehrmann 7y agoFor things vaguely like this, the places I've worked had contacts within the company helping us to varying degrees. Apply was not one of these companies, and unless there's money or contracts are being signed, getting that contact is a challenge.
- jchb 7y agoSecond this, you get two free Technical Support Incident requests per year as a registered developer, and you can purchase additional ones. We regularly file such requests and have always got timely and helpful responses.
- comex 7y agoUSBDriverKit can do this.
- leo60228 7y agoIsn't this feature what's blocking Bluetooth Passthrough on macOS Dolphin?
- SyneRyder 7y agoIf I'm correctly guessing that you might have worked on Parallels, thank you for one of the best programs I've ever used. So many nice delightful touches, like their autodetection of USB devices and asking if I want to use them with the VM or the native system. Without Parallels I could never have used a Mac as my main machine. I've since moved back to Windows, but I hope Parallels might make a Windows version. The Windows competitors aren't as good as their Mac versions, and painfully slow compared to Parallels running on my ancient MBP 2012.
- jamil7 7y ago> on my ancient MBP 2012 I still do all my work on one, fast as the day I bought it.
- deleted 7y ago[deleted]
- vaxman 7y agoWhy can't someone slap the XNU api onto Linux and create a runtime system that permits Apple's UX frameworks/libraries to be used by Linux developers (who will create more performant apps that do incredible things while maintaining the look-and-feel of the Macs that we once loved)? As long as we're booting Linux on machines bought at their local mall outlet or online store, I don't see the legal problem. Maybe a new generation of managers at Apple would even cooperate with such a Linux distribution (something like A/UX of yesteryear)?
- pmjordan 7y agoWhy can't someone slap the XNU api onto Linux Probably because importing Mach messaging and VM APIs into the Linux kernel, and recreating IOKit and similar from scratch is a pretty major undertaking; the APSL isn't GPL-compatible, so using the existing XNU code and trying to make it fit into the Linux kernel isn't something that could ever be upstreamed. Aside from the fact that Linux's device model doesn't exactly map to IOKit well. Then there are invariably plenty of assumptions that userland makes: launchd is probably assumed to have PID 1; all sorts of stuff like that. Plus of course, there's the question of whether this would be inline with the EULA of Apple's userland… There's always GNUStep if you want to write Cocoa apps in Objective-C on Linux. Somehow I have a feeling the APIs aren't what's been holding back Linux on the desktop.
- JdeBP 7y agoIn FreeBSD and NetBSD there's a USB_IFACE_DRIVER_DETACH ioctl(). But things are very different on XNU. (-:
- deleted 7y ago[deleted]
- webmobdev 7y agoI suspect this an attempt by Apple to make it more like iPadOS and deny us advanced users even more control over our OS. Perhaps specifically to CRIPPLE outbound firewall in such a way that Apple can still do their data-collection on us. The developers of outbound firewall like Little Snitch, TripMode and RadioSilence have already voiced concerns how the alternative offered doesn't have the requisite feature capability required for their software and would actually cripple it. Apple has asked them to file "enhancement requests" with no guarantee that it will be implemented - https://forums.developer.apple.com/thread/79590 https://forums.developer.apple.com/thread/79590 . An outbound firewall is a desperately needed feature of ios / iPadOS too that users have demanded for a long time, but Apple deliberately doesn't implement because it wants access to your user-data and to spy on you. The sad part is, ios already has a built-in basic outbound firewall that doesn't allow apps to connect to the internet unless explicitly allowed - but it exists only for internet over mobile data and not Wifi. For all its propaganda about being "conscious" about user-privacy, it does nothing to stop your data from "leaking" to the internet in the first place even though it can.
- marriedWpt 7y agoI never understood the reason an advanced user would buy an Apple product. Is it compiling iOS apps for other people? Given the high price and lack of qualities, I don't imagine many advanced users would buy anything from Apple.
- KarlKemp 7y agoHave you seen the number of MacBooks at MIT, or Google's or any other tech company's campus? The difference between your notion and reality should really motivate you to question your assumptions. The two most glaring errors are, first, that "advanced users" wouldn't care about ease-of-use. And, second, that "advanced users" would care about price as much as you do. Apple is great hardware, an OS that works and that doesn't constantly bother you with notification (the most glaring problem with Windows, when I last used it a decade ago), and a native Unix underneath.
- 7y ago
- wila 7y agoVMware Fusion has a Tech Preview out since last week where the USB passthrough support is no longer done via a kernel extension. See here: https://communities.vmware.com/servlet/JiveServlet/download/41112-1-233543/Fusion%2020H1%20Tech%20Preview%20User%20Guide.pdf https://communities.vmware.com/servlet/JiveServlet/download/...
- CountSessine 7y agoAh - good to know and glad to hear it for the sake of my former colleagues; Apple had already redesigned the USB kernel interfaces to make this more difficult and I wasn’t sure how they were going to keep doing this at all.
- mrpippy 7y agoYes, they've added an interface for this. The latest tech preview of VMware Fusion is using this interface rather than their own kext: https://blogs.vmware.com/teamfusion/2020/01/fusion-tp20h1-introducing-nautilus.html https://blogs.vmware.com/teamfusion/2020/01/fusion-tp20h1-in...