Mendeley on Fedora

Fedora

  • use apt (Debian’s Advanced Packaging Tool with RPM support)

Availability

Ubuntu 12.04 or Debian Squeeze and newer

Folklore

Continued characterization, but no solution, for the Dell M3800 with Fedora 21 and Broadcom’s Bluetooth brcm/BCM20702A0-0a5c-216f.hcd binary blob

Continuing: Bluetooth seen working on the Dell M3800 with Fedora 21 and Broadcom’s Bluetooth brcm/BCM20702A0-0a5c-216f.hcd binary blob, still not solved, or ameliorated.

An example of syslog messages from a boot trace where the firmware was loaded correctly, three suspend-resume sycles occurred with the firmware failing to (re)load on the third cycle.

Specimen

$ cat /var/log/messages | grep -i bluetooth
<snip/>
Oct  5 13:39:56 sonsie bluetoothd[1063]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource
Oct  5 13:39:56 sonsie bluetoothd[1063]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink
Oct  5 13:40:58 sonsie kernel: [   40.537859] Bluetooth: Core ver 2.20
Oct  5 13:40:58 sonsie kernel: [   40.537878] Bluetooth: HCI device and connection manager initialized
Oct  5 13:40:58 sonsie kernel: [   40.537882] Bluetooth: HCI socket layer initialized
Oct  5 13:40:58 sonsie kernel: [   40.537885] Bluetooth: L2CAP socket layer initialized
Oct  5 13:40:58 sonsie kernel: [   40.537891] Bluetooth: SCO socket layer initialized
Oct 5 13:40:58 sonsie kernel: [ 40.594551] Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=1000 lmp_ver=06 lmp_subver=220e Oct 5 13:40:58 sonsie kernel: [ 41.201337] Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1624 lmp_ver=06 lmp_subver=220e 
Oct  5 13:39:56 sonsie bluetoothd[1063]: Terminating
Oct  5 13:39:56 sonsie bluetoothd[1063]: Stopping SDP server
Oct  5 13:39:56 sonsie bluetoothd[1063]: Exit
Oct  5 13:40:58 sonsie kernel: [   41.809621] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Oct  5 13:40:58 sonsie kernel: [   41.809625] Bluetooth: BNEP filters: protocol multicast
Oct  5 13:40:58 sonsie kernel: [   41.809629] Bluetooth: BNEP socket layer initialized
Oct  5 13:40:57 sonsie kernel: Bluetooth: Core ver 2.20
Oct  5 13:40:57 sonsie kernel: Bluetooth: HCI device and connection manager initialized
Oct  5 13:40:57 sonsie kernel: Bluetooth: HCI socket layer initialized
Oct  5 13:40:57 sonsie kernel: Bluetooth: L2CAP socket layer initialized
Oct  5 13:40:57 sonsie kernel: Bluetooth: SCO socket layer initialized
Oct  5 13:40:57 sonsie kernel: Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=1000 lmp_ver=06 lmp_subver=220e
Oct  5 13:40:57 sonsie kernel: Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1624 lmp_ver=06 lmp_subver=220e
Oct  5 13:40:58 sonsie bluetoothd[1341]: Bluetooth daemon 5.29
Oct  5 13:40:58 sonsie bluetoothd[1341]: Starting SDP server
Oct  5 13:40:58 sonsie kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Oct  5 13:40:58 sonsie kernel: Bluetooth: BNEP filters: protocol multicast
Oct  5 13:40:58 sonsie kernel: Bluetooth: BNEP socket layer initialized
Oct  5 13:40:58 sonsie bluetoothd[1341]: Bluetooth management interface 1.8 initialized
Oct  5 13:40:58 sonsie bluetoothd[1341]: Failed to obtain handles for "Service Changed" characteristic
Oct  5 13:40:58 sonsie NetworkManager[1483]:   Loaded device plugin: /usr/lib64/NetworkManager/libnm-device-plugin-bluetooth.so
Oct  5 13:41:01 sonsie NetworkManager[1483]:   (F8:F1:B6:90:2E:D5): new Bluetooth device (driver: 'bluez' ifindex: 0)
Oct  5 13:41:13 sonsie bluetoothd[1341]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource
Oct  5 13:41:13 sonsie bluetoothd[1341]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink
Oct  5 13:41:13 sonsie kernel: [   56.715761] Bluetooth: RFCOMM TTY layer initialized
Oct  5 13:41:13 sonsie kernel: [   56.715769] Bluetooth: RFCOMM socket layer initialized
Oct  5 13:41:13 sonsie kernel: [   56.715812] Bluetooth: RFCOMM ver 1.11
Oct  5 13:41:13 sonsie kernel: Bluetooth: RFCOMM TTY layer initialized
Oct  5 13:41:13 sonsie kernel: Bluetooth: RFCOMM socket layer initialized
Oct  5 13:41:13 sonsie kernel: Bluetooth: RFCOMM ver 1.11
<suspending/>
Oct  5 13:45:54 sonsie bluetoothd[1341]: Unable to get io data for Object Push: getpeername: Transport endpoint is not connected (107)
<suspend/>
<resume/>
Oct 5 13:58:17 sonsie kernel: Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=1000 lmp_ver=06 lmp_subver=220e Oct 5 13:58:17 sonsie kernel: [ 695.669721] Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=1000 lmp_ver=06 lmp_subver=220e Oct 5 13:58:18 sonsie kernel: [ 696.273496] Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1624 lmp_ver=06 lmp_subver=220e Oct 5 13:58:18 sonsie kernel: Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1624 lmp_ver=06 lmp_subver=220e
Oct  5 13:58:18 sonsie bluetoothd[1341]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource
Oct  5 13:58:18 sonsie bluetoothd[1341]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink
Oct  5 13:58:18 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  5 13:58:18 sonsie bluetoothd[1341]: Failed to obtain handles for "Service Changed" characteristic
Oct  5 13:58:18 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  5 13:58:18 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  5 13:58:18 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  5 13:58:18 sonsie bluetoothd[1341]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource
Oct  5 13:58:18 sonsie bluetoothd[1341]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink
Oct  5 13:58:18 sonsie NetworkManager[1483]:   (F8:F1:B6:90:2E:D5): new Bluetooth device (driver: 'bluez' ifindex: 0)
<suspend/>
<resume/>
Oct  5 21:26:31 sonsie bluetoothd[1341]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource
Oct  5 21:26:31 sonsie bluetoothd[1341]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink
Oct  5 21:26:31 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  5 21:26:31 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  5 21:26:31 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  5 21:26:31 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  5 21:26:31 sonsie bluetoothd[1341]: Failed to obtain handles for "Service Changed" characteristic
Oct  5 21:26:31 sonsie bluetoothd[1341]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource
Oct  5 21:26:31 sonsie bluetoothd[1341]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink
<suspend/>
<resume/>
Oct 6 08:41:12 sonsie kernel: [26523.176432] bluetooth hci0: firmware: brcm/BCM20702A0-0a5c-216f.hcd will not be loaded Oct 6 08:41:13 sonsie kernel: bluetooth hci0: firmware: brcm/BCM20702A0-0a5c-216f.hcd will not be loaded
Oct  6 08:41:13 sonsie bluetoothd[1341]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource
Oct  6 08:41:13 sonsie bluetoothd[1341]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink
Oct  6 08:41:13 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  6 08:41:13 sonsie bluetoothd[1341]: Failed to obtain handles for "Service Changed" characteristic
Oct  6 08:41:13 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  6 08:41:13 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  6 08:41:13 sonsie dbus[1367]: [system] Rejected send message, 11 matched rules; type="error", sender=":1.56" (uid=25500 pid=3361 comm="/usr/bin/pulseaudio --start ") interface="(unset)" member="(unset)" error name="org.bluez.MediaEndpoint1.Error.NotImplemented" requested_reply="0" destination=":1.2" (uid=0 pid=1341 comm="/usr/libexec/bluetooth/bluetoothd ")
Oct  6 08:41:13 sonsie bluetoothd[1341]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource
Oct  6 08:41:13 sonsie bluetoothd[1341]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink

