Is it possible to downgrade the kernel in Ubuntu server 9.10 to 2.6.30 (or any 2.6 kernel below 2.6.31) using the apt-get package manager?
Here's the motivation:
I installed Ubuntu 9.10 server on a machine that has a NetXen NXB-10GCX4 10GbE NIC in it. The netxen_nic driver that comes with Linux 2.6.31 complained that the firmware on the NIC was too old (the firmware was 3.4.114, and the kernel requires firmware version 3.4.216 or greater).
I went to the vendor's website (QLogic, which has purchased NetXen), downloaded the latest drivers, and flashed the firmware. Unfortunately, the NICs still weren't working properly. According to the driver documentation, I need to install the commercial drivers to work properly with the latest firmware.
I tried to compile the commercial drivers into a kernel module. Unfortunately, they won't compile on Ubuntu 9.10, because they were written for an older version of the Linux networking API that was removed from the kernel in 2.6.31.
Since QLogic considers this a legacy product, there won't be any additional driver updates. So I need to run on a kernel that still supports the old API. I'd still like to use Ubuntu 9.10. I'd prefer to use the package manager so that dependencies are handled properly, rather than manually doing the kernel downgrade.
Edit: For anyone reaching this page by searching for this particular NIC, I solved my specific problem by downloading version 3.4.216 of the Linux drivers from NetXen's Japanese site and flashing the firmware by copying 3.4.216/bin/cx4_romimage to /lib/firmware/nxroming.bin and reloading the netxen_nic module.