Exchange (EWS) and Evolution

It looks like the users who are forced to use MS Exchange hosted on Microsoft servers with disabled IMAP and all forms of password authentication, have a usable solution that works on systems other than Windows.

Evolution can be configured to interact with EWS in a sane manner, and it properly supports the dreaded OAuth2.

While this procedure existed for a while, only today I have encountered a need to configure Microsoft's "application" to get access to my email. Either Microsoft or employer's IT department made another switch away from open standards to the "open" ones, and so I had to "learn" yet another "technology" that is actually a form of obfuscation. Thunderbird and K-9 are unlikely to work with this any soon, however Evolution works.

2-Terabyte mSATA SSD. From Samsung, no less.

Those who have relatively old laptops or embedded systems without NVME support, may find it interesting that there is such a thing as a 2T mSATA SSD. It is hidden inside 2T Samsung T5 external SSD -- those small drives are mSATA enclosures with USB3 interface.

To open the SSD case, remove stickers on both ends and four screws under stickers. Boards are mounted on the plastic frame that can be pulled out toward the USB-C connector side. The drive identifies itself as "Samsung Portable SSD T5, MVT42P1Q" and reports 3907029168 512-byte sectors, so both GPT and MBR partition tables will work on it.

This also means that now my Thinkpad X220 laptop now has total 6TB in SSD storage -- in addition to having 4T SSD in its SATA bay I have swapped its internal 1T mSATA SSD with external one from T5. Speaking of X220, I have seen an X220 board with bent mSATA connector pins that can break horribly when someone tries to install a drive for the first time without checking them first.

Viber on Linux -- there is an update!

It happened -- the first update of Viber on Linux since October 2017. The recent protocol change left Viber 7.0.0.1035 barely usable, so finally Linux users got an update. The new version is 10.3.0.37, Debian package for Ubuntu works on 18.04 and 18.10.

On Ubuntu 19.04 it requires libssl1.0.0. Current versions of libssl1.0.0 can be found at https://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.3_amd64.deb (or whatever is the latest at http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/ ) or http://security-cdn.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb (or whatever is the latest at http://security-cdn.debian.org/debian-security/pool/updates/main/o/openssl/ ). Please take into account that this is a security-critical package that got multiple security updates, it is maintained, and if it is installed manually, it won't be automatically upgraded. While annoying, this is an improvement over libcurl3 mess in 7.0.0.1035.

Email scammers unknowingly made a true masterpiece of nonsense

Behold:
Action Required: Fix Problem To Avoid Mail Service Disruption
Considering that phobos.illtel.denver.co.us is my own workstation (yes, there is still such a thing as a "workstation") that also acts as its own email server, and the only sysadmin on that box is me, scammers ended up impersonating myself when emailing me. And yes, they also spelled "server" as "sever", however the irony of this is not nearly as impressive.

Viber on Linux, in particular, Ubuntu 18.10

Viber did not update its Linux port for a while, so by now there are two issues that cause trouble with it, even though it's proclaimed to work on Ubuntu.

1. The infamous libcurl3 issue.

That's a really stupid problem caused by dependency on libcurl3 in viber.deb, even though libcurl4 works just fine. Since those two are mutually exclusive, installing anything that requires libcurl3 will remove Viber, and installing Viber will remove libcurl4 and everything that depends on it.

The simplest solution is even more stupid, use RPM intended for Fedora, and convert it to Debian package using Alien: As root:

alien --to-deb viber.rpm

The result is perfectly installable.

2. Blank text issue.

That happened recently to me on a box with Intel graphics. Apparently some upgrade messes up text if old shader cache is present in .cache/qtshadercache , so all text disappears while all layout is fine. Just delete that directory:

rm -rf ~/.cache/qtshadercache

It will be re-created, and font rendering will work again.

Graphics glitches with Intel HD Graphics 520 in Core i5-6300U

My laptop at work is Lenovo Thinkpad T460s with Core i5-6300U. Its CPU happens to have a "unique" version of a buit-in graphics adapter, Intel HD Graphics 520. When I first got that thing in 2016, it could only run Linux with DRI completely disabled -- it looked like Intel drivers did not properly support that adapter, even though things improved later. Nevertheless occasionally I got the dreaded
"[drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A"
message, and graphics went into some broken state. The box was running Debian, however no upgrades to either Debian or Ubuntu packaged kernel had any effect.

It turned out, there was firmware update missing, or to be more precise, firmware files skl_guc_ver6_1.bin and skl_huc_ver01_07_1398.bin were supplied with firmware-misc-nonfree package, however they were not loaded by default. To do that, one had to enable loading manually, so I had to add a file /etc/modprobe.d/i915.conf:
options i915 enable_guc_loading=1 enable_guc_submission=1

