I found the solution.
I tried fstrim
with explicit statements of the partitions as a weekly cronjob shortly after I posted the answer but didn't know whether it was safe. Furthermore, I didn't know whether someone would have a better answer. Therefore, I didn't post it as an answer myself.
I just looked at the contents of the folder /etc/cron.weekly
where I placed a file containing the command because I wanted to execute it manually after filling my entire disk with data today and having deleted a lot of it a few minutes ago. I didn't remember the command, so I just went where I put it. However, after executing ll
I found 2 files with names leading me to believe that it was my script.
The other file wasn't put there by me so it's almost certainly delivered with Ubuntu. It's called fstrim
and these are its contents:
#!/bin/sh
# trim all mounted file systems which support it
/sbin/fstrim --all || true
After deleting my own script, I executed the script which came with Ubuntu because its clearly better. It felt like it took about a minute to execute which is what I'd expect from it trimming 36 GB. When I executed it a second time, it returned immediately, indicating that it did actually trim the first time.
I already sha256summed all the files in my home folder before trimming the first time, sha256summed all of them after the first trim, and found no unexpected changes (well, obviously, the contents of ~/.cache
and ~/.mozilla
changed as I used Firefox in the meantime) when comparing the files containing the sha256sums via Meld. I therefore concluded that it's probably safe.
The reason for this is multi-layered. fwupdmgr
is a tool for retrieving firmware and processing it from the Linux Vendor Firmware Service (LVFS). The LVFS provides metadata and distribution of CAB archives packaged in the Microsoft Update format and signed by the LVFS project. These updates are managed by the individual vendors.
While Jabra made the official statement:
All SPEAK hardware is supported, more models to follow
There have not been subsequent updates past version 1.8 (for the Speak 410) published by Jabra through LVFS.
Because you have access to the actual DFU file as provided by Jabra, it can be manually processed using the utility dfu-tool
also packaged as a part of the package fwupd
(the parent package of fwupdmgr
).
It should be stressed that as signing is a function of the packaging of DFU files, it is up to the end user to ensure that the file is retrieved in a secure manner. This is why the LVFS provides signing and assertion of the archives shipped. Ensure that any files are downloaded using transport security or have detached signatures which can be used to assert ownership.
If you feel that the DFU file is genuine use the following process:
First, verify that there is a valid DFU capable device attached:
$ dfu-tool list
Found 0b0e:0412 [v1.9]:
Name: Jabra SPEAK 410 USB
Serial: 745C4B561A3XXXXXXXX
Mode: Runtime
Status: OK
State: appIDLE
Transfer Size: 64 bytes
Attributes: can-download|can-upload
Quirks: no-dfu-runtime
Once you have verified that there is DFU capable device attached call dfu-tool
with the path to the DFU file:
$ dfu-tool write ~/Downloads/Jabra_SPEAK_410_USB-1-12-0.dfu
(dfu-tool:7597): FuPluginDfu-WARNING **: 12:22:53.882: truncated DFU interface data, no bcdDFUVersion
(dfu-tool:7597): FuPluginDfu-WARNING **: 12:23:05.310: truncated DFU interface data, no bcdDFUVersion
Writing… [*************************************************]
Waiting… [*************************************************]
Restarting device…[*************************************************]
(dfu-tool:7597): FuPluginDfu-WARNING **: 12:30:04.795: truncated DFU interface data, no bcdDFUVersion
879644 bytes successfully downloaded to device
You can then use fwupdmgr
or dfu-tool
as convenience utilities to verify that the desired firmware version is running:
dfu-tool
:
$ dfu-tool list
Found 0b0e:0412 [v1.12]:
Name: Jabra SPEAK 410 USB
Serial: 745C4B561A3Dx010900
Mode: Runtime
Status: OK
State: appIDLE
Transfer Size: 64 bytes
Attributes: can-download|can-upload
Quirks: no-dfu-runtime
fwupdmgr
:
$ fwupdmgr get-devices
Jabra SPEAK 410 USB
DeviceId: 87caecc4e6db7e3c335deedfef38666e7f279a03
Guid: 537f7800-8529-5656-b2fa-b0901fe91696
Guid: f884081f-f58f-5d01-86e8-dc12c88ef073
Guid: 1764c519-4723-5514-baf9-3b42970de487
Plugin: dfu
Flags: updatable|registered
VendorId: USB:0x0B0E
Version: 1.12
Icon: drive-harddisk-usb
Created: 2018-09-12
Best Answer
Samsung is really, really weird and it took me many hours to figure this one out because it's absolutely counterintuitive.
It turned out that I was right with my skepticism of an image provided by Samsung probably actually being suitable to boot from it. Putting the image they offer you on a thumb drive doesn't work. It's not that it's super fast and you don't notice the update happening like I first thought, it's just that that image isn't bootable which means that nothing happens.
You have to mount that image, find a different image in it, and put that image onto your thumb drive. Because reasons, I guess.
Step-by-Step Guide
# hdparm -I /dev/sda
. In my case it wasFirmware Revision: DXM05B0Q
.isolinux/btdsk.img
to a different location. I'll assume/tmp/btdsk.img
for it. This step is actually necessary because root can't read that file but your normal user account can.sudo dd if=/tmp/btdsk.img of=/dev/sdb
where/dev/sdb
is your thumb drive. Go check whether it's/dev/sdb
and make sure it's not mounted before you run the command! You will obviously lose the data stored on your thumb drive with this.# hdparm -I /dev/sda
, again, to verify the firmware has been updated. At the time of this writing, it saysFirmware Revision: DXM06B0Q
.Newer Firmware Versions
ens mentioned in the comments that newer firmware images can directly be copied to the thumb drive via
dd
without prior extraction from a different image. I have not tested this.