[Hardware] DELL XPS 13 9360 + Thunderbolt3 + Sisyphus
Konstantin Lepikhov
lakostis на unsafe.ru
Пт Окт 6 00:17:46 MSK 2017
Привет!
Страница с описанием характеристик ноутбука:
http://www.dell.com/en-us/shop/dell-laptops/new-xps-13-touch/spd/xps-13-9360-laptop/dncwtr753h
(я проверял версию с touchscreen и fingerprint sensor).
Поскольку доступа на альтовую вики я так и не дождался, пишу сюда как смог
завести данный ноутбук на Сизифе. Данная статья может быть полезна тем,
кто планирует купить подобный ноутбук и/или собирается подружить ALTLinux
с техникой от Apple и протоколом Thunderbolt3.
Кроме ноутбука присутствовали след. предметы:
- стыковочная станция от Belkin с поддержкой протокола Thunderbolt3
https://www.apple.com/shop/product/HKQ12VC/A/belkin-thunderbolt-3-express-dock-hd
- несколько мониторов, мышь и клавиатура, которые были подключены к
стыковочной станции посредством USB и переходников HDMI->USB-C.
Исходная статья о настройке была найдена на вики ArchLinux:
https://wiki.archlinux.org/index.php/Dell_XPS_13_(9360)
Что ставил:
http://nightly.altlinux.org/sisyphus/tested/regular-gnome3-latest-x86_64.iso
Сразу после установки рекомендуется обновить BIOS и прошивку для wifi
карты до версии 4.4.1:
- скачать
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
Также рекомендуется отключить Thunderbolt Security в BIOS (потом его можно
включить), иначе будет работать только монитор.
На ядре std-un завелось все, кроме работы со стыковочной станцией - при
втыкании монитора он определялся и wayland его видел, но потом соеднение
отваливалось и все сводилось к постоянному мерцанию на экране. Также, при
отключении дока происходил взрыв в районе сетевой карты внутри дока (там
используется что-то от intel с драйвером igb). По backtrace было видно,
что в модуле просто не предусмотрена нормальная работа с pci hotplug:
<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
Workaround: отключить igb, тогда ничего не падает и взрывается, но
остается мерцание мониторов и теряем возможность работать по проводной
сети через стыковочную станцию.
Естественно, я решил это по-своему - а именно, собрал свой wks-lks с
нужными патчами. Что поменял:
- Модуль thunderbolt был активно пропатчен из бранча intel и dell
https://github.com/dell/thunderbolt-dkms + добавлены все исправления из
ядра 4.14+
- Модуль igb в ядре был отключен и собран отдельно с сайта intel за
версией 5.3.5.12, там работа с msix и hotplug переписана.
http://www.unsafe.ru/lakostis/RPMS/ALTLinux/testing/kernel-4.12/
В результате thunderbolt3 завелся сразу, мониторы перестали мигать, модуль
igb перестал падать и как плюшка появилась возможность прошить thunderbolt
модуль в самом ноутбуке, поскольку текущая версия была староватой и
возможно имела ошибки в работе. Рекомендуемая версия - v21, ее можно
вытащить из официальных дров от 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
После этого все работает как надо, включая подключение 3+ мониторов и все
это успешно рулится через wayland и настройки gnome3. Также автоматически
подстраивается scale после отключения дока или подключения мониторов.
В целом в нотубуке работает все, за исключением fingerprint sensor, но его
поддержка и не была обещана. Для управления настройками nvme диска собрал в
сизиф пакет nvme. Что-либо кроме gnome3 не проверял.
Спасибо за внимание!
--
WBR et al.
Подробная информация о списке рассылки Hardware