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.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

GS40 6QE(Phantom)-001
MSI GS40

Model number: 9S7-14A112-001 options :
- Video card: Nvidia ?GeForce GTX970M
- Screen: 14" FHD (1920x1080)
- Wireless card: Atheros Qualcomm Killer AC 1625
- Disk and Ram size: 1 x 2.5" 1TB HDD + 1 x NVMe M.2 SSD by PCIe Gen3 X4 / SATA-SSD Combo, no optical drive, 16GB RAM
- Webcam (FHD type (30fps@1080p) ), backlit (red) keyboard

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

{i}

Detect CD/DVD:

[-]

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

[?]

Hibernation

{OK}

Sleep / Suspend

{OK}

Xorg

{i}

- OpenGL

/!\

- Resize-and-Rotate(randr)

[?]

Switch to External Screen

[?]

Mouse

- Built-in (Trackpoint)

[-]

- Built-in (Touchpad)

{OK}

Modem

[-]

Wireless/Wifi

{i}

Keyboard's Hotkeys

{OK}

Webcam

{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

BIOS settings

Before attempting to boot, a couple changes need to be made to the BIOS settings. Press the delete key when the MSI splash screen appears after turning on to enter the BIOS menu. The following changes should be made:

  1. Under the Boot tab: Change 'Fast Boot' from enabled to disabled
  2. Under the Boot tab: Change 'Boot mode select' to LEGACY

{X} Both the ethernet and WiFi do not work out of the box on a fresh Jessie install, as the drivers/firmware are not available. So there is no way to update and upgrade to the testing (Stretch) distribution or download needed firmware unless the user has an alternative means of connection. To get around the lack of working internet connection on the stock hardware a usb-to-ethernet adapter was used. The model was a J5-create JUE130 USB 3.0 to ethernet adapter, it is automatically recognized and loaded as an ASIX AX88179 device. Alternatively one might be able to use the testing/Stretch installation media to obtain a working WiFi connection in order to install extra packages/updates, but this is untested.

Configuration

Try to follow the order of the wiki in order to avoid possible dead ends.

From a fresh Jessie install (don't update jessie first or you may end up with non-working Xorg), first edit your /etc/apt/sources.list to point to stretch. You will also need to enable non-free components in order to get the NVidia drivers. Then upgrade to Testing/Stretch by doing:

sudo apt-get update && sudo apt-get upgrade

Display

Intel integrated graphics works out-of-the-box on Jessie/Stretch with Gallium.

Display/NVIDIA 970M:

As of 11/29/15 the packaged Nvidia drivers in Jessie/Testing(Stretch)/Sid are all too old to support the recent GTX 970M card (which requires the proprietary driver > 346.16). However, the drivers in experimental are recent enough.This is an Optimus laptop, so bumblebee is necessary for proper functionality. To install (w/ OpenCL support) add experimental to your sources by doing:

echo "deb http://httpredir.debian.org/debian experimental main contrib non-free" | sudo tee -a /etc/apt/sources.list

then update and install the nvidia drivers:

sudo apt-get update
sudo apt-get -t experimental install nvidia-driver vdpau-driver-all nvidia-settings bumblebee-nvidia nvidia-libopencl1 nvidia-opencl-common nvidia-opencl-icd nvidia-cuda-dev libcuda1 libgl1-nvidia-glx

also, to make sure you are present in the bumblebee group (if you are already a member of sudo, this may be unnecessary), do:

sudo usermod -a -G bumblebee $USER

then reboot. To test the bumblebee/optimus functionality, try running:

optirun glxinfo | grep OpenGL

the output should look like:

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 970M/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 352.63
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 352.63
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:

Strangely, while executing optirun does turn on the GPU, it seems that the OpenGL work is not being offloaded to the discrete card properly. For example running  optirun glxgears  doesn't produce any output and promptly exits without even creating a window. On the otherhand, when the GPU is switched on with optirun it is available for OpenCL workloads and following the testing guide on Andreas Kloeckner's website OpenCL testing resources does show that the card is on and accepts OpenCL jobs.

Audio

Seems to work fine without user configuration.

Mouse

Seems to work fine without user configuration

Power Management

Hibernation seems to work OK.

WiFi

In order to get the Killer AC 1625 wireless working, after you have upgraded to testing/stretch and added the experimental to your sources.list, try installing a newer kernel (4.3.0 is needed from the experimental repository, the 4.2.x kernel in testing does not work and results in not being able to start an X session), then install the atheros firmware:

sudo apt-get install linux-image-4.3.0-trunk-amd64 linux-headers-4.3.0-trunk-amd64 
sudo apt-get install firmware-atheros

then reboot, the wireless should be recognized. Bluetooth is untested.

LAN

The Atheros Killer E2400 LAN is not supported yet, but there is a work around, by editing and recompiling the ALX kernel module.

It can be made to work by doing the following:

  1. Download a copy of the 4.3 kernel from kernel.org linux-4.3

  2. Install the build tools

     sudo apt-get install build-essential 

  3. After extracting the 4.3 kernel, change to the alx driver directory
    • and edit the reg.h and main.c files
        cd linxu-4.3/drivers/net/ethernet/atheros/alx/
        nano -c reg.h
    • for the reg.h file add following
        #define ALX_DEV_ID_E2400                0xe0a1
    • just after line 39, (after the entry mentioning E2200), then edit the main.c file by adding the following
    { PCI_VDEVICE(ATTANSIC, ALX_DEV_ID_E2400),
      .driver_data = ALX_DEV_QUIRK_MSI_INTX_DISABLE_BUG },
    just after line 1535 (the entry for E2200). Then make and install the drivers:
    make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
    sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
    sudo modprobe -r alx
    sudo depmod
    sudo modprobe -v alx

    The above solution mirrors the instructions on the manufacturer's (Killer Networking) website, see credits for original source.


System Summary

lspci

00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:191b] (rev 06)
00:08.0 System peripheral [0880]: Intel Corporation Sky Lake Gaussian Mixture Model [8086:1911]
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1)
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)
00:1d.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #14 [8086:a11d] (rev f1)
00:1d.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #15 [8086:a11e] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
01:00.0 3D controller [0302]: NVIDIA Corporation GM204M [GeForce GTX 970M] [10de:13d8] (rev ff)
3b:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a802] (rev 01)
3c:00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)
3d:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 20)

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3
  iProduct                2
Bus 001 Device 002: 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 004: ID 5986:055c Acer, Inc
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                1
      (Bus Powered)
Couldn't open device, some information will be missing
Bus 001 Device 003: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
  bDeviceClass          224 Wireless
  bDeviceProtocol         1 Bluetooth
  iProduct                0
Couldn't open device, some information will be missing
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

Xorg.conf file generation fails with the error: 'Number of created screens does not match the number of detected devices'

Some configuration files and sample outputs.

  • [get | view] (2015-11-29 06:34:13, 23.9 KB) [[attachment:dmidecode_output.txt]]
  • [get | view] (2015-11-29 06:34:25, 4.9 KB) [[attachment:lsmod_output.txt]]
 All files | Selected Files: delete move to page copy to page

Credits

Credit for the ALX driver solution goes to ?BattleDingo on askubuntu


CategoryLaptopComputer CategoryDebianOn