Devuan and Dell D630 graphics issue

On one of my Dell D630s running Devuan GNU/Linux, I ran into an interesting issue. It does not occur on my other D630, so there’s hope. Originally I actually changed from my i686 installation of Devuan ascii to the x86_64 version, but the problem still persistent.

After a few minutes of dedicated searching, I found the answer!

tl;dr

Put on the kernel line:

video=SVIDEO-1:d

Normally in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet video=SVIDEO-1:d"
And then you have to run:
grub-mkconfig -o /boot/grub/grub.cfg

Explanation

The symptom of my problem occurs when changing screen resolutions in X11, or switching to or from the X11 display to a different tty. The mouse responds and moves around the (graphical) screens, but nothing else is updated for about 10 seconds.

I investigated dmesg, and it shows the very interesting results at the bottom of the post. After shortening the snippet to paste into Internet search engines, I finally found an answer! This bug has something to do with handling the svideo output. Disabling the svideo output (my Dell Latitude D630 does not even have one!) makes the issue go away.

[  168.672218] [drm:drm_atomic_helper_commit_cleanup_done [drm_kms_helper]] *ERROR* [CRTC:29:pipe B] flip_done timed out
[  168.776236] ------------[ cut here ]------------
[  168.776296] WARNING: CPU: 1 PID: 2274 at /build/linux-6WgLIg/linux-4.9.88/drivers/gpu/drm/drm_irq.c:1254 drm_wait_one_vblank+0x197/0x1a0 [drm]
[  168.776299] vblank wait timed out on crtc 1
[  168.776302] Modules linked in: appletalk ax25 ipx p8023 p8022 psnap llc bnep bluetooth rpcsec_gss_krb5 nfsv4 dns_resolver nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc parport_pc ppdev lp parport iTCO_wdt iTCO_vendor_support b43 bcma snd_hda_codec_idt snd_hda_codec_generic mac80211 snd_hda_intel snd_hda_codec cfg80211 coretemp snd_hda_core dell_wmi kvm_intel sparse_keymap dell_rbtn rng_core dell_laptop kvm snd_hwdep yenta_socket snd_pcm dell_smbios rfkill snd_timer snd dcdbas dell_smm_hwmon irqbypass soundcore lpc_ich pcmcia_rsrc i915 mfd_core joydev pcspkr evdev serio_raw drm_kms_helper shpchp battery video wmi button ac drm i2c_algo_bit acpi_cpufreq ext4 crc16 jbd2 crc32c_generic fscrypto ecb glue_helper lrw gf128mul ablk_helper cryptd aes_x86_64 mbcache dm_mod sr_mod cdrom
[  168.776470]  sg sd_mod hid_generic ata_generic usbhid hid psmouse firewire_ohci ata_piix i2c_i801 ssb i2c_smbus mmc_core pcmcia firewire_core crc_itu_t pcmcia_core libata tg3 ptp pps_core libphy scsi_mod thermal ehci_pci uhci_hcd ehci_hcd usbcore usb_common
[  168.776532] CPU: 1 PID: 2274 Comm: Xorg Tainted: G        W       4.9.0-6-amd64 #1 Debian 4.9.88-1+deb9u1
[  168.776535] Hardware name: Dell Inc. Latitude D630                   /0KU184, BIOS A08 02/28/2008
[  168.776540]  0000000000000000 ffffffff9312f774 ffffb93e40b1f980 0000000000000000
[  168.776551]  ffffffff92e78a5e ffff9dc735860000 ffffb93e40b1f9d8 0000000000000000
[  168.776559]  0000000007000df1 ffff9dc77bc8a898 ffff9dc736bf2800 ffffffff92e78adf
[  168.776568] Call Trace:
[  168.776582]  [] ? dump_stack+0x5c/0x78
[  168.776591]  [] ? __warn+0xbe/0xe0
[  168.776597]  [] ? warn_slowpath_fmt+0x5f/0x80
[  168.776604]  [] ? finish_wait+0x3c/0x70
[  168.776642]  [] ? drm_wait_one_vblank+0x197/0x1a0 [drm]
[  168.776648]  [] ? prepare_to_wait_event+0xf0/0xf0
[  168.776733]  [] ? intel_get_load_detect_pipe+0x624/0x640 [i915]
[  168.776799]  [] ? intel_tv_detect+0x15a/0x590 [i915]
[  168.776828]  [] ? drm_helper_probe_single_connector_modes+0x432/0x520 [drm_kms_helper]
[  168.776866]  [] ? drm_mode_object_get_properties+0xd7/0x100 [drm]
[  168.776904]  [] ? drm_mode_getconnector+0x32a/0x360 [drm]
[  168.776938]  [] ? drm_ioctl+0x1ed/0x470 [drm]
[  168.776975]  [] ? drm_mode_connector_property_set_ioctl+0x60/0x60 [drm]
[  168.776984]  [] ? __fpu__restore_sig+0x7b/0x580
[  168.776992]  [] ? do_vfs_ioctl+0xa2/0x620
[  168.776997]  [] ? SyS_ioctl+0x74/0x80
[  168.777004]  [] ? do_syscall_64+0x8d/0xf0
[  168.777011]  [] ? entry_SYSCALL_64_after_swapgs+0x58/0xc6
[  168.777016] ---[ end trace 8f754217765c1d43 ]---
[  168.921006] ------------[ cut here ]------------