Bluetooth seen working on the Dell M3800 with Fedora 21 and Broadcom’s Bluetooth brcm/BCM20702A0-0a5c-216f.hcd binary blob

tl;dr

$ cd /usr/lib/firmware/brcm
$ sudo ln -sr /usr/lib/firmware/brcm/BCM20702{A0,A1}-0a5c-216f.hcd

$ ls -l
total 9700
-r--r--r--. 1 root root  35080 Jul 25 11:25 BCM20702A0-0a5c-216f.hcd
-r--r--r--. 1 root root  34700 Jul 25 09:56 BCM20702A0-0a5c-21e8.hcd
lrwxrwxrwx. 1 root root     24 Sep 23 13:41 BCM20702A1-0a5c-216f.hcd -> BCM20702A0-0a5c-216f.hcd
<snip/>

You need the symlink.

Summary

  • When loaded, the blob seems to work (bluetooth works).
  • Yet it can fail in place; perhaps after a suspend-resume cycle.

Revision

  • Something else is going on.
  • Sometimes the firmware loads.
  • Sometimes the firmware fails to load.
  • It may have something to do with the crashes, hangs & heating observed in multiple suspend-resume cycles.

Frustration

Trending towards: Does Not Work With Linux
This is still a hobbyist’s & enthusiast’s machine; it can’t be used for production work except in the factory-install configuration.
Dell delivered a working machine.  Aftermarket conversion to Fedora is nearly unuseable.
If it weren’t for the 4K display, this machine would be AVOID.

