Dell XPS 13 9360

Материал из ALT Linux Wiki

Описание характеристик ноутбука (у меня версия с тачскрином и сканером отпечатков пальцев):

 http://www.dell.com/en-us/shop/dell-laptops/new-xps-13-touch/spd/xps-13-9360-laptop/dncwtr753h

Все операции проверены со стыковочной станцией Belkin:

 https://www.apple.com/shop/product/HKQ12VC/A/belkin-thunderbolt-3-express-dock-hd

По умолчанию поставляется либо с Windows 10 либо с Ubuntu 16.10 от Dell.

Для ALT Linux все проверялось с http://nightly.altlinux.org/sisyphus/tested/regular-gnome3-latest-x86_64.iso

Решения проблем

Сразу после установки рекомендуется обновить следующие компоненты:

BIOS

Просто скачать .exe с сайта производителя, записать его на флешку/доступный раздел с FAT и выбрать пункт BIOS update после нажатия F12, далее указать .exe и дождаться окончания процесса обновления. Или поставить пакет fwupd и выполнить след. команды в консоли:

$ fwupdmgr update

В этом случае fwupd сам скачает последнюю версию с сайта Linux Vendor Firmware Service и запустит процесс обновления после перезагрузки.

WiFi

(замечание ниже не особенно критично, если ошибки не мешают можно все оставить как есть)

Если видите ошибки вида:

pcieport 0000:00:1c.4: AER: Corrected error received: id=00e4
pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=00e4(Transmitter ID)
pcieport 0000:00:1c.4:   device [8086:9d14] error status/mask=00001000/00002000
pcieport 0000:00:1c.4:    [12] Replay Timer Timeout

Или если воспроизводится баг при работе с 5G wifi, который приводит к падению скорости скачивания.

Процесс обновления прошивки для Killer 1535 Wirless Adapter:

  • скачать
 https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174
  • скопировать папку QCA6174 в /lib/firmware/ath10k, заменив все файлы.
  • создать симлинк на прошивку:
# cd hw3.0                                                                                                                                                                                                                                                    
# ln -s 4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00058-QCARMSWP-1 firmware-6.bin
  • перегрузить систему или выгрузить/загрузить модули ath10k-pci ath10k-core.

Thunderbolt

У меня была версия 18.5, рекомендуемая 21.0, ее можно вытащить из официальных дров от Intel, которые доступны на сайте Dell (видимо, чтобы враги не догадались):

https://downloads.dell.com/FOLDER04442852M/1/Intel_TBT3_FW_UPDATE_NVM21_MHTHF_A02_4.21.03.001.exe

(ссылка может устареть, могу выложить прошивку по запросу)

далее извлекаем содержимое .exe через 7z x и берем файл 0x075B_secure.bin (обязательно _secure, иначе ничего прошиваться не будет).

Ну а далее как советуют в инструкции:

(стыковочная станция должна быть подключена и модуль thunderbolt загружен!)

# dd if=0x075B_secure.bin of=/sys/bus/thunderbolt/devices/0-0/nvm_non_active0/nvmem                                                                                                                                                                           
# echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate

после этого модуль начнет прошиваться и перезагрузиться. Убедиться что все прошло хорошо можно проверив версию после прошивки:

# cat /sys/bus/thunderbolt/devices/0-0/nvm_version                                                                                                                                                                                                            
21.0

PCI Hotplug

В процессе работы обнаружена еще одна проблема - не работает pci hotplug для встроенной сетевой карты, которая есть в стыковочной станции. На поверку это оказался модуль ядра igb, который и падает при отключении:

<4>[   96.234354] R10: 0000000000000040 R11: ffff9b394f85d6f8 R12:
ffff9b3c2d9552a0
<4>[   96.234375] R13: ffff9b3c2d955000 R14: ffff9b3c229f39c0 R15:
0000000000000060
<4>[   96.234398] FS:  0000000000000000(0000) GS:ffff9b3c3e480000(0000)
knlGS:0000000000000000
<4>[   96.234422] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4>[   96.234441] CR2: 00007f5d353032c8 CR3: 0000000461df7000 CR4:
00000000003406e0
<4>[   96.234463] Call Trace:
<4>[   96.234474]  pci_disable_msix+0xf1/0x120
<4>[   96.234491]  igb_reset_interrupt_capability+0x50/0x60 [igb]
<4>[   96.234512]  igb_remove+0xb3/0x170 [igb]
<4>[   96.234526]  pci_device_remove+0x34/0xb0
<4>[   96.234540]  device_release_driver_internal+0x150/0x210
<4>[   96.234557]  device_release_driver+0xd/0x10
<4>[   96.234575]  pci_stop_bus_device+0x85/0x90
<4>[   96.234589]  pci_stop_bus_device+0x2c/0x90
<4>[   96.234603]  pci_stop_bus_device+0x2c/0x90
<4>[   96.234617]  pci_stop_and_remove_bus_device+0xd/0x20

Временное решение - добавить модуль igb в blacklist. Или можно поставить ядро wks-lks где модуль igb собран отдельно с сайта intel и этих проблем не имеет.

Что не работает

  • Сканер отпечатков пальцев пока не работает, официальная поддержка заявлена только для Windows.
  • Зарядка через thunderbolt/usb-c (почему не копал, может быть не поддерживается текущим ядром).

Тачскрин

Определяется и работает, для работы нужно включить CONFIG_I2C_HID в ядре.

EFI

Проверялась установка только в EFI, другие режимы не проверял.

Thunderbolt

Для корректного определения устройств рекомендуется отключить Thunderbolt Security в BIOS (потом его можно включить), иначе будет работать только монитор.

На ядре std-un завелось все, кроме работы со стыковочной станцией - при подключении монитора он определялся и wayland его видел, но потом соединение отваливалось и все сводилось к постоянному мерцанию на экране.

Для того чтобы поддержка Thunderbolt работала корректно необходимо обновить модуль thunderbolt:

  • либо самостоятельно с gihub dell:
 https://github.com/dell/thunderbolt-dkms
  • либо поставив свежую версию ядра wks-lks, где модуль уже включен в сборку:
 http://www.unsafe.ru/lakostis/RPMS/ALTLinux/testing/kernel-4.14/

В результате thunderbolt3 завелся сразу, мониторы перестали мигать и появилась возможность обновления прошивки thunderbolt модуля (см. выше):

После этого все работает как надо, включая подключение 3+ мониторов и все это успешно рулится через wayland и настройки gnome3. Также автоматически подстраивается scale после отключения дока или подключения мониторов.

Что еще почитать по настройке

Документация на wiki Arch Linux:

 https://wiki.archlinux.org/index.php/Dell_XPS_13_(9360)