Talk:Dell XPS 13 (9310)

From ArchWiki
Jump to navigation Jump to search

Video drivers

Following what is mentioned in Intel graphics#Installation I initially refrained from installing the xf86-video-intel package. This resulted in some weird jittery behaviour in the rendering of text. For example, when attempting to type "wiki.archlinux.org" in a browser address field the text rendering would suddenly jump back by 1/2 strokes (I'm typing "ch", the "c" appears shortly but the screen immediately refreshes to only show "wiki.a") and refuse to update for maybe a second. It would then catch up if I kept typing. I was able to fix this by installing the Intel drivers instead of relying on the modesetting driver. Is anyone having similar issues and/or is it known that something like that happens with 11th Gen Intel CPUs?

Avernan (talk) 17:04, 30 December 2020 (UTC)

I'm getting some lagging all around gnome-shell. Mouse suddenly stops for a sec or two every now and then. Same when typing. Actually, the whole UI freezes not only input. Will try installing intel's driver as suggested and see what happens. Will reply back soon.

Migralito (talk) 18:34, 19 April 2021 (UTC)

This is a visual hitch caused by Panel Self Refresh.

Fix: uninstall xf86-video-intel, add "i915.enable_psr=0" to kernel parameters (using i915 kernel driver)

I have added this to the known issues section

Amazingefren (talk) 10:25, 7 May 2021 (UTC)

WiFi working or not?

Hi, after upgrade to system firmware 1.2.5 I apparently can use the system wifi adapter with stock kernel even though it was absent in `iwctl` on previous firmware versions. Can anyone else confirm if it's working on their end too?

I do have 32 GB version of 9310:

$ networkctl status wlan0
● 4: wlan0
     Link File: /usr/lib/systemd/network/80-iwd.link
  Network File: /etc/systemd/network/wireless.network
          Type: wlan
         State: routable (configured)
          Path: pci-0000:72:00.0
        Driver: ath11k_pci
        Vendor: Qualcomm

Wiktor (talk) 09:25, 28 January 2021 (UTC)


+1 for a kinda sorta working WiFi with a stock kernel, though that only happened for me with the release of the 5.10.9 kernel - the firmware upgrade didn't help. I was still getting slightly better stability with a patched kernel (I made the patch myself but used the arch kernel build to apply it), but some stuff is still fairly broken, like recovering from hibernate and the like. Sometimes I need to `rmmod` the `ath11k_pci` module, and it can take a couple of minutes, and then reload it. Sometimes attempting to do that dumps core.

So yes, we seem to be converging on a working laptop :)

J0ni (talk) 10:16, 26 January 2021 (UTC)


Thanks for the feedback J0ni! I don't use hibernation and haven't seen the issue so glad that you've commented.