Following up from: Experiences with the Dell M3800 with Fedora 21 and Broadcom’s Bluetooth brcm/BCM20702A0-0a5c-216f.hcd binary blob

Indeed, the gear does work with the factory-prepared Ubuntu 14.04 LTE that Dell installed.  But it has so much blobbery and idiosyncratic non-open hardware that you won’t be able to upgrade beyond what the Dell team was able to assemble.  It is unknown how they were able to assemble a working configuration.

It’s 2015 and GPUs still don’t “just work.”

I did mention it has a 4K2K display, right?  That’s why we’re here.  That’s a can’t-live-without thing nowadays.

Goal

  • “just works”
  • bluetooth “just works”
  • graphics “just works”
  • suspend “just works”

Mentions

  • There is a blob
  • You have to get the correct blob
  • You need to make a symlink nearby to the blob.
  • Debugging whether the blob loaded or was caused to load-but-failed  is murky.
  • Something about the udev subsystem.

Folklore

  • How to fix Dell XPS 13 (2015) for Ubuntu 15.04; Tiago Cogumbreiro; In His Notes; 2015-08-15.
    • Covers
      • High DPI; in Arch Linux Wiki
      • Suspend Error; kermel patch for Ubuntu bcmwl-kernel-source
      • Bluetooth Problems (relevant here)
      • TLP
    • Actualities for BIOS revision A05
      Hardware name: Dell Inc. XPS 13 9343/0310JH, BIOS A05 07/14/2015
    • Dell XPS 13 (2015) – Bluetooth; in Arch Linux Wiki
    • Especially reminding about the need to create the symlink
      ln -rs /lib/firmware/brcm/BCM20702A1-0a5c-216f.hcd /lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd
      which will be /usr/lib/firmware/brcm on Fedora 21

References

  • Section 14.8Dealing with Firmware; In Some Linux Kernel Documentation.
    • Describes the upcall to userland request_firmware(…)
    • Does not describe how userland receives the upcall or acts upon it.
  • Firmware; In Ubuntu Wiki
  • Dell XPS 13 (2015) – Bluetooth; in Arch Linux Wiki

Evidences

The symlink is required to make the firmware load.

Actions

$ cd /usr/lib/firmware/brcm
$ sudo ln -sr /usr/lib/firmware/brcm/BCM20702{A0,A1}-0a5c-216f.hcd

$ ls -l
total 9700
-r--r--r--. 1 root root  35080 Jul 25 11:25 BCM20702A0-0a5c-216f.hcd
-r--r--r--. 1 root root  34700 Jul 25 09:56 BCM20702A0-0a5c-21e8.hcd
lrwxrwxrwx. 1 root root     24 Sep 23 13:41 BCM20702A1-0a5c-216f.hcd -> BCM20702A0-0a5c-216f.hcd
<snip/>

Evidences