and remove blacklisting of microcode loader ("blacklist microcode") entries from other files in /etc/modprobe.d.

After making those changes on Debian or Ubuntu it's necessary to rebuild the ramdisk with
update-initramfs -u -k all
and reboot.

Everything is running well ever since -- of course, for the values of "well" applicable to Intel built-in graphics adapters. They usually do the right thing, however performance is nothing special, appropriate for a general-purpose work laptop.

NVIDIA and KDE.

I have a home workstation box running Gentoo Linux. The desktop environment is KDE Plasma, currently at 5.11.5. And that's apparently not a good combination with the current NVIDIA driver. In the past I have seen occasional broken OpenGL compositor behavior, when a window suddenly flickered to black until redrawn, however otherwise everything worked properly, and I did not bother investigating what was a known but rare annoyance. Recently, however, I have found that the problem got much worse, screen occasionally turned to solid black, and X11 the driver produced an infamous "XID 31" log message.

The problem is not fatal, switching to a text console, restarting kwin_x11 and switching back to the desktop restores sanity while the rest of the session remains running, however it became frequent enough to become very annoying. I was also afraid that whatever was confused enough to access the wrong video memory address (what "XID 31" is according to NVIDIA), may also do something worse -- leak objects, corrupt GPU data or crash the driver.

Collapse )

Update (2018-02-15): It looks like the problem was fixed in KDE Plasma 5.12.0 -- I have not seen it after upgrading to 5.12.0 (later 5.12.1) and reverting from Compton to KWin compositing. I am not entirely sure about it because the problem was intermittent to begin with, and it may be that the new version simply doesn't hit the conditions that trigger it as often as the old one did. However so far all windows are displayed properly, and no "XID 31" log messages.

Update (2018-02-18): 5.12.1 still managed to produce an error:

[721975.776488] NVRM: Xid (PCI:0000:07:00): 31, Ch 00000020, engmask 00000101, intr 10000000

So the combination of KWin compositor and NVIDIA is still broken. Switching back to Compton.

2017

Some improvements to Radish

I made those root filesystem builder and installer scripts some time ago, and they worked very well for all my Debian and Ubuntu installations. Still there were some glaring deficiencies in them, most notably the tendency of leaving mounted filesystem images on failures, and installer not creating a large enough /boot partition for kernels and especially ramdisks that grew up in size.

Now I can anounce that those problems are a thing of the past, as new updates to Radish were committed to its git repository.

If anyone did not keep track of those (what should be pretty much the whole population of Earth except for myself), Radish is a set of shell scripts that can produce a pre-built small root filesystem image ("small root" part being the reason for calling it Radish) for Debian and Ubuntu Linux, and produce bootable storage devices using that image.

The images can be updated with more software, or scripts can be modified to include whatever software the user wants to add. Installer script generates a partition table / MBR and two partitions used for MBR-based installation of Linux. The installer also takes care of resizing the root filesystem to fit the partition, and updates UUIDs, so they remain unique among installations. This is important for handling multiple removable devices where identical filesystems can create a great amount of grief when multiple devices (such as USB and SATA-connected drives) are connected to the same Linux box.

Still no GPT/UEFI support at the moment, and installer is limited to Debian and Debian-like systems.
2017

Two scripts for photo-related devices.

Download files from Toshiba FlashAir SD card over Wi-Fi: https://github.com/abelits/flashair-download

Print on Canon SELPHY 1200: https://github.com/abelits/canon-selphy-print

FlashAir script is for the configuration with FlashAir card as the access point, it uses Network Manager through nmcli utility to temporarily switch the access point, download files that are not present on the host, then restore the original state of Wi-Fi connection. It requires Network Manager having a configuration for the card, with the connection name the same as SSID name.

SELPHY support assumes that the printer configured in CUPS and accessible over Wi-Fi. The driver chosen for this printer is irrelevant, script uses raw mode and sends JPEG file with dimensions used by the printer.

I did not want to use a printer as an access point because it may interfere with the CUPS spooler -- spooler may be still talking to the printer while everything else is done, or printer may be in an error/out of supplies state, so keeping the connection on while the queue is not empty is not a good idea, either. Printer indicates its connection status on its built-in screen, so setup is sufficiently convenient, at least with my phone acting as a mobile access point.

On FlashAir, on the other hand, access point mode is more convenient because it does not tie the setup to any particular external access point, so photos can be downloaded at the first opportunity.