Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

Models covered
Acer Spin 1

Sub-models (SP111-31N-C4UG) options :

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{i}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

[?]

Hibernation

[?]

Sleep / Suspend

{OK}

Xorg

{OK}

- OpenGL

{OK}

- Resize-and-Rotate(randr)

{i}

Switch to External Screen

{OK}

Mouse

- Built-in (Touchpad)

{OK}

Wireless/Wifi

X-(

Keyboard's Hotkeys

{OK}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

{i} Before installing Debian, Secure Boot needs to be disabled in BIOS.

The eMMC internal ssd isn't recognized by the stretch kernel, so I installed testing (buster), but then downgraded to stretch, leaving the more recent kernel in place, so the comments refer to the buster install kernel 4.13.0-1-amd64.

Press Esc (or sometimes F2 - seems to vary not sure why) to access the BIOS screen. I turned off secure boot, enabled network boot (might not be necessary) and changed the boot order to boot from a USB stick. The testing installer installed successfully, except it gave an error installing grub, though it did boot successfully anway, once I changed the boot order back to boot off eMMC first in the BIOS.

The wireless card works with the ath10k non-free firmware.

Configuration

Display

Works with standard kernel.

Audio

Works with standard kernel.

Power Management

Lid close triggers suspend, lid open triggers resume.

Battery levels, AC power recognized

WiFi

Works with the nonfree package: firmware-atheros

Resize-and-Rotate

Debian doesn't seem to support natively the rotation. However the Accelerometer is correctly detected. You can ensure by installing and running monitor sensor.

apt-get install iio-sensor-proxy inotify-tools

The following script, adapted from:

https://gist.github.com/Links2004/5976ce97a14dabf773c3ff98d03c0f61

will automatically rotate the screen and the touchscreen.

# Auto rotate screen based on device orientation
# based on https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu

# install
# 1. apt-get install iio-sensor-proxy inotify-tools
# 2. add script to autostart

# Receives input from monitor-sensor (part of iio-sensor-proxy package)
# Screen orientation and launcher location is set based upon accelerometer position
# Launcher will be on the left in a landscape orientation and on the bottom in a portrait orientation
# This script should be added to startup applications for the user

LOG=/run/user/$(id -u $USER)/sensor.log
export DISPLAY=:0

# put your display name here
DNAME=eDP-1

# may change grep to match your touchscreen
INDEV=$(xinput --list | grep -iv Pen | grep -i TouchScreen | sed 's/.*id=\([0-9]*\).*/\1/')


function rotate {
        #echo ---- rotate ----
        ORIENTATION=$1
        CUR_ROT=$(xrandr -q --verbose | grep $DNAME | cut -d" " -f6)

        NEW_ROT="normal"
        CTM="1 0 0 0 1 0 0 0 1"

        # Set the actions to be taken for each possible orientation
        case "$ORIENTATION" in
        normal)
                NEW_ROT="normal"
                CTM="1 0 0 0 1 0 0 0 1"
                ;;
        bottom-up)
                NEW_ROT="inverted"
                CTM="-1 0 1 0 -1 1 0 0 1"
                ;;
        right-up)
                NEW_ROT="right"
                CTM="0 1 0 -1 0 1 0 0 1"
                ;;
        left-up)
                NEW_ROT="left"
                CTM="0 -1 1 1 0 0 0 0 1"
                ;;
        esac


        #echo ORIENTATION: $ORIENTATION
        #echo INDEV:   $INDEV
        #echo DNAME:   $DNAME
        #echo DISPLAY: $DISPLAY
        ##echo NEW_ROT: $NEW_ROT
        #echo CUR_ROT: $CUR_ROT
        #echo CTM:     $CTM
        #if [ "$NEW_ROT" != "$CUR_ROT" ] ; then
                xrandr --output $DNAME --rotate $NEW_ROT
                xinput set-prop $INDEV 'Coordinate Transformation Matrix' $CTM
        #       fi

}

# set default orientation
rotate normal

# kill old monitor-sensor
killall monitor-sensor

# Clear sensor.log so it doesn't get too long over time
> $LOG

# Launch monitor-sensor and store the output in a variable that can be parsed by the rest of the script
monitor-sensor >> $LOG 2>&1 &

# Parse output or monitor sensor to get the new orientation whenever the log file is updated
# Possibles are: normal, bottom-up, right-up, left-up
# Light data will be ignored
while inotifywait -e modify $LOG; do
        # Read the last line that was added to the file and get the orientation
        ORIENTATION=$(tail -n 1 $LOG | grep 'orientation' | grep -oE '[^ ]+$')

        if [ ! -z $ORIENTATION ] ; then
                rotate $ORIENTATION
        fi

done


System Summary

lspci

00:00.0 Host bridge [0600]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Host Bridge [8086:5af0] (rev 0b)
00:00.1 Signal processing controller [1180]: Intel Corporation Device [8086:5a8c] (rev 0b)
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:5a85] (rev 0b)
00:0e.0 Audio device [0403]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Audio Cluster [8086:5a98] (rev 0b)
00:0f.0 Communication controller [0780]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Trusted Execution Engine [8086:5a9a] (rev 0b)
00:12.0 SATA controller [0106]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SATA AHCI Controller [8086:5ae3] (rev 0b)
00:13.0 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #4 [8086:5adb] (rev fb)
00:15.0 USB controller [0c03]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series USB xHCI [8086:5aa8] (rev 0b)
00:17.0 Signal processing controller [1180]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #5 [8086:5ab4] (rev 0b)
00:17.1 Signal processing controller [1180]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #6 [8086:5ab6] (rev 0b)
00:1c.0 SD Host controller [0805]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series eMMC Controller [8086:5acc] (rev 0b)
00:1f.0 ISA bridge [0601]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Low Pin Count Interface [8086:5ae8] (rev 0b)
00:1f.1 SMBus [0c05]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SMBus Controller [8086:5ad4] (rev 0b)
01:00.0 Network controller [0280]: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter [168c:0042] (rev 31)

lsusb

Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Couldn't open device, some information will be missing
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
Couldn't open device, some information will be missing
  iProduct                2 
Couldn't open device, some information will be missing
Bus 001 Device 006: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
  bDeviceClass          255 Vendor Specific Class
  bDeviceProtocol       255 Vendor Specific Protocol
  iProduct                2 
      (Bus Powered)
Bus 001 Device 005: ID 0bda:57f2 Realtek Semiconductor Corp. 
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                1 
      (Bus Powered)
Bus 001 Device 004: ID 04f3:22e3 Elan Microelectronics Corp. 
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0 
  iProduct               14 
Bus 001 Device 003: ID 04ca:3015 Lite-On Technology Corp. 
  bDeviceClass          224 Wireless
  bDeviceProtocol         1 Bluetooth
  iProduct                0 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Attachments

Some configuration files and sample outputs.

Credits


CategoryLaptopComputer