Sep 23 10:41:37 devbox kernel: bluetooth hci0: firmware: brcm/BCM20702A0-0a5c-216f.hcd will not be loaded
Sep 23 10:41:37 devbox kernel: Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-216f.hcd not found
$ find /usr/lib/firmware -name '*216f.hcd'
/usr/lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd
$ ls -ldZ /usr/lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd
-r--r--r--. root root system_u:object_r:lib_t:s0       /usr/lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd
$ find /usr/lib -path '*brcm/BCM20702A0-0a5c-216f.hcd' -ls
660333   36 -r--r--r--   1 root     root        35080 Jul 25 11:25 /usr/lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd
$ lsusb -t
/:  Bus 04.Port 1: Dev 1,, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0,, Driver=hub/8p, 480M
/:  Bus 03.Port 1: Dev 1,, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0,, Driver=hub/6p, 480M
/:  Bus 02.Port 1: Dev 1,, Driver=xhci_hcd/6p, 5000M
|__ Port 2: Dev 13, If 0,, Driver=hub/1p, 5000M
|__ Port 1: Dev 14, If 0, Specific Class, Driver=, 5000M
|__ Port 1: Dev 14, If 1, Specific Interface, Driver=, 5000M
|__ Port 1: Dev 14, If 2,, Driver=snd-usb-audio, 5000M
|__ Port 1: Dev 14, If 3,, Driver=snd-usb-audio, 5000M
|__ Port 1: Dev 14, If 4,, Driver=snd-usb-audio, 5000M
|__ Port 1: Dev 14, If 5,, Driver=cdc_ncm, 5000M
|__ Port 1: Dev 14, If 6, Data, Driver=cdc_ncm, 5000M
/:  Bus 01.Port 1: Dev 1,, Driver=xhci_hcd/14p, 480M
|__ Port 2: Dev 20, If 0,, Driver=hub/4p, 480M
|__ Port 3: Dev 21, If 0, Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 22, If 0, Interface Device, Driver=usbhid, 1.5M
|__ Port 6: Dev 5, If 0, Interface Device, Driver=usbhid, 12M
|__ Port 9: Dev 6, If 0, Specific Class, Driver=btusb, 12M
|__ Port 9: Dev 6, If 1, Specific Class, Driver=btusb, 12M
|__ Port 9: Dev 6, If 2, Specific Class, Driver=, 12M
|__ Port 9: Dev 6, If 3, Specific Interface, Driver=, 12M
|__ Port 11: Dev 7, If 0,, Driver=uvcvideo, 480M
|__ Port 11: Dev 7, If 1,, Driver=uvcvideo, 480M
$ lsusb
Bus 004 Device 002: ID 8087:8000 Intel Corp.
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:8008 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 014: ID 17e9:436f DisplayLink
Bus 002 Device 013: ID 2109:0210 VIA Labs, Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 0a5c:216f Broadcom Corp.
Bus 001 Device 005: ID 04f3:21f9 Elan Microelectronics Corp.
Bus 001 Device 022: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard
Bus 001 Device 021: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 001 Device 020: ID 2109:2210 VIA Labs, Inc.
Bus 001 Device 007: ID 0bda:573c Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

From /var/log/messages

Hardware name: Dell Inc. Dell Precision M3800/Dell Precision M3800, BIOS A09 01/08/2015

sendmail, still, intermittently, gives “host map: lookup ($domain): deferred”

Previously

sendmail gives “host map: lookup ($domain): deferred”, 2015-03-04.

Continuing

And yet it continues to happen intermittently

  • Has something to do with IPv6 vs IPv4
  • Once sendmail is in that state, it never recovers
    i.e.

    • the queue never clears
    • its growth is unbounded
  • the only remedies are manual intervention
    • sendmail -q (manually)
    • systemctl restart sendmail (manually)

Debug

$ sendmail -v -d8.32 -qIMessageID

Actualities

$ sudo sendmail -v -d8.32 -qIt85HF6hG025984
Running /var/spool/mqueue/t85HF6hG025984 (sequence 1 of 1)
dns_getcanonname(sender.example.com, trymx=1)
dns_getcanonname: trying sender.example.com. (AAAA)
	NO: errno=0, h_errno=4
dns_getcanonname: trying sender.example.com. (A)
	YES
dns_getcanonname: sender.example.com
dns_getcanonname(emerson.baker.org, trymx=1)
dns_getcanonname: trying emerson.baker.org. (AAAA)
	NO: errno=0, h_errno=4
dns_getcanonname: trying emerson.baker.org. (A)
	NO: errno=0, h_errno=4
dns_getcanonname: trying emerson.baker.org. (MX)
	YES
dns_getcanonname: emerson.baker.org
getmxrr(smart.mail.example.emerson.baker.org, droplocalhost=1)
getmxrr: res_search(smart.mail.example.emerson.baker.org) failed (errno=0, h_errno=4)
dns_getcanonname(smart.mail.example.emerson.baker.org, trymx=0)
dns_getcanonname: trying smart.mail.example.emerson.baker.org. (AAAA)
	NO: errno=0, h_errno=4
