Page 1 of 1

Can't find usb device

Posted: Sat May 01, 2021 12:07 pm
by WingViewWR
Well, crazyflie works well in my macbook pro with PS4 controller and cfclient.
But when I want to use Loco nodes to set up the LPS,
I just find that system can't find this USB device while the CrazyRadio just can be found...
I realized that Crazyflie connected by USB is also not able to be recognized...
-------------------------------------------------
OS: Mac OS Bigsur with Apple Silicon M1
-------------------------------------------------
brew list
==> Formulae
autoconf hidapi pkg-config
automake icu4c python@3.9
binutils libftdi readline
boost libtool sdcc
cmake libusb sphinx-doc
confuse libusb-compat sqlite
dfu-util lsusb swig
gcc-arm-none-eabi open-ocd xz
gdbm openssl@1.1
gputils pcre
--------------------------------------------------

Re: Can't find usb device

Posted: Sun May 02, 2021 5:23 am
by WingViewWR
Things just have been solved.
It just caused by a really stupid problem.
I just used the USB wire from the Mobile Power Bank which can only apply power but can't send data...
I changed the USB wire and this problem was just solved. :P :P

Re: Can't find usb device

Posted: Mon May 03, 2021 4:28 am
by jonasdn
Great that it was solved!

Re: Can't find usb device

Posted: Wed Sep 29, 2021 5:34 pm
by kylixz
Apologies that this is a late post on this thread, but I'm having difficulties getting the CFClient working on a MacBook Pro with M1 hardware.

I have the CrazyRadio PA plugged in and I am able to flash it successfully to version 99.55.

However, in the same terminal and Conda-managed python environment CFClient always displays "INFO:cfclient.utils.input.inputreaders.pysdl2:Found 0 devices
INFO:cfclient.utils.input.inputreaders.pysdl2:Looking for devices"

And never shows a radio to connect.

How did you get this to work? I've tried Homebrew environments in and out of Rosetta2 and different Python environments as well in and out of Rosetta2 and just cannot get the radio to work! Thanks for any tips!

Re: Can't find usb device

Posted: Thu Sep 30, 2021 9:12 am
by kristoffer
Hi!

There are unfortunately issues running on M1 macs that we have not had the possibility to fix yet. Please see viewtopic.php?f=5&t=5051&p=23090&hilit=mac+m1#p23090

Re: Can't find usb device

Posted: Thu Sep 30, 2021 1:04 pm
by arnaud
Hi,

The line you copied are not related to the Crazyradio connection but to the SDL connection to a gamepad.

Unfortunately we do not have access (yet) to a M1 mac. Looking at how things are going, we are thinking of buying a mac book air just to test compatibility, as it unfortunately seems that it will not be enough to test on x86 macs.

In the mean time I could try to debug things remotely with you. The first things would be to check that you can see the Crazyradio in the "system report". Similar as on this page: https://www.bitcraze.io/documentation/r ... /#mac-os-x.

Then we can check if pyUSB/LibUSB can see the radio dongle by running this script:

Code: Select all

import usb.core
import usb.util
dev = usb.core.find(find_all=True)
for d in dev:
    print(f"{d.idVendor:04x}:{d.idProduct:04x}")
    if d.idVendor == 0x1915 and d.idProduct == 0x7777:
        print("^--- Crazyradio found!")
If the radio can be seen by pyusb, this should list a lot of devices including the radio with this two lines:

Code: Select all

1915:7777
^--- Crazyradio found!
If you can report if this two test passes, we can start digging a bit further, otherwise it will give us more info about what can be failing.

Re: Can't find usb device

Posted: Thu Oct 07, 2021 12:02 pm
by arnaud
So, we got an M1 mac and I got the client to work with USB/Crazyradio support.

The key was to use brew under Rosetta I updated the install instruction of the client: https://github.com/bitcraze/crazyflie-c ... d#apple-m1

One potential problem you can have with USB is that you need to install libusb using brew on x86 in order for the client to be able to access the radio dongle.

Re: Can't find usb device

Posted: Thu Oct 07, 2021 12:49 pm
by kylixz
Arnaud,

Apologies for the delay in my response. Appreciate capturing the updated install instructions. I was able to get things working following a similar path with two brew versions, one for x86 like you called out. Then maintain separate environments through miniconda and that allows me to develop successfully!

Thankyou!!!