I bought this laptop to replace my nearly 10-year-old personal machine that finally died due to a failing display. It was already three years old when I bought it, but it had everything I wanted at a price I couldn't refuse. (Black Friday.)
I guess this is as good a place as any for a side note: I bought this laptop from dellrefurbished.com. Note that I don't recommend buying from them due to the exceedingly poor quality of support that I received. They have permission to use the Dell logo and branding for their business but they are NOT Dell and you do NOT get the standard Dell support or warranty. If something is wrong with the laptop, they will NOT offer to repair it. Instead, they will only offer you a very low token partial refund. I would say if you are going to buy from them, these are the things to keep in mind:
- Their normal warranty is essentially worthless, so do not buy their extended warranty either.
- Even if the laptop is listed as being in "A" condition, that only applies to the cosmetics, not the functionality.
- Be able and willing to repair and replace things, like the webcam, battery, or hard drive.
- CPU: Intel Core i7-10750H
- "Comet Lake" (10th gen)
- 6 cores, 12 threads
- benchmark: https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-10750H+%40+2.60GHz&id=3657
- RAM: 32 GB (2x 16 GB)
- DDR4, 3200 MHz
- Model: HMA82GS6DJR8N-XN (Non-ECC)
- Total slots: 4 (!)
- Supports ECC RAM (!)
- Supports up to 128GB, but only at 2933 Mhz
- Storage:
- 512 GB SK Hynix NVMe (Model PC611, maybe)
smartctl
on the disk a few days after purchase showed:- 1% "used"
- 22.8 TB written
- 100% available spare
- no errors or warnings
- 2280 form factor, most likely
- There are at least 2, but perhaps 3 SSD slots
- 512 GB SK Hynix NVMe (Model PC611, maybe)
- Video:
- Intel UHD Graphics 630
- Display:
- 1920x1080, capacitive touch
- Wifi:
- Intel AX201NGW
- Webcam: Part # CN-00XMGG-8LG00-084
- Battery: DELL 447VR09
I have only run Debian 12 on this so far, and it has always run pretty well. I have been able to keep all of the firmware up to date with the firmware update manager.
I am experimenting with the kernel from backports (6.11 currently) to see if that fixes any of the thunderbolt dock or randomly waking up issues.
I am using it with a Dell WD19TB dock. It mostly works okay, but the dock does some dumb thing or another at least once a day. (Keyboard/mouse not recognized, external display goes black, etc.) Usually this weirdness is observed in relation to the laptop going to sleep or waking up. Either while connected to or disconnected from the dock.
I miss having a true hardware dock like the Dell e-Port Plus. My Apple Macbook Pro (for work) is connected to the same dock and does not do any of this.
Update: Since enabling the S3 sleep state (instead of S2), there has been far less weirdness (or rather, none really) with the dock and peripherals disappearing after waking up. See below.
<F2>
to enter setup<F12>
to enter one-time boot menu
This is Dell's CLI for setting system BIOS stuff. Officially, they only support a subset of Linux distributions which does not include Debian 12. And they of course do not Linux in newer versions. Anyway, links:
- KB for releases and links to download
- v4.11 usage docs
- v4.1 reference guide
- For whatever reason, the other doc above doesn't describe any of the settings, this one does.
The download tarball has two .deb
packages, I assume we are to install them both:
sudo apt install ./srvadmin-hapi_9.5.0_amd64.deb
sudo apt install ./command-configure_4.11.0-6.ubuntu22_amd64.deb
These packages place files (mainly) in /opt/dell
but also scatter a few other files and symlinks around the filesystem. The srvadmin-hapi
package also installs a new systemd service called instsvcdrv
runs /usr/libexec/instsvcdrv-helper
which is a big 'ol shell script that I haven't taken the time to read thoroughly enough to tell exactly what it's doing. I'm guessing from the feel of it that this is written in .NET.
This is how you run the command:
sudo /opt/dell/dcc/cctk --help
Export the current configuration (or provide /dev/stdout
to print it):
sudo /opt/dell/dcc/cctk -o foo.ini
These seem to be the battery-related settings:
[hoban:~]$ /opt/dell/dcc/cctk -o /dev/stdout | grep -i batt
AdvBatteryChargeCfg=Disabled
KbdBacklightTimeoutBatt=10s
PeakShiftBatteryThreshold=15
PrimaryBattChargeCfg=PrimAcUse
What they do:
AdvBatteryChargeCfg
: I think this lets you set a schedule for fast charging. Inside these hours, it does express charging and outside, a standard charging rate.KbdBacklightTimeoutBatt
: How long to keep the keyboard backlight on when system is on battery. There are several pre-selected intervals, butNever
is also an option.PeakShift
: Lets you run the system on battery even when plugged in, on a certain schedule. DocsPeakShiftBatteryThreshold
: WhenPeakShift
is enabled, the battery percentage at which the system goes back to AC power, even when still in on the PeakShift schedule.PrimaryBattChargeCfg
: Battery charging regime. Docs. You can set custom thresholds to preserve battery life, and there are four presets:- Standard - Fully charges the battery at a moderate rate. This setting provides a balanced approach to extending battery life while still providing a reasonably fast charging time. Recommended for users who frequently switch between battery and external power sources.
- ExpressCharge™ - Quickly charges the battery using Dell fast-charge technology. Recommended for users who need the battery to charge quickly. If the computer is powered off, then the battery typically charges to 80 percent within one hour and 100 percent in two hours. Charge time may be longer if the computer is turned on.
- Primarily AC Use - Extends battery life by lowering the charge threshold so that the battery never charges to 100 percent capacity. Recommended for users who primarily operate the computer while plugged into an external power source.
- Adaptive - Automatically optimizes battery settings based on the user's typical patterns. Recommended for users who want to "set it and forget it."
I suspect the best pre-set for my situation is either "Primarily AC Use" or "Adaptive." However, I think I've been using the former the whole time and it always charges to 100%. So I'm not sure what's going on there. From what I am finding on forums and such, this is indeed the behavior and there is likely no advantage to using "Primarily AC Use":
- According to this thread, not even Dell understands exactly how "Primarily AC Use" even works. I am honestly starting to believe it is identical to "Standard."
- Another thread
- Another one
- Another one
At the moment, one hypothesis is that "Primarily AC Mode" might only charge the battery at a slower rate than Standard. But I'm not sure if that makes any sense. Something to try perhaps.
Anyway, to try out a custom setting:
sudo /opt/dell/dcc/cctk --PrimaryBattChargeCfg=Custom:60-85
I also found this third-party Dell Battery Manager utility which is just a fancy UI around cctk
.
When I bought the laptop, the webcam was not recognized by Linux. I spent a lot of time trying to figure out whether the problem was with the camera itself (as in, completely dead) or if Linux just didn't know how to talk to it. For extra fun, there is a ridiculous amount of misinformation about Linux and webcams on the Internet. I ran across one guy who stubbornly insisted that the camera on my laptop was on a special bus that Linux couldn't access. (Which was of course not true.)
After a bunch of false leads and dead ends, and people who didn't know what they were talking about, I broke down and bought a used camera that looked similar to mine. Installed it and it worked perfectly.
The broken camera had a part number of CN-00XMGG-8LG00-084-C1R0-A02 on the circuit board. I was unable to find an exact replacemnt but going by the form factor and number of holes, all of the ones with 00XMGG
in the part number look to be the same or at least interchangeable.
The part number of the new camera is CN-00XMGG-8LG00-045-A1KM-A02. It showed up immediately in the diagnostics and in Linux. Works fine, but image quality is pretty crap.
Every few weeks, the laptop wakes up from a sleep while the lid is closed and just runs and runs until the battery dies. And there's no way to tell when this is happening because the designers stupidly forgot to include a power LED anywhere on the outside of the laptop.
There are three things that could mitigate this:
- Add an LED somewhere. I'd have to find a solder pad or trace somewhere on the motherboard that has a constant voltage when the laptop is awake, not just asleep. And drill a hole through the case. Ideally visible with the screen open or closed.
- Configure the laptop to hibernate when battery reaches a set percentage, say 5%. This is likely a matter of configuring my Debian properly. May have to reinstall because I think this requires a dedicated swap partition. Will need to do research.
- I never use the laptop with the lid closed, so I could write a daemon or cron job that makes a beep or sound or something if the laptop is running with the lid closed. Extra credit: send a notification to my phone. Extra Extra credit: ability to trigger sleep or hibernate from phone.
Update: This might be fixed by enabling the S3 sleep state. See below.
KDE reports the battery model as 447VR09
. Honestly don't know there these comes from but there seem to be two batteries compatible with this computer, both 11.4V:
- C903V (what I have): 68Wh
- PKWVM: 95Wh
The same batteries are used in these Precisions:
- 7550
- 7560
- 7750
- 7760
Options for 95Wh battery:
- PartsPeople Genuine OEM: $130
- Official Dell: $120
- NewEgg Genuine OEM: $115
- iFixit: Aftermarket $100
- 1-year guarantee
- Made by bti
- Provantge: BTI aftermarket: $100
- 18 month warranty
- US customer support
- Random Amazon: Aftermarket $80
I ended up buying the BTI battery from Provantage. BTI appears to be a US company that sources their aftermarket battery (and related) gear from China. The BTI battery looks and feels much more cheaply made than the Dell battery. To the point that I was almost tempted to open both up and transplant the cells. I haven't put it through any serious testing yet but it seems to be performing much better than the ailing Dell battery.
The ACPI specification describes four sleep states. However, far and away the most common (and well supported) is S3 where everything in the system is powered down except for the RAM. When the machine comes back online, all peripherals and CPUs are reloaded with their previous context and the system keeps doing whatever it was doing before being shut down. Power usage in this scenario is very low. With all of the laptops that I have had, I could expect the machine to sleep in this mode for around a week (give a take a couple days) before the battery was fully drained.
The new kid on the block is S0ix (sometimes euphemised "modern standby") and the intention was to allow computers to act similarly to smartphones in terms of power usage. Meaning when not doing anything computationally expensive (e.g. reading an email), the hardware could still be online but enter a lower-power state which is fast to wake up from. A common example is maybe turning off a few CPU cores that aren't needed. And if the user is not using the device at all, the system could enter an even deeper sleep--similar to S3--but with much lower wake-up latency. Additionally, in these states, the system can wake itself up to perform background tasks like fetching updates or updating email.
Even if we ignore the general sketchiness of not being in full control of whether your computer is really asleep, in practice, these new S0ix sleep states don't seem to work very well. Even on Windows, there were wide reports of thermal damage occuring because owners would put their laptops to sleep and stuff them in their backpack. The laptops would wake up at some point, try to run some updates, get stuck, stay awake, and eventually drain the battery while cooking themselves to death in the bag.
Some laptops manufacturers have gone as far as totally removing the old (reliable, predictable) S3 sleep state with S0ix. Thankfully, the Prevision 7550 is not one of them, it has both sleep states available:
$ cat /sys/power/mem_sleep
[s2idle] deep
These appear to be the "Linux names" for the two types of sleep states (the one in square brackets is the one which is currently active):
s2idle
: S0ix (a.k.a. "Modern Standby")deep
: S3
Note that s2idle
is short for "suspend to idle" and has nothing to do with the ACPI S2 sleep state.
We know that S3 behaves a lot better than S0ix, or at least is simpler and contains vastly fewer corner cases and bugs. Since making this change a few weeks ago, I have notice far fewer issues with the laptop overall. Things that (so far) seem to be fixed.
- Laptop does not wake up randomly (and stay awake) on its own anymore.
- Internal peripherals (mostly wifi card) do not disappear on wake.
- Thunderbolt dock issues basically entirely gone. (Keyboard and mouse would randomly not be attached to the system on wake.)
Other than that, I don't notice any practical difference between s2idle
and deep
except that in s2idle
, I could wake the laptop up with any key on the keyboard. In deep
, I have to press the power button. Which I think I prefer.
There are a few different ways to do this.
Set /sys/power/mem_sleep
You can just echo deep > /sys/power/mem_sleep
any time after boot with any method you choose.
Set kernel command line arg mem_sleep_default
- Edit
/etc/default/grub
- Edit the line for
GRUB_CMDLINE_LINUX_DEFAULT
and addmem_sleep_default=deep
- Run
update-grub
- Reboot
Configure sleep.conf
in systemd
Systemd is ultimately what triggers all the sleep-related things and naturally has a configuration file for it. I am not sure which version of systemd you need for this to work, but according to the Arch wiki:
- Edit
/etc/systemd/sleep.conf.d/mem-deep.conf
- Add the following:
[Sleep] MemorySleepMode=deep