dns_getcanonname: trying smart.mail.example.emerson.baker.org. (A)
	YES
dns_getcanonname: smart.mail.example.emerson.baker.org
... Connecting to smart.mail.example.emerson.baker.org. via relay...
220 mta.emerson.baker.org ESMTP Sendmail 8.14.5/8.14.5; Thu, 10 Sep 2015 10:17:26 -0700
>>> EHLO sender.example.com
250-mta.emerson.baker.org Hello sender.example.emerson.baker.org [192.0.2.19], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-STARTTLS
250-DELIVERBY
250 HELP
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO sender.example.com
250-mta.emerson.baker.org Hello sender.example.emerson.baker.org [192.0.2.19], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH LOGIN PLAIN
250-DELIVERBY
250 HELP
>>> MAIL From: SIZE=845
250 2.1.0 ... Sender ok
>>> RCPT To:
>>> DATA
250 2.1.5 ... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 t8AHHQ0v004865 Message accepted for delivery
... Sent (t8AHHQ0v004865 Message accepted for delivery)
Closing connection to smart.mail.example.emerson.baker.org.
>>> QUIT
221 2.0.0 mta.emerson.baker.org closing connection

UNSOLVED: Emacs prior use of C-M-f is occluded by Clipit’s search_key=F

  • emacs uses C-M-f as the natural binding for forward-sexp
  • clipit declares search_key=<Ctrl><Alt>F in ~/.config/clipit/clipitrc

This is super-inconvenient because “clipit always wins” … there is no way for clipit to delegate handling of C-M-f off to emacs within the geometric confines of emacs’ windows.

How can it be disabled?

From GNOME:

  • Create ~/.config/autostart/clipit.desktop
    with Hidden=true
  • Not configurable in Settings
  • Not configurable in Startup Applications of gnome-tweak-tool.

From bash:

  • Remove the desktop file /etc/xdg/autostart/clipit-startup.desktop
    Untested…
  • Erase the package
    yum erase clipit

How is it stopped?

From GNOME: unknown, probably there is no way to stop it.
From bash: Kill the process.

How is clipit started?

unclear.

Perhaps from /etc/xdg/autostart


$ ls -ld /etc/xdg/autostart/clipit-startup.desktop
-rw-r--r--. 1 root root 872 Dec 15 2014 /etc/xdg/autostart/clipit-startup.desktop

$ cat /etc/xdg/autostart/clipit-startup.desktop
[Desktop Entry]
Name=ClipIt
Comment=Clipboard Manager
Icon=clipit-trayicon
Exec=clipit
Terminal=false
Type=Application
OnlyShowIn=GNOME;XFCE;LXDE;Unity;MATE;
X-GNOME-Autostart-enabled=true
X-Desktop-File-Install-Version=0.22

Folklore

References

  • Desktop Application Autostart Specification, Version v0.5; John Palmieri, Kévin Ottens, Renato Caldas, Rodrigo Moya, Waldo Bastian; Free Desktop Standards; 2006-02-13.
    • $XDG_CONFIG_DIRS/autostart
    • $XDG_CONFIG_HOME defaults to ~/.config/autostart/
    • $XDG_CONFIG_DIRS defaults to /etc/xdg/autostart/
    • <quote>If an application autostarts by having a .desktop file installed in the system wide autostart directory, an individual user can disable the autotomatic start of this application by placing a .desktop file of the same name in its personal autostart directory which contains the key Hidden=true. </quote>
  • Manage the startup applications; In The GNOME Shell; 2011-08-26.
    tl;dr → out of date; offers gnome-session-propertiesas a solution

    • Yet gnome-session-properties no longer exists in Fedora 21.
    • <quote>System-wide shortcuts can be found in /etc/xdg/autostart and in /usr/share/gnome/autostart but the preferences dialog will create local copies in your user profile when you edit a shortcut by disabling it or editing its name, command or description. You generally don’t need to edit the system-wide shortcuts but you can make modifications at your private copies.</quote>
  • Autostarting; In Arch Linux Wiki; 2015-05-31.
    tl;dr → not helpful.

Background

UNSOLVED: Xorg gives EE backtrace with [mi] EQ overflowing.

