Log in

No account? Create an account
Alex Belits

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.

Tags: , , ,

Leave a comment

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.

Read more...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.

Tags: , ,

Leave a comment
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.
Leave a comment
https://github.com/abelits/flashair-download now supports Transcend Wi-Fi card. In its default mode, Transcend card uses the same model as the default mode of FlashAir, card acts as an access point, transfer is performed using HTTP.


2 comments or Leave a comment

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.


6 comments or Leave a comment
If someone using an Ubuntu desktop, and after update to 16.10 he is wondering where his "Wired connection 1" went, and why his attempts to connect to VPN using Network Manager interface are failing, the culprit is


The bug (with the dreaded WONTFIX) is at https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1638842 . This is getting annoying.

I have added ",except:type:ethernet" to the end of its "unmanaged-devices" definition, however it may be that someone using Bluetooth or other unusual devices may just replace this file with an empty one.

In other news, I have found that apulse works for running Skype without PulseAudio, as long as ALSA is not trying to use PulseAudio. On Gentoo this means actually removing PulseAudio support, as opposed to having it inactive, however on distributions with binary packages that would be problematic. It happens that removing /usr/share/alsa/pulse-alsa.conf (and preventing it from being installed again) is sufficient.
7 comments or Leave a comment
У меня создалось впечатление, что в данный момент мои англоязычные знакомые, которые могут читать по-русски и русскоговорящие, которые читают по-английски, находятся в полном недоумении от материала, который Facebook им направляет якобы от моего имени. Все упоминания "либералов" по-русски и все упоминания "либералов" по-английски относятся к каким-то группам людей, не имеющих практически ничего общего, кроме самых маловажных свойств и действий, и только наиболее запутавшихся участников. Это не имеет никакого отнощения ко мне, меня в существующей обстановке было бы наиболее правильно назвать социалистом, однако так как я оказался точкой соприкосновения, думаю, что именно мне следует предложить некоторое этому объяснение.
Очень длинный текстCollapse )
(English version)
42 comments or Leave a comment
I believe, by now whatever English-speaking friends I have who can read Russian, and all my Russian-speaking friends who can read English, should be thoroughly confused by the content of whatever Facebook throws at them on my behalf. That is, everything in Russian that refers to "Liberals" and everything in English that refers to "Liberals" seem to mean groups of people that don't have much in common except for some least important activities and attributes, and only the most confused members in common. The problem has nothing to do with me, in the current environment I can be best described as a Socialist, however since I happen to be an unwilling connection point between the two, I think, I have to provide an explanation.
A Very Long TextCollapse )
(Russian version)
Leave a comment
I have already mentioned this:


Now we have ONIE installer ported to our x86 hardware. Except this port is so generic, it works on most x86-based motherboards that support "classic" MBR-based booting, can be booted over PXE, and have SATA boot media:


Build for im_n29xx_t40n platform produces kernel and ramdisk images suitable for PXE booting. It will need kernel command line option boot_reason=embed to install after being booted from PXE, for example, with this pxelinux.cfg/default:

SERIAL 0 115200 0
LABEL linux
SAY Now booting the kernel from SYSLINUX...
KERNEL im_n29xx_t40n-r0.vmlinuz
APPEND ro console=tty0 console=ttyS0,115200n8 boot_reason=embed
INITRD im_n29xx_t40n-r0.initrd

To install Radish images, we have this:


To build it, first build static partclone with extfs support from patched sources at


using the following (assuming it is initially installed in /home/user):
./configure --disable-rpath --disable-all --enable-extfs
--enable-static --without-libiconv-prefix --without-libintl-prefix
--prefix=/home/user --exec-prefix=/home/user --bindir=/home/user/bin
--sbindir=/home/user/bin --datarootdir=/home/user/share

Then copy partclone.restore to the components/ in onie-x86-installer and run

./build_installer.sh .

The result is a shell script, originally produced as installer.sh . When downloaded by ONIE over HTTP it will install Radish image that has the same name with suffix .sh replaced with -image.bin .
Leave a comment
I think, I am supposed to provide some update after my look changed in a noticeable way. So this:
4 comments or Leave a comment
This is how my Slashdot user page looks now.

Thanks to Slashdot moderation system and shills exploiting it, I can post only two comments per day, and both of them are at score -1 -- invisible by default. This also never expires.