References

Weblinks

  1. https://bugs.freedesktop.org/show_bug.cgi?id=93782

Searches

https://duckduckgo.com/?q=g!+drm_irq.c%3A1254+drm_wait_one_vblank%2B0x197%2F0x1a0&ia=web

Advertisements

Devuan, Dell Inspiron 1525, and b43 wireless network card

In my attempts to be more diverse in my GNU/Linux experience (and not be so dependent on systemd for everything), I am using Devuan on my old Dell Inspiron 1525.
Getting my Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315] wireless network card working was one of the harder tasks on it. Installing freeipa is another, and it involved upgrading the distro to the rolling release version, ceres.

apt-get install firmware-b43-installer

Make sure that command downloads and extracts the broadcom driver. I think that package is from the contrib or non-free package set (in sources.list) and not main.
If it does not do the downloading part, you might have to remove the package and install it again.

modprobe | grep -E 'b43|wl|bcm'

Make sure the kernel module was installed by checking for it with modprobe.
I rebooted at various points, but it might not be necessary to do so. If you have to remove and add it again, use modprobe -r b43 ; modprobe b43.
I could then see the device listed when I ran

ip link show

I tried to enable it:

ip link set wlan0 up

But it warned me that it might not be able to do that because of rf-kill. Rather than remember/search how to do that on the cli, I just switched to wicd and checked the box for “switch on wifi.” Then I could set it up.
I also had to configure wicd to use “wlan0” as the wireless network card. And I threw in some service networking restart in here somewhere as well.
After all that, then wicd saw the wireless networks near me and I could join my wireless network!

Conclusion

Interesting, how running from systemd has made me embrace closed-source drivers. I don’t know what to say about that. But my laptop is not dependent on a wired network connection or systemd.

Additional notes

eudev:amd64 in ceres is giving me grief and will not install, which messes up pulseaudio I think, and certainly bluez and xserver-xorg-core. If you try this whole process on an Inspiron 1525, go with the 32-bit devuan and let me know it if works better.

References

Weblinks

  1. https://wiki.debian.org/bcm43xx
  2. https://wireless.wiki.kernel.org/en/users/Drivers/b43#Other_distributions_not_mentioned_above

Unattended software updates on Devuan

Devuan, as a fork of debian that uses sysvinit (or another– your choice), still uses debian-based utilities. I come from the Fedora/Red Hat/CentOS rpm-based family of distributions, and I struggle with the dpkg-based package management on occasion.

I really dislike how the software upgrades will sometimes pause in the middle, to display the changelog. If I wanted a changelog, I’d go read it! When I issue a command to update packages, I want to walk away, and come back, and it be done, not get stuck at 20% because openssh changed some defaults and wants to tell me. It emails me anyway! I find the defaults of apt-get to be not sane.

Here is how to configure apt-get to run without pausing to display duplicate information or ask you questions.

export DEBIAN_FRONTEND=noninteractive
apt-get -q -y upgrade

References

Weblinks

  1. https://obviate.io/2008/12/04/truly-non-interactive-unattended-apt-get-install/