I did a fresh install of 12.2 and now during the boot process, my Logitech MX300 wireless keyboard doesn’t work. I have an encrypted LVM setup with a separate /boot partition and am required to enter the pass-phrase during boot. To do that, I have to connect an old PS2 keyboard to the computer so that I can enter the pass-phrase. Everything worked perfectly in 12.1 but I only had an encrypted /home partition, with root being unencrypted and no separate /boot partition.
Info: The keyboard works perfectly in Windows, in BIOS, in the grub boot screen, and in the system once it’s up and running. The only failure is during the early boot process, before the root file-system is mounted. I assume it’s something missing in the initrd or /boot partition, but I have no idea where to look. According to the “hardware info” report from Yast, the keyboard uses “usbhid” for a driver. I tried adding that as a module to pre-load in “etc/sysconfig” , with no joy.
One thing possibly worth noting is that I elected to stay with legacy grub and dis-allowed installation of grub2. This is the 4th install (4 separate computers) of 12.2 and grub2 failed to set itself up correctly in the first 3. But setting up grub2 is not a concern for me. I am only concerned in making the wireless keyboard work correctly during early boot.
On 09/13/2012 12:26 AM, nrickert wrote:
>
> You can try running “mkinitrd”. I guess
>
> Code:
> --------------------
>
> sudo mkinitrd
>
> --------------------
>
> would do that.
>
> I do not know whether that will fix the problem.
>
> I do know that “mkinitrd” doesn’t always get everything right when
> running from the install DVD (or CD).
You need to make certain that all the modules needed by that keyboard are in
the initrd. Use YaST => System => /etc/sysconfig Editor under System
INITRD_MODULES. Unless a given module is there, it will not be available until
the system disk is mounted. Chicken <=> Egg problem. Once the IITRD_MODULES
setting is right, then do the mkinitrd.
As I mentioned in my first post, I added usbhid to that section of /etc/sysconfig. It may be that there is another module that I am missing. One thing unusual before and after the upgrade is that I get a “module usb_hid not found” error while running mkinitrd. The module shown by hardware info is usbhid, without the underscore. Is it possible that there has been a name change to the module that could be causing this? As as stated before, my root file-system was non-encrypted and not part of a logical volume before this install. Even though I get the initrd error before this install, it is possible that the problem did not manifest itself since the root file-system was mounted before I was prompted to unlock my /home directory.
As a test, I swapped my usb connections in the back of my computer. It made no difference.
If anyone has suggestions concerning additional modules I might add to the initrd, I would be happy to receive the input. Here is the output of "hardware info concerning the keyboard:
On 09/13/2012 05:56 AM, purevw wrote:
> As I mentioned in my first post, I added usbhid to that section of
> /etc/sysconfig. It may be that there is another module that I am
> missing. One thing unusual before and after the upgrade is that I get a
> “module usb_hid not found” error while running mkinitrd. The module
> shown by hardware info is usbhid, without the underscore. Is it possible
> that there has been a name change to the module that could be causing
> this? As as stated before, my root file-system was non-encrypted and not
> part of a logical volume before this install. Even though I get the
> initrd error before this install, it is possible that the problem did
> not manifest itself since the root file-system was mounted before I was
> prompted to unlock my /home directory.
>
> As a test, I swapped my usb connections in the back of my computer. It
> made no difference.
>
> If anyone has suggestions concerning additional modules I might add to
> the initrd, I would be happy to receive the input. Here is the output of
> "hardware info concerning the keyboard:
The name of the module is usbhid, and it has had that name since kernel 2.6.39,
which is the oldest source that I have available.
Boot the system with the PS/2 keyboard attached and the USB one unplugged. After
it is up and running, use lsmod to get a listing of the modules that are loaded.
Then plug in the USB keyboard and get a new lsmod listing. All new modules must
be in the initrd.
Thank you lwfinger. I found the loaded modules and added them to the initrd module entry /etc/sysconfig. That took care of the problem.
I also fixed the initrd error message concerning the missing module. There was a workaround for wireless keyboards running kernel 3.5.* that amounted to an edit to /lib/mkinitrd/scripts/boot-usb.sh that added the module in question. Apparently that module does not exist in kernel 3.4 , thus the error. The workaround ended up being in my boot-usb.sh file. Not sure why, as this was a fresh install with a reformat. I removed the reference to the module from that file and mkinitrd is now error free.
This is “off subject”, but when running 12.1 with Tumbleweed, I was up to kernel-default 3.5.3. My fresh install of 12.2 downgraded the kernel to 3.4 and apparently the 3.5 kernel has been removed from all but the “factory” and a few “home:” repositories. Were there problems with 3.5 or was the removal due to the repository changes caused by the 12.2 release?
Good to hear that yo got your keyboard working. Not having the necessary modules
available at boot time had to be the problem.
> This is “off subject”, but when running 12.1 with Tumbleweed, I was up
> to kernel-default 3.5.3. My fresh install of 12.2 downgraded the kernel
> to 3.4 and apparently the 3.5 kernel has been removed from all but the
> “factory” and a few “home:” repositories. Were there problems with 3.5
> or was the removal due to the repository changes caused by the 12.2
> release?
The kernel in openSUSE 12.2 is 3.4 because that is what was available when 12.2
underwent a feature freeze. To my knowledge, there is nothing wrong with 3.5 -
it worked for me when I ran it, and it should be available in some repo or
other. I’m now on 3.6-rc5 and working with the wireless code that will be in 3.7
or 3.8. That is the nature of kernel development, and the reason that I don’t
know where to find the latest kernel in an openSUSE repo. I must build my own.
There was a post that the tumbleweed repos would be emptied with the switch to 12.2. That post advised existing tumbleweed users to hold off on running zypper dup for a few weeks, to avoid going backward.