usb.core.USBError: [Errno 32] Pipe error

Post here to get support
Post Reply
scarzybrook
Beginner
Posts: 1
Joined: Sat Oct 19, 2019 3:12 pm

usb.core.USBError: [Errno 32] Pipe error

Post by scarzybrook »

Hi,

I've recently got hold of 2 Crazyradio PA's to see if they would be suitable for a personal project. I've then tried to run ptx.py and prx.py from the examples folder in https://github.com/bitcraze/crazyradio-firmware

I've tried both devices, in 3 different PCs running a combination of Fedora 26 and Ubuntu 18.04

In all cases I get the following:

Code: Select all

Traceback (most recent call last):
  File "ptx.py", line 8, in <module>
    radio.set_mode(Crazyradio.MODE_PTX)
  File "../lib/crazyradio.py", line 221, in set_mode
    _send_vendor_setup(self.handle, SET_MODE, mode, 0, ())
  File "../lib/crazyradio.py", line 309, in _send_vendor_setup
    wIndex=index, timeout=1000, data_or_wLength=data)
  File "/usr/lib/python2.7/site-packages/usb/core.py", line 1043, in ctrl_transfer
    self.__get_timeout(timeout))
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb1.py", line 883, in ctrl_transfer
    timeout))
  File "/usr/lib/python2.7/site-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 32] Pipe error
When I plug the radios in D3 and D4 both light up simultaneously, and then turn off again and stay off, which I believe is correct behaviour. When I plug one of the radios in dmesg shows:

Code: Select all

[ 6606.745101] usb 3-2: new full-speed USB device number 5 using xhci_hcd
[ 6606.873723] usb 3-2: New USB device found, idVendor=1915, idProduct=7777
[ 6606.873728] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=29
[ 6606.873731] usb 3-2: Product: Crazyradio PA USB Dongle
[ 6606.873733] usb 3-2: Manufacturer: Bitcraze
[ 6606.873736] usb 3-2: SerialNumber: 16B11C3CB9
lsusb gives:

Code: Select all

[root@localhost]$ lsusb -d 1915:7777 -v
Bus 003 Device 005: ID 1915:7777 Nordic Semiconductor ASA 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1915 Nordic Semiconductor ASA
  idProduct          0x7777 
  bcdDevice            0.53
  iManufacturer           1 Bitcraze
  iProduct                2 Crazyradio PA USB Dongle
  iSerial                29 16B11C3CB9
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               6
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               6
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)
I've tried upgrading the firmware on one of the radios with the 0.53 release, and again with a binary I built fresh from the repo. I have also tried multiple different USB ports (both USB3 and USB2), as I found comments suggesting that USB3 ports might have issues. I always get the same error.

Any ideas what might be the problem?
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: usb.core.USBError: [Errno 32] Pipe error

Post by arnaud »

Thanks for the detailed question.

To use this script you need to compile and flash the tip of master of the Crazyradio firmware. Functionalities needed for prx/ptx scripts have not been released.

The only requirement to build the firmware is to have sdcc installed.
Post Reply