Some time ago, I received a new notebook for work: the Toshiba Dynabook Portégé X30-G (on the back, it says “X30-G-147”). While supposedly being compatible with Ubuntu (20.04), I experienced some issues. This post describes the solutions and workarounds that I found. With these fixes, it works quite well for me.
The accupoint and buttons above the touchpad
The first thing I noticed is that the accupoint (the “ball” between keys g
and h) does not work.
As it turns out, there is no full driver support and it simply does not work. This includes the accupoint and the mouse buttons above the touchpad. In fact, it seems that when moving the accupoint, there are events sent and received in Linux, but the driver does not process them correctly or at all:
$ sudo cat /dev/hidraw0
The normal touchpad and touchpad-integrated keys work, and since I personally don’t use the accupoint, this is fine for me.
Slow boot and high CPU usage
Boot up was very slow (it took around 1 min 30sec), and I remarked high CPU usage (>14) after boot. Also, sometimes after boot and always after suspend, the input would lag.
I traced the kernel as described on
askubuntu. It turned out for me that i8042
was hogging the CPU (which would show up in top as “kworker/events-long” if I
remember correctly). i8042 is an input driver for PS/2 keyboards/mice, and I
wonder why it was actually activated. A search led me to this stackexchange
question: this driver has some
multiplexing functionality, and for some reason, does not always work correctly
with thehardware. It is possible to switch such multiplexing functionality off.
I added the options i8042.nomux=1 i8042.reset to the kernel option list by
adding them in the GRUB_CMDLINE_LINUX_DEFAULT list in /etc/default/grub.
After applying this fix, boots/reboots were no longer a question of minutes but seconds, and the high load is gone. Also, input lagging did not occur anymore.
Suspend not working
Thanks to Alireza for this tip.
Now that the notebook boots fast, I do not suspend very often. At the same
time, it is sometimes convenient to suspend it for some minutes, e.g., when
going to some other office. The problem was that suspend (e.g., systemctl suspend) would not work reliably: sometimes the notebook would not switch off,
or wake up during suspend.
As Alireza found out, adding the option mem_sleep_default=deep to
GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub solves this problem, and
suspend works reliably
Wifi is instable
Especially when using the Wifi with eduroam, the connection was frequently lost, and would take multiple seconds to be reestablished.
I applied two fixes to alleviate this problem. Short interruptions might still happen, but it is much better. Actually, I am not sure whether it is necess
- Disable the 11n mode of the
iwlwifidriver: Add the following line to/etc/modprobe.d/iwlwifi.conf:options iwlwifi 11n_disable=1 - Switch off power management. As mentioned in the same post for interface
<ifname>:I am not sure whether this is necessary, c.f. also the official page of the iwlwifi driver. Also, it might not be persistent after reboot. Another option is to disable powermanagement for wifi in NetworkManager altogether: Modify or add the following lines in$ sudo iwconfig <ifname> power off/etc/NetworkManager/conf.d/default-wifi-powersave-on.conf:[connection] wifi.powersave = 2