The sluggishness in emacs seemed to start after around 19 days, 4 hours (timestamp circa 1658381).
The system is still useable, and is within (poor) performance limits for other applications. However emacs is particularly stressed, as separately characterized.

Context

$ uname -a
Linux devbox.example.com 3.14.4-100.fc19.x86_64 #1 SMP Tue May 13 15:00:26 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ rpm -q -a | grep -Ee '(Xorg|catalyst|wacom|gnome-shell-[0-9]|^kernel.*3.14)'  | sort
akmod-catalyst-14.4-1.fc19.x86_64
gnome-shell-3.8.4-3.fc19.x86_64
kernel-3.14.4-100.fc19.x86_64
kernel-devel-3.14.4-100.fc19.x86_64
kernel-headers-3.14.4-100.fc19.x86_64
kernel-modules-extra-3.14.4-100.fc19.x86_64
kmod-catalyst-14.4-1.fc19.1.x86_64
kmod-catalyst-3.14.4-100.fc19.x86_64-14.4-1.fc19.1.x86_64
libwacom-0.8-1.fc19.x86_64
libwacom-data-0.8-1.fc19.noarch
xorg-x11-drv-catalyst-14.4-1.fc19.x86_64
xorg-x11-drv-catalyst-libs-14.4-1.fc19.x86_64
xorg-x11-drv-wacom-0.23.0-5.fc19.x86_64
xorg-x11-server-Xorg-1.14.4-3.fc19.x86_64

Interesting

/var/log/Xorg.0.log

Complete: /var/log/Xorg.0.log, to date.

Summarized

<snip/>
[663981.776] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1.3/2-1.1.3:1.0/0003:0E8F:0041.000F/input/input47/event6"
[663981.776] (II) XINPUT: Adding extended input device "GASIA USB Keyboard" (type: KEYBOARD, id 16)
[663981.777] (**) Option "xkb_rules" "evdev"
[663981.777] (**) Option "xkb_model" "pc104"
[663981.777] (**) Option "xkb_layout" "us"
(EE) [mi] EQ overflowing.  Additional events will be discarded until existing events are processed.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/bin/Xorg (mieqEnqueue+0x22b) [0x57728b]
(EE) 1: /usr/bin/Xorg (QueuePointerEvents+0x52) [0x44db12]
(EE) 2: /usr/lib64/xorg/modules/input/evdev_drv.so (_init+0x2c4d) [0x7fe18c882b1d]
(EE) 3: /usr/bin/Xorg (DPMSSupported+0xe8) [0x486498]
(EE) 4: /usr/bin/Xorg (xf86SerialModemClearBits+0x230) [0x4aea80]
(EE) 5: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x3fd500ef9f]
(EE) 6: /lib64/libc.so.6 (__libc_fork+0xaa) [0x3fd48bd20a]
(EE) 7: /usr/bin/Xorg (Popen+0x82) [0x471772]
(EE) 8: /usr/bin/Xorg (XkbDDXLoadKeymapByNames+0x1fe) [0x537b2e]
(EE) 9: /usr/bin/Xorg (XkbCompileKeymap+0x97bc) [0x54ac9c]
(EE) 10: /usr/bin/Xorg (SendErrorToClient+0x3f7) [0x437217]
(EE) 11: /usr/bin/Xorg (_init+0x3aa2) [0x429db2]
(EE) 12: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x3fd4821b45]
(EE) 13: /usr/bin/Xorg (_start+0x29) [0x426a21]
(EE) 14: ? (?+0x29) [0x29]
(EE) 
(EE) [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.
(EE) [mi] mieq is *NOT* the cause.  It is a victim.
(EE) [mi] EQ overflow continuing.  100 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/bin/Xorg (QueuePointerEvents+0x52) [0x44db12]
(EE) 1: /usr/lib64/xorg/modules/input/evdev_drv.so (_init+0x2c4d) [0x7fe18c882b1d]
(EE) 2: /usr/bin/Xorg (DPMSSupported+0xe8) [0x486498]
(EE) 3: /usr/bin/Xorg (xf86SerialModemClearBits+0x230) [0x4aea80]
(EE) 4: /lib64/libpthread.so.0 (__restore_rt+0x0) [0x3fd500ef9f]
(EE) 5: /lib64/libc.so.6 (__libc_fork+0xaa) [0x3fd48bd20a]
(EE) 6: /usr/bin/Xorg (Popen+0x82) [0x471772]
(EE) 7: /usr/bin/Xorg (XkbDDXLoadKeymapByNames+0x1fe) [0x537b2e]
(EE) 8: /usr/bin/Xorg (XkbCompileKeymap+0x97bc) [0x54ac9c]
(EE) 9: /usr/bin/Xorg (SendErrorToClient+0x3f7) [0x437217]
(EE) 10: /usr/bin/Xorg (_init+0x3aa2) [0x429db2]
(EE) 11: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x3fd4821b45]
(EE) 12: /usr/bin/Xorg (_start+0x29) [0x426a21]
(EE) 13: ? (?+0x29) [0x29]
(EE) 
(EE) [mi] EQ overflow continuing.  200 events have been dropped.

