Hi all,
I have a Lenovo Thinkpad 13 running Ubuntu Server 20.04 (focal fossa).
I have configured it to have FDE (only /boot is unencrypted) via LVM + LUKS.
I have now followed these steps in order to put dropbear in the initramfs so that I can remotely unlock it over SSH - using the instructions here.
The device doesn't have an RJ45 port - only a wireless AC card and something that registers as an ethernet port on PCI, which I think is something on the motherboard that can serve as an Ethernet device if I connected a proprietary dongle to the device's proprietary "Onelink+" port. Lspci as follows:
Code:
lspci | grep -i net
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection I219-V (rev 21)
03:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3165 Plus Bluetooth (rev 99)
I also connect a Dell USB-C -to- RJ45 adapter: https://www.dell.com/en-uk/shop/dell-network-adapter/apd/470-abbt/networking
To save the USB-C port and use the (probably more robust) USB-A port, I use the USB-C to USB-A adapter (supplied with the Dell adapter) to actually connect this dongle to the laptop.
Both the Wifi card and USB-C-RJ45 adapter work fine (obviously, this being the Server edition of ubuntu, I had to install wpa-supplicant for wifi to work).
Since the USB works, I've turned off the Wifi by not provisioning it in Netplan configs. My device connects to the Internet fine over USB-C
PROBLEM: Unfortunately, neither Wifi nor the USB-C adapter seem to work before I unlock the encrypted parts of my hard drive during boot. This means my device can't get an IP via DHCP when dropbear is loading, because it's only trying the weird onboard ethernet adapter - which I don't have a connector for. This means I can't remote into the box in order to unlock it on boot/reboot.
From the dm-crypt password prompt, if I enter the wrong password repeatedly, I drop to an initramfs/busybox prompt. Running "ip addr list" while in busybox returns just the loopback and internal ethernet device - the machine just appears to be unaware at that point of my Wifi card or the USB ethernet adapter.
Once I enter the cryptsetup command dm-crypt password, as prompted, the device proceeds to boot; and the Wifi and USB-C ethernet become usable as you'd expect (and now show up in ip addr list).
Is there a way to make them available earlier in the boot process, e.g. do I have to enable anything for the initramfs?
My journalctl -b output - omitting bits which I guess are irrelevant - can be found here: https://paste.ubuntu.com/p/XJMxqQJwnT/
In the log, the first command after I have unlocked the encrypted drive is (...) "kernel: Btrfs loaded, crc32c=crc32c-intel"
Once systemd has renamed the devices,
- The USB-C adapter is named enx9cebe8837133
- The wifi card is named wlp3s0. The driver is iwlwifi.
- The onboard ethernet is named enp0s31f6. The driver is e1001e
If I try to specify an interface name that the initramfs should try and get an IP for, I get an error, "'Error getting hardware address for " enx9cebe8837133": No such device' " (and the same for "wlp3s0" and "wlan0"). The fix suggested here doesn't work: https://www.mail-archive.com/ubuntu-...sg5755653.html
For some reason, updating the BIOS using the tools from Lenovo (and a USB key) fails - but with a completely generic error message, so I can't diagnost the issue. I will in future try different means of flashing an updated BIOS (e.g. burning a CD and using a USB cd drive). I don't know if the problem lies with the BIOS, though.
Very grateful for any help diagnosing - and ideally, fixing! - the issue!
Thanks in advance.
Bookmarks