-
Notifications
You must be signed in to change notification settings - Fork 230
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
Different behavior on M1 (Apple Silicon) Mac #282
Comments
Please show output of Also, note that M1 silicon is very new. I didn't know of it's existence just a few days ago. I wouldn't be surprised if it had some bugs that prevent uhubctl from working properly. Thanks! |
Thanks for the reply. I think The out of
Please let me know if further diagnosis is required. |
Few things:
|
And on M1 Mac:
Thanks. |
libusb-1.0.22 or 1.0.24 (head right now) should be ok, only 1.0.23 was broken. I am talking about this device with empty brackets:
I still find it odd that your USB 2.1 devices don't show their USB 3.x counterparts. Are you filtering full uhubctl output? |
Thank you for screenshots. I don't know what to say about this except for perhaps different behavior of darwin 20.x. Note that Linux currently has similar buggy behavior under certain conditions - notifications of powering USB off is not always properly propagated to user space (udev). We may need to get more experience with new M1 hardware, which is available to very few people right now... |
Thanks for your comment. macOS 11 (Big Sur) on Intel-based Macs does exhibit the expected behavior. Only M1 has unexpected behavior. For people facing the same issue, manually Thanks again and please let me know if I can further help. |
That's extremely odd and should not be possible. Note that
is exactly equivalent to:
|
I’m reporting another behavior which could be the real culprit: After an |
That could be either issue with darwin 20, or with libusb not adapted to darwin 20 differences on M1. All that uhubctl does is sending low level control message to the hub kernel driver to turn power off (and on). |
I guess it’s probably the issue with darwin 20, since VBUS did drop after the |
🤣 Apparently that is not the only problem: 🤦♂️ |
The |
This is a completely off-topic comment, so please delete it if it's a bother, but: Since buying the latest Macbook Pro about a year ago (T2 chip, Catalina, etc), I have become hugely put off by Apple's "new approach" to computing. Their priorities, and their decisions, leave me cold. Their attitude seems to be that we plebes will consume whatever they serve, and they owe us no explanations - or even current or consistent documentation. I won't be buying anything from Apple unless their house is put back in order. |
@baoshan, can you please try building libusb for M1?
This should give you |
It builds and executes fine.
Please let me know if there’s something else I could help. The behavior specific to this issue is unchanged.
|
Thank you @baoshan, it's good to know that uhubctl can be built natively for M1. Since power does drop immediately, it confirms that uhubctl is working as expected. There is nothing I could do to change MacOS behavior to remove device from device tree immediately. So, I am going to close this issue as not actionable. Please feel free to reopen if you don't agree. Much thanks for reporting! |
Thanks! Will report back once the situation changes. |
From #292, uhubctl works fine under my Mac Mini M1. My USB Webcam comes and goes with the power control (using PhotoBooth for testing). In my case, the Webcam has a microphone as well and I checked "Sound -- Input" in "System Preferences" and it behaves correctly. When the power is on, I can see the mic input. When the power is off, I can see the mic input stops.
|
So far the only problem is with USB HID device. I tested hidapi and sending random invalid requests with crash the Mac Mini M1 (automatically reboot). Previously this does not happen with my dead Mac Mini 2011 (died in early 2019). My native M1 build of homebrew. You can see I have USB related apps and all seem to work.
|
No, uhubctl does NOT work properly on M1 for you. This command |
I see. Thanks for pointing this out.
|
Nope, matching is still incorrect. But thanks for testing it, I will adjust #288 to deal with this |
You are right. Sorry but if I only want to match 2-1.4 PROLiNK PCC3220, by right which command should I use? |
You can disable USB3 duality handling by adding -e, but then you have to execute uhubctl twice: once for USB2, and second for appropriate USB3 partner hub:
|
I see. Thanks.
|
On Intel-based Mac, the
cycle
action:The system can detect the device was removed during step 2.
On M1 (Apple Silicon) Mac (Mac Mini tested), the system can only detect the device was removed after step 4, not during step 2. I use a USB audio device and the system sound panel to demonstrate the issue:
The text was updated successfully, but these errors were encountered: