Closed amalnanavati closed 3 years ago
You can use the dpkg -L
command followed by a package name on a system where the package is installed to list the files that are associated with it.
That worked for gst-deps-dev
and gst-webrtc-dev
, since all the files were in the /opt/gst
folder and could easily be moved over.
However, for the two Mayfield libraries, gizmo_bluez
and gizmo_pulseaudio
, that command gives the locations of a lot of dependency libraries, which I have reinstalled on the Kuri. However, I have not been able to find the location of the gizmo_bluez
and gizmo_pulseaudio
libraries themselves. Do you happen to know where those could be located?
Also, do you have some idea why the gizmo
service would not load on startup, but does load if I run sudo service gizmo start
(after startup)?
It is possible that a pre requisite service of gizmo
isn’t able to start. That would explain why it only starts when you start it manually.
As for the other packages, I’m afraid there’s likely no easy way to restore things exactly the way they were. You may have to diff the file systems.
I would start with /etc
Update: It was too much to find and move over all the libraries that were uninstalled. I decided not to bother, and just to use this Kuri without runnable default software. This is not too big of a problem, since the Kuri does have an HDMI cable attached so I can access it even if it disconnects from wifi (with other Kuri's, I need the default software to be running and to connect to it from the app to reconnect it to wifi).
I will post here if it turns out that the missing gizmo_bluez
and gizmo_pulseaudio
end up impacting anything other than the default software.
I have been trying to reinstall the gizmo_pulseaudio
library from my working Kuri onto the one that it got deleted from. I have moved all the files that dpkg -L gizmo_pulseaudio
showed and restored the appropriate permissions. The pulseaudio.conf
init file appears to launch succesfully, but then when I (or the gizmo.conf
startup file) attempt to roslaunch audio_realtime
I get the following errors.
[ERROR] [1585009932.387412782]: pa_context 0x1aeabb0 state=failed
[ERROR] [1585009932.387546713]: pa_context_new() = -1 - "Access denied"
[ERROR] [1585009932.388282578]: mayfield_audio::CreatePulseAudioCapture()=(type=5, code=-1), "Access denied"
[audio_realtime-1] process has died
Do you (or someone who worked on the audio team) have some idea why audio_realtime
would be getting these access denied errors?
I wanted to ping this again, as the issue accessing Kuri's microphone continues. Would someone who worked on Kuri's audio be available to describe what motivated the creation of a separate gizmo_pulseaudio
library, and if they have any pointers on overcoming the above pulseaudio errors?
@amalnanavati I have a working Kuri with me, is there something that would be useful like know what the permissions of a binary/file or getting a transplant or something?
Thanks for offering! We also have access to a working Kuri, and I have copied over all the gizmo_pulseaudio
files (as identified by dpkg -L gizmo_pulseaudio
on the working Kuri) and restored their permissions. Even after doing so, I get the aforementioned error when launching audio_realtime
(or even just when running import pyaudio; p = pyaudio.PyAudio()
). Maybe I have to change the permission on something other than the library files (perhaps some socket or device?) but I'm not sure where to begin trying for that.
I think the most useful thing would be hearing about what motivated the creation of gimo_pulseaudio
in the first place (i.e. what is unique about Kuri that makes the default pulseaudio
not work)? Or hearing from people who might have had issues with using Kuri's microphone, and what worked for them.
(Note that if I used alsaaudio
instead of pyaudio as suggested in this file, it is able to record but the output is just static noise.)
Yeah I don't know about any of that.
yeah the pyaudio
library is not on the default kuri install.
Are you able to see the microphones under Capture(F4) when running alsamixer
?
I get "Mic Front, Mic Rear, Mic Center, Mic Woofer, Mic Side, Mic 1 and Playback"
I am unable to run arecord
as I think kuri's volume and ROS is running and has it open.
arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Audio [2018.05.09 Mayfield Audio], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: Condor [Condor], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Condor [Condor], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
Thank you for the help! I do see all the mics you listed on alsamixer
, and I see almost the same output as you with arecord
except that card 0 has 1/1 subdevices:
arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Audio [2018.05.09 Mayfield Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Condor [Condor], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Condor [Condor], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
I will continue looking into it. One thing I noticed is that our working Kuri has a system-wide pulseaudio running at startup (which either the non-working Kuri does not run, or that I killed). When I try to run that command on the non-working Kuri, I get a whole mess of errors and warnings:
mayfield@cococutkuri:~$ sudo -H -u pulse bash -c /usr/bin/pulseaudio --system --daemonize --high-priority --log-target=syslog --disallow-exit --disallow-module-loading=0
[sudo] password for mayfield:
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-front-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-rear-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic.conf:24] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-dock-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-headphone-mic.conf:24] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-headset-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-output-desktop-speaker.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf:23] Name makes no sense in 'General'
W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.169" (uid=111 pid=23062 comm="/usr/bin/pulseaudio ") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination="org.bluez" (uid=0 pid=624 comm="/usr/sbin/bluetoothd ")
I'll continue debugging, but wanted to post that here in case it helps anyone identify the issue. Thanks for your help!
Thank you for the help! I do see all the mics you listed on alsamixer
, and I see almost the same output as you with arecord
except that card 0 has 1/1 subdevices:
arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Audio [2018.05.09 Mayfield Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Condor [Condor], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Condor [Condor], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
I will continue looking into it. One thing I noticed is that our working Kuri has a system-wide pulseaudio running at startup (which either the non-working Kuri does not run, or that I killed). When I try to run that command on the non-working Kuri, I get a whole mess of errors and warnings:
mayfield@cococutkuri:~$ sudo -H -u pulse bash -c /usr/bin/pulseaudio --system --daemonize --high-priority --log-target=syslog --disallow-exit --disallow-module-loading=0
[sudo] password for mayfield:
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-front-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-rear-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic.conf:24] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-dock-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-headphone-mic.conf:24] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-input-headset-mic.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-output-desktop-speaker.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf:23] Name makes no sense in 'General'
E: [pulseaudio] alsa-mixer.c: [/usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf:23] Name makes no sense in 'General'
W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
E: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.169" (uid=111 pid=23062 comm="/usr/bin/pulseaudio ") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination="org.bluez" (uid=0 pid=624 comm="/usr/sbin/bluetoothd ")
I'll continue debugging, but wanted to post that here in case it helps anyone identify the issue. Thanks for your help!
@amalnanavati Did you end up fixing this? I just did the same thing and uninstall the audio packages etc. Also do you have the package binaries on hand?
@tgroechel I haven't been able to fix it, and have just not been using the microphone or the bluetooth on that Kuri. If you are able to figure it out, I'd love to hear how you did it :)
Which package binaries would you like? I can look through the files I moved over last year to see what I have. (Re-reading my comment above, it seems like I could not find the actual binaries for gizmo_bluez
and gizmo_pulseaudio
, but I can look again to see if anything has changed since making that comment. Let me know what would be helpful 😄 )
Thanks for the quick reply. Yeah those two would be the binaries if you have them, I'm unsure of where they would live or if they are just referenced/linked/configured incorrectly after an update. Worst case is I can still do a factory reset. I'll do some more digging into audio_realtime
as well
Edit: Well I broke too many permissions and will go with the factory reset method :/
Here are the files I copied over (request permissions to access them). The zip has a file "Readme.md" which contains the output of dpkg -L gizmo-pulseaudio
. The names of the files/directories should roughly match those in the dpkg output.
Let me know if you end up solving this problem, either through moving the packages back or through a factory reset (or something else)!
Thanks for sending the files, I did end up solving it through those re-provisioning instructions :)
That’s useful to know, thanks! I’ll close this issue then, since doing a factory reset seems to be a solution. (If/when I try it on my Kuri, I’ll comment on this issue confirming whether or not it worked.)
I have attached an HDMI cable to my Kuri, and installed
ubuntu_desktop
in order to get a GUI. Everything seemed to still be working (for example, I could still run thekuri_edu
ROS packages on the Kuri). However, I recently realized that the standardgizmo
code no longer runs on startup. It seems to work if I dosudo service gizmo start
, but it does not run automatically on startup.Upon some digging, I found that
ubuntu_desktop
ended up removing some libraries that are used in Kuri's standardgizmo
programs:gizmo_bluez
,gizmo-pulseaudio
,gst-deps-dev
, andgst-webrtc-dev
. I think these missing libraries are the core reason why the startup programs no longer work, because upon digging in some of the logs and startup programs I found these errors, which seem to be linked to those missing libraries:ERROR 1:
/var/log/upstart/gizmo.log
ERROR 2: When I run
bt_wifi_server
:There are likely more errors that I have not yet found.
I do have access to another working Kuri, and therefore could possibly copy the missing libraries over from that Kuri to the not-working one. Therefore, I was wondering if you could point me to files/folders I should transfer over, and any other changes I should make, in order to restore
gizmo_bluez
,gizmo-pulseaudio
,gst-deps-dev
, andgst-webrtc-dev
? Thanks!