PlutoSDR AttributeError: module 'iio' on Ubuntu 20.04 - gnu

When attempting to run flow graph in GNU Radio Companion, I get the following error:
AttributeError: module 'iio' has no attribute 'pluto_source'
I am running a new VMWare environment, on Windows, for Ubuntu 20.04.
I first installed the drivers and the libiio library for the Pluto and was able to SSH via: ssh root#192.168.21
However, in terminal when I run iio_info -s I get the following output which concerns me.
Library version: 0.21 (git tag: 9d79757)
Compiled with backends: local xml ip usb
Unable to create Local IIO context : No such file or directory (2)
Available contexts:
0: 0456:b673 (Analog Devices Inc. PlutoSDR (ADALM-PLUTO)), serial=1044739659930006f4ff24003edc27135f [usb:1.10.5]
1: 192.168.2.1 (Analog Devices PlutoSDR Rev.B (Z7010-AD9364)), serial=1044739659930006f4ff24003edc27135f [ip:pluto.local]
Running iio_info -u ip:192.168.2.1 I get a few errors which might be related to the above.
Library version: 0.21 (git tag: 9d79757)
Compiled with backends: local xml ip usb
IIO context created with network backend.
Backend version: 0.21 (git tag: v0.21 )
Backend description string: 192.168.2.1 Linux (none) 4.19.0-119999-g6edc6cd #319 SMP PREEMPT Mon Jul 6 15:45:01 CEST 2020 armv7l
IIO context has 9 attributes:
hw_model: Analog Devices PlutoSDR Rev.B (Z7010-AD9364)
hw_model_variant: 0
hw_serial: 1044739659930006f4ff24003edc27135f
fw_version: v0.32
ad9361-phy,xo_correction: 39999954
ad9361-phy,model: ad9364
local,kernel: 4.19.0-119999-g6edc6cd
uri: ip:192.168.2.1
ip,ip-addr: 192.168.2.1
...
...
attr 10: multichip_sync ERROR: Permission denied (13)
attr 11: rssi_gain_step_error value: lna_error: 0 0 0 0
mixer_error: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
...
...
debug attr 180: adi,frequency-division-duplex-mode-enable value: 1
debug attr 181: direct_reg_access value: 0x0
No trigger on this device
iio:device2: xadc
10 channels found:
voltage5: vccoddr (input)
...
...
2 debug attributes found:
debug attr 0: pseudorandom_err_check value: CH0 : PN9 : Out of Sync : PN Error
CH1 : PN9 : Out of Sync : PN Error
debug attr 1: direct_reg_access value: 0x0
No trigger on this device
I was unsure what the errors were, so I re-flashed the PlutoSDR with the latest Firmware and tried again. Still same errors.
Any ideas what this would be from?

I had a similar issue with GNU Radio Companion 3.8 (GRC) and Adalm Pluto. The root cause is that GRC requires a "tailored" iio package, which is different from the one you install via "pip install pylibiio." I can suggest the following:
Uninstall the Python iio (if you did, so as to avoid masking)
Make sure you install the gr-iio according to the official guide.
In the guide there are directions about making a copy of gr-iio installation and exporting its location to PYTHONPATH. Alternately, you can see some details from my experience.
If you need to use Adalm Pluto with Python, without GRC, I can recommend creating a virtual environment (venv) and installing Python iio there.

Related

How to create an x server with Singularity

