ALT Linux hardware support
 help / color / mirror / Atom feed
From: Konstantin Lepikhov <lakostis@unsafe.ru>
To: ALT Linux Hardware Mailing List <hardware@lists.altlinux.org>
Subject: [Hardware] DELL XPS 13 9360 + Thunderbolt3 + Sisyphus
Date: Thu, 5 Oct 2017 23:17:46 +0200
Message-ID: <20171005211746.GA9060@lks.home> (raw)

Привет!

Страница с описанием характеристик ноутбука:
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.


             reply	other threads:[~2017-10-05 21:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-05 21:17 Konstantin Lepikhov [this message]
2017-10-09  8:11   ` Konstantin Lepikhov
2017-10-09  9:22     ` Michael Shigorin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171005211746.GA9060@lks.home \
    --to=lakostis@unsafe.ru \
    --cc=hardware@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux hardware support

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/hardware/0 hardware/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 hardware hardware/ http://lore.altlinux.org/hardware \
		hardware@altlinux.ru hardware@lists.altlinux.org hardware@lists.altlinux.ru hardware@lists.altlinux.com hardware@altlinux.org
	public-inbox-index hardware

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.hardware


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git