element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Personal Blogs
  • Community Hub
  • More
Personal Blogs
Legacy Personal Blogs INSTALLATION DES DRIVERS USB NECESSAIRES POUR UTILISER LATTICE DIAMOND SOUS LINUX UBUNTU 14
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: lelion95
  • Date Created: 17 Oct 2015 9:07 AM Date Created
  • Views 757 views
  • Likes 0 likes
  • Comments 0 comments
  • ftdid2xxlib
  • Ubuntu
  • diamond
  • machxo2_pico_development_kit
  • machxo2
  • lattice
  • pld
  • linux
Related
Recommended

INSTALLATION DES DRIVERS USB NECESSAIRES POUR UTILISER LATTICE DIAMOND SOUS LINUX UBUNTU 14

lelion95
lelion95
17 Oct 2015

MATERIEL:

Device sur la carte MachXO2 Pico: LCMXO2-1200ZE-2MG132CES1104RH01


PROBLEME:

Au premier lancement de Diamond:
Q: lionel@lionel-W253EU-SSD:~$ /usr/local/diamond/3.5_x64/bin/lin64/diamond
R:
lionel@lionel-W253EU-SSD:~$ libusb couldn't open USB device /dev/bus/usb/003/007: Permission denied.
libusb requires write access to USB device nodes.
Erreur de segmentation
(ceci est le problème du lancement non root, résolue par l'affectation au groupe 'usbdev')
Le problème résolu ici est celui de pouvoir ouvrir le mode 'programmer' depuis Diamond pour
downloader le Jedec dans le PLD.


SOLUTION:

Listage des périphériques usb:
Q: lionel@lionel-W253EU-SSD:~$ lsusb
R:
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse (M-BT58)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 0480:0201 Toshiba America Info. Systems, Inc.
Bus 003 Device 007: ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC
Bus 003 Device 005: ID 04a9:173a Canon, Inc.
Bus 003 Device 003: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 003 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

demande d'infos du périph concerné (chemin).

Q: lionel@lionel-W253EU-SSD:~$ sudo udevadm info -q path -n /dev/bus/usb/003/007
R: /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.1/3-2.1.3

demande des caractéristiques complètes du périphérique.

Q: lionel@lionel-W253EU-SSD:~$ sudo udevadm info -a -p /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.1/3-2.1.3
R:

Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. 
It prints for every device found, all possible attributes in the udev rules key format. 
A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. 
looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.1/3-2.1.3': 
KERNEL=="3-2.1.3" SUBSYSTEM=="usb" DRIVER=="usb" 
ATTR{bDeviceSubClass}=="00" 
ATTR{bDeviceProtocol}=="00" 
ATTR{devpath}=="2.1.3" 
ATTR{idVendor}=="0403" 
etc...
ATTR{idProduct}=="6010" 
ATTR{product}=="Lattice FTUSB Interface Cable" 
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.1': etc...
lionel@lionel-W253EU-SSD:~$

Mes recherches m'ont amené à créer un fichier /etc/udev/rules.d/90-usb-special-lio.rules
(avec nano dans le répertoire en tant que 'root').
c'est la solution proposée la meilleure et la plus universelle.
Ce fichier contient:
(voir listing ci dessus, le périph posant problème est le "Lattice FTUSB Interface Cable")

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="0403", MODE="0666", GROUP="plugdev"

Pour finaliser, il faut d'abord débrancher les périphériques concernés, puis lancer au choix l'une de ces commandes :

sudo udevadm control --reload-rules
ou
sudo service udev restart

On peut alors rebrancher les périphériques et les utiliser.
Attention : les règles ne sont appliquées que pour les périphériques nouvellement détectés,
d'où la nécessité de débrancher préalablement, puis de rebrancher le périphérique usb.
(d'après la réponse dans le forum: https://forum.ubuntu-fr.org/viewtopic.php?id=1217181)

De plus il faut installer la librairie D2xx de chez FTDI pour linux 64bit car:
Sous Linux, le pilote D2XX (bitstream) et le pilote VCP (VirtualComPort) sont incompatibles les uns avec les autres.
Lorsqu'un périphérique FTDI est branché, la DRIVER du PCV doit être déchargé avant qu'une demande de D2XX ne puisse être exécuté.
Pour ce faire utilisez la commande de supression du module (rmmod) :
sudo rmmod ftdi_sio
sudo rmmod usbserial
Lorsque le périphérique usb FTDI est éteint, puis rallumé ou réinitialisé,
le pilote VCP sera rechargé.
Le processus de rmmod doit être répété chaque fois que cela se produit.
Il est possible d'écrire un script simple qui décharge le pilote VCP avant d'exécuter l'application de D2XX.
(voir la note FTDI: AN_220_FTDI_Drivers_Installation_Guide_for_Linux .pdf)


Conclusion provisoire:

Il faut lancer les deux commandes de dévalidation des drivers VCP comme ci dessus,
ou un script qui regroupe les deux, avant de lancer le soft "Lattice Diamond",
pour pouvoir programmer les cpld ou les fpga avec ce type de driver en mode bitstream (FTDI) (testé ok)

Salutations à toutes et à tous !

Lionel

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube