• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Alchitry in Linux
#1
In my project, I am using an Alchitry Au to read some data from a sensor and trying to make real-time serial communication with a host PC (sending commands from the host machine and receiving data from the FPGA board using python pyserial). This project works fine in the windows host machine. 
My problem starts when I try to introduce a Linux host PC. To work with the Alchitry loader, I need to move the 99-alchitry.rules file from the driver folder into /etc/udev/rules.d/; however, copying this rule file unbind the Alchitry Au from the /dev/tty* port and the host PC can not communicate with the FPGA  using the python any more. Could anyone please suggest some solution to cope up with the issue?
  Reply
#2
The Alchitry Loader uses libd2xx (the proprietary driver) for the interface which requires the default driver to be unbound.

However, you can modify the rules file to only unbind the first interface (JTAG/SPI) and not the second (serial port). This really should've been in the udev rules before but I just spend about an hour figuring out how to get it to work.

Here's the updated file.

Code:
SUBSYSTEM!="usb|usb_device", GOTO="ft2232_rules_end"
ACTION!="add", GOTO="ft2232_rules_end"

KERNEL=="*.0", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", RUN+="/bin/sh -c 'echo $kernel > /sys/bus/usb/drivers/ftdi_sio/unbind'"
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666", GROUP="dialout", ENV{ID_MM_DEVICE_IGNORE}="1"

LABEL="ft2232_rules_end"

Let me know if this works for you and I'll include it as the default.
  Reply
#3
Now, it's perfectly working! Thanks a lot! So, you can include it as default!
  Reply
#4
Great! I updated the file in the main download.
  Reply
#5
(05-12-2020, 05:01 PM)alchitry Wrote: Great! I updated the file in the main download.

Just I have checked the main download. The file is not updated (Just informing you).
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)