xTimeComposer on Ubuntu 20.04 Problem

Technical questions regarding the XTC tools and programming with XMOS.
bearcat
Respected Member
Posts: 283
Joined: Fri Mar 19, 2010 4:49 am

Post by bearcat »

nice summary.

FYI. I have since moved to Ubuntu 22.04. There are additional issues on this release relating to compiler problems during application build that will need worked out. I decided to just keep my Ubuntu 20.04 build available for now.
johndow
New User
Posts: 2
Joined: Mon Apr 01, 2019 5:35 pm

Post by johndow »

thanks for the all the advices! I got xTIMEcomposer 14.4.1 running on Ubuntu 22.04 too!
User avatar
fabriceo
XCore Addict
Posts: 234
Joined: Mon Jan 08, 2018 4:14 pm

Post by fabriceo »

Hi
got this to work on linuxmint 21.1 (in a VirtualBox VM) with above scripts and adding
sudo apt install libncurses5
which also added libtinfo5

now need to set the USB device rules to get xflash -l working
xrun -l says the following:

# xrun -l
ERROR: Device permissions for product 0x20b1 0xf7d4 are not set correctly
Please add the correct usb device rules to allow user space access

Available XMOS Devices
----------------------

No Available Devices Found

Verify XMOS board is connected and visible:

# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 017: ID 20b1:f7d4 XMOS Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...
Check permission for the device:

# ls /dev/bus/usb/001 -lah # replace 001 with the bus id from lsusb
total 0
drwxr-xr-x. 2 root root 200 Nov 14 04:13 .
drwxr-xr-x. 6 root root 120 Nov 14 02:56 ..
crw-rw-r--. 1 root root 189, 18 Nov 14 04:13 017
...
In this case, 017 (the device id from lsusb) is our XMOS board of which is owned by root.

Add the current user as owner of the XMOS board:

# cat /etc/udev/rules.d/92-xmos-x200.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="20b1", ATTR{idProduct}=="f7d4", ACTION=="add", OWNER="<name>", MODE="0664"
The file 92-xmos-x200.rules will not exist so you will have to create it manually. The name of the file is not critical, the number describes the order of which the rule will be applied, the rest are for descriptive purposes. Replace <name> with your user name.

Reload udev rules:

# sudo udevadm control --reload-rules && udevadm trigger
Disconnect and reconnect the device, verify that permission of the again:

# ls /dev/bus/usb/001 -lah # replace 001 with the bus id from lsusb
total 0
drwxr-xr-x. 2 root root 200 Nov 14 04:13 .
drwxr-xr-x. 6 root root 120 Nov 14 02:56 ..
crw-rw-r--. 1 <name> root 189, 18 Nov 14 04:14 019
...
The owner of the device should be <user>, running xrun -l should now see the board. Notice that the device id may change, if unclear, always check with output of lsusb first.
User avatar
fabriceo
XCore Addict
Posts: 234
Joined: Mon Jan 08, 2018 4:14 pm

Post by fabriceo »

well, stupid me, the code above for setting up the usb xtag device is obsolete, its missing a symlink parameter. and I realized that 2 scripts available in the standard xtc14.4.1 tar will do the job... now this works well in virtualbox (x86 host)