I'm not so well-versed in Arch Wiki rules but maybe it'd be a good idea to update the 9310 page to note that WiFi is working with new firmware and recent kernel out of the box (with issues that you've mentioned)?

Wiktor (talk) 09:25, 28 January 2021 (UTC)


I'm not so well versed either, but I think an edit is in order most likely. I wouldn't say it's stable - as I've lived with stock kernels (and actually the `ath11k-qca6390-bringup` patch I made, I've found that both suspending and hibernating cause the network to die in a way that requires me to unload and reload the `ath11k_pci` kernel module, and usually restart the `NetworkManager` service. Something similar is likely required for people depending on `systemd-networkd` but I guess that's less common with laptop users.

I'll make an edit and see how people feel about it. Feel free to tweak it if my words don't generalize to your experience Wiktor.

J0ni (talk) 07:27, 29 January 2021 (UTC)


Great! Thanks J0ni! I've added a note about firmware as only starting from this combination of firmware + kernel version worked for me.

For the record I'm actually using `systemd-networkd` on a laptop (managing networks with `iwctl`). It's nice :)

Wiktor (talk) 08:06, 29 January 2021 (UTC)



Hello all - I still needed the kernel parameter memmap to get the card to work on a fresh install with 5.12 (after first updating firmware from dell), wondering if anyone can confirm? Also, adding the memmap=12M\$20M to /etc/default/grub is a bit tricky because the backslash is parsed by something before it ends up in the kernel options at runtime (grub-mkconfig maybe?). Fixed by using single-quotes like so: GRUB_CMDLINE_LINUX='memmap=12M\$20M'. Should this be included in the wiki as a tip?

AdlaiN (talk) 07:24, 8 May 2021 (UTC)


So, first time I tried a fresh Arch install with the stock kernel, WiFi didn't work, same with 5.12 from [testing]. Seems there's a bug with Arch's kernel https://bugs.archlinux.org/task/69223. Pop!_OS which comes with 5.11, WiFi and suspend work out of the box.

Maevius (talk) 10:37, 8 May 2021 (UTC)


Another update on the wifi: I've been having persistent problems with the firmware crashing randomly, (ath11k_pci ... firmware crashed: MHI_CB_SYS_ERROR) and what seems to have helped is to increase the reserved memory (I changed from 20M to 40M). Just in case this is helpful.

AdlaiN (talk) 03:28, 24 May 2021 (UTC)


Just kidding, increasing the reserved memory did not help. The firmware crashes some minutes after booting.

AdlaiN (talk) 03:44, 24 May 2021 (UTC)


Hi all, I have recently upgraded to kernel 5.13.0-rc3, and the wifi has been stable: no firmware crashes; suspend and resume work correclty without unloading/loading kernel module hooks with systemd; and no memmap=12M\$20M in kernel paramter.

I encourage everyone to try this out and remove all the previous hacks. If no issues found, we can move AX500 status to "working" when the 5.13 kernel releases. :)

Mark42 (talk) 06:07, 7 June 2021 (UTC)


Hi all, I got a XPS 9310 32Gb RAM with the QCA6390 (AX500) wireless adapter.

Wifi has been at worst not working, at best unstable with different kernels i've tested so far:

  • linux 5.12.12.arch1-1
  • linux-lts 5.10.46-1
  • linux custom 5.13.0-rc7 modprobing after restoring -
  • linux custom 5.13.0-rc3 <= most stable but still I suffer slow downs, plus i hook suspend/resume to manually rmmod and modprobe the ath11k_pci module.

GRUB_CMDLINE_LINUX='memmap=12M\$20M' is set into /etc/default/grub

Here is my current config.

$ networkctl status wlp114s0
 ● 2: wlp114s0
                    Link File: /usr/lib/systemd/network/99-default.link
                 Network File: n/a
                         Type: wlan
                        State: routable (unmanaged)
                         Path: pci-0000:72:00.0
                       Driver: ath11k_pci
                       Vendor: Qualcomm
                        Model: QCA6390 Wireless Network Adapter [AX500-DBS (2x2)]
                   HW Address: 9c:b6:d0:3f:50:f0 (Rivet Networks)
                          MTU: 1500 (min: 256, max: 2304)
                        QDisc: mq
 IPv6 Address Generation Mode: none
            WiFi access point: TP-Link_AP_6D00 (1c:24:cd:3f:7e:e9)
         Queue Length (Tx/Rx): 4/1
                      Address: 192.168.1.118
                               2a02:120b:7f4:1d20:9235:8303:9afb:11f8
                               fe80::7ed4:83d7:6c60:d861
                      Gateway: 192.168.1.1 (Askey Computer Corp.)
                               fe80::1e24:cdff:fe3f:7ee0 (Askey Computer Corp.)
            Activation Policy: up
$ yay -Qs linux-firmware
 local/linux-firmware 20210511.7685cf4-1
$ uname -a
Linux sifumobile 5.13.0-rc3 #1 SMP PREEMPT Fri Jun 25 08:21:10 CEST 2021 x86_64 GNU/Linux

FdLSifu (talk) 14:22, 25 June 2021 (UTC)

Hmm, FdLSifu can you expand on the issues you're running into? Looks like I've got the same computer as you and haven't had any issues with Wifi (I still haven't figured out Bluetooth) once I set up the recommended sleep hooks. I'm on 5.13.5-arch1-1.

Ocelotsloth (talk) 03:35, 30 July 2021 (UTC)