<snip>many many more stanzas are omitted here</snip>
(EE) [mi] EQ overflow continuing. 1000 events have been dropped.
(EE) [mi] No further overflow reports will be reported until the clog is cleared.
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/Xorg (QueuePointerEvents+0×52) [0x44db12]
(EE) 1: /usr/bin/Xorg (xf86PostButtonEvent+0xe5) [0x496135]
(EE) 2: /usr/lib64/xorg/modules/input/evdev_drv.so (_init+0x29be) [0x7fe18c88288e]
(EE) 3: /usr/bin/Xorg (DPMSSupported+0xe8) [0x486498]
(EE) 4: /usr/bin/Xorg (xf86SerialModemClearBits+0×230) [0x4aea80]
(EE) 5: /lib64/libpthread.so.0 (__restore_rt+0×0) [0x3fd500ef9f]
(EE) 6: /lib64/libc.so.6 (__libc_fork+0xaa) [0x3fd48bd20a]
(EE) 7: /usr/bin/Xorg (Popen+0×82) [0x471772]
(EE) 8: /usr/bin/Xorg (XkbDDXLoadKeymapByNames+0x1fe) [0x537b2e]
(EE) 9: /usr/bin/Xorg (XkbCompileKeymap+0x97bc) [0x54ac9c]
(EE) 10: /usr/bin/Xorg (SendErrorToClient+0x3f7) [0x437217]
(EE) 11: /usr/bin/Xorg (_init+0x3aa2) [0x429db2]
(EE) 12: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x3fd4821b45]
(EE) 13: /usr/bin/Xorg (_start+0×29) [0x426a21]
(EE) 14: ? (?+0×29) [0x29]
(EE)
[1658381.093] [mi] Increasing EQ size to 1024 to prevent dropped events.
[1658381.094] [mi] EQ processing has resumed after 3823 dropped events.
[1658381.094] [mi] This may be caused my a misbehaving driver monopolizing the server’s resources.

UNSOLVED: emacs becomes sluggish & unusable unto hanging

Problem

Emacs becomes unuseable

  • General sluggishness.
    • Hanging permanently with probability 1 as usage time goes to several hours
    • Upon hanging “permanently”, it requires to be killed. It takes multiple SIGTERM to get it to die.
  • Hanging for seconds-to-minutes at a time when cutting, yanking.
  • Hanging for seconds-to-minutes at a time when running the keyboard macro M-x e.
  • Inserting characters out of order when typing fast.

Remediation

Just grasping at straws. No idea what’s wrong with the X clipboard manager.

(setq x-select-enable-clipboard-manager nil)
(setq interprogram-cut-function nil)

Indications

In the *Message* buffrer:

