OpenBSD and Lenovo Thinkpad T410 Wireless FirmwareI am trying to get my Lenovo Thinkpad T410 working with OpenBSD as a daily driver. One problem I faced, is that the wifi card is not working properly: it is recognized during the installation procedure as
iwn0, but the installer is not able to configure it properly.
This would be a simple task to solve if I had ethernet connectivity, that I didn’t!
Since I was installing OpenBSD other mobile phone tethering, how to fix it?
The solution was:
- download the proprietary firmware and place it into an USB stick;
- install without internet connectivity;
- extract the firmware from the USB stick and place it on the computer;
- configure the network adapter.
It could be possible to install the firmware before the installation starts, by going to a shell, but unluckily I was unable to find out the USB stick on my laptop (see later). I mean, it was recognized as
sd0was the other USB stick I was running the installation image from), but I was unable to get partition information from such disk, probably because I had to create the device myself.
I therefore decided to continue with the installation, then rebooted the machine and got to the command prompt.
Once I plugged the USB stick, recognized as
sd0, I ran
disklabel sd0that shown that the partition I was looking for was the
i. I then mounted it with
mount /dev/sd0i /mntand copied the firmware I downloaded from % http://firmware.openbsd.org/firmware/7.0/iwn-firmware-5.11p1.tgz on the local disk. I made the tarball to add the files to
I then configured
/etc/hostname.iwn0and rebooted, and the computer became online!
Installing the firmware within the installation processI tried it different times and came to the conclusion that, at least for a single piece of firmware, it is not worth at all.
Because I have to install it just before rebooting to complete the installation, so at that late point I can simply log in my new installation and add it manually with all the ease of standard tools without having to manually create nodes, mount, etc. (that is not that hard, however).