I've tested Ubuntu 20.04 with oem firmware. I had some hanging issues when I woke up from suspend but everything else worked well. I reinstall archlinux because this is my target! On 5.13.5-arch1-1, Wifi works very well indeed. What is the sleep trick ? On some boots, bluetooth may or may not work. To make it work I have to completly turn off the laptop (reboot won't make it work). This is based on my experience ...

FdLSifu (talk) 13:48, 31 July 2021 (UTC)

Why are we saying "Since Kernel version 5.14 (apart from broken wifi in 5.14.5 and 5.14.6, regression bug) wifi works fine, no issues with 5GHz and WPA3. No additional systemd kernel module removal scripts are required anymore, the Kernel suspends and resumes correctly." and stating that AX500 is stable? I'm on 5.14.9 and the card is broken when resuming from hibernation (which is the only viable sleep option for this laptop).

GrzegorzKozub (talk) 15:08, 7 October 2021 (UTC)

I'm not having much luck with the sleep hooks. When I hibernate and restore, the wifi adapter isn't available. I've tried:

  • manually removing the module before hibernating and manually modprobing it after resuming - this works
  • using both hooks - doesn't work
  • using just the suspend hook, and manually modprobing after resuming - doesn't work
  • manually removing the module, and having the resume hook modprobing after resume - does work

Has anyone else seen this or do these hooks work for everyone else?

using the stock kernel and up to date bios.

Gsej (talk) 15:05, 19 October 2021 (UTC)

I just set up hibernation to test this (I've been using suspend with little issue....battery life isn't even an issue and I don't even need suspend/resume hooks for wireless) and can confirm the issue described by Gsej. I set up the following hooks:

[Unit]
Description=Suspend: rmmod ath11k_pci
Before=sleep.target
Before=hibernate.target

[Service]
Type=simple
ExecStart=/usr/bin/rmmod ath11k_pci

[Install]
WantedBy=sleep.target
WantedBy=hibernate.target

and

[Unit]
Description=Resume: modprobe ath11k_pci
After=suspend.target
After=hibernate.target

[Service]
Type=simple
ExecStart=/usr/bin/modprobe ath11k_pci

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target

I can verify that, after enabling the units, these are run before and after hibernation. Wireless still does not work. Additionally, once the wireless is broken in this way I can no longer resume from suspend (suspend, not hibernation). When I suspend and resume in this impaired state the laptop will show no signs of life other than the caps lock key flashing on and off a couple times a second.

I'm on 5.14.14-arch1-1 and system firmware version 3.0.4. If it matters I'm using full disk encryption (lvm) with encrypted boot partition and swap.

For now I'm just going to go back to using suspend and disable hibernation. I don't have any battery life issues on suspend. I just opened my laptop after two weeks of being suspended and still have 30 percent battery life. I guess I'm not sure if that's *good*, but it's definitely good enough.

Ocelotsloth (talk) 02:09, 30 October 2021 (UTC)

Bluetooth

It's listed as working with no comments, but is it? It can't scan for other devices, nor is it visible to them, and I think it breaks suspend too but I haven't given it enough troubleshooting yet.

`dmesg` (several screens' worth of this):

[   96.649876] Bluetooth: hci0: Frame reassembly failed (-84)
[   96.665987] Bluetooth: hci0: Frame reassembly failed (-84)
[   96.665997] Bluetooth: hci0: Frame reassembly failed (-84)
[   96.681939] Bluetooth: hci0: Frame reassembly failed (-84)
[   96.681949] Bluetooth: hci0: Frame reassembly failed (-84)
[   96.697965] Bluetooth: hci0: Frame reassembly failed (-84)

`bluetoothctl`:

[bluetooth]# power off
Changing power off succeeded
[bluetooth]# power on
Failed to set power on: org.bluez.Error.Failed
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# scan on
Failed to start discovery: org.bluez.Error.NotReady

Restarting `bluetooth.service` doesn't seem to fix things. `rfkill` shows it as being unblocked. Tested on 5.11 from repos and 5.12-rc1 built from git.

Zorael (talk) 17:08, 5 March 2021 (UTC)

I'm not seeing this in Fedora Rawhide (5.12.0). I have two Bluetooth devices that I switch between two computers so I have devices coming and going with no problems.

It may be that suspend/resume could cause problems, my 9310 is connected to wall power almost all the time.

Pfps (talk) 17:50, 5 March 2021 (UTC)


I updated to 5.12-rc.2+ and had one boot where bluetooth was working, but after a reboot it no longer does and I cannot get it to return no matter what I try.

Suspend works with this script, saved as `/usr/lib/systemd/system-sleep/bluetooth-fix`:

#!/bin/sh

DEV="serial0-0"
SYS_NODE=/sys/module/hci_uart/drivers/serial:hci_uart_qca

case $1 in
    pre)
        echo "$DEV" > ${SYS_NODE}/unbind
        ;;
    post)
        echo "$DEV" > ${SYS_NODE}/bind
        ;;