X clipboard manager error: Timed out waiting for reply from selection owner
If the problem persists, set `x-select-enable-clipboard-manager' to nil.

Context

$ rpm -q emacs gnome-shell
emacs-24.3-11.fc19.x86_64
gnome-shell-3.8.4-3.fc19.x86_64

Documentation

x-select-enable-clipboard‘s value is t(true).Documentation:
Non-nil means cutting and pasting uses the clipboard. This is in addition to, but in preference to, the primary selection.
Note that MS-Windows does not support selection types other than the clipboard. (The primary selection that is set by Emacs is not accessible to other programs on MS-Windows.)
This variable is not used by the Nextstep port.
You can customize this variable.
This variable was introduced, or its default value was changed, in version 24.1 of Emacs.
interprogram-cut-function‘s value is x-select-textThis variable may be risky if used as a file-local variable.Documentation:
Function to call to make a killed region available to other programs. Most window systems provide a facility for cutting and pasting text between different programs, such as the clipboard on X and MS-Windows, or the pasteboard on Nextstep/Mac OS.
This variable holds a function that Emacs calls whenever text is put in the kill ring, to make the new kill available to other programs. The function takes one argument, TEXT, which is a string containing the text which should be made available.

Workarounds

Via: Make emacs explicitly copy to/from the X11 selection and clipboard buffers?; Some dude using the self-asserted identity token bstpierre; In Superuser; 2012-05-02 2012-05-03

(defun my-yank (&optional arg)
  "Yank from the clipboard, not the primary selection."
  (interactive "*P")
  (let ((x-select-enable-clipboard t)
        (x-select-enable-primary nil))
    (yank arg)))

(defun my-kill-region (beg end)
  "Kill to the clipboard, not the primary selection."
  (interactive "r")
  (let ((x-select-enable-clipboard t)
        (x-select-enable-primary nil))
    (kill-region beg end)))

(defun my-kill-ring-save (beg end)
  "Save to the clipboard, not the primary selection."
  (interactive "*r")
  (let ((x-select-enable-clipboard t)
        (x-select-enable-primary nil))
    (kill-ring-save beg end)))

(define-key global-map (kbd "C-S-w") 'my-kill-region)
(define-key global-map (kbd "C-M-S-w") 'my-kill-ring-save)
(define-key global-map (kbd "C-S-y") 'my-yank)

Folklore

Based on information & belief, maybe these are relevant

Via /etc/PROBLEMS
Member “emacs-24.5/etc/PROBLEMS” (2 Apr 2015, 123908 Bytes) of archive /linux/misc/emacs-24.5.tar.gz

  920 *** Gnome: Emacs receives input directly from the keyboard, bypassing XIM.
  921 
  922 This seems to happen when gnome-settings-daemon version 2.12 or later
  923 is running.  If gnome-settings-daemon is not running, Emacs receives
  924 input through XIM without any problem.  Furthermore, this seems only
  925 to happen in *.UTF-8 locales; zh_CN.GB2312 and zh_CN.GBK locales, for
  926 example, work fine.  A bug report has been filed in the Gnome
  927 bugzilla: http://bugzilla.gnome.org/show_bug.cgi?id=357032
  928 
  929 *** Gnome: Emacs's xterm-mouse-mode doesn't work on the Gnome terminal.
  930 
  931 A symptom of this bug is that double-clicks insert a control sequence
  932 into the buffer.  The reason this happens is an apparent
  933 incompatibility of the Gnome terminal with Xterm, which also affects
  934 other programs using the Xterm mouse interface.  A problem report has
  935 been filed.
  936 
<snip/>
  966 *** KDE: Emacs hangs on KDE when a large portion of text is killed.
  967 
  968 This is caused by a bug in the KDE applet `klipper' which periodically
  969 requests the X clipboard contents from applications.  Early versions
  970 of klipper don't implement the ICCCM protocol for large selections,
  971 which leads to Emacs being flooded with selection requests.  After a
  972 while, Emacs may print a message:
  973 
  974   Timed out waiting for property-notify event
  975 
  976 A workaround is to not use `klipper'.  An upgrade to the `klipper' that
  977 comes with KDE 3.3 or later also solves the problem.

UNSOLVED: sendmail gives “host map: lookup ($domain): deferred”

tl;dr → ensure the AAAA, A and MX records are visilble and are compatible with host connectivity.

i.e. don’t publish AAAA (only) for an IPv4-connected host.

Diagnostic

$ mailq
/var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
t22GuSUb006467 72 Mon Mar 2 08:56
(host map: lookup (SOMEHOST.emerson.baker.org): deferred)

Total requests: 1
$ host -t aaaa SOMEHOST.emerson.baker.org
SOMEHOST.emerson.baker.org has IPv6 address 2001:db8::99:1
SOMEHOST.emerson.baker.org has IPv6 address 2001:db8::88:1

Debug

sendmail -v -d8.32 -qImessageID

Background

<quote>Starting with Sendmail 8.12, Sendmail queries the following 3 DNS resource records in order:

  • AAAA
  • A
  • MX

Failures earlier in the series are treated as more serious than those later, as documented. In particular, it is unreasonable to have a host with only AAAA records published, but which is only connected via IPv4.

References

Via: backfill.