OpenBSD 6.8 on an Itronix GoBook VR-2 laptop

2020-11-07
2 min read

The laptop

I own a Itronix GoBook VR-2 laptop it was running previously debian but I wanted to test OpenBSD on it.

Issues

Here are the problems that I found running OpenBSD 6.8 on this laptop.

ACPI

It does not work, trying to install OpenBSD results in a kernel panic, FreeBSD works but is random it locks up 2 out of 3 and disabling acpi is not possible because GENERIC is missing local apic, and disabling acpi on the boot loader ends up in a kernel panic. To proceed in OpenBSD I just disabled ACPI using the following steps:

OpenBSD 6.8-current (GENERIC) #167: Wed Nov 11 20:27:37 MST 2020
    deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 3192696832 (3044MB)
avail mem = 3080802304 (2938MB)
User Kernel Config
UKC> disable acpi
453 acpi0 disabled
UKC> disable mpbios
 53 mpbios0 disabled
UKC> quit

Now I'm able to install OpenBSD 6.8, keep in mind as this laptop comes with the iwn driver, we need the firmware to setup the wireless card. I just used the ethernet card then ran fw~update~ to setup iwn after the installation.

Cirque Corporation, USB GlidePoint

This touchpad was not being detected by the ums driver, so debugging the usb code I found out that the problem was that this mouse was being presented with a descriptor type that don't match the one expected for an usb device so it failed with the message:

"device failed port 4 disabled"

After bypassing that check

/* The problem here is that the descriptor type for Cirque is not
   a UDESC_DEVICE that's the problem, this is a hack to bypass that
*/

    if (dd->bDescriptorType != UDESC_DEVICE) {
        printf("bDescriptorType %d\n", dd->bDescriptorType);
//      usb_free_device(dev);
//      up->device = NULL;
//      return (USBD_INVAL);
    }

The mouse is loading fine, and is detected and is working fine with wsmoused.

uhidev2 at uhub7 port 4 configuration 1 interface 0 "Cirque Corporation USB GlidePoint" rev 1.10/1.30 addr 5

Now the problem is that the mouse is not being seeing by Xorg, trying xinput list just returns internal touchpad /dev/wsmouse0. The solution for this problem was to disable wsmoused and add the following config to Xorg.

To do that I just created a file called cirque.conf in /etc/X11/xorg.conf.d/cirque.conf.

Section "ServerLayout"
  Identifier "config"
  Option "AllowEmptyInput" "off"
EndSection
rcctl disable wsmoused

Now restart xenodm and the mouse will be working in X11.