Oh, and 437 is my user ID. I was among the first people on that site, actively participated in all discussions over 15 years, and until this year nothing even remotely like that happened.

The only way to restore things is to mod my comments up, however scarce they may became, so I ask everyone who sees this and has an account with mod point, to mod them up. Yes, they are insipid, and yes, I can't have a meaningful discussion until this limit will be lifted, that's the whole point.

My comments can be seen at http://slashdot.org/~Alex+Belits/comments


1 comment or Leave a comment
...and today was my first day at work at Interface Masters. Even committed some code.
4 comments or Leave a comment
Today I was laid off at Meyer Sound.
4 comments or Leave a comment
I have finally uploaded October photos.

New San Francisco photos:

Sunday Streets Berkeley on October 14:

Walk from Emeryville to Berkeley:

Pearl Street in Boulder, CO:

And a very small section on food:
Leave a comment
I got a new camera and taken some pictures...
Leave a comment

I knew that people mis-use Venn diagrams, but this takes the cake -- not only the diagram is the opposite of what it is supposed to mean (intersection of sets instead of union), it also shows a non-empty intersection between a set ("People who think hipsters rule the mission") and its complement ("People who don't")! And that intersection is a superset of the people who supposedly use the product.

So exclusive, no one can possibly have it!

Leave a comment
Insane Microsoft troll insists that Linux should drop support for 32-bit x86.
Leave a comment
For the whole week my life was filled with pain, medications that I would rather avoid, and spending disproportionate amount of time in bed. The stone was found on Monday, pain was the worst on Monday-Tuesday, and manageable with "merely" Ibuprofen on Wednesday-Friday. I think, I have caught the stone or at least the only large fragment that remained of it, so If nothing will happen within an hour, I should declare it to be over.

Lessons learned:

1. Kidney stones are really, really painful.
2. When communicating with nurses in emergency room, any gesture you make causes people to ignore anything you are saying, and interpret the gesture.
3. Some people's conclusions will be too optimistic. Just because someone was in pain for a while, and the stone was last seen on CT scan in ureter close to the bladder, does not mean that the stone had passed. And when the pain decreased, it does not necessarily mean this, either.
4. When you are discharged in the middle of the night and prescribed something important, insist on going through the hospital pharmacy, or you will return for it in a few hours, then wait in line in the normal pharmacy, all the while feeling excruciating pain.
5. When there is a shuttle going between your home and the train station, and another shuttle between that train station and the hospital, take the damn shuttle!
6. Visiting your work while sick and in pain may help when something important is going on, but you will wonder why people didn't react to the change of your appearance and attitude. As in, "Do I always look like I literally have a thorn-like thing in my side?"
1 comment or Leave a comment
There are many things that probably should be said about the latest Mars landing. I see it as a great achievement in development of technology, it creates new possibilities for both research, and development of even more complex equipment for space exploration, but at the moment one question bothers me:

The whole crane thing was supposed to soften the landing, so rover will not be subjected to rapid deceleration that would happen when a more conventional platform touches the ground. I guess, it's possible that a crane supported by nothing but rockets is more stable while in flight than a landing platform when it touches the ground over a pillow of gas from the same rockets, so there may be less acceleration in the end.

But on NASA TV it was clearly visible that when the whole thing entered the atmosphere, acceleration was more than 10g, therefore each and every component of the rover and its carrier, was supposed to tolerate many minutes of such acceleration. So if the platform can guarantee less than 10g when it touches the ground, it can safely land without any complicated mechanisms, with rover on top, just like it was done for decades with smaller but just as fragile devices.

So  traditional solution has top mount for rover, low-altitude altimeter, rocket engines designed to exploit ground effect while immediately over the ground, but no crane, no procedure for keeping platform extremely stable for the whole time while rover is lowered by the crane then getting the platform away from the rover, and no weird direction of the nozzles to keep gas away from the rover. For me, that sounds clearly superior.

I really can't understand what was the reason for choosing the crane. Anyone has any idea?
2 comments or Leave a comment

I didn't intend to change my haircut this drastically, however I have a firm belief that I have nothing useful to say about haircuts, so even if I think, barber is misinterpreting what I asked for, it's better to accept the eventual result of some consistent effort rather than to jump in with my corrections in the middle.

This is the result. I find it unusual, but I can live with that.
5 comments or Leave a comment