Dell Latitude 3500

Hardware
PCI/USB ID
Working?
Touchpad
Yes
Keyboard
Yes
GPU
8086:3ea0
Yes
Webcam
1bcf:2b98
Yes
Ethernet
10ec:8168
Yes
Bluetooth
8087:0aaa
Yes
SD-card reader
8086:9dc4
Yes
Audio
8086:9dc8
Yes
Wi-Fi
8086:9df0
Yes
Fingerprint reader
27c6:530c
Yes
TPM
Untested
Installation
RAID mode is enabled by default. AHCI mode
must
be used, otherwise the disks will be invisible
[1]
. Using RAID mode will trigger a relevant log message in the
journal
.
Accessibility
The appearance of the BIOS is pretty simple and not very colorful, so it might work well with OCR software. However, it requires the user to use a mouse.
Note
Blind users should request the help of a sighted person to change BIOS settings
This device has a diagnostic LED which may visualize beep codes in some cases. See the "Diagnostic LED" section in
the service manual
for more details.
The service manual also contains shortcuts which are needed to trigger certain features, such as the boot menu and settings (
F12
).
Firmware
Note
This device does not have a BIOS speaker and uses the built-in speakers instead. Beeps can be louder than expected.
fwupd
does not support this device yet.
Secure Boot
The BIOS accepts
.auth
files and supports custom keys well.
Firmware data path
The BIOS stores logs and recovery images in
esp/EFI/dell
.
Recovery images are stored in
esp/EFI/dell/bios/recovery
and are 14 MB in size. It appears that there will only be two images at the same time,
BIOS_CUR.rcv
and
BIOS_PRE.rcv
.
Those files will be created when the BIOS was updated.
Logs
esp/EFI/dell/logs
contains XML files which contain diagnostics data (SupportAssist).
It appears that there will only be two logs at the same time,
diags_previous.xml
and
diags_current.xml
.
Those files will be created when an error happened.
Example log (
diags_previous.xml
):
diags_previous.xml
<?xml version="1.0" encoding="UTF-8"?>
  <SupportAssistPrebootDiagnosticLog>
    <Schema>1.0.0</Schema>
    <LogNumber>2</LogNumber>
    <LogTimeStamp>02/05/2020 00:06:43</LogTimeStamp>
    <ePSA_Data>
      <Result>Not Reported</Result>
      <ReturnCode>BOOT_F2</ReturnCode>
      <ePSAFullVersion>2.55</ePSAFullVersion>
      <ePSAInvocationCount>2</ePSAInvocationCount>
    </ePSA_Data>
    <BIOS_Data>
      <ErrorCategory>DISPLAY_ONLY</ErrorCategory>
      <ErrorMessage><![CDATA[Time-of-day not set - please run SETUP program.
]]></ErrorMessage>
      <SOS_Available>FALSE</SOS_Available>
      <TimeOutSeconds>0</TimeOutSeconds>
    </BIOS_Data>
  </SupportAssistPrebootDiagnosticLog>
Another example log (
diags_current.xml
):
diags_current.xml
<?xml version="1.0" encoding="UTF-8"?>
  <SupportAssistPrebootDiagnosticLog>
    <Schema>1.0.0</Schema>
    <LogNumber>1</LogNumber>
    <LogTimeStamp>04/17/2020 09:41:58</LogTimeStamp>
    <ePSA_Data>
      <Result>Abort</Result>
      <ReturnCode>BOOT_HOST_OS</ReturnCode>
      <DevicesTested>Memory, Hard Drive</DevicesTested>
      <ePSAFullVersion>2.51</ePSAFullVersion>
      <ePSAInvocationCount>1</ePSAInvocationCount>
    </ePSA_Data>
    <BIOS_Data>
      <ErrorCategory>NO_BOOT</ErrorCategory>
      <ErrorMessage><![CDATA[No bootable devices found.
]]></ErrorMessage>
      <Flags>BIOSCONNECT_ENABLED</Flags>
      <SOS_Available>FALSE</SOS_Available>
      <TimeOutSeconds>0</TimeOutSeconds>
    </BIOS_Data>
  </SupportAssistPrebootDiagnosticLog>