esac

`dmesg` when it reenables:

[  166.693182] hci_uart_qca serial0-0: failed to acquire enable gpio
[  166.693697] Bluetooth: hci0: setting up ROME/QCA6390
[  169.047046] Bluetooth: hci0: command 0xfc00 tx timeout
[  177.153735] Bluetooth: hci0: Reading QCA version information failed (-110)
[  177.153744] Bluetooth: hci0: Retry BT power ON:0
[  179.500388] Bluetooth: hci0: command 0xfc00 tx timeout
[  187.610267] Bluetooth: hci0: Reading QCA version information failed (-110)
[  187.610278] Bluetooth: hci0: Retry BT power ON:1
[  190.170241] Bluetooth: hci0: command 0xfc00 tx timeout
[  198.060358] Bluetooth: hci0: Reading QCA version information failed (-110)
[  198.060369] Bluetooth: hci0: Retry BT power ON:2
[  200.410234] Bluetooth: hci0: command 0xfc00 tx timeout
[  208.513600] Bluetooth: hci0: Reading QCA version information failed (-110)

Zorael (talk) 10:43, 8 March 2021 (UTC)

Touchscreen

Confirm as not working? It's a USB device on the 9360 but Windows device manager suggests it's i2c on the 9310. Does not show up in `xinput list` regardless.

Zorael (talk) 16:14, 14 March 2021 (UTC)

It stops working since Linux 5.12, previous kernels work fine to me. Which kernel are you using?
Mark42 (talk) 05:54, 15 March 2021 (UTC)
That is... unfortunate. Yes, I'm on 5.12-rc.3, to have wifi working.
Zorael (talk) 15:24, 17 March 2021 (UTC)
This is due to a config option changed in 5.12. The config file from linux-mainline AUR is outdated, adding CONFIG_I2C_HID_ACPI=m should bring back the touch screen driver.
Mark42 (talk) 18:38, 20 April 2021 (UTC)
No problems for me on a fresh install with 5.12.9
AdlaiN (talk) 23:42, 13 June 2021 (UTC)

Power Management

Unclear if we have support for suspend-to-RAM, can someone confirm? By default systemd suspend state is s2idle (a screen blank, as far as I can tell). The kernel interface does not appear to support anything but s2idle ("shallow" or "deep" suspend).

% cat /sys/power/mem_sleep 
[s2idle]

There is a BIOS option to block S3 suspend, but it is toggled off by default. Would appreciate if anyone can talk a little about their suspend/hibernate experience with the 9310 - it seems this is a common issue for new laptops there's a long discussion here for a different laptop: https://bbs.archlinux.org/viewtopic.php?id=256365

AdlaiN (talk) 20:14, 5 June 2021 (UTC)

It seems like we do not have support for suspend-to-RAM. I'm having trouble finding a primary source, but if this AskUbuntu source (https://askubuntu.com/a/1290964) is to be believed:

  • s2idle is all that's supported in Linux.
  • Initially there was a power fix in the Ubuntu OEM kernel that was contributed upstream in 5.10.

From my personal experience I haven't had any trouble with s2idle, I'm currently on 5.12.15-arch1-1. I'll see if I can get proper measurements of the power drain in s2idle.

Ocelotsloth (talk) 05:38, 17 July 2021 (UTC)