Overall, I am trying to render images using Unity on a remote cluster.
The cluster does not have an X server; I don't have sudo permissions, or can start a Docker container, but I can start a Singularity container.
My plan is to create a container that would simulate the X Server. I created the following Singularity definition file:
Bootstrap: docker
From: nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04
%post
# xvfb for rendering in headless mode
apt-get update
apt-get install -y xvfb mesa-utils xorg
echo "allowed_users = anybody" > /etc/X11/Xwrapper.config
I started the container with the option --containall. From the container, I launched the command /usr/bin/X :0, but it failed with the following error:
Singularity xvfb.sif:~> /usr/bin/X :0
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root
X.Org X Server 1.19.6
Release Date: 2017-12-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.15.0-140-generic x86_64 Ubuntu
Current Operating System: Linux cooper 5.8.0-50-generic #56~20.04.1-Ubuntu SMP Mon Apr 12 21:46:35 UTC 2021 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.8.0-50-generic root=/dev/mapper/vgubuntu-root ro quiet splash vt.handoff=7
Build Date: 08 April 2021 01:57:21PM
xorg-server 2:1.19.6-1ubuntu4.9 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.34.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/home/pierre-louis/.local/share/xorg/Xorg.0.log", Time: Wed May 26 09:17:05 2021
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) parse_vt_settings: Cannot open /dev/tty0 (No such file or directory)
(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/home/pierre-louis/.local/share/xorg/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
Not any /dev/tty* exist. Then I tried to launch startx, but only to get the same message error.
How can I launch an X Server using a Singularity image?
As mentioned in a separate discussion, Xvfb is not supposed to be start through startx or /usr/bin/X but rather with the supplied run script.

Unable to launch weston on linux yocto from ssh

I have the error "no drm device found" as shown below.
I thinks the mail error is fatal: failed to create compoitor backend.
I have the following in my lib
desktop-shell.so drm-backend.so fbdev-backend.so fullscreen-shell.so gl-renderer.so hmi-controller.so ivi-shell.so wayland-backend.so x11-backend.so
root#salvator-x:/etc/systemd/system/multi-user.target.wants# /usr/bin/weston-launch \
-u root -- --idle-time=0 --config=/etc/xdg/weston/weston-drm-hdmi.ini $OPTARGS
Date: 2018-02-26 UTC
[21:29:08.949] weston 1.11.0
http://wayland.freedesktop.org
Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.11.0
Build: a9df8430-dirty v4l2-renderer: Fix calcluation of clip region (2017-04-13 18:25:00 +0900)
[21:29:08.949] OS: Linux, 4.9.0-yocto-standard, #1 SMP PREEMPT Mon Feb 26 17:46:03 EST 2018, aarch64
[21:29:08.949] Using config file '/etc/xdg/weston/weston-drm-hdmi.ini'
[21:29:08.950] Output repaint window is 34 ms maximum.
[21:29:08.950] Loading module '/usr/lib/weston/drm-backend.so'
[21:29:08.954] initializing drm backend
[21:29:08.954] logind: failed to get session seat
[21:29:08.954] logind: cannot setup systemd-logind helper (-61), using legacy fallback
[21:29:08.955] no drm device found
[21:29:08.955] fatal: failed to create compositor backend
failed to restore keyboard mode: Bad file descriptor
failed to set KD_TEXT mode on tty: Bad file descriptor
could not reset vt handling
How do I launch weston on linux yocto?
Here is the image:
So.. I found the answer to my question
it has three errors logind (systemd) was having trouble access the input keyboard type
second one is drm device is not found which implies that you have trouble accesing your output port. try to troubleshoot the port make it accessible to the board and then try to launch weston with correct config.
NOTE: Weston wayland wont launch if you dont have keyboard or a mouse connected preferably a usb

Xen HVM domU VNC not refreshing screen

On one of our hypervisors running Xen (v.4.6.0 on top of Debian Jessie on a Dell R420), when we configure a domU for HVM and connect to the console via VNC, the connection displays a static image and appears to not accept mouse or keyboard input (leading you to think that the VM is frozen/not responsive). The behavior persists after closing and reconnecting over VNC, but the mouse/keyboard input from the previous session is now reflected (so if you tab three times, you can see that the appropriate radio or input button is highlighted after closing/opening the VNC connection, but you need to close the window again to see where the next input is, making it unusable).
We have Xen running smoothly on three other physical machines with HVM-configured domUs (2x Debian Jessie, 1x Ubuntu Xenial, all with v.4.6.0) and have been comparing what could be different, we noticed that QEMU could be updated on the troublesome Xen host. After upgrading QEMU from 1.2.2 to 1.2.5 (matching the version on the working hosts) and rebooting, the issue still persists. We have copied the VM config to another host with successful results, leading us to believe there is something isolated to this machine.
Results of cat /sys/hypervisor/properties/capabilities
xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
Results of xl info:
host : vm-host
release : 3.16.0-4-amd64
version : #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02)
machine : x86_64
nr_cpus : 16
max_cpu_id : 47
nr_nodes : 1
cores_per_socket : 8
threads_per_core : 2
cpu_mhz : 2500
hw_caps : bfebfbff:2c100800:00000000:00007f00:77bee3ff:00000000:00000001:00000281
virt_caps : hvm hvm_directio
total_memory : 32704
free_memory : 17945
sharing_freed_memory : 0
sharing_used_memory : 0
outstanding_claims : 0
free_cpus : 0
xen_major : 4
xen_minor : 6
xen_extra : .0
xen_version : 4.6.0
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset :
xen_commandline : placeholder dom0_mem=1024M,max:1024M dom0_max_vcpus=1 dom0_vcpus_pin no-real-mode edd=off
cc_compiler : gcc (Debian 5.3.1-8) 5.3.1 20160205
cc_compile_by : ijc
cc_compile_domain : debian.org
cc_compile_date : Tue Feb 9 17:46:27 UTC 2016
xend_config_format : 4
Sample domU config:
name="VM1"
uuid="91f4c306-101b-431b-bf73-2146b2a137fb"
vcpus=2
memory=2048
disk = [ "phy:/dev/vg1/centos,xvda2,w",
"file:/path/folder/images/CentOS-7-x86_64-Minimal-511.iso,xvdb:cdrom,r" ]
builder = "hvm"
boot = "dc"
vnc = "1"
vnclisten = "0.0.0.0"
vncdisplay = "0"
vncpasswd = "password"
vga ="stdvga"
videoram = 64
Any and all advice on how to get VNC working smoothly and properly would be greatly appreciated!
Try add GRUB_GFXPAYLOAD_LINUX="keep" or GRUB_GFXPAYLOAD_LINUX="640x480" (or another resolution) into /etc/default/grub on DomU and then run update-grub2 (on DomU) and reboot. This helped me with the same error.
Thanks for the recommendation. It turned out that we had mixed versions of Xen and its dependencies installed (some 4.4, some 4.6). We ended up removing Xen and all related packages and reinstalling. During installation, we noticed that installing xen-hypervisor-4.6-amd64 was coming from the stretch repo (expected), but its dependencies were coming from the jessie main repo with older versions (e.g., libxen-4.4 instead of libxen-4.6). To solve it, we ran
apt-get -t stretch install xen-hypervisor-4.6-amd64
which properly installed all dependencies from stretch, and after a reboot, VNC connections to HVM domU were working as expected.

startxwin - xinit unable to connect to X server

After updating to the latest Cygwin distribution, I can no longer connect to X server. When I run startxwin (on a fresh Cygwin install), I get the following errors:
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
The XWin.#.log looks okay (I think):
Could not load crashreporter dll
Welcome to the XWin X Server
Vendor: The Cygwin/X Project
Release: 1.17.1.0
OS: CYGWIN_NT-6.1-WOW ENDYMION 2.0.2(0.287/5/3) 2015-05-08 17:03 i686
OS: Windows 7 Service Pack 1 [Windows NT 6.1 build 7601] (WoW64)
Package: version 1.17.1-4 built 2015-05-01
XWin was started with the following command line:
/usr/bin/XWin :4 -multiwindow -auth
/home/clkunz/.serverauth.8376
ddxProcessArgument - Initializing default screens
winInitializeScreenDefaults - primary monitor w 1920 h 1200
winInitializeScreenDefaults - native DPI x 96 y 96
[ 10857.934] Could not load crashreporter dll
[ 10857.965] (II) xorg.conf is not supported
[ 10857.965] (II) See http://x.cygwin.com/docs/faq/cygwin-x-faq.html for more information
[ 10857.965] LoadPreferences: /home/clkunz/.XWinrc not found
[ 10857.965] LoadPreferences: Loading /etc/X11/system.XWinrc
[ 10857.965] LoadPreferences: Done parsing the configuration file...
[ 10857.981] winDetectSupportedEngines - DirectDraw4 installed, allowing ShadowDDNL
[ 10858.012] winDetectSupportedEngines - Returning, supported engines 00000005
This recent cygwin link shows one failure mode related to Symantec Endpoint Protection (SEP) not working with the 32-bit version of XWin on 64-bit machines.
One solution (if that's the problem) is to add an exception for XWin.exe to SEP; or you can also disable SEM while you invoke XWin.
To add a SEP exception, open SEP, Change Settings -> Exceptions [Configure Settings].
To disable SEP, right click on the icon in the system tray, and disable it all. Start XWin. Don't forget to turn SEP back on.

Error configuring Network Audio System [NAS] in RHEL 6 x64

I tried to setup NAS (Network Audio System ) in RHEL 6 by two methods:
First, by RPM install,
[root#localhost ~]# rpm -Uvh nas-1.9.2-1.el6.x86_64.rpm nas-libs-1.9.2-1.el6.x86_64.rpm
it gets installed, but I cannot find the service in /etc/init.d/ directory.
only /etc/nas/nasd.conf file gets created. And if I run the command
[root#localhost ~]# nasd
Network Audio System Release 1.9.2
Network Audio System Release 1.9.2
Init: Output open(/dev/dsp) failed: No such file or directory
Fatal server error:
could not create audio connection block info
Secondly, by Configuring latest tar-ball nas-1.9.3.src.tar.gz provided by NAS site.
but the problem is same.
Please help me to install this properly, as I want to get enable the audio for qt based applications, and qt uses NAS for its audio functionalities.
Tried Very much by NAS but not succeed to resolve my problem.
Then i used Phonon library to resolve sound issue !!
Thanx anyways for helping me! :)
okay. well it's been a while but...
you dont have enough perms to open the underlying socket.
me#dev $ strace -o ./nasd.txt nasd -aa -config ./nasd.conf
Network Audio System Release 1.9.3
Network Audio System Release 1.9.3
Error binding unix socket: /var/run/nasd/audio0
: Address already in use
Fatal server error:
Cannot establish unix listening socket
the appropriate bit is here from the strace
ioctl(0, SIOCGIFCONF, {96, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"wlan0", {AF_INET, inet_addr("192.168.1.69")}}, {"usb0", {AF_INET, inet_addr("192.168.15.100")}}}}) = 0
umask(0) = 022
mkdir("/var/run/nasd", 0777) = -1 EEXIST (File exists)
unlink("/var/run/nasd/audio0") = -1 EPERM (Operation not permitted)
socket(PF_FILE, SOCK_STREAM, 0) = 1
bind(1, {sa_family=AF_FILE, path="/var/run/nasd/audio0"}, 22) = -1 EADDRINUSE (Address already in use)
The unlink("/var/run/nasd/audio0") = -1 EPERM (Operation not permitted) is the clue.
if we copy the nasd.conf locally and tweak the debug value to 1 and run it as root
me#dev $ sudo nasd -aa -config ./nasd.conf
config: Maxfrags set to 3
config: Minfrags set to 2
config: Fragsize set to 256
config: Maxfrags set to 3
config: Minfrags set to 2
config: Fragsize set to 256
Network Audio System Release 1.9.3
Network Audio System Release 1.9.3
AuInitPhysicalDevices();
Init: will close device when finished with stream.
Init: will keep mixer device open.
Init: Leaving the mixer device options alone at startup.
Init: openDevice OUT /dev/snd/pcmC1D0p mode 1
Init: openDevice(1) IN /dev/snd/pcmC1D0c mode 0
setupSoundcard(...);
++ Setting up Output device (/dev/snd/pcmC1D0p)
+++ requesting wordsize of 16, got 8
+++ requesting 2 channel(s), got 1 channel(s)
+++ Requesting minimum sample rate of 5000, got 5000
+++ Requesting maximum sample rate of 44100, got 44100
setupSoundcard(...);
++ Setting up Input device (/dev/snd/pcmC1D0c)
+++ requesting wordsize of 8, got 8
+++ requesting 2 channel(s), got 1 channel(s)
+++ Requesting minimum sample rate of 4000, got 4000
+++ Requesting maximum sample rate of 44100, got 44100
initMixer: could not open output mixer device /dev/mixer: No such file or directory
Init: initMixer failed
createServerComponents(...);
closeDevice: out
closeDevice OUT /dev/snd/pcmC1D0p mode 1
closeDevice: in
closeDevice IN /dev/snd/pcmC1D0c mode 0
closeDevice: mixer
closeDevice: leaving mixer device(s) open
in my case looks like I need to setup the mixer section but that should nerf your error.
EDIT: initMixer: could not open output mixer device /dev/mixer: No such file or directory
This can be fixed by placing mixer ="" in the nasd.conf (even though the docs state it won't be honoured, it is)
Also: remember to set your AUDIOSERVER env variable
export AUDIOSERVER=tcp/localhost:8000
Is the default but never hurts to be certain...
Final thoughts:
by default many x server now -nolisten tcp and that could be an issue in implementation to consider.
nmap is your friend.
And, for the record, I still haven't actually got an end-to-end system working...
Hopefully some other kind soul will jump in and point out anything I have missed.
Hope it helps.
I don't have a rhel box... but it's probably the same perms issue.
The docs are "thin" at best

Resources