Fingerprint reader
Install
libfprint-2-tod1-xps9300-bin
AUR
.
The fingerprint reader requires a proprietary driver.
[2]
Bluetooth
Bluetooth works out of the box. Append
--plugin=*
to
bluetoothd
's arguments to fix some problems with headset buttons.
/etc/systemd/system/bluetooth.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/lib/bluetooth/bluetoothd --plugin=*
After suspending, especially when using
#Unmarked keybinds
, Bluetooth may stop working.
Restart
bluetooth.service
to fix it.
Power management
After waking up the device from suspend, input lag will occur for approximately 5-10 seconds. Sometimes it will even repeat a key press for up to 32 times but only within this timespan. There is no known fix for this.
Power buttons
This article or section is a candidate for merging with
Help:Laptop page guidelines#Capturing function keys
.
Notes:
This section and the next one duplicate the explanation of how to capture keys. They seem to have been copied and pasted blindly on many other laptop pages since this one is cited as a reference in
Help:Laptop page guidelines
. (Discuss in
Talk:Dell Latitude 3500
)
This device has two detected power buttons and one sleep button.
$ loginctl seat-status
├─/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
│ input:input3 "Power Button"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input6
│ input:input6 "Video Bus"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
│ input:input1 "Power Button"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
│ input:input0 "Lid Switch"
├─/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
│ input:input2 "Sleep Button"
[...]
In this case,
LNXPWRBN:00
(
/dev/input/event3
) is the "real", physical power button. You can verify this by inhibiting the handling of the power button
# systemd-inhibit --what=handle-power-key sleep 1h
and recording the events:
# stdbuf -o0 evemu-record /dev/input/event3 > event3
Pressing the power button should log an event.
The other detected power button seems to be a virtual, firmware-handled button. This power button will be triggered when your device runs out of battery.
The firmware will send many power button presses, so your machine will most likely only take a few seconds to power off because systemd kills the process/unit it is waiting for when the power button is pressed.
See
logind.conf(5)
for more information on handling specific keys.
Sleep button
There is also a sleep button/suspend key. It is a virtual, firmware-handled key and will be triggered when using one of the
#Unmarked keybinds
, which would suspend your device.
Use this to inhibit the handling of the suspend key.
# systemd-inhibit --what=handle-suspend-key sleep 1h
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+Esc
No
Yes
Enables Fn lock
Fn+F1
Yes
Yes
XF86AudioMute
Fn+F2
Yes
Yes
XF86AudioLowerVolume
Fn+F3
Yes
Yes
XF86AudioRaiseVolume
Fn+F4
Yes
Yes
XF86AudioPrev
Fn+F5
Yes
Yes
XF86AudioPlay
Fn+F6
Yes
Yes
XF86AudioNext
Fn+F7
No
No
See
#Unmarked keybinds
Fn+F8
Yes
Yes
Inputs
Super+p
Fn+F9
Yes
Yes
XF86Search
Fn+F10
No
Yes
Enables/disables keyboard backlight
Fn+F11
Yes
Yes
XF86MonBrightnessDown
Fn+F12
Yes
Yes
XF86MonBrightnessUp
Fn+Print
Yes
3
Yes
XF86RFKill
, will hard-block Wi-Fi and soft-block Bluetooth. Press again to disable
Fn+Ins
Yes
3
No
XF86Sleep
, see
#Unmarked keybinds
Fn+NumPad0
Yes
3
No
XF86Sleep
, see
#Unmarked keybinds
Fn+q
,
Fn+w
,
Fn+e
Yes
No
XF86Launch3
Fn+t
,
Fn+a
,
Fn+d
Yes
No
XF86Launch3
Fn+f
,
Fn+g
Yes
No
XF86Launch3
Fn+r
Yes
No
Print
Fn+s
Yes
No
Scroll_Lock
Fn+b
Yes
No
Pause
Fn+Up
Yes
No
Prior
Fn+Down
Yes
No
Next
Fn+Left
Yes
No
Home
Fn+Right
Yes
No
End
Fn+KP_Multiply
Yes
3
No
XF86RFKill
The key is visible to
xev
and similar tools
The physical key has a symbol on it, which describes its function
systemd-logind handles this by default
Unmarked keybinds
There are several keybinds handled by the BIOS:
Key
Effect
Fn+F7
Unobtrusive mode. Has to be enabled in the BIOS in order to work. Deactivates
all
LEDs and turns off display and sound. Press again to disable.
Fn+Ins
Suspends device. See
#Sleep button
.
Can not be disabled/configured
Fn+NumPad0
Same as
Fn+Ins
[3]
. May be an unintended feature
See also
Setup and specifications guide:
https://dl.dell.com/topicspdf/latitude-15-3500-laptop_owners-manual2_en-us.pdf
Official service manual:
https://dl.dell.com/topicspdf/latitude-15-3500-laptop_owners-manual3_en-us.pdf
https://certification.ubuntu.com/hardware/201812-26716