Hi
I developed a small LED application using the Adafruit FT232H Breakout board, my computer did the last Win 10 update and now the application will not work.
I followed all of the steps to re install the board as per the website, but I am having an issue with the pyusb or pyftdi.
When I run
import usb
import usb.util
dev = usb.core.find(idVendor=0x0403, idProduct=0x6014)
print(dev)
I keep getting the following
usb.core.NoBackendError: No backend available
Thoughts on how I can get past this, I tried the libusb dll but that did not seem to work, or I was using the wrong file.
Regards
Lee
Adafruit FT232H Breakout - software issue Win10 Update
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- LeeMcm
- Posts: 2
- Joined: Sat Jan 02, 2021 4:28 pm
- mikeysklar
- Posts: 13824
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
Lee,
Can you try using zadig again as mentioned in this post;
viewtopic.php?f=19&t=159607
Can you try using zadig again as mentioned in this post;
viewtopic.php?f=19&t=159607
Code: Select all
tried using zadig again and selected the libusb-win32 driver based on installation instructions from https://github.com/eblot/pyftdi/blob/ma ... lation.rst
This got me past the No Backend available error. The following output was the result.
>>> import usb
>>> import usb.util
>>> dev=usb.core.find(idVendor=0x0403, idProduct=0x6014)
>>> print(dev)
DEVICE ID 0403:6014 on Bus 000 Address 001 =================
bLength : 0x12 (18 bytes)
bDescriptorType : 0x1 Device
bcdUSB : 0x200 USB 2.0
bDeviceClass : 0x0 Specified at interface
bDeviceSubClass : 0x0
bDeviceProtocol : 0x0
bMaxPacketSize0 : 0x40 (64 bytes)
- LeeMcm
- Posts: 2
- Joined: Sat Jan 02, 2021 4:28 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
Thank you, tried this and its works as expected.
Regards
Lee
Regards
Lee
- mikeysklar
- Posts: 13824
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
Awesome, thank you for trying and the confirmation.
- kudofix
- Posts: 5
- Joined: Mon Apr 26, 2021 12:55 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
I bought a breakout board from Digikey -- PN 2264.
I have been struggling with the problem of backend not available.
>>> import usb
>>> import usb.util
>>> dev=usb.core.find(idVendor=0x0403, idProduct=0x6014)
I got an error saying Backend is not available when I tried the above.
This morning I followed the instruction https://learn.adafruit.com/circuitpytho ... 2h/windows to install the driver, downloaded pyusb...
I have been struggling with the problem of backend not available.
>>> import usb
>>> import usb.util
>>> dev=usb.core.find(idVendor=0x0403, idProduct=0x6014)
I got an error saying Backend is not available when I tried the above.
This morning I followed the instruction https://learn.adafruit.com/circuitpytho ... 2h/windows to install the driver, downloaded pyusb...
- mikeysklar
- Posts: 13824
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
Did you try the re-installation of zadig as suggested above?
Take a look at this link:
viewtopic.php?f=19&t=159607
Take a look at this link:
viewtopic.php?f=19&t=159607
- kudofix
- Posts: 5
- Joined: Mon Apr 26, 2021 12:55 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
I tried to reinstall the driver using Zadig.
First time, the PC stalled when I picked libusb-win32 and I had to restart the PC.
The second time, pick IibusbK, it went through.
When I entered the following, no more "Backend not available" but returned was None.
Should I suppose to get some device info?
>>> import usb
>>> import usb.util
>>> dev=usb.core.find(idVendor=0x0403, idProduct=0x6014)
>>> print(dev)
None
First time, the PC stalled when I picked libusb-win32 and I had to restart the PC.
The second time, pick IibusbK, it went through.
When I entered the following, no more "Backend not available" but returned was None.
Should I suppose to get some device info?
>>> import usb
>>> import usb.util
>>> dev=usb.core.find(idVendor=0x0403, idProduct=0x6014)
>>> print(dev)
None
- mikeysklar
- Posts: 13824
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
@kudofix,
As I understand you do need to install zadig twice, but on the second time it is important that you DO NOT select libusbK, but you select libusb-win32.
viewtopic.php?f=19&t=159607
As I understand you do need to install zadig twice, but on the second time it is important that you DO NOT select libusbK, but you select libusb-win32.
viewtopic.php?f=19&t=159607
- kudofix
- Posts: 5
- Joined: Mon Apr 26, 2021 12:55 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
The reason I got None above was a typo on the idProduct.kudofix wrote:I tried to reinstall the driver using Zadig.
First time, the PC stalled when I picked libusb-win32 and I had to restart the PC.
The second time, pick IibusbK, it went through.
When I entered the following, no more "Backend not available" but returned was None.
Should I suppose to get some device info?
>>> import usb
>>> import usb.util
>>> dev=usb.core.find(idVendor=0x0403, idProduct=0x6014)
>>> print(dev)
None
I have another question:
from pyftdi import i2c, ftdi
i2c = i2c.I2cController()
i2c.configuration ('ftdi://ftdi:232h/1')
slave = i2c.get_port(0x50)
slave.read(256,1)
The last statement causes an error, regaddress should be <255.
How to get around this limit? Thanks
- mikeysklar
- Posts: 13824
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
Was the typo on idProduct=0x6014 on our side or your side? Is it something different than what I had suggested?
I've seen people use busio, but I'm not sure that there are addresses above the 8-bit range. Here is another example writing (not reading) over i2c using a different library.
I suspect you need to be using a hex address and not decimal format as well as keeping the value below 0xFF.
I've seen people use busio, but I'm not sure that there are addresses above the 8-bit range. Here is another example writing (not reading) over i2c using a different library.
I suspect you need to be using a hex address and not decimal format as well as keeping the value below 0xFF.
Code: Select all
import board
import busio
addr=0x09
bus=busio.I2C(board.SCL,board.SDA,frequency=1000)
buffer=bytearray([0x70,0x04,0x00,0x00])
bus.writeto(addr,buffer)
- kudofix
- Posts: 5
- Joined: Mon Apr 26, 2021 12:55 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
Thanks for the suggestion.
The problem is the bytearray, which byte oriented and that's why the address cannot be greater than 255.
The thing is in I2C.py from pyftdi the address defined in the function is an int.
When the command is spacked, all have to be bytes.
If other method instead of spcak can be used to formulate the command, maybe we get around.
The problem is the bytearray, which byte oriented and that's why the address cannot be greater than 255.
The thing is in I2C.py from pyftdi the address defined in the function is an int.
When the command is spacked, all have to be bytes.
If other method instead of spcak can be used to formulate the command, maybe we get around.
- kudofix
- Posts: 5
- Joined: Mon Apr 26, 2021 12:55 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
Hi,
Can anyone tell me how to change the I2C data rate?
Thanks
Can anyone tell me how to change the I2C data rate?
Thanks
- mikeysklar
- Posts: 13824
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit FT232H Breakout - software issue Win10 Update
@kudofix,
Are you asking how to change the i2c bus speed on the FT232H? If so, you should start a new thread on this as that is a more involved process as shown in the datasheet.
http://www.ftdichip.com/Support/Documen ... evices.pdf
Are you asking how to change the i2c bus speed on the FT232H? If so, you should start a new thread on this as that is a more involved process as shown in the datasheet.
http://www.ftdichip.com/Support/Documen ... evices.pdf
Code: Select all
// Now configure the dividers to set the SCLK frequency which we will use
// The SCLK clock frequency can be worked out by the algorithm (when divide-by-5 is off)
// ClockDivisor has been defined as 0xC8 at the top of the source code.
dwNumBytesToSend = 0;
// Clear index to zero
OutputBuffer[dwNumBytesToSend++] = 0x86;
// Command to set clock divisor
OutputBuffer[dwNumBytesToSend++] = dwClockDivisor & 0xFF;
// Set 0xValueL of clock divisor
OutputBuffer[dwNumBytesToSend++] = (dwClockDivisor >> 8) & 0xFF;
// Set 0xValueH of clock divisor
ftStatus = FT_Write(ftHandle, OutputBuffer, dwNumBytesToSend, &dwNumBytesSent);
// Send off the commands
Please be positive and constructive